Watch
0
0
Fork
You've already forked hyperhive
0

drop the hyperhive send/recv/ack_until tools: agents message over matrix

This commit is contained in:
damocles 2026-11-07 11:55:45 +01:00 • committed by mara
commit bffb2c07a8

View file

@ -11,7 +11,10 @@ use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
#[serde(rename_all = "snake_case")]
pub enum Permission {
/// `send`, `recv`, `ack_until`
/// Grants no tool any more: agents message each other over matrix, and
/// the hyperhive `send` / `recv` / `ack_until` tools are gone. Kept as an
/// accepted value because it is stored across the swarm (permission sets,
/// imports, agent configs).
Messaging,
/// `get_agent_meta` (`set_status` is always-on — see `ALWAYS_ON_TOOLS`)
Meta,
@ -72,9 +75,9 @@ impl Permission {
#[must_use]
pub fn tools(self) -> &'static [&'static str] {
match self {
Self::Messaging => &["send", "recv", "ack_until"],
Self::Meta => &["get_agent_meta"],
Self::Inbox => &["get_loose_ends", "cancel_loose_end", "remind"],
// `Messaging` grants nothing now (agents message over matrix).
// `Execution` grants the out-of-process `bash` MCP server,
// gated at config-render time in `hive-agent/src/mcp_config.rs`
// — an out-of-process server has no later enforcement point, so
@ -82,7 +85,8 @@ impl Permission {
// Claude built-ins (`builtin_tools()`); `ManageRootAgent` grants
// bind mounts; `Logs` and `Metrics` are checked by the store
// gateways, not by a tool allowlist.
Self::Execution
Self::Messaging
| Self::Execution
| Self::WebTools
| Self::ManageRootAgent
| Self::Logs