docs(web-ui): document turn start/end times + duration on the agent terminal
Follow-up to the turn-time feature: the terminal now stamps a wall-clock time on the turn-start / turn-end rows and an elapsed duration on turn-end, sourced from a per-event `ts` (unix seconds) that the backend serializes as a flattened sibling of the event tag on both the live SSE frame and each history row. - terminal-rendering.md: add the `.turn-time` row to the taxonomy table + a note on the ts source and the graceful degradation when a frame omits ts. - web-ui/agent.md: note the ts sibling on the emitted events, and the time/duration suffixes on the TurnStart / TurnEnd renderings.
This commit is contained in:
parent
e89ca90956
commit
6b4b0f11c0
2 changed files with 19 additions and 3 deletions
|
|
@ -38,6 +38,7 @@ parent's negative pull.
|
|||
| `.turn-body` | (child div under turn-start) | fg | same | the wake-prompt body |
|
||||
| `.turn-end-ok` | `✓ turn ok` | green, left rule | `LiveEvent::TurnEnd { ok: true }` | harness |
|
||||
| `.turn-end-fail` | `✗ turn fail — note` | red, left rule | `LiveEvent::TurnEnd { ok: false }` | harness |
|
||||
| `.turn-time` | `· HH:MM:SS` on turn-start; `· HH:MM:SS · <dur>` on turn-end (child span) | muted, smaller | per-event `ts` (unix seconds) on the live frame + history row | harness |
|
||||
| `.text` | (no prefix; markdown body) | fg | claude `assistant.content[].text` | stream-json |
|
||||
| `.thinking` | `· thinking …` | muted, italic | claude `assistant.content[].thinking` | stream-json |
|
||||
| `.tool-use` (flat) | `→ Name args…` | cyan | tool_use w/o rich renderer | stream-json |
|
||||
|
|
@ -55,6 +56,15 @@ parent's negative pull.
|
|||
| `.sys` | `! {json…}` | amber/orange | catch-all for stream shapes `renderStream` didn't classify | catch-all |
|
||||
| Banner shimmer | mauve | turn in flight (ref-counted) | — | `setBannerActive` |
|
||||
|
||||
The `.turn-time` span is appended to the turn-start / turn-end rows from
|
||||
the event's `ts` (unix seconds), which the backend serializes as a
|
||||
flattened sibling of `kind` on both the live SSE frame and each history
|
||||
row — so the same renderer path stamps live tail and replayed scrollback
|
||||
identically. Turn-end also shows the elapsed duration (end − start),
|
||||
paired against the most recent open turn-start. The read is guarded on a
|
||||
numeric `ts`: if a frame omits it the rows render without the time
|
||||
suffix, so the terminal degrades cleanly against older event shapes.
|
||||
|
||||
## Renderer dispatch
|
||||
|
||||
`renderStream(v, api)` walks each stream-json line:
|
||||
|
|
|
|||
Loading…
Reference in a new issue