Protocol-first
A language-neutral specification with JSON Schemas and test vectors defines what “compatible” means. The TypeScript packages are its reference implementation, not its definition.
Protocol-first
A language-neutral specification with JSON Schemas and test vectors defines what “compatible” means. The TypeScript packages are its reference implementation, not its definition.
Interruptible by design
Every turn has an epoch. Once the user interrupts, nothing from that turn takes effect: its tool calls never start and its audio never plays.
Tools run where they belong
Server tools run next to the agent; app tools run in the user’s page or device, one at a time, behind the epoch gate.
Any model
Boson Higgs Realtime, OpenAI Realtime, Gemini Live, or any text LLM with speech-to-text and text-to-speech. Switching models changes no app code.
Runs anywhere
Node, Bun, Deno, Cloudflare Workers and Durable Objects, and the browser. Web-standard APIs only; no media server.
Light
A zero-dependency core, one small package per provider, binary audio frames instead of base64 JSON, and size budgets enforced in CI.