@trillet-ai/web-sdk
Version:
Trillet Web SDK for real-time audio communication with AI agents
47 lines (46 loc) • 1.62 kB
TypeScript
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;
}