UNPKG

@anam-ai/js-sdk

Version:

Client side JavaScript SDK for Anam AI

61 lines 2.68 kB
import { AnamClientOptions, AnamEvent, EventCallbacks, InputAudioState, PersonaConfig } from './types'; import { TalkMessageStream } from './types/TalkMessageStream'; export default class AnamClient { private publicEventEmitter; private internalEventEmitter; private readonly messageHistoryClient; private personaConfig; private clientOptions; private inputAudioState; private sessionId; private organizationId; private streamingClient; private apiClient; private _isStreaming; constructor(sessionToken: string | undefined, personaConfig?: PersonaConfig, options?: AnamClientOptions); private decodeJwt; private validateClientConfig; private buildStartSessionOptionsForClient; private startSession; private startSessionIfNeeded; stream(userProvidedAudioStream?: MediaStream): Promise<MediaStream[]>; /** * @deprecated This method is deprecated. Please use streamToVideoElement instead. */ streamToVideoAndAudioElements(videoElementId: string, audioElementId: string, userProvidedAudioStream?: MediaStream): Promise<void>; streamToVideoElement(videoElementId: string, userProvidedAudioStream?: MediaStream): Promise<void>; /** * Send a talk command to make the persona speak the provided content. * @param content - The text content for the persona to speak * @throws Error if session is not started or not currently streaming */ talk(content: string): Promise<void>; /** * Send a raw data message through the WebRTC data channel. * @param message - The message string to send through the data channel * @throws Error if session is not started */ sendDataMessage(message: string): void; /** * Send a user text message in the active streaming session. * @param content - The text message content to send * @throws Error if not currently streaming or session is not started */ sendUserMessage(content: string): void; interruptPersona(): void; stopStreaming(): Promise<void>; isStreaming(): boolean; setPersonaConfig(personaConfig: PersonaConfig): void; getPersonaConfig(): PersonaConfig | undefined; getInputAudioState(): InputAudioState; muteInputAudio(): InputAudioState; unmuteInputAudio(): InputAudioState; createTalkMessageStream(correlationId?: string): TalkMessageStream; /** * Event handling */ addListener<K extends AnamEvent>(event: K, callback: EventCallbacks[K]): void; removeListener<K extends AnamEvent>(event: K, callback: EventCallbacks[K]): void; getActiveSessionId(): string | null; } //# sourceMappingURL=AnamClient.d.ts.map