WebRTC real-timeSub-second latency video/audio sessions with an AI avatar, powered by RTCPeerConnection and a typed DataChannel protocol.
LLM chat with streamingFirst-class streaming responses, message history, and conversational state machine (RECORDING / LLM / ANALYZING / SPEAKING / TTS).
Client-side tool callingExpose local functions as ChatTool so the LLM can invoke them inside the session.
Server-safe session creationDedicated server subpath keeps your API key off the browser — works with SvelteKit, Next.js, and any Node.js server.
Typed and testedStrict TypeScript types, structured error hierarchy, and Jest test coverage for the session lifecycle.