docs: update for recent commits (rate limiting, reply threading, screen, auto-reset, two-step spawn, ctx chip)
This commit is contained in:
parent
a024ca65c0
commit
69604407a9
4 changed files with 99 additions and 19 deletions
|
|
@ -150,10 +150,14 @@ the previous process's socket release resolves itself.
|
|||
|
||||
Two-line layout (`assets/app.js::renderContainers`):
|
||||
|
||||
- Line 1: agent name (link → new tab), m1nd/ag3nt chip, `needs
|
||||
login` / `needs update` warning badges, in-flight `◐
|
||||
- Line 1: agent name (link → new tab), m1nd/ag3nt chip, status
|
||||
badges — `⊘ rate limited` (red, while the harness is parked
|
||||
after a 429), `needs login`, `needs update` — in-flight `◐
|
||||
pending-state…` pill (replaces buttons during start / stop /
|
||||
restart / rebuild / destroy), container name + port.
|
||||
restart / rebuild / destroy), 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).
|
||||
- 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
|
||||
|
|
@ -296,9 +300,12 @@ Wire vocabulary on `/dashboard/stream` (kind tag is in the JSON
|
|||
payload):
|
||||
|
||||
- `sent` / `delivered` — broker traffic, mirrored from the
|
||||
intra-process channel by a forwarder task. Used by the
|
||||
message-flow terminal renderer and the operator-inbox
|
||||
derived state.
|
||||
intra-process channel by a forwarder task. Both carry `id: i64`
|
||||
(the broker row id) and `in_reply_to: Option<i64>` for thread
|
||||
rendering. The dashboard message-flow terminal renders reply
|
||||
rows with a `↳ reply` tag that scroll-highlights the parent
|
||||
row on click. Used by the message-flow terminal renderer and
|
||||
the operator-inbox derived state.
|
||||
- `approval_added` (id, agent, approval_kind, sha_short, diff,
|
||||
description) / `approval_resolved` (id, agent, approval_kind,
|
||||
sha_short, status, resolved_at, note, description) — pending
|
||||
|
|
@ -355,8 +362,10 @@ Layout, top to bottom:
|
|||
badge + last-turn timing + cancel-turn button + new-session
|
||||
button. Every chip carries a `title=...` tooltip with the
|
||||
detailed breakdown.
|
||||
- Alive badge: `● alive` (green) / `◌ needs login` (amber) /
|
||||
`◌ logging in` / `○ offline` / `… connecting`. Driven by
|
||||
- Alive badge: `● alive` (green) / `⊘ rate limited` (red, while
|
||||
the harness is parked after a 429 — clears automatically when
|
||||
the sleep expires) / `◌ needs login` (amber) / `◌ logging in` /
|
||||
`○ offline` / `… connecting`. Driven by
|
||||
`LiveEvent::StatusChanged`; replaces the old "harness alive
|
||||
— turn loop running" paragraph so the state row carries
|
||||
every reachability signal.
|
||||
|
|
@ -401,7 +410,9 @@ Layout, top to bottom:
|
|||
updates from SSE; no periodic refresh timer runs.
|
||||
- Inbox `<details>` block (collapsed): `inbox · N` — last 30
|
||||
messages addressed to this agent, fetched via
|
||||
`AgentRequest::Recent { limit: 30 }`. (Separate from
|
||||
`AgentRequest::Recent { limit: 30 }`. Reply messages (those
|
||||
with a non-null `in_reply_to`) are indented and prefixed with
|
||||
`↳ reply ·` in amber. (Separate from
|
||||
`AgentRequest::Recv { wait_seconds, max }` which the harness
|
||||
uses internally to long-poll the broker.)
|
||||
- Loose-ends `<details>` block: `loose ends · N` — questions,
|
||||
|
|
@ -506,12 +517,22 @@ shaped).
|
|||
- `POST /api/new-session` — arm a one-shot for the next turn to
|
||||
drop `--continue`. Emits a `LiveEvent::Note`.
|
||||
- `GET /events/history` — replay buffer for the terminal.
|
||||
- `GET /screen` — VNC viewer page (minimal RFB-over-WebSocket
|
||||
renderer). Only accessible when `hyperhive.gui.enable = true`
|
||||
in the agent's `agent.nix`; the harness shows a 🖥 screen link
|
||||
in the state row when `gui_vnc_port` is present.
|
||||
- `GET /screen/ws` — raw RFB byte relay: proxies WebSocket
|
||||
frames to the weston VNC server at `127.0.0.1:<vnc_port>`.
|
||||
Transparent to any RFB variant. VNC port comes from
|
||||
`/etc/hyperhive/gui.json` (written by the weston startup
|
||||
script in `weston-vnc.nix`).
|
||||
|
||||
Bus events (new vocabulary on `/events/stream`):
|
||||
|
||||
- `status_changed { status }` — `online` /
|
||||
- `status_changed { status }` — `online` / `rate_limited` /
|
||||
`needs_login_idle` / `needs_login_in_progress`. Drives the
|
||||
alive-badge.
|
||||
alive-badge. `rate_limited` is set when the harness detects a
|
||||
429 response and cleared when the retry sleep expires.
|
||||
- `model_changed { model }` — drives the model chip.
|
||||
- `token_usage_changed { ctx: TokenUsage, cost: TokenUsage }`
|
||||
— drives the ctx + cost badges. Emitted from
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue