#!/usr/bin/env python3
import json
import os
import sys
from pathlib import Path

room, core = sys.argv[1:]
room = Path(room)
def hook(event, timeout):
    return {"type": "command", "command": os.environ["BRNRD_JACK"] + " --event " + event,
            "timeout": timeout}
settings = {"hooks": {
    "SessionStart": [{"hooks": [hook("start", 60)]}],
    "PostToolUse": [{"matcher": ".*", "hooks": [hook("post", 60)]}],
    # A failed call, and a paused one (pausing.py), is a boundary too.
    "PostToolUseFailure": [{"matcher": ".*", "hooks": [hook("post", 60)]}],
    "SubagentStop": [{"hooks": [hook("subagent-stop", 60)]}],
    "Stop": [{"hooks": [hook("stop", int(os.environ.get("BRNRD_STOP_TIMEOUT") or float(os.environ["BRNRD_WAIT"]) + 60))]}],
}}
path = room / ".claude/settings.json"
path.parent.mkdir(parents=True, exist_ok=True)
path.write_text(json.dumps(settings) + "\n")
os.execvp("claude", ["claude", "-p", "--model", core, "--settings", str(path),
                     "--dangerously-skip-permissions", "--",
                     Path(os.environ["BRNRD_WAKE"]).read_text()])
