subagents: fold hive-extra-mcp into hive-agent-sock per mara's rescoping
This commit is contained in:
parent
670e0ccad3
commit
349f7096ba
12 changed files with 75 additions and 81 deletions
|
|
@ -1,14 +1,15 @@
|
|||
# hive-agent-sock
|
||||
|
||||
Wire types for the **in-agent socket** — the one the `hive-agent` harness serves
|
||||
_inside_ the container to its local producers. The matrix / bash MCP daemons
|
||||
and `forge_notify` are the _built-in_ producers that ship today, but any
|
||||
user-configured MCP server declared in an agent's `agent.nix` can dial this
|
||||
socket and push its own todos with an arbitrary `subsystem` marker — the
|
||||
wire format doesn't restrict the set. Unlike the host-served sockets, this
|
||||
one **never leaves the container**.
|
||||
What's common across the in-container "agent plugins" — the matrix / bash /
|
||||
subagent MCP daemons and `forge_notify` today, plus any user-configured MCP
|
||||
server declared in an agent's `agent.nix`. Two things live here:
|
||||
|
||||
## What it carries
|
||||
## Wire types for the in-agent socket
|
||||
|
||||
The socket the `hive-agent` harness serves _inside_ the container to those
|
||||
local producers. Any producer can dial it and push its own todos with an
|
||||
arbitrary `subsystem` marker — the wire format doesn't restrict the set.
|
||||
Unlike the host-served sockets, this one **never leaves the container**.
|
||||
|
||||
- the loose-ends-v2 **todo** op family
|
||||
- the harness-local **reminder** op family
|
||||
|
|
@ -16,14 +17,23 @@ one **never leaves the container**.
|
|||
More in-agent request families may be added over time — the socket is
|
||||
deliberately named for the agent, not for the todos.
|
||||
|
||||
## Why in-container
|
||||
**Why in-container**: the harness owns the todo + reminder stores locally and
|
||||
signals its own turn loop directly, so `hive-c0re` is not in either path: no
|
||||
broker round-trip, no long-poll, no marker files. That locality is the
|
||||
point — it's also what lets these stores travel with the agent for hive
|
||||
portability.
|
||||
|
||||
The harness owns the todo + reminder stores locally and signals its own turn
|
||||
loop directly, so `hive-c0re` is not in either path: no broker round-trip, no
|
||||
long-poll, no marker files. That locality is the point — it's also what lets
|
||||
these stores travel with the agent for hive portability.
|
||||
**Not to be confused with `hive-core-agent-sock`**: that crate is the
|
||||
_host_-served core↔agent protocol on `/run/hive/mcp.sock` (the harness
|
||||
talking out to `hive-c0re`). This socket is purely intra-container.
|
||||
|
||||
## Not to be confused with `hive-core-agent-sock`
|
||||
## `extra_mcp`: the `hyperhive.extraMcpServers` spec
|
||||
|
||||
That crate is the _host_-served core↔agent protocol on `/run/hive/mcp.sock`
|
||||
(the harness talking out to `hive-c0re`). This socket is purely intra-container.
|
||||
Not a socket protocol — a shared config type. Parses
|
||||
`/etc/hyperhive/extra-mcp.json` (the nix-rendered `hyperhive.extraMcpServers`
|
||||
option) and renders each entry into the shape claude expects in a
|
||||
`--mcp-config` blob. Shared by `hive-agent` (the main session's servers) and
|
||||
`hive-subagent-mcp` (the subagent-eligible subset, gated on
|
||||
`availableToSubagents`) — both already depend on this crate for the socket
|
||||
types above, so a new plugin-facing shared type belongs here rather than in
|
||||
a crate of its own.
|
||||
|
|
|
|||
Loading…
Reference in a new issue