convai-web-sdk
Version:
Integrate lifelike digital beings into your web applications with real-time conversations, actions, and facial expressions. Supports a variety of voices, languages, and emotions.
62 lines (61 loc) • 2.24 kB
TypeScript
import { GetResponseResponse } from '../Proto/service/service_pb';
import { ActionConfigParamsType, ConvaiGRPCClientConfigType } from './types';
import * as narrativeDesign from "./narrativeDesign";
export interface ConvaiClientParams {
apiKey: string;
characterId: string;
speaker: string;
enableAudio: boolean;
speakerId: string;
sessionId: string;
languageCode?: string;
enableFacialData?: boolean;
faceModel?: 0 | 1 | 2 | 3;
narrativeTemplateKeysMap: Map<string, string>;
textOnlyResponse?: boolean;
micUsage?: boolean;
}
export declare class ConvaiClient {
private sessionId;
private responseCallback;
private errorCallback;
private apiKey;
private characterId;
private speaker;
private speakerId;
private languageCode;
private enableAudio;
private enableAddingChunk;
private finalChunkReceived;
private audioRecorder;
private audioPlayer;
private convaiGrpcClient;
private disableAudioGeneration;
private enableFacialData;
private faceModel;
private micUsage?;
private narrativeTemplateKeysMap;
private actionConfig;
convaiConfig: ConvaiGRPCClientConfigType;
constructor(params: ConvaiClientParams);
private validateBeforeRequest;
resetSession(): void;
setResponseCallback(fn: (response: GetResponseResponse) => void): void;
setErrorCallback(fn: (type: string, statusMessage: string, status: string) => void): void;
sendTextChunk(text: string): void;
startAudioChunk(): void;
invokeTrigger(name: string | null, message?: string | null, preload?: boolean): void;
sendFeedback(interaction_id: string, character_id: string, session_id: string, thumbs_up: boolean, feedback_text: string): void;
endAudioChunk(): void;
toggleAudioVolume(): void;
getAudioVolume(): number;
stopCharacterAudio(): void;
onAudioPlay(fn: () => void): void;
onAudioStop(fn: () => void): void;
pauseAudio(): void;
resumeAudio(): void;
onAudioStateChange(fn: () => void): void;
playAudio(): void;
setActionConfig(actionConfig: ActionConfigParamsType): void;
}
export { narrativeDesign };