docs: add running field to get_agent_meta, document stopped-container display (follow-up to #433)
This commit is contained in:
parent
a444774ab3
commit
04e67aaa03
2 changed files with 39 additions and 22 deletions
|
|
@ -227,12 +227,17 @@ it as a stdio child via `--mcp-config`. The hyperhive socket name is
|
|||
`{state_dir}/hyperhive-status`; survives harness restarts. Pass
|
||||
an empty string to clear.
|
||||
- `get_agent_meta(name?)` — fetch identity + status metadata for
|
||||
an agent: `{ name, role, hyperhive_rev, status_text,
|
||||
an agent: `{ name, role, hyperhive_rev, running, status_text,
|
||||
status_set_at }`. Pass `name` to query a peer (e.g. check
|
||||
whether a sub-agent is idle before sending it work). Omit
|
||||
`name` to get your own identity stamp — replaces the previous
|
||||
`whoami` tool. Status fields are `None` when the target has
|
||||
never called `set_status` or has cleared it.
|
||||
`whoami` tool. `running` is `true` when the container is up.
|
||||
When `running` is `false` the host clears live-only sentinel
|
||||
fields (`status_text`, `status_set_at`, `needs_login`,
|
||||
`rate_limited`, `ctx_tokens`) before serving the response, so
|
||||
stale on-disk state never reaches the caller. Status fields are
|
||||
also `None` when the target has never called `set_status` or
|
||||
has cleared it.
|
||||
- `request_next_turn()` — ask the harness to start another turn
|
||||
immediately after this one ends, even if the inbox is empty. Use for
|
||||
multi-turn tasks (long builds, sequential steps) where you want to
|
||||
|
|
|
|||
|
|
@ -254,25 +254,37 @@ guess from container state.
|
|||
the single source of truth. The frontend resolves each
|
||||
`AgentLink.kind` (`container` → `http://host:<container.port>`,
|
||||
`forge` → `http://host:3000`, `external` → already absolute).
|
||||
Status badges follow — `⊘ rate limited` (red, while the harness
|
||||
is parked after a 429), `needs login`, `needs update` — in-flight
|
||||
`◐ pending-state…` pill (replaces buttons during operator-initiated
|
||||
start / stop / restart / rebuild / destroy). Additionally, when a
|
||||
rebuild-queue entry for this agent is `queued` or `running` but no
|
||||
operator-initiated transient is set, the card surfaces a `building…` /
|
||||
`meta-updating…` badge sourced from `rebuildQueueState` (#398) —
|
||||
so the SW4RM tab shows the same rebuild progress visible on the
|
||||
SYST3M tab's R3BU1LD QU3U3. Container name + port, and a
|
||||
`ctx · Nk` chip showing the agent's last-turn context size
|
||||
(from `ContainerView.ctx_tokens`, read from the turn-stats
|
||||
sqlite on each `build_all` sweep; absent until the first turn).
|
||||
The chip colour (green / yellow / red) is keyed off the model's
|
||||
real context window: `build_all` resolves the last turn's model
|
||||
against the host's per-model `contextWindowTokens` config and
|
||||
exposes it as `ContainerView.context_window_tokens`; the badge
|
||||
goes yellow ≥ 50% and red ≥ 75% of that window (the harness
|
||||
compaction watermarks). When the window can't be resolved the
|
||||
badge falls back to fixed 100k / 150k thresholds. (issue #66)
|
||||
**When the container is stopped** (`ContainerView.running = false`),
|
||||
the host clears live-only fields before emitting the state, so
|
||||
the dashboard never renders stale data: the badge chain is
|
||||
replaced by a single muted `■ not running` badge, the nav-strip
|
||||
fetch is skipped (the agent web server is down), and the
|
||||
self-reported status text is suppressed. The agent icon goes
|
||||
straight to the dimmed `/favicon.svg` fallback instead of
|
||||
attempting a doomed load from the container's URL. Static fields
|
||||
— `needs_update`, `deployed_sha`, `pending_reminders`, `parent`,
|
||||
`config` link — remain visible regardless of run state.
|
||||
When the container is running, status badges follow — `⊘ rate
|
||||
limited` (red, while the harness is parked after a 429), `needs
|
||||
login`, `needs update` — in-flight `◐ pending-state…` pill
|
||||
(replaces buttons during operator-initiated start / stop /
|
||||
restart / rebuild / destroy). Additionally, when a rebuild-queue
|
||||
entry for this agent is `queued` or `running` but no
|
||||
operator-initiated transient is set, the card surfaces a
|
||||
`building…` / `meta-updating…` badge sourced from
|
||||
`rebuildQueueState` (#398) — so the SW4RM tab shows the same
|
||||
rebuild progress visible on the SYST3M tab's R3BU1LD QU3U3.
|
||||
Container name + port, and a `ctx · Nk` chip showing the
|
||||
agent's last-turn context size (from `ContainerView.ctx_tokens`,
|
||||
read from the turn-stats sqlite on each `build_all` sweep;
|
||||
absent until the first turn). The chip colour (green / yellow /
|
||||
red) is keyed off the model's real context window: `build_all`
|
||||
resolves the last turn's model against the host's per-model
|
||||
`contextWindowTokens` config and exposes it as
|
||||
`ContainerView.context_window_tokens`; the badge goes yellow
|
||||
≥ 50% and red ≥ 75% of that window (the harness compaction
|
||||
watermarks). When the window can't be resolved the badge falls
|
||||
back to fixed 100k / 150k thresholds. (issue #66)
|
||||
- Line 2: action buttons — `↻ R3BU1LD` always, `DESTR0Y` + `PURG3`
|
||||
on sub-agents, `↺ R3ST4RT` + (sub-agents) `■ ST0P` when running,
|
||||
`▶ ST4RT` when stopped. Buttons dim + disable while a transient
|
||||
|
|
|
|||
Loading…
Reference in a new issue