UNPKG

@trillet-ai/web-sdk

Version:

Trillet Web SDK for real-time audio communication with AI agents

47 lines (46 loc) 1.62 kB
import { EventEmitter } from 'eventemitter3'; import { Transcript } from './TranscriptManager.js'; export interface TrilletAgentConfig { apiKey?: string; workspaceId?: string; agentId: string; variables?: Record<string, any>; callbackUrl?: string; mode?: 'voice' | 'text'; } export declare class TrilletAgent extends EventEmitter { private sdk; private config; private sdkToken; private transcriptManager; constructor(config: TrilletAgentConfig); private setupEventForwarding; /** * Set up default RPC handlers for common agent interactions * This should be called after connection is established */ private setupDefaultRpcHandlers; startCall(): Promise<void>; startPublicCall(): Promise<void>; endCall(): void; toggleMicrophone(enabled: boolean): void; get isAssistantSpeaking(): boolean; getTranscripts(): Transcript[]; getCurrentTranscript(): { [key: string]: string; }; /** * Register an RPC method handler for receiving calls from the agent * @param method - The RPC method name to handle * @param handler - The function to handle the RPC call */ registerRpcMethod(method: string, handler: (data: any) => Promise<any> | any): void; /** * Send an RPC call to the agent * @param method - The RPC method name * @param payload - The data to send * @param responseTimeout - Timeout in milliseconds (default: 30000) */ sendRpcMessage(method: string, payload: any, responseTimeout?: number): Promise<any>; sendTextMessage(text: string): void; }