"""顧客対応エージェントを1回動かす。

  .venv/bin/python concierge.py --user alice "ACC-001 の残高を教えて"
"""

import argparse
import json

from asc_agent import telemetry
from asc_agent.agent import ConciergeAgent


def main() -> None:
    p = argparse.ArgumentParser()
    p.add_argument("--user", default="alice")
    p.add_argument("--model", default=None)
    p.add_argument("prompt")
    a = p.parse_args()

    telemetry.setup()
    agent = ConciergeAgent(a.user, model=a.model) if a.model else ConciergeAgent(a.user)
    try:
        if agent.unavailable:
            print(f"[権限] 使えないツール群: {agent.unavailable}")
        run = agent.run(a.prompt)
        for c in run.tool_calls:
            mark = "NG" if c.is_error else "OK"
            print(f"[tool {mark}] {c.name} {json.dumps(c.arguments, ensure_ascii=False)}\n          -> {c.result[:200]}")
        print(f"\n{run.answer}\n")
        print(f"trace: {telemetry.trace_url(run.trace_id)}")
    finally:
        agent.close()
        telemetry.shutdown()


if __name__ == "__main__":
    main()
