hive-subagent-mcp: new crate for the subagent daemon, independent of hive-bash-mcp
This commit is contained in:
parent
adfb0f9e02
commit
7699db6500
9 changed files with 646 additions and 9 deletions
27
hive-subagent-mcp/README.md
Normal file
27
hive-subagent-mcp/README.md
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
# hive-subagent-mcp
|
||||
|
||||
Per-agent daemon (`hive-subagent-daemon`) that spawns nested headless
|
||||
`claude` sessions on request and serves the tool surface
|
||||
(`start`/`continue`/`interrupt`) directly over streamable-http. No
|
||||
stdio bridge, no per-turn respawn — claude reconnects to the same
|
||||
stable URL every turn.
|
||||
|
||||
Independent of `hive-bash-mcp` — a subagent spawns a full nested
|
||||
`claude` session, a much heavier capability than a bash command, worth
|
||||
its own deployable/restartable unit.
|
||||
|
||||
## Shape
|
||||
|
||||
One bin (`hive-subagent-daemon`, `src/main.rs`) built from the crate's
|
||||
own lib (`src/lib.rs`):
|
||||
|
||||
- **`session.rs`** — the actual claude-facing logic: `Claude::spawn` +
|
||||
`RunningClaude::wait`/`cancel_handle` (not `InfiniteSession::run`,
|
||||
which has no cancel handle to reach in — see the module doc for the
|
||||
v1 scope this trades away), the in-memory `running` map that's the
|
||||
_only_ state this daemon keeps (no task files — a restart stops
|
||||
whatever's running; the actual claude session is the durable store,
|
||||
found again by name via `hive_claude::SessionStore`).
|
||||
- **`mcp.rs`** — the `rmcp` tool router (`start`/`continue`/`interrupt`)
|
||||
- `serve_http`.
|
||||
- **`paths.rs`** — the in-agent todo-socket path.
|
||||
Loading…
Reference in a new issue