1:"$Sreact.fragment"
2:I[39756,["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0t2xr05rlu96l.js"],"default"]
3:I[37457,["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0t2xr05rlu96l.js"],"default"]
4:I[22016,["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0t2xr05rlu96l.js","/_next/static/chunks/13yqw0_w-khic.js"],""]
5:I[5500,["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0t2xr05rlu96l.js","/_next/static/chunks/13yqw0_w-khic.js"],"Image"]
f:I[68027,["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0t2xr05rlu96l.js"],"default",1]
:HL["/_next/static/chunks/0~-qqtwzip7xq.css","style"]
:HL["/_next/static/media/IBMPlexSans_Bold-s.p.0~z9rsupns3rv.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
:HL["/_next/static/media/IBMPlexSans_Medium-s.p.0s-1qbqc6wgag.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
:HL["/_next/static/media/IBMPlexSans_Regular-s.p.0l-vv37ssd90w.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
:HL["/_next/static/media/IBMPlexSans_SemiBold-s.p.0u.mw9ignqukb.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
:HL["/_next/static/media/JetBrainsMono_Bold-s.p.0m9n5azko2fxt.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
:HL["/_next/static/media/JetBrainsMono_Medium-s.p.0sp08a3_wd31b.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
:HL["/_next/static/media/JetBrainsMono_Regular-s.p.0~~285bd0hytg.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
0:{"P":null,"c":["","docs","reference","tools"],"q":"","i":false,"f":[[["",{"children":["docs",{"children":["reference",{"children":["tools",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0~-qqtwzip7xq.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/01xlw8hd842-c.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/0t2xr05rlu96l.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en","className":"dark","children":["$","body",null,{"className":"ibmplexsans_fafc4a19-module__oC6suW__variable jetbrainsmono_11cf4849-module__DeLwxa__variable antialiased","children":["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]]}],{"children":[["$","$1","c",{"children":[[["$","script","script-0",{"src":"/_next/static/chunks/13yqw0_w-khic.js","async":true,"nonce":"$undefined"}]],["$","div",null,{"className":"min-h-screen bg-surface text-on-surface selection:bg-primary/30 mesh-bg","children":[["$","nav",null,{"className":"fixed top-0 z-50 w-full border-b border-border-faint mesh-panel pt-[env(safe-area-inset-top)]","children":["$","div",null,{"className":"mx-auto flex h-14 max-w-7xl items-center justify-between px-4 sm:px-6 lg:px-8","children":[["$","$L4",null,{"href":"/","className":"flex items-center gap-3","children":[["$","$L5",null,{"src":"/brand/logo-mark-copper.svg","alt":"","width":24,"height":26,"priority":true}],["$","span",null,{"className":"font-headline text-sm font-bold uppercase tracking-[0.2em] text-on-surface","children":"REPOWIRE"}]]}],["$","div",null,{"className":"flex items-center gap-5","children":[["$","$L4",null,{"href":"/docs/quickstart","className":"font-mono text-[10px] font-semibold uppercase tracking-[0.16em] text-outline transition-colors hover:text-primary-fixed","children":"Docs"}],["$","$L4",null,{"href":"https://github.com/prassanna-ravishankar/repowire","target":"_blank","rel":"noopener noreferrer","className":"text-outline transition-colors hover:text-on-surface","children":[["$","span",null,{"className":"sr-only","children":"GitHub"}],["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-github h-5 w-5","aria-hidden":"true","children":[["$","path","tonef",{"d":"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4"}],["$","path","9comsn",{"d":"M9 18c-4.51 2-5-2-7-2"}],"$undefined"]}]]}],["$","$L4",null,{"href":"https://relay.repowire.io/dashboard","className":"inline-flex items-center gap-1.5 rounded border border-primary/40 bg-primary/10 px-3 py-1.5 font-mono text-[10px] font-bold uppercase tracking-[0.16em] text-primary-fixed transition-[filter,transform,background] hover:bg-primary/20 hover:brightness-110 active:scale-[0.98]","children":["$L6","$L7","$L8"]}]]}]]}]}],"$L9"]}]]}],{"children":["$La",{"children":["$Lb",{"children":["$Lc",{},null,false,null]},null,false,"$@d"]},null,false,"$@d"]},null,false,null]},null,false,null],"$Le",false]],"m":"$undefined","G":["$f",["$L10"]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"mdeeK6InJRaUxgzEIN_OB"}
11:I[44368,["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0t2xr05rlu96l.js","/_next/static/chunks/13yqw0_w-khic.js"],"default"]
22:I[97367,["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0t2xr05rlu96l.js"],"ViewportBoundary"]
24:I[97367,["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0t2xr05rlu96l.js"],"MetadataBoundary"]
25:"$Sreact.suspense"
6:["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-log-in h-3 w-3","aria-hidden":"true","children":[["$","path","1bsop3",{"d":"m10 17 5-5-5-5"}],["$","path","6jk70r",{"d":"M15 12H3"}],["$","path","u53s6r",{"d":"M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4"}],"$undefined"]}]
7:["$","span",null,{"className":"hidden sm:inline","children":"Sign in"}]
8:["$","span",null,{"className":"sm:hidden","children":"Dash"}]
9:["$","div",null,{"className":"mx-auto flex max-w-7xl flex-col gap-8 px-4 pb-24 pt-20 sm:px-6 lg:flex-row lg:gap-10 lg:px-8 lg:pt-28","children":[["$","$L11",null,{"sections":[{"label":"Start","items":[{"slug":"quickstart","href":"/docs/quickstart","label":"Quickstart","summary":"Install, set up, and route your first ask across two repos."},{"slug":"concepts","href":"/docs/concepts","label":"Concepts","summary":"Peers, circles, message types, control surfaces, and session roadmap."}]},{"label":"Reference","items":[{"slug":"reference/tools","href":"/docs/reference/tools","label":"MCP tools","summary":"Messaging, peer identity, review queue, and scheduling tools."},{"slug":"reference/client","href":"/docs/reference/client","label":"Python client","summary":"AsyncRepowireClient: typed async surface over the daemon API."},{"slug":"reference/cli","href":"/docs/reference/cli","label":"CLI","summary":"setup, serve, peer, schedule, build-ui, telegram, and slack."}]}]}],["$","main",null,{"className":"min-w-0 flex-1","children":["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]
a:["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}]
b:["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}]
c:["$","$1","c",{"children":[["$","article",null,{"className":"max-w-3xl","children":[["$","p",null,{"className":"font-mono text-[10px] font-semibold uppercase tracking-[0.2em] text-primary","children":"Reference"}],["$","h1",null,{"className":"mt-3 font-headline text-3xl font-bold text-on-surface sm:text-4xl","children":"MCP tools"}],["$","p",null,{"className":"mt-4 text-base leading-7 text-on-surface-variant","children":"Every agent in the mesh exposes the same set of MCP tools through the repowire server. Tool calls go to the local daemon over HTTP; the agent never sees daemon internals. Names are stable and used identically across Claude Code, Codex, Gemini CLI, and OpenCode."}],["$","p",null,{"className":"mt-4 text-base leading-7 text-on-surface-variant","children":["The stable transport is the stdio server installed by ",["$","code",null,{"className":"font-mono text-primary-fixed","children":"repowire setup"}],". The experimental localhost Streamable HTTP endpoint can be enabled with ",["$","code",null,{"className":"font-mono text-primary-fixed","children":"repowire setup --http-mcp"}],"; clients connect to ",["$","code",null,{"className":"font-mono text-primary-fixed","children":"http://127.0.0.1:8377/mcp"}]," with ",["$","code",null,{"className":"font-mono text-primary-fixed","children":"Authorization: Bearer <daemon.auth_token>"}],". HTTP MCP is local-only, is not relayed, and disables spawn, kill, and schedule mutation unless explicitly opted in with ",["$","code",null,{"className":"font-mono text-primary-fixed","children":"daemon.mcp_http.allow_dangerous_tools"}],"."]}],["$","section",null,{"className":"mt-10","children":[["$","h2",null,{"className":"font-mono text-base font-semibold text-primary-fixed","children":"ask"}],["$","pre",null,{"className":"mt-3 overflow-x-auto border border-border-faint bg-surface-container-low p-3 font-mono text-xs leading-6 text-on-surface","children":["$","code",null,{"children":"ask(peer_name: str, query: str, reply_to: str | None = None, circle: str | None = None, attachments: list[dict] | None = None) -> str"}]}],["$","div",null,{"className":"mt-4 space-y-4 text-sm leading-6 text-on-surface-variant","children":[["$","p",null,{"children":["Open a non-blocking ask thread. In normal use, you tell your local agent what you need in natural language, and the agent invokes this MCP tool. Returns a ",["$","code",null,{"className":"font-mono text-primary-fixed","children":"correlation_id"}]," immediately. The recipient closes the thread with ",["$","code",null,{"className":"font-mono text-primary-fixed","children":"ack"}],"; the daemon routes the close back as a notification framed ",["$","code",null,{"className":"font-mono text-primary-fixed","children":"[ack #cid from @peer]"}],"."]}],["$","p",null,{"children":["Daemon events for asks and acks include nullable ",["$","code",null,{"className":"font-mono text-primary-fixed","children":"repowire_session_id"}],", ",["$","code",null,{"className":"font-mono text-primary-fixed","children":"from_repowire_session_id"}],", and ",["$","code",null,{"className":"font-mono text-primary-fixed","children":"to_repowire_session_id"}]," fields when an existing session binding can be resolved. Peer IDs remain the routing authority."]}],["$","p",null,{"children":["Pass ",["$","code",null,{"className":"font-mono text-primary-fixed","children":"reply_to"}]," to chain a follow-up: the prior thread closes and a new one opens referencing it. Pass ",["$","code",null,{"className":"font-mono text-primary-fixed","children":"circle"}]," only when two peers share a name in different circles."]}],["$","pre",null,{"className":"overflow-x-auto border-l-2 border-primary/60 bg-surface-container-low p-4 font-mono text-xs leading-6 text-on-surface","children":["$","code",null,{"children":"ask(\"project-b\", \"What API endpoints do you expose?\")\n# returns \"ask-c1a1c7dd\""}]}]]}]]}],"$L12","$L13","$L14","$L15","$L16","$L17","$L18","$L19","$L1a","$L1b","$L1c","$L1d","$L1e","$L1f"]}],null,"$L20"]}]
21:[]
d:"$W21"
e:["$","$1","h",{"children":[null,["$","$L22",null,{"children":"$L23"}],["$","div",null,{"hidden":true,"children":["$","$L24",null,{"children":["$","$25",null,{"name":"Next.Metadata","children":"$L26"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}]
10:["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0~-qqtwzip7xq.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]
27:I[97367,["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0t2xr05rlu96l.js"],"OutletBoundary"]
12:["$","section",null,{"className":"mt-10","children":[["$","h2",null,{"className":"font-mono text-base font-semibold text-primary-fixed","children":"ack"}],["$","pre",null,{"className":"mt-3 overflow-x-auto border border-border-faint bg-surface-container-low p-3 font-mono text-xs leading-6 text-on-surface","children":["$","code",null,{"children":"ack(correlation_id: str, message: str | None = None, attachments: list[dict] | None = None) -> str"}]}],["$","div",null,{"className":"mt-4 space-y-4 text-sm leading-6 text-on-surface-variant","children":[["$","p",null,{"children":["Close an open ask. Bare ",["$","code",null,{"className":"font-mono text-primary-fixed","children":"ack(cid)"}]," signals “seen, no action needed.” A reply ",["$","code",null,{"className":"font-mono text-primary-fixed","children":"ack(cid, message)"}]," closes the thread and delivers the message back to the original asker. Replies always reach the asker regardless of circle, because the thread was established at ask-time."]}],["$","pre",null,{"className":"overflow-x-auto border-l-2 border-primary/60 bg-surface-container-low p-4 font-mono text-xs leading-6 text-on-surface","children":["$","code",null,{"children":"ack(\"ask-c1a1c7dd\")\nack(\"ask-c1a1c7dd\", \"we expose /health, /peers, /ask, /ack\")"}]}]]}]]}]
13:["$","section",null,{"className":"mt-10","children":[["$","h2",null,{"className":"font-mono text-base font-semibold text-primary-fixed","children":"notify_peer"}],["$","pre",null,{"className":"mt-3 overflow-x-auto border border-border-faint bg-surface-container-low p-3 font-mono text-xs leading-6 text-on-surface","children":["$","code",null,{"children":"notify_peer(peer_name: str, message: str, circle: str | None = None, attachments: list[dict] | None = None) -> str"}]}],["$","div",null,{"className":"mt-4 space-y-4 text-sm leading-6 text-on-surface-variant","children":[["$","p",null,{"children":["Fire-and-forget. No lifecycle, no expected response. Returns a synthetic ",["$","code",null,{"className":"font-mono text-primary-fixed","children":"notif-XXXXXXXX"}]," ID for client-side tracking, not a thread you can close. Use for status pings and announcements."]}],["$","p",null,{"children":["On the HTTP ",["$","code",null,{"className":"font-mono text-primary-fixed","children":"/notify"}]," response, ",["$","code",null,{"className":"font-mono text-primary-fixed","children":"hook_delivery"}]," may be present when the recipient is a new enough WebSocket hook. It is a best-effort terminal injection receipt with statuses such as ",["$","code",null,{"className":"font-mono text-primary-fixed","children":"injected"}],", ",["$","code",null,{"className":"font-mono text-primary-fixed","children":"rejected"}],", or ",["$","code",null,{"className":"font-mono text-primary-fixed","children":"failed"}],"; ",["$","code",null,{"className":"font-mono text-primary-fixed","children":"null"}]," means the hook is older, a non-hook transport handled the notify, or no receipt arrived before the daemon returned. When a session binding is known, notify responses and hook receipts may include nullable ",["$","code",null,{"className":"font-mono text-primary-fixed","children":"repowire_session_id"}],", ",["$","code",null,{"className":"font-mono text-primary-fixed","children":"from_repowire_session_id"}],", and ",["$","code",null,{"className":"font-mono text-primary-fixed","children":"to_repowire_session_id"}]," fields for grouping."]}],["$","p",null,{"children":["The special peer ",["$","code",null,{"className":"font-mono text-primary-fixed","children":"telegram"}]," routes to the user’s phone. The ",["$","code",null,{"className":"font-mono text-primary-fixed","children":"dashboard"}]," already sees agent turns; you do not need to notify it."]}],["$","pre",null,{"className":"overflow-x-auto border-l-2 border-primary/60 bg-surface-container-low p-4 font-mono text-xs leading-6 text-on-surface","children":["$","code",null,{"children":"notify_peer(\"telegram\", \"deploy finished, green across CI\")"}]}]]}]]}]
14:["$","section",null,{"className":"mt-10","children":[["$","h2",null,{"className":"font-mono text-base font-semibold text-primary-fixed","children":"broadcast"}],["$","pre",null,{"className":"mt-3 overflow-x-auto border border-border-faint bg-surface-container-low p-3 font-mono text-xs leading-6 text-on-surface","children":["$","code",null,{"children":"broadcast(message: str) -> str"}]}],["$","div",null,{"className":"mt-4 space-y-4 text-sm leading-6 text-on-surface-variant","children":[["$","p",null,{"children":"Fan out to every online peer in your circle. No correlation, no reply. Use sparingly; treat it as a soft interrupt for everyone in scope."}],["$","pre",null,{"className":"overflow-x-auto border-l-2 border-primary/60 bg-surface-container-low p-4 font-mono text-xs leading-6 text-on-surface","children":["$","code",null,{"children":"broadcast(\"rebasing main, hold pushes for ~5 min\")"}]}]]}]]}]
15:["$","section",null,{"className":"mt-10","children":[["$","h2",null,{"className":"font-mono text-base font-semibold text-primary-fixed","children":"list_peers"}],["$","pre",null,{"className":"mt-3 overflow-x-auto border border-border-faint bg-surface-container-low p-3 font-mono text-xs leading-6 text-on-surface","children":["$","code",null,{"children":"list_peers(show_offline: bool = False, include_self: bool = False) -> str"}]}],["$","div",null,{"className":"mt-4 space-y-4 text-sm leading-6 text-on-surface-variant","children":["$","p",null,{"children":["Returns a TSV with columns: ",["$","code",null,{"className":"font-mono text-primary-fixed","children":"peer_id, name, project, circle, role, status, path, machine, description, backend, last_seen, turn_state"}],". The ",["$","code",null,{"className":"font-mono text-primary-fixed","children":"turn_state"}]," column is empty when unknown; otherwise ",["$","code",null,{"className":"font-mono text-primary-fixed","children":"idle"}],", ",["$","code",null,{"className":"font-mono text-primary-fixed","children":"working"}],", ",["$","code",null,{"className":"font-mono text-primary-fixed","children":"awaiting_input"}]," (peer is mid-turn waiting on user input), or ",["$","code",null,{"className":"font-mono text-primary-fixed","children":"pending_first_turn"}]," (spawn-seeded peer whose first prompt never landed). Defaults to online + busy peers and hides the caller. Pass ",["$","code",null,{"className":"font-mono text-primary-fixed","children":"show_offline=True"}]," for the full registry; pass ",["$","code",null,{"className":"font-mono text-primary-fixed","children":"include_self=True"}]," when an orchestrator needs its own row."]}]}]]}]
16:["$","section",null,{"className":"mt-10","children":[["$","h2",null,{"className":"font-mono text-base font-semibold text-primary-fixed","children":"whoami"}],["$","pre",null,{"className":"mt-3 overflow-x-auto border border-border-faint bg-surface-container-low p-3 font-mono text-xs leading-6 text-on-surface","children":["$","code",null,{"children":"whoami() -> str"}]}],["$","div",null,{"className":"mt-4 space-y-4 text-sm leading-6 text-on-surface-variant","children":["$","p",null,{"children":["Returns the caller’s own TSV row. Useful when an agent needs to know which display name it is registered under (display names get suffixed on collision: ",["$","code",null,{"className":"font-mono text-primary-fixed","children":"repowire"}],", ",["$","code",null,{"className":"font-mono text-primary-fixed","children":"repowire-2"}],")."]}]}]]}]
17:["$","section",null,{"className":"mt-10","children":[["$","h2",null,{"className":"font-mono text-base font-semibold text-primary-fixed","children":"set_description"}],["$","pre",null,{"className":"mt-3 overflow-x-auto border border-border-faint bg-surface-container-low p-3 font-mono text-xs leading-6 text-on-surface","children":["$","code",null,{"children":"set_description(description: str) -> str"}]}],["$","div",null,{"className":"mt-4 space-y-4 text-sm leading-6 text-on-surface-variant","children":[["$","p",null,{"children":["Update the free-form description visible in ",["$","code",null,{"className":"font-mono text-primary-fixed","children":"list_peers"}],". Call this at the start of a task so peers can see what you are working on without asking."]}],["$","pre",null,{"className":"overflow-x-auto border-l-2 border-primary/60 bg-surface-container-low p-4 font-mono text-xs leading-6 text-on-surface","children":["$","code",null,{"children":"set_description(\"rebuilding docs slice B\")"}]}]]}]]}]
18:["$","section",null,{"className":"mt-10","children":[["$","h2",null,{"className":"font-mono text-base font-semibold text-primary-fixed","children":"spawn_peer"}],["$","pre",null,{"className":"mt-3 overflow-x-auto border border-border-faint bg-surface-container-low p-3 font-mono text-xs leading-6 text-on-surface","children":["$","code",null,{"children":"spawn_peer(path: str, backend: str, circle: str = \"default\", message: str | None = None) -> str"}]}],["$","div",null,{"className":"mt-4 space-y-4 text-sm leading-6 text-on-surface-variant","children":[["$","p",null,{"children":["Spawn a new agent session in a project directory. The ",["$","code",null,{"className":"font-mono text-primary-fixed","children":"backend"}]," must have a launch profile in ",["$","code",null,{"className":"font-mono text-primary-fixed","children":"daemon.spawn.commands"}]," in ",["$","code",null,{"className":"font-mono text-primary-fixed","children":"~/.repowire/config.yaml"}],"; spawn is off by default until you configure a backend and allowed path."]}],["$","p",null,{"children":["The spawned agent self-registers via its SessionStart hook within a few seconds. The ",["$","code",null,{"className":"font-mono text-primary-fixed","children":"message"}]," seeds first-turn context. Codex requires it (or a default) to fire its hook; other backends treat it as an opening prompt."]}]]}]]}]
19:["$","section",null,{"className":"mt-10","children":[["$","h2",null,{"className":"font-mono text-base font-semibold text-primary-fixed","children":"kill_peer"}],["$","pre",null,{"className":"mt-3 overflow-x-auto border border-border-faint bg-surface-container-low p-3 font-mono text-xs leading-6 text-on-surface","children":["$","code",null,{"children":"kill_peer(peer_identifier: str, circle: str | None = None) -> str"}]}],["$","div",null,{"className":"mt-4 space-y-4 text-sm leading-6 text-on-surface-variant","children":["$","p",null,{"children":["Terminate a peer by name or peer_id. Used by orchestrators to reclaim slots when a session is stuck or done. The daemon marks the peer offline reliably and attempts to reap its tmux pane (best-effort; verify with ",["$","code",null,{"className":"font-mono text-primary-fixed","children":"tmux list-windows"}]," and follow up with ",["$","code",null,{"className":"font-mono text-primary-fixed","children":"tmux kill-window"}]," if the pane survives)."]}]}]]}]
1a:["$","section",null,{"className":"mt-10","children":[["$","h2",null,{"className":"font-mono text-base font-semibold text-primary-fixed","children":"schedule_create"}],["$","pre",null,{"className":"mt-3 overflow-x-auto border border-border-faint bg-surface-container-low p-3 font-mono text-xs leading-6 text-on-surface","children":["$","code",null,{"children":"schedule_create(to_peer: str, text: str, fire_at: str, kind: str = \"notify\", circle: str | None = None) -> str"}]}],["$","div",null,{"className":"mt-4 space-y-4 text-sm leading-6 text-on-surface-variant","children":["$","p",null,{"children":["Schedule a one-shot future message to another peer. ",["$","code",null,{"className":"font-mono text-primary-fixed","children":"fire_at"}]," is ISO-8601; naive datetimes are interpreted as UTC. Use ",["$","code",null,{"className":"font-mono text-primary-fixed","children":"kind=\"ask\""}]," when the future message should open an ask thread."]}]}]]}]
1b:["$","section",null,{"className":"mt-10","children":[["$","h2",null,{"className":"font-mono text-base font-semibold text-primary-fixed","children":"schedule_self"}],["$","pre",null,{"className":"mt-3 overflow-x-auto border border-border-faint bg-surface-container-low p-3 font-mono text-xs leading-6 text-on-surface","children":["$","code",null,{"children":"schedule_self(text: str, fire_at: str | None = None, cron: str | None = None, kind: str = \"notify\", circle: str | None = None) -> str"}]}],["$","div",null,{"className":"mt-4 space-y-4 text-sm leading-6 text-on-surface-variant","children":["$","p",null,{"children":["Schedule a future message to yourself. Provide exactly one of ",["$","code",null,{"className":"font-mono text-primary-fixed","children":"fire_at"}]," or ",["$","code",null,{"className":"font-mono text-primary-fixed","children":"cron"}],". Cron accepts five-field expressions and aliases such as ",["$","code",null,{"className":"font-mono text-primary-fixed","children":"@hourly"}],", ",["$","code",null,{"className":"font-mono text-primary-fixed","children":"@daily"}],", ",["$","code",null,{"className":"font-mono text-primary-fixed","children":"@midnight"}],", ",["$","code",null,{"className":"font-mono text-primary-fixed","children":"@weekly"}],", and ",["$","code",null,{"className":"font-mono text-primary-fixed","children":"@monthly"}],"."]}]}]]}]
1c:["$","section",null,{"className":"mt-10","children":[["$","h2",null,{"className":"font-mono text-base font-semibold text-primary-fixed","children":"schedule_cron"}],["$","pre",null,{"className":"mt-3 overflow-x-auto border border-border-faint bg-surface-container-low p-3 font-mono text-xs leading-6 text-on-surface","children":["$","code",null,{"children":"schedule_cron(to_peer: str, text: str, cron: str, kind: str = \"notify\", circle: str | None = None) -> str"}]}],["$","div",null,{"className":"mt-4 space-y-4 text-sm leading-6 text-on-surface-variant","children":["$","p",null,{"children":["Schedule a recurring message to another peer. Recurring schedules advance to their next fire time after delivery and keep running until cancelled with ",["$","code",null,{"className":"font-mono text-primary-fixed","children":"schedule_delete"}],"."]}]}]]}]
1d:["$","section",null,{"className":"mt-10","children":[["$","h2",null,{"className":"font-mono text-base font-semibold text-primary-fixed","children":"schedule_list"}],["$","pre",null,{"className":"mt-3 overflow-x-auto border border-border-faint bg-surface-container-low p-3 font-mono text-xs leading-6 text-on-surface","children":["$","code",null,{"children":"schedule_list(mine_only: bool = True, include_cron: bool = False) -> str"}]}],["$","div",null,{"className":"mt-4 space-y-4 text-sm leading-6 text-on-surface-variant","children":["$","p",null,{"children":["List pending schedules as TSV. Pass ",["$","code",null,{"className":"font-mono text-primary-fixed","children":"mine_only=False"}]," for all schedules on the daemon, and ",["$","code",null,{"className":"font-mono text-primary-fixed","children":"include_cron=True"}]," to append the recurrence column."]}]}]]}]
1e:["$","section",null,{"className":"mt-10","children":[["$","h2",null,{"className":"font-mono text-base font-semibold text-primary-fixed","children":"schedule_delete"}],["$","pre",null,{"className":"mt-3 overflow-x-auto border border-border-faint bg-surface-container-low p-3 font-mono text-xs leading-6 text-on-surface","children":["$","code",null,{"children":"schedule_delete(schedule_id: str) -> str"}]}],["$","div",null,{"className":"mt-4 space-y-4 text-sm leading-6 text-on-surface-variant","children":["$","p",null,{"children":["Cancel a one-shot or recurring schedule by the ",["$","code",null,{"className":"font-mono text-primary-fixed","children":"sched-XXXXXXXX"}]," id returned when it was created."]}]}]]}]
1f:["$","div",null,{"className":"mt-12 border-t border-border-faint pt-8","children":[["$","div",null,{"className":"mb-3 font-mono text-[10px] font-semibold uppercase tracking-[0.2em] text-outline","children":"See also"}],["$","p",null,{"className":"text-sm leading-6 text-on-surface-variant","children":["The ",["$","a",null,{"className":"text-primary-fixed underline-offset-4 hover:underline","href":"/docs/reference/client","children":"typed Python client"}],"exposes the same calls over the daemon’s HTTP API for non-MCP callers."]}]]}]
20:["$","$L27",null,{"children":["$","$25",null,{"name":"Next.MetadataOutlet","children":"$@28"}]}]
23:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1, maximum-scale=1, interactive-widget=resizes-content"}]]
29:I[27201,["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0t2xr05rlu96l.js"],"IconMark"]
26:[["$","title","0",{"children":"MCP tools · Repowire Docs"}],["$","meta","1",{"name":"description","content":"Repowire documentation: install, concepts, tools, comparisons."}],["$","link","2",{"rel":"icon","href":"/favicon.ico?favicon.0x3dzn~oxb6tn.ico","sizes":"256x256","type":"image/x-icon"}],["$","$L29","3",{}]]
28:null
