Conversations API with full CRUD: start, append, restart (+ stream variants), get, list, delete, history, messages. Discriminated unions for entries (6 types) and streaming events (10 types). EventStream wraps Stream[json.RawMessage] with typed event dispatch.