Create Omni/Agent/Event.hs with:
1. AgentEvent sum type for all event kinds 2. ToJSON/FromJSON instances 3. Helper constructors 4. Session ID generation (UUID or timestamp-based)
data AgentEvent = AgentEvent
{ eventType :: EventType
, eventTimestamp :: UTCTime
, eventContent :: Value -- type-specific payload
}
data EventType
= Assistant -- LLM text response
| ToolCall -- tool invocation with args
| ToolResult -- tool output
| UserMessage -- for future interactive chat
| Cost -- tokens and cost
| Error -- failures
| Complete -- session ended
No activity yet.