fix(#1548): make set_status always-on regardless of tool groups
This commit is contained in:
parent
2db94a920a
commit
a4d15cea28
3 changed files with 70 additions and 6 deletions
|
|
@ -278,7 +278,7 @@ binary flavor.
|
|||
| Group | Tools |
|
||||
|---|---|
|
||||
| `messaging` | `send`, `recv`, `ask`, `answer` |
|
||||
| `meta` | `set_status`, `get_agent_meta` |
|
||||
| `meta` | `get_agent_meta` (`set_status` is always-on, see below) |
|
||||
| `inbox` | `get_loose_ends`, `cancel_loose_end`, `remind`, `request_next_turn` |
|
||||
| `execution` | vestigial — `mcp__bash__run` / `mcp__bash__status` are always available unconditionally via `extraMcpServers`; this group's entries expand to non-existent `mcp__hyperhive__run` / `mcp__hyperhive__status` and have no effect. See `docs/tools/bash.md`. |
|
||||
| `lifecycle` | `kill`, `start`, `restart`, `update` *(privileged)* |
|
||||
|
|
@ -286,6 +286,14 @@ binary flavor.
|
|||
| `scheduling` | `request_schedule_prompt`, `fire_schedule_now`, `cancel_schedule`, `edit_schedule`, `list_schedules` *(privileged)* |
|
||||
| `diagnostics` | `get_logs` *(privileged)* |
|
||||
|
||||
**Always-on tools** — `set_status` is exposed to every agent regardless of
|
||||
which groups it holds (`ToolGroup::ALWAYS_ON_TOOLS`). The operator dashboard
|
||||
depends on every agent being able to report its status chip, and the
|
||||
server-side `SetStatus` handler has no tool-group check (only length
|
||||
validation), so gating it would only desync the `--allowedTools` list from
|
||||
what the host actually accepts. Revoking `meta` therefore drops
|
||||
`get_agent_meta` but never `set_status`.
|
||||
|
||||
**Config storage** — per-agent tool groups live in
|
||||
`/var/lib/hyperhive/meta/tool-groups.json` (hive-c0re-owned, committed to the
|
||||
meta repo alongside `topology.json`). Format: `{ "alice": ["messaging", "meta",
|
||||
|
|
|
|||
Loading…
Reference in a new issue