#!/usr/bin/env python3
"""One-command smoke test runner.

Resolves the Pulumi stack and delegates to the standalone runner.

Usage:
    ./scripts/dev/smoke                            # current stack
    ./scripts/dev/smoke --stack staging             # target a specific stack
    ./scripts/dev/smoke -k test_real_llm            # filter tests
    ./scripts/dev/smoke --skip-warehouse             # skip warehouse checks
"""

from __future__ import annotations

import argparse
import os
import sys
from pathlib import Path

sys.path.insert(0, str(Path(__file__).resolve().parent.parent / "lib"))

# Importing devlib.pulumi_config also sets
# PULUMI_FALLBACK_TO_STATE_SECRETS_MANAGER for every pulumi call below.
from devlib.pulumi_config import HAWK_DIR, require_stack


def main() -> None:
    parser = argparse.ArgumentParser(
        description="Run Hawk smoke tests",
        usage="%(prog)s [--stack NAME] [--skip-warehouse] [runner args...]",
    )
    parser.add_argument("--stack", help="Pulumi stack name (default: current stack)")
    parser.add_argument(
        "--skip-warehouse",
        action="store_true",
        help="skip warehouse checks (default: include)",
    )
    args, extra_args = parser.parse_known_args()

    stack_name = require_stack(args.stack)

    cmd = [
        "uv",
        "run",
        "--project",
        str(HAWK_DIR),
        "python",
        "-m",
        "tests.smoke.runner",
        "--stack",
        stack_name,
    ]

    if args.skip_warehouse:
        cmd.append("--skip-warehouse")

    cmd.extend(extra_args)

    print(f"stack:   {stack_name}", file=sys.stderr)
    print(f"running: {' '.join(cmd)}", file=sys.stderr)
    print(file=sys.stderr)

    os.chdir(HAWK_DIR)
    os.execvp(cmd[0], cmd)


if __name__ == "__main__":
    main()
