@anam-ai/js-sdk
Version:
Client side JavaScript SDK for Anam AI
39 lines • 1.73 kB
TypeScript
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 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[]>;
streamToVideoAndAudioElements(videoElementId: string, audioElementId: string, userProvidedMediaStream?: MediaStream): Promise<void>;
talk(content: string): Promise<void>;
sendDataMessage(message: string): 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