@difizen/magent-chat
Version:
48 lines • 2.7 kB
TypeScript
import type { Event, Disposable } from '@difizen/mana-app';
import { Deferred, Emitter } from '@difizen/mana-app';
import type { Dayjs } from 'dayjs';
import { ChatMessageItemManager } from './chat-message-item-manager.js';
import type { ChatMessageItemOption } from './chat-message-item-model.js';
import type { ITokenSummary } from './chat-messasge-summary.js';
import { ChatMessageSummaryProvider } from './chat-messasge-summary.js';
import { ChatService } from './chat-service.js';
import type { IChatMessage, BaseChatMessageItemModel, BaseConversationModel, BaseChatMessageSummary, IChatEvent, IChatMessageItem } from './protocol.js';
export interface ChatMessageOption extends IChatMessage {
parent: BaseConversationModel;
}
export declare class DefaultChatMessageModel implements Disposable {
protected chatService: ChatService;
protected summaryProvider: ChatMessageSummaryProvider;
protected _id: string | undefined;
get id(): string | undefined;
set id(v: string | undefined);
parent?: BaseConversationModel;
protected option: ChatMessageOption | IChatMessage;
protected itemManager: ChatMessageItemManager;
items: BaseChatMessageItemModel[];
created?: Dayjs;
modified?: Dayjs;
token?: BaseChatMessageSummary;
sending: boolean;
recommentQustions?: string[];
get ready(): Promise<DefaultChatMessageModel>;
protected onMessageItemEmitter: Emitter<import("./chat-message-item-model.js").DefaultChatMessageItemModel>;
get onMessageItem(): Event<BaseChatMessageItemModel>;
protected onDisposeEmitter: Emitter<void>;
disposed: boolean;
get onDispose(): Event<void>;
protected readyDeferred: Deferred<DefaultChatMessageModel>;
constructor(option: ChatMessageOption, itemManager: ChatMessageItemManager);
protected initMessageItems: <T extends ChatMessageOption>(option: T) => void;
updateMeta<T extends ChatMessageOption>(option: T): void;
protected createTokenSummary(opt: ITokenSummary): import("./chat-messasge-summary.js").DefaultChatMessageSummary;
protected toChatMessageItemOption(item: IChatMessageItem): ChatMessageItemOption;
protected send<T extends ChatMessageOption>(option: T): Promise<void>;
protected chat: (option: ChatMessageOption) => Promise<void>;
protected handleMessageItem(item: IChatMessageItem): import("./chat-message-item-model.js").DefaultChatMessageItemModel;
protected handleChatEvent(event: IChatEvent, item: BaseChatMessageItemModel): void;
protected updateSummary(opt: ITokenSummary): void;
protected chatStream: (option: ChatMessageOption) => Promise<void>;
dispose: () => void;
}
//# sourceMappingURL=chat-message-model.d.ts.map