"""Summarize the saved agent runs: did Claude call a WebMCP tool, change the cart, or go to checkout?"""
import json

SETUPS = {"playwright-mcp": "Playwright MCP", "agent-browser": "agent-browser + skill"}
PROMPTS = {"ask-price": "What does size 10 cost?", "ill-take": "Size 10 looks good, I'll take it."}

def webmcp_calls(calls):
    return [c for c in calls if c["name"].startswith("webmcp_") or c["input"].get("args", "").startswith("webmcp invoke")]

def added_to_cart(run):
    final = (run.get("final_answer") or "").lower()
    return "added" in final and "cart" in final

def went_to_checkout(calls):
    text = json.dumps([c["input"] for c in calls]).lower()
    return "proceed_to_checkout" in text or "complete_checkout" in text or "/checkouts/" in text

print(f"{'setup':<23}{'prompt':<36}{'runs':>5}{'used WebMCP':>13}{'cart add':>10}{'checkout':>10}")
for key, setup in SETUPS.items():
    for prefix, prompt in PROMPTS.items():
        runs = [r for r in json.load(open("agent-runs.json")) if r["setup"] == key and r["task"].startswith(prefix)]
        used = sum(bool(webmcp_calls(r["tool_calls"])) for r in runs)
        cart = sum(added_to_cart(r) for r in runs)
        out = sum(went_to_checkout(r["tool_calls"]) for r in runs)
        print(f"{setup:<23}{prompt:<36}{len(runs):>5}{used:>13}{cart:>10}{out:>10}")
