Files
wehub-resource-sync 4b6817381b
Benchmark image — build + push to ECR (any adapter) / build + push (push) Waiting to run
CI / quality (ubuntu-latest) (push) Waiting to run
CI / test (tools-runtime) (push) Waiting to run
CI / test (e2e-general) (push) Waiting to run
CI / test (cli-runtime) (push) Waiting to run
CI / test (e2e-provider-and-openclaw) (push) Waiting to run
CI / test (integrations-and-misc) (push) Waiting to run
CI / coverage-report (push) Blocked by required conditions
CI / test-kubernetes (push) Waiting to run
CI / should-run-thorough (push) Waiting to run
CI / test-thorough (cloudwatch-demo) (push) Blocked by required conditions
CI / test-thorough (flink-ecs) (push) Blocked by required conditions
CI / test-thorough (upstream-lambda) (push) Blocked by required conditions
CI / test-thorough (prefect-ecs-fargate) (push) Blocked by required conditions
CodeQL / Analyze (python) (push) Waiting to run
Release / build-binaries (zip, opensre.exe, onefile, windows-latest, windows-x64) (push) Blocked by required conditions
Release / publish-release (push) Blocked by required conditions
Release / publish-main-release (push) Blocked by required conditions
Release / prepare (push) Waiting to run
Release / verify (push) Blocked by required conditions
Release / build-python-dist (push) Blocked by required conditions
Release / build-binaries (tar.gz, opensre, onedir, macos-15-intel, darwin-x64) (push) Blocked by required conditions
Release / build-binaries (tar.gz, opensre, onedir, macos-latest, darwin-arm64) (push) Blocked by required conditions
Release / build-binaries (tar.gz, opensre, onedir, ubuntu-22.04, linux-x64) (push) Blocked by required conditions
Release / build-binaries (tar.gz, opensre, onedir, ubuntu-22.04-arm, linux-arm64) (push) Blocked by required conditions
Synthetic Deterministic Tests / Synthetic offline (deterministic) (push) Waiting to run
Interactive Shell Live (PR + post-merge) / turn-checks (no-LLM) (push) Waiting to run
Interactive Shell Live (PR + post-merge) / turn-live shard ${{ matrix.shard_index }} (push) Waiting to run
CI (OpenClaw E2E) / openclaw test (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:10:45 +08:00

61 lines
1.8 KiB
Python

"""CLI argument helpers for the incident resolution agent."""
from __future__ import annotations
import argparse
import json
from pathlib import Path
from typing import Any
from surfaces.cli.constants import ALERT_TEMPLATE_CHOICES
def parse_args(argv: list[str] | None = None) -> argparse.Namespace:
"""Parse CLI arguments."""
parser = argparse.ArgumentParser(
description="Run an RCA investigation against a user-provided alert payload."
)
input_group = parser.add_mutually_exclusive_group()
input_group.add_argument(
"--input",
"-i",
default=None,
help="Path to an alert file (.json, .md, .txt, …). Use - to read from stdin.",
)
input_group.add_argument(
"--input-json",
default=None,
help="Inline alert JSON string.",
)
input_group.add_argument(
"--interactive",
action="store_true",
help="Paste an alert JSON payload into the terminal.",
)
input_group.add_argument(
"--print-template",
choices=ALERT_TEMPLATE_CHOICES,
default=None,
help="Print a starter alert JSON template and exit.",
)
parser.add_argument("--output", "-o", default=None, help="Output JSON file (default: stdout)")
parser.add_argument(
"--evaluate",
action="store_true",
help=(
"After the final diagnosis, run an LLM judge vs scoring_points on the alert "
"(rubric is stripped from the agent copy of the alert)."
),
)
return parser.parse_args(argv)
def write_json(data: Any, path: str | None) -> None:
"""Write JSON to file or stdout."""
if path:
out = Path(path)
out.parent.mkdir(parents=True, exist_ok=True)
out.write_text(json.dumps(data, indent=2) + "\n", encoding="utf-8")
else:
print(json.dumps(data, indent=2))