import type { PromptsProps } from './antdx'; export type MessageType = 'TextMessage' | 'ActionExecutionMessage' | 'ResultMessage' | 'AgentStateMessage' | 'SuggestionMessage'; export declare enum MessageRole { user = "user",// 用户 assistant = "assistant",// AI助手 suggestion = "suggestion",// 建议 system = "system" } export declare enum MessageStatus { init = "init", pending = "pending",// 生成中/接收中 done = "done",// 已完成 failed = "failed",// 失败 recalled = "recalled",// 已撤回 deleted = "deleted" } /** * 阶段性回答内容 */ export interface Steps { id: string; content: any; } /** * 所有消息的基础结构 */ export interface BaseMessage { id: string; type: MessageType; createdAt: Date; status?: MessageStatus; execute?: ActionExecutionMessage[]; stepContent?: Steps[]; thinks?: string; extra?: any; isLike?: 0 | 1 | -1; raw?: any; } export interface FileMessage { fileId?: string | number; fileName?: string; fileSize?: number | string; fileType?: string; fileUrl?: string; } /** * 文本消息 */ export interface TextMessage extends BaseMessage { type: 'TextMessage'; role: MessageRole; content: { text?: string; files?: FileMessage[]; }; parentMessageId?: string; } /** * 工具/动作执行消息 */ export interface ActionExecutionMessage extends BaseMessage { type: 'ActionExecutionMessage'; name: string; arguments?: Record; parentMessageId?: string; extra?: any; } /** * 工具/动作执行结果消息 */ export interface ResultMessage extends BaseMessage { type: 'ResultMessage'; actionExecutionId: string; actionName: string; result: string; } /** * 智能体状态消息 */ export interface AgentStateMessage extends BaseMessage { type: 'AgentStateMessage'; threadId: string; agentName: string; nodeName: string; runId: string; active: boolean; role: MessageRole; state: any; running: boolean; } /** * 提示消息 */ export interface SuggestionMessage extends BaseMessage { type: 'SuggestionMessage'; content: PromptsProps['items']; role: MessageRole; } /** * 消息输入类型(用于前端输入/组装) * 可选地包含不同类型的消息体 */ export interface MessageInput extends BaseMessage { textMessage?: Omit; actionExecutionMessage?: Omit; resultMessage?: Omit; agentStateMessage?: Omit; } /** * 消息列表中消息格式 */ export type Messages = TextMessage | SuggestionMessage; export declare enum ActionAvailability { disabled = "disabled",// 不可用 enabled = "enabled",// 可用 remote = "remote" } /** * 工具/动作定义 */ export interface Action { name: string; description: string; jsonSchema: string; available?: ActionAvailability; }