Parse and render the full JSONL event stream from pi agents with high fidelity.
The current Pipeline/Web.hs event parser is lossy — it truncates thinking to 200 chars, tool args to 80 chars, tool results to 200 chars. For the interactive agent UI we need the full output to be visible.
From pi's --mode json / --mode rpc output:
1. agent_start — Agent session began
2. turn_start — New inference turn
3. message_start — LLM response started
4. message_update with assistantMessageEvent:
thinking_start — Thinking block openedthinking_delta — Incremental thinking textthinking_end — Thinking block closed (has full content)text_start — Text output startedtext_delta — Incremental texttext_end — Text output complete (has full content)tool_call_start — Tool call initiated (has toolCall.name, toolCall.input)tool_call_delta — Incremental tool inputtool_call_end — Tool call completetool_result — Tool execution result (has toolCall.output)5. message_end — Full message with usage/cost data 6. turn_end — Turn complete 7. agent_end — Agent session complete (has full message history)
<details> element. Summary shows first 100 chars.<pre>)<details>. Summary shows first line or result type.Create Omni/Agents/Events.hs with:
data AgentEvent — Richer than Pipeline's versionparseEventLog :: Text -> [AgentEvent] — Parse full JSONLrenderEventList :: [AgentEvent] -> Html () — Render to HTMLrenderEvent :: AgentEvent -> Html () — Render individual event
Ava verified: shipped as part of commit b05c4976 'agents web ui: interactive agent interface'. /agents endpoint live on beryllium and returns 200. Moving to Verified.