Expand description
Wire types for hrdr’s web protocol. The server and every client (browser WASM, a native webview) share this crate so the WS frames and REST payloads are a single source of truth.
This crate is kept wasm32-clean on purpose: it depends only on serde, so
it compiles in the browser (where hrdr-agent with its tokio/reqwest/zstd
deps cannot).
Structs§
- Pane
Transcript - Server
Frame - Every server frame carries a global sequence number.
- Wire
Diff Line - Wire
Entry - Byte-for-byte the JSON of
hrdr_agent::Entry: flat kind/data + unix time. - Wire
Entry View - Server-computed display model that rides beside an entry.
- Wire
Gauge - Wire
Pane - Snapshot of one pane’s chrome (list row + status-bar inputs live here).
- Wire
Status - Pre-built status bar (server ran
hrdr_app::status_sections). - Wire
Status Run - Wire
Status Seg - Wire
Todo - Wire
Tool Display - Wire
Turn - A snapshot of one pane’s turn clock. Not the agent’s live
TurnStats(which holdsInstant/SystemTime— not serde, not WASM), but the derived numbers the frontend needs.
Enums§
- Client
Msg - Input
SetMode - Server
Msg - Wire
CtxLevel - Wire
Diff Line Kind - Wire
Entry Kind - Matches
hrdr_agent::EntryKind’s serde shape exactly. This is the one exception to “struct variants only” — it must mirror the externally-shaped serde, newtype variants included, so the round-trip test passes. - Wire
Pane Id - Which conversation a message concerns. Mirrors
hrdr_agent::PaneId. External tagging on purpose: serializes as"main"or{"sub": 7}. - Wire
Pane Status - Wire
Status Role - Wire
Tool Body