/** * 思维链相关的业务类型与节点状态枚举定义 * 2025-12-19 新增: 抽取统一的思维链类型,供历史会话与实时 SSE 复用。 */ /** * 思维链节点业务类型 * - plan: 理解与规划 * - retrieve: 召回 / 检索 * - think: 深度思考 / 推理 * - reason: 推理 */ export type ThoughtBusinessType = 'plan' | 'retrieve' | 'think' | 'reason'; /** * 思维链节点状态枚举 * 与后端 StepStatusEnums 对齐: * 1. 运行中 2. 执行完成 3. 执行失败 4. 异常 */ export type ThoughtNodeStatus = 1 | 2 | 3 | 4; /** * 思维链节点统一结构 * 用于在 UI 组件中展示 plan / retrieve / think 的进度与内容。 */ export interface ThoughtNode { /** 节点唯一标识,可以由业务类型与顺序组合生成 */ id: string; /** 业务类型:plan / retrieve / think */ businessType: ThoughtBusinessType; /** 当前状态:运行中 / 执行完成 / 执行失败 / 异常 */ nodeStatus: ThoughtNodeStatus; /** UI 中展示的标题,例如"理解规划完成"、"召回成功"等 */ title: string; /** 主体内容文案,通常为模型生成的自然语言描述 */ content: string; /** 原始业务数据,便于后续在弹窗中展示完整 JSON 或调试 */ rawContent?: any; /** 节点响应时间(毫秒),用于显示节点用时 */ respTime?: number; } /** * 思维链渲染模式 * - live: 实时流式 SSE 场景 * - history: 历史会话详情场景 */ export type ThoughtChainRenderMode = 'live' | 'history'; /** * 思维链版本控制模式 * - auto: 默认按数据自动识别新老版本 * - v1: 强制使用旧版 解析逻辑 * - v2: 强制使用新版 chain + businessType/nodeStatus 逻辑 */ export type ThoughtChainVersionMode = 'auto' | 'v1' | 'v2'; /** * 当前思维链解析版本开关 * 后续如果需要从外部注入(例如环境变量或运行时配置),可以调整为由上层传入。 */ export declare const DEFAULT_THOUGHT_CHAIN_VERSION: ThoughtChainVersionMode; /** * SSE 消息体的思维链相关字段 * 说明: 为了避免直接修改示例中的原始 SSEMessage 定义,将这一部分单独抽象, * 由具体使用方通过交叉类型扩展。 */ export interface ThoughtSSEMeta { /** 节点业务类型:plan / retrieve / think / reason */ businessType?: ThoughtBusinessType; /** 节点状态:1.运行中 2.执行完成 3.执行失败 4.异常 */ nodeStatus?: ThoughtNodeStatus; }