51 lines
1.3 KiB
Python
Executable File
51 lines
1.3 KiB
Python
Executable File
#!/usr/bin/env python3
|
||
"""Report the PixelRAG application portfolio as machine-readable JSON."""
|
||
|
||
from __future__ import annotations
|
||
|
||
import argparse
|
||
import json
|
||
import sys
|
||
from pathlib import Path
|
||
|
||
|
||
ROOT = Path(__file__).resolve().parents[2]
|
||
if str(ROOT) not in sys.path:
|
||
sys.path.insert(0, str(ROOT))
|
||
|
||
from services.pixelrag_application_portfolio_service import ( # noqa: E402
|
||
build_pixelrag_application_portfolio,
|
||
)
|
||
|
||
|
||
def main() -> int:
|
||
parser = argparse.ArgumentParser(
|
||
description="輸出 PixelRAG 還可整合/運用場景的機器可讀 portfolio。"
|
||
)
|
||
parser.add_argument(
|
||
"--area",
|
||
help="限制 area,例如 commerce / rag / ux / ops / marketing / governance。",
|
||
)
|
||
parser.add_argument(
|
||
"--priority",
|
||
help="限制 priority,例如 P0 / P1 / P2 / P3。",
|
||
)
|
||
parser.add_argument(
|
||
"--include-forbidden",
|
||
action="store_true",
|
||
help="包含 forbidden guardrail lane。",
|
||
)
|
||
args = parser.parse_args()
|
||
|
||
payload = build_pixelrag_application_portfolio(
|
||
area=args.area,
|
||
priority=args.priority,
|
||
include_forbidden=args.include_forbidden,
|
||
)
|
||
print(json.dumps(payload, ensure_ascii=False, indent=2, sort_keys=True))
|
||
return 0 if payload.get("success") else 1
|
||
|
||
|
||
if __name__ == "__main__":
|
||
raise SystemExit(main())
|