@charisma-ai/sdk
Version:
Charisma.ai SDK for Javascript (browser)
39 lines (38 loc) • 1.72 kB
TypeScript
import { EventEmitter } from "eventemitter3";
import Playthrough from "./Playthrough.js";
import { StartEvent, ReplyEvent, ActionEvent, SpeechConfig, MessageEvent, StartTypingEvent, StopTypingEvent, EpisodeCompleteEvent, ConfirmActionEvent, ConfirmReplyEvent, ConfirmResumeEvent, ConfirmStartEvent, ConfirmTapEvent, ReplyIntermediateEvent, ProblemEvent } from "./types.js";
export interface ConversationOptions {
speechConfig?: SpeechConfig;
}
export type ConversationEvents = {
message: [MessageEvent];
"start-typing": [StartTypingEvent];
"stop-typing": [StopTypingEvent];
"episode-complete": [EpisodeCompleteEvent];
problem: [ProblemEvent];
action: [ConfirmActionEvent];
reply: [ConfirmReplyEvent];
resume: [ConfirmResumeEvent];
start: [ConfirmStartEvent];
tap: [ConfirmTapEvent];
"playback-start": [];
"playback-stop": [];
};
export declare class Conversation extends EventEmitter<ConversationEvents> {
private uuid;
private eventQueue;
private lastEventId?;
private playthroughInstance;
private options;
constructor(conversationUuid: string, playthroughInstance: Playthrough, options?: ConversationOptions);
addIncomingEvent<T extends EventEmitter.EventNames<ConversationEvents>>(eventName: T, ...eventArgs: EventEmitter.EventArgs<ConversationEvents, T>): true;
start: (event?: StartEvent) => void;
reply: (event: ReplyEvent) => void;
replyIntermediate: (event: ReplyIntermediateEvent) => void;
tap: () => void;
action: (event: ActionEvent) => void;
resume: () => void;
setSpeechConfig: (speechConfig: SpeechConfig | undefined) => void;
reconnect: () => Promise<void>;
}
export default Conversation;