UNPKG

sycoraxai-voice-assistants

Version:

A voice assistant package for React applications supporting multiple providers

41 lines (40 loc) 1.36 kB
import { Room } from 'livekit-client'; import { RetellWebClient } from 'retell-client-js-sdk'; export interface GeneralConnectionDetails { provider: 'livekit' | 'retell'; payload: any; } export interface LiveKitConnectionDetails { serverUrl: string; participantToken: string; provider: 'livekit'; } export interface RetellConnectionDetails { access_token: string; provider: 'retell'; sample_rate?: number; capture_device_id?: string; emit_raw_audio_samples?: boolean; } export type ConnectionDetails = LiveKitConnectionDetails | RetellConnectionDetails; export interface VoiceAssistantConfig { onDeviceFailure?: (error: Error) => void; onCallStarted?: () => void; onCallEnded?: () => void; onAgentStartTalking?: () => void; onAgentStopTalking?: () => void; onError?: (error: Error) => void; } export interface LiveKitVoiceAssistant { room: Room; connect: (connectionDetails: LiveKitConnectionDetails) => Promise<void>; disconnect: () => void; } export interface RetellVoiceAssistant { client: RetellWebClient; connect: (connectionDetails: RetellConnectionDetails) => Promise<void>; disconnect: () => void; isCallActive: boolean; agentStatus: 'idle' | 'connecting' | 'listening' | 'speaking'; } export type VoiceAssistant = LiveKitVoiceAssistant | RetellVoiceAssistant;