| Filename | Latest commit message | Latest commit date |
|---|---|---|
handle_list_schedules took no requester and returned every schedule unfiltered, unlike cancel_schedule/edit_schedule/fire_schedule_now which all gate on the shared ownership predicate (self, operator, or subtree via topology::is_descendant_of). list_schedules now filters through the same predicate, renamed cancel_authorized -> schedule_authorized since it backs all four verbs now, not just cancel. Fixed five stale 'every schedule' / 'unfiltered' claims found while in here: filter_ghost_schedule_targets's doc comment, the list_schedules MCP tool description, docs/tools/scheduling.md's per-verb section (already self-contradicting its own top-of-file subtree-scoping claim before this fix), and hive-core-agent-sock's ListSchedules/Schedules wire-type doc comments (including a stale '(privileged)' marker from the pre-topology-subtree model). Credit to atlas: independently found the same fix while finishing PR #4233 (which documents this bug per mara's 'fix it, don't document it' ruling) and caught two stale doc spots I'd missed (hive-core-agent-sock's comments) plus proposed the schedule_authorized rename. Compared diffs directly before either of us pushed; he dropped his scheduling.rs changes so we didn't collide. fixes #4237 |
||
| .. | ||
| src | ||
| Cargo.toml | ||
| README.md | ||
hive-agent-mcp
The built-in hyperhive MCP server every agent gets by default. Runs a
long-lived streamable-http listener (the hive-mcp-http systemd unit)
that claude reconnects to each turn via --mcp-config — this avoids
the per-turn stdio re-registration race that a spawned-per-turn server
would hit. HTTP is the sole transport; there is no stdio mode here.
When to use it
This is where the core hyperhive tool surface lives: send, recv,
remind, get_loose_ends, set_status,
get_agent_meta, lifecycle (kill/start/restart/update on the
agent's own subtree), scheduling, and the approval-request tools. Reach
for this crate when you're adding or changing a built-in tool rather
than an extraMcpServers add-on — those are separate stdio bridges
(see hive-bash-mcp, hive-matrix-mcp) that dial the harness socket
or their own daemon instead of living here.
Shape
mcp/— the tool surface itself: one handler per tool, dispatch throughclient.rsback into the hyperhive broker (/run/hive/mcp.sock) or, for loose-ends v2 (todos/reminders), the in-agent socket thehive-agentharness serves.client.rs— socket client to the hyperhive broker.send_allow.rs— enforces the per-agenthyperhive.allowedRecipientsallow-list onsend.paths.rs— socket + state path resolution shared with the harness's ownpaths.rsconventions.
Sibling of hive-agent (the serve loop that renders the
--mcp-config blob pointing here). Standalone bin crate so the
always-on MCP server doesn't need to link the whole turn-loop lib.