The minimal outbound surface of the conversation websocket the session depends on. Declaring
the seam as an interface lets unit tests inject a fully in-memory fake that captures outbound
frames and drives ElevenLabsRealtimeSession.HandleServerEvent with ElevenLabs-shaped
events — no websocket, no network.
The minimal outbound surface of the conversation websocket the session depends on. Declaring the seam as an interface lets unit tests inject a fully in-memory fake that captures outbound frames and drives ElevenLabsRealtimeSession.HandleServerEvent with ElevenLabs-shaped events — no websocket, no network.