UNPKG

@difizen/magent-chat

Version:
114 lines 3.59 kB
import type { PrioritizedContribution } from '@difizen/magent-core'; import { Syringe } from '@difizen/mana-app'; import type { DefaultChatMessageItemModel } from './chat-message-item-model.js'; import type { DefaultChatMessageModel } from './chat-message-model.js'; import type { DefaultChatMessageSummary } from './chat-messasge-summary.js'; import type { DefaultConversationModel } from './conversation-model.js'; export interface IChatMessageSender { id?: string; type: 'HUMAN' | 'AI'; avatar?: string; } export interface IChatMessageItem { /** * 唯一标识 */ id?: string; sender: IChatMessageSender; content: string; created?: string; modified?: string; [key: string]: any; } export interface IChatMessageCreate { id: string; input: string; stream?: boolean; [key: string]: any; } export interface IChatMessageRecord { id: string; created?: string; messages: IChatMessageItem[]; modified?: string; token?: any; stream?: boolean; [key: string]: any; } export interface IChatMessage { id?: string; created?: string; input?: string; messages?: IChatMessageItem[]; modified?: string; stream?: boolean; token?: any; [key: string]: any; } export declare const ChatProtocol: { isChatMessageCreate: (data: IChatMessage) => data is IChatMessageCreate; isChatMessageRecord: (data: IChatMessage) => data is IChatMessageRecord; }; export interface IConversation { id?: string; created?: string; modified?: string; messages?: IChatMessage[]; [key: string]: any; } export type BaseChatMessageItemModel = DefaultChatMessageItemModel; export type BaseChatMessageModel = DefaultChatMessageModel; export type BaseConversationModel = DefaultConversationModel; export type BaseChatMessageSummary = DefaultChatMessageSummary; export declare enum QuestionState { SENDING = "sending", VALIDATING = "validating", FAIL = "fail", SUCCESS = "success" } export declare enum AnswerState { WAITING = "waiting", RECEIVING = "receiving", FAIL = "fail", SUCCESS = "success" } export type ChatMessageItemContribution<O extends IChatMessageItem = IChatMessageItem, T extends BaseChatMessageItemModel = BaseChatMessageItemModel> = PrioritizedContribution<O, T>; export declare const ChatMessageItemContribution: Syringe.DefinedToken; export interface IChatEvent { type: string; [key: string]: any; } export interface ChatEventChunk extends IChatEvent { output: string; type: 'chunk'; msgId?: string; [key: string]: any; } export interface ErrorMessage { message: string; } export interface ChatEventError extends IChatEvent, ErrorMessage { type: 'error'; } export interface ChatEventDone extends IChatEvent { type: 'done'; } export interface ChatEventResult extends IChatEvent { output: string; type: 'result'; } export declare const ChatEvent: { isChunk: (event: IChatEvent) => event is ChatEventChunk; isError: (event: IChatEvent) => event is ChatEventError; isResult: (e: IChatEvent) => e is ChatEventResult; isDone: (event: IChatEvent) => event is ChatEventDone; format: (e: string, data: any) => ChatEventResult | ChatEventChunk | ChatEventError | ChatEventDone; }; export interface ConversationOption extends IConversation { id: string; } export declare const ConversationOption: { is(data?: Record<string, any>): data is ConversationOption; isFull(data?: Record<string, any>): data is ConversationOption; }; //# sourceMappingURL=protocol.d.ts.map