feat(#1106): split bash mcp into hive-bash-daemon + hive-bash-mcp bridge
- new hive-bash-mcp crate: daemon (subprocess runner, wake signals) +
stdio bridge (mcp tools). mirrors hive-matrix-mcp architecture
- hive-ag3nt: remove bash_runner.rs and bash_run/bash_status mcp tools;
get_loose_ends uses hive_bash_mcp:🏃:active_tasks() via crate dep
- harness-base.nix: add hive-bash-daemon systemd service + auto-inject
bash extraMcpServer into every agent (socket: /run/hive-bash/socket)
This commit is contained in:
parent
9aa624d310
commit
e86160820a
15 changed files with 811 additions and 373 deletions
35
hive-bash-mcp/Cargo.toml
Normal file
35
hive-bash-mcp/Cargo.toml
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
[package]
|
||||
name = "hive-bash-mcp"
|
||||
edition.workspace = true
|
||||
version.workspace = true
|
||||
|
||||
[lints]
|
||||
workspace = true
|
||||
|
||||
[dependencies]
|
||||
anyhow.workspace = true
|
||||
hive-sh4re.workspace = true
|
||||
rmcp.workspace = true
|
||||
schemars.workspace = true
|
||||
serde.workspace = true
|
||||
serde_json.workspace = true
|
||||
tokio.workspace = true
|
||||
tracing.workspace = true
|
||||
tracing-subscriber.workspace = true
|
||||
|
||||
# `hive-bash-daemon` — long-running per-agent bash task runner.
|
||||
# Spawns `sh -c` subprocesses, monitors completion, writes task state
|
||||
# files under harness/bash-tasks/, and fires hyperhive wake signals on
|
||||
# completion. Listens on a unix socket for tool-call requests from the
|
||||
# stdio MCP bridge.
|
||||
[[bin]]
|
||||
name = "hive-bash-daemon"
|
||||
path = "src/main.rs"
|
||||
|
||||
# `hive-bash-mcp` — thin stdio MCP bridge spawned by claude per turn.
|
||||
# Forwards every tool call (bash_run, bash_status) to the daemon over
|
||||
# the unix socket, returns results to claude. No subprocess management
|
||||
# at this entrypoint — the daemon owns that.
|
||||
[[bin]]
|
||||
name = "hive-bash-mcp"
|
||||
path = "src/bin/mcp.rs"
|
||||
Loading…
Reference in a new issue