@charisma-ai/sdk
Version:
Charisma.ai SDK for Javascript (browser)
53 lines (52 loc) • 2.3 kB
TypeScript
import EventEmitter from "eventemitter3";
import * as api from "./api";
import Conversation, { ConversationOptions } from "./Conversation";
export declare type ConnectionStatus = "disconnected" | "connecting" | "connected";
declare type PlaythroughEvents = {
"connection-status": [ConnectionStatus];
error: [any];
problem: [{
type: string;
error: string;
}];
};
declare class Playthrough extends EventEmitter<PlaythroughEvents> {
private token;
private playthroughId;
private baseUrl?;
private client;
private room;
private connectionStatus;
private shouldReconnect;
private activeConversations;
constructor(token: string, baseUrl?: string);
createConversation(): ReturnType<typeof api.createConversation>;
createCharacterConversation(characterId: number): ReturnType<typeof api.createCharacterConversation>;
getMessageHistory(conversationId?: number | undefined, minEventId?: string | undefined): ReturnType<typeof api.getMessageHistory>;
getPlaythroughInfo(): ReturnType<typeof api.getPlaythroughInfo>;
setMemory(memoryIdOrRecallValue: number | string, saveValue: string | null): ReturnType<typeof api.setMemory>;
restartFromEpisodeId(episodeId: number): ReturnType<typeof api.restartFromEpisodeId>;
restartFromEpisodeIndex(episodeIndex: number): ReturnType<typeof api.restartFromEpisodeIndex>;
restartFromEventId(eventId: string): ReturnType<typeof api.restartFromEventId>;
joinConversation: (conversationId: number, options?: ConversationOptions | undefined) => Conversation;
leaveConversation: (conversationId: number) => void;
getConversation: (conversationId: number) => Conversation | undefined;
addOutgoingEvent: (eventName: string, eventData?: unknown) => void;
connect: () => Promise<void>;
pause: () => void;
play: () => void;
private attachRoomHandlers;
disconnect: () => void;
private changeConnectionStatus;
private onReconnect;
private onReconnecting;
private onDisconnect;
private onConnected;
private onError;
private onProblem;
private onStartTyping;
private onStopTyping;
private onMessage;
private onEpisodeComplete;
}
export default Playthrough;