UNPKG

@charisma-ai/sdk

Version:
39 lines (38 loc) 1.72 kB
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;