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/0rjdy2rge2uv4.js"],""]
5:I[85437,["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0t2xr05rlu96l.js","/_next/static/chunks/0rjdy2rge2uv4.js"],"Image"]
d:I[68027,["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0t2xr05rlu96l.js"],"default",1]
:HL["/_next/static/chunks/002pksyu8p94f.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/002pksyu8p94f.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/0rjdy2rge2uv4.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-primary-fixed","children":"Docs"}],["$","$L4",null,{"href":"/dashboard","className":"hidden font-mono text-[10px] font-semibold uppercase tracking-[0.16em] text-outline transition-colors hover:text-primary-fixed sm:inline","children":"Dashboard"}],["$","$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"]}]]}]]}]]}]}],["$","div",null,{"className":"mx-auto flex max-w-7xl gap-10 px-4 pb-24 pt-24 sm:px-6 lg:px-8 lg:pt-28","children":["$L6","$L7"]}]]}]]}],{"children":["$L8",{"children":["$L9",{"children":["$La",{},null,false,null]},null,false,"$@b"]},null,false,"$@b"]},null,false,null]},null,false,null],"$Lc",false]],"m":"$undefined","G":["$d",["$Le"]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"WylsbdRvhwNZibEZgudP6"}
f:I[44368,["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0t2xr05rlu96l.js","/_next/static/chunks/0rjdy2rge2uv4.js"],"default"]
1b:I[97367,["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0t2xr05rlu96l.js"],"ViewportBoundary"]
1d:I[97367,["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0t2xr05rlu96l.js"],"MetadataBoundary"]
1e:"$Sreact.suspense"
6:["$","$Lf",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, ask/notify/broadcast, control surfaces."}]},{"label":"Reference","items":[{"slug":"reference/tools","href":"/docs/reference/tools","label":"MCP tools","summary":"ask, ack, notify_peer, broadcast, list_peers, spawn_peer, kill_peer."},{"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":"repowire setup, serve, build-ui, telegram start, slack start."}]}]}]
7:["$","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"}]}]
8:["$","$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"}]]}]
9:["$","$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"}]]}]
a:["$","$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."}],["$","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) -> 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. 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":["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\""}]}]]}]]}],["$","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) -> 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\")"}]}]]}]]}],["$","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":"$L10"}],"$L11"]}],"$L12","$L13","$L14","$L15","$L16","$L17","$L18"]}],null,"$L19"]}]
1a:[]
b:"$W1a"
c:["$","$1","h",{"children":[null,["$","$L1b",null,{"children":"$L1c"}],["$","div",null,{"hidden":true,"children":["$","$L1d",null,{"children":["$","$1e",null,{"name":"Next.Metadata","children":"$L1f"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}]
e:["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/002pksyu8p94f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]
20:I[97367,["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0t2xr05rlu96l.js"],"OutletBoundary"]
10:["$","code",null,{"children":"notify_peer(peer_name: str, message: str, circle: str | None = None) -> str"}]
11:["$","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":["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\")"}]}]]}]
12:["$","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\")"}]}]]}]]}]
13:["$","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."]}]}]]}]
14:["$","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"}],")."]}]}]]}]
15:["$","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\")"}]}]]}]]}]
16:["$","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, command: 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":"command"}]," must exactly match an entry in ",["$","code",null,{"className":"font-mono text-primary-fixed","children":"daemon.spawn.allowed_commands"}]," in ",["$","code",null,{"className":"font-mono text-primary-fixed","children":"~/.repowire/config.yaml"}],"; spawn is off by default until you allowlist something."]}],["$","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."]}]]}]]}]
17:["$","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)."]}]}]]}]
18:["$","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."]}]]}]
19:["$","$L20",null,{"children":["$","$1e",null,{"name":"Next.MetadataOutlet","children":"$@21"}]}]
1c:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1, maximum-scale=1, interactive-widget=resizes-content"}]]
22:I[27201,["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0t2xr05rlu96l.js"],"IconMark"]
1f:[["$","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"}],["$","$L22","3",{}]]
21:null
