Agent-readable docs index: /docs/llms.txt. Full docs in one file: /docs/llms-full.txt. Download /docs/docs.zip to grep all markdown files locally.

SDK reference

LiveVoice.connect(options)

Returns Promise<LiveVoiceSession>.
OptionTypeRequired
tokenstringYes
promptstringNo
conversationConversationOptionsNo
toolsRecord<string, LiveVoiceTool>No
endpointstringNo
The browser SDK does not accept a voice or provider option. Choose a built-in voice when your server creates the short-lived session token. See Voice.

LiveVoice.connect(options) from @inkibra/voice-sdk/server

When the server SDK creates its own session with apiKey, it also accepts:
OptionTypeRequired
voice"eve" | "ara" | "rex" | "sal" | "leo"No
The default voice is eve.

ConversationOptions

ts
type ConversationOptions = { prompt?: string; starts?: "assistant" | "user"; phases?: { initial: string; prompt?: string; definitions: Record<string, string>; }; };
  • prompt shapes pacing, clarification, and conversational style.
  • starts decides who opens the session.
  • phases gives the agent a developer-defined workflow vocabulary. Phase names are application concepts, not hidden runtime states.

LiveVoiceSession

ts
session.on(event, handler): () => void session.stop(): void session.dispose(): void
session.on("phase", handler) emits committed phase changes when conversation.phases is configured.

LiveVoiceTool

ts
type LiveVoiceTool = { description: string; parameters: Record<string, unknown>; execute(input: Record<string, unknown>): unknown | Promise<unknown>; };