//! Event stream (seed stub): every session publishes structured events on
//! GET /events/{id} (SSE) and mirrors them to an audit JSONL log.
//! Backlog T4 — types here are the event vocabulary contract.
use serde::Serialize;
#[derive(Serialize, Debug, Clone)]
#[serde(tag = "type", rename_all = "snake_case")]
pub enum SessionEvent {
Step { session: String, n: u32, note: String },
ToolCall { session: String, action: String, args: serde_json::Value },
PageEvent { session: String, url: String, title: String },
Result { session: String, summary: String },
Error { session: String, message: String },
}