#!/usr/bin/env python3
from __future__ import annotations

import os
import sys
from pathlib import Path

from command_router import (
    ClaudeAdapter,
    CommandRouter,
    detect_project_name,
    load_health as _load_health,
    parse_account_override,
)
from health_client import AccountSnapshot


def load_health(path: Path | None = None) -> dict[str, AccountSnapshot]:
    return _load_health(
        path,
        stale_after_s=2 * 60 * 60,
        tool_name="cld",
        health_snapshot_tool="claude",
    )


def main(argv: list[str]) -> int:
    return CommandRouter(
        ClaudeAdapter(),
        detect_project_name=detect_project_name,
        parse_account_override=parse_account_override,
    ).main(argv)


if __name__ == "__main__":
    os.environ.setdefault("STALL_GUARD_NOTIFY", "1")
    raise SystemExit(main(sys.argv))
