@rhyizm/ai-enbod
Version:
Multi-Assistant AI Communication Framework.
55 lines (54 loc) • 1.43 kB
TypeScript
import { Assistant } from "./index";
import { ChatSession as IChatSession, Message, sessionStatus, Role } from "./types/chat";
/**
* ChatSession クラスは、複数の AI 参加者によるチャットセッションの進行・状態管理を担います。
*/
declare class ChatSession implements IChatSession {
uuid: string;
assistants: Assistant[];
messages: Message[];
topic: string;
threadId: string;
status: sessionStatus;
hash: string;
createdAt: number;
updatedAt: number;
/**
* コンストラクタ
* @param session DBから取得したセッション情報
*/
constructor(params: {
assistants: Assistant[];
options?: {
topic?: string;
threadId?: string;
};
});
/**
* メッセージを追加する
*/
addMessage(params: {
role: Role;
content: string;
senderId: string;
displayName?: string;
profileImage?: string;
}): void;
/**
* セッションを進行させる
*/
run(params?: {
assistantId?: string;
}): Promise<void>;
/**
* セッションを開始し、AI 同士の対話を進行する
*/
startLoop(options: {
limit?: number;
}): Promise<void>;
/**
* AI 同士の対話ループを実行する
*/
private runConversationLoop;
}
export default ChatSession;