UNPKG

@airsurfer09/web-handsfree

Version:

A React package for integrating Convai's AI-powered voice assistants with LiveKit for real-time audio/video conversations

57 lines 1.73 kB
import { Room } from 'livekit-client'; export interface ConvaiConfig { apiKey: string; characterId: string; url?: string; enableAudio?: boolean; enableVideo?: boolean; llmProvider?: string; actionConfig?: { actions: string[]; characters: Array<{ name: string; bio: string; }>; objects: Array<{ name: string; description: string; }>; currentAttentionObject?: string; }; } export interface ChatMessage { id: string; type: 'user' | 'convai' | 'emotion' | 'behavior-tree' | 'action' | 'user-llm-text' | 'bot-llm-text' | 'bot-emotion'; content: string; timestamp: string; } export interface ConvaiClientState { isConnected: boolean; isConnecting: boolean; isListening: boolean; isThinking: boolean; isSpeaking: boolean; agentState: 'disconnected' | 'connected' | 'listening' | 'thinking' | 'speaking'; } import { AudioControls } from "../hooks/useAudioControls"; import { VideoControls } from "../hooks/useVideoControls"; export interface ConvaiClient { state: ConvaiClientState; connect: (config: ConvaiConfig) => Promise<void>; disconnect: () => Promise<void>; room: Room; videoTrack: any; audioTrack: any; sendUserTextMessage: (text: string) => void; sendTriggerMessage: (triggerName?: string, triggerMessage?: string) => void; updateTemplateKeys: (templateKeys: { [key: string]: string; }) => void; updateDynamicInfo: (dynamicInfo: { text: string; }) => void; chatMessages: ChatMessage[]; audioControls: AudioControls; videoControls: VideoControls; } //# sourceMappingURL=index.d.ts.map