#!/usr/bin/env python3
"""Validate one project-local AstraWorks dashboard extension through the CLI."""

from __future__ import annotations

import os
import pathlib
import subprocess
import sys


def main() -> int:
    if len(sys.argv) != 3:
        print("用法：python3 validate_dashboard.py <project> <dashboard-id>", file=sys.stderr)
        return 2

    project = pathlib.Path(sys.argv[1]).resolve()
    dashboard_id = sys.argv[2]
    executable = os.environ.get("ASTRAWORKS_BIN", "astraworks")
    command = [executable, "--project", str(project), "dashboard", "extension", "validate", dashboard_id]
    try:
        result = subprocess.run(command, check=False, text=True, capture_output=True)
    except FileNotFoundError:
        print(f"找不到 AstraWorks CLI：{executable}", file=sys.stderr)
        return 2

    if result.stdout:
        print(result.stdout, end="")
    if result.stderr:
        print(result.stderr, end="", file=sys.stderr)
    return result.returncode


if __name__ == "__main__":
    raise SystemExit(main())
