Orchestration

Orchestration

curb/orchestration is server-only. Curb runs the voice session on every route (Voice sessions). Use these exports to change that session or to write your own: Override the LiveKit pipeline.

ExportWhat it does
createVoiceAgentBundleA runtime, session and voice settings for one agent
buildVoiceProvidersBuilds the agent’s STT and TTS
buildVoiceSttBuilds its STT
buildVoiceTtsBuilds its TTS
describeMissingVoiceEnvNames the voice keys that are missing
VoiceProviderErrorA voice provider cannot be built
CurbVoiceAgentThe voice.Agent that answers with Curb’s turns. Subclass it
CurbLLMStubThe llm a session needs so LiveKit calls llmNode
VoicePipelineThe type of defineAgent({ pipeline })
createProviderSwitchSwaps STT or TTS during a call
ConversationClipsHolds a call’s audio clips
attachClientMessagesConnects app messages to a room
serveCallServes host protocol v1 for one call
createEndCallHangupWhat end_call does in a call
END_CALL_TOOL_NAMEend_call
SKIP_TURN_TOOL_NAMEskip_turn
AutoSubscribe, ServerOptions, cli, defineAgent, llm, voiceRe-exported from @livekit/agents
sileroRe-exported from @livekit/agents-plugin-silero
RoomEventRe-exported from @livekit/rtc-node

Next steps