@kweaver-ai/chatkit 0.1.17 → 0.1.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
- import { ApplicationContext, ChatMessage, OnboardingInfo, WebSearchQuery, ChartDataSchema, ConversationHistory, DefaultToolResult } from '../../types';
1
+ import { ApplicationContext, ChatMessage, OnboardingInfo, WebSearchQuery, ChartDataSchema, ConversationHistory, DefaultToolResult, WebProcessorDataSchema } from '../../types';
2
2
  import { Constructor } from '../../utils/mixins';
3
3
  /**
4
- * DIP AssistantMessage 接口
4
+ * DIP �?AssistantMessage 接口
5
5
  * 对应 agent-app.schemas.yaml#/components/schemas/Message
6
6
  */
7
7
  interface AssistantMessage {
@@ -19,7 +19,7 @@ interface AssistantMessage {
19
19
  }
20
20
  /**
21
21
  * OtherTypeAnswer 接口
22
- * 智能体输出的非文本类型内容
22
+ * 智能体输出的非文本类型内�?
23
23
  * 对应 agent-app.schemas.yaml#/components/schemas/OtherTypeAnswer
24
24
  */
25
25
  interface OtherTypeAnswer {
@@ -31,7 +31,7 @@ interface OtherTypeAnswer {
31
31
  }
32
32
  /**
33
33
  * SkillInfo 接口
34
- * 调用技能的技能详情
34
+ * 调用技能的技能详�?
35
35
  * 对应 agent-app.schemas.yaml#/components/schemas/SkillInfo
36
36
  */
37
37
  interface SkillInfo {
@@ -45,7 +45,7 @@ interface SkillInfo {
45
45
  }
46
46
  /**
47
47
  * Progress 接口
48
- * 智能体执行过程中的一个步骤
48
+ * 智能体执行过程中的一个步�?
49
49
  */
50
50
  interface Progress {
51
51
  stage?: string;
@@ -56,7 +56,7 @@ interface Progress {
56
56
  }
57
57
  /**
58
58
  * EventMessage 接口
59
- * DIP Event Stream Message
59
+ * DIP �?Event Stream Message
60
60
  */
61
61
  interface EventMessage {
62
62
  seq_id?: number;
@@ -65,39 +65,39 @@ interface EventMessage {
65
65
  content?: any;
66
66
  }
67
67
  /**
68
- * DIPBase props 接口
68
+ * DIPBase �?props 接口
69
69
  */
70
70
  export interface DIPBaseProps {
71
- /** AISHU DIP Agent Key,用作路径参数 */
71
+ /** AISHU DIP �?Agent Key,用作路径参数 */
72
72
  agentKey: string;
73
- /** 访问令牌,需要包含 Bearer 前缀 (已废弃,请使用 token 属性) */
73
+ /** 访问令牌,需要包�?Bearer 前缀 (已废弃,请使�?token 属�? */
74
74
  bearerToken?: string;
75
- /** 服务端基础地址,应包含 /api/agent-app/v1 前缀 */
75
+ /** 服务端基础地址,应包�?/api/agent-app/v1 前缀 */
76
76
  baseUrl?: string;
77
- /** agent 版本,"v0"表示最新版本,默认 "v0" */
77
+ /** agent 版本�?v0"表示最新版本,默认 "v0" */
78
78
  agentVersion?: string;
79
- /** 智能体执行引擎版本,最新为"v2",默认 "v2" */
79
+ /** 智能体执行引擎版本,最新为"v2",默�?"v2" */
80
80
  executorVersion?: string;
81
- /** 智能体所属的业务域,用于 agent-factory API */
81
+ /** 智能体所属的业务�?用于 agent-factory API */
82
82
  businessDomain?: string;
83
83
  /** 调用接口时携带的令牌 */
84
84
  token?: string;
85
- /** 刷新 token 的方法 */
85
+ /** 刷新 token 的方�?*/
86
86
  refreshToken?: () => Promise<string>;
87
87
  }
88
88
  /**
89
89
  * DIPBase Mixin 函数
90
- * 根据 TypeScript 官方文档实现的 mixin 模式
90
+ * 根据 TypeScript 官方文档实现�?mixin 模式
91
91
  *
92
- * mixin 为基础类添加 AISHU DIP API 的集成能力,包括:
92
+ * �?mixin 为基础类添�?AISHU DIP API 的集成能力,包括�?
93
93
  * - getOnboardingInfo(): 获取开场白信息
94
- * - generateConversation(): 创建新会话
95
- * - reduceAssistantMessage(): EventStream 中提取出 action content,并根据 action content 增量更新到 AssistantMessage
96
- * - shouldRefreshToken(): 判断 API 响应的状态码是否是 401,如果是,则表示需要刷新 Token
94
+ * - generateConversation(): 创建新会�?
95
+ * - reduceAssistantMessage(): �?EventStream 中提取出 action �?content,并根据 action �?content 增量更新�?AssistantMessage
96
+ * - shouldRefreshToken(): 判断 API 响应的状态码是否�?401,如果是,则表示需要刷�?Token
97
97
  * - terminateConversation(): 终止会话
98
98
  *
99
- * @param Base 基础类,通常是 CopilotBase AssistantBase
100
- * @returns 混入 DIP 功能后的类
99
+ * @param Base 基础类,通常�?CopilotBase �?AssistantBase
100
+ * @returns 混入 DIP 功能后的�?
101
101
  */
102
102
  export declare function DIPBaseMixin<TBase extends Constructor>(Base: TBase): {
103
103
  new (...args: any[]): {
@@ -109,146 +109,149 @@ export declare function DIPBaseMixin<TBase extends Constructor>(Base: TBase): {
109
109
  agentInfo: any;
110
110
  /** agent 版本 */
111
111
  dipVersion: string;
112
- /** 智能体执行引擎版本 */
112
+ /** 智能体执行引擎版�?*/
113
113
  dipExecutorVersion: string;
114
- /** 业务域 */
114
+ /** 业务�?*/
115
115
  dipBusinessDomain: string;
116
116
  /** DIP 调用接口时携带的令牌 */
117
117
  dipToken: string;
118
- /** DIP 刷新 token 的方法 */
118
+ /** DIP 刷新 token 的方�?*/
119
119
  dipRefreshToken?: () => Promise<string>;
120
- /** LeftHeaderTool 使用的 API 方法(构造时缓存,避免流式消息时重复创建) */
120
+ /** LeftHeaderTool 使用�?API 方法(构造时缓存,避免流式消息时重复创建�?*/
121
121
  _leftHeaderApiMethods?: {
122
122
  getKnowledgeNetworksDetail: (id: string) => Promise<any>;
123
123
  getKnowledgeNetworkObjectTypes: (id: string, offset?: number, limit?: number) => Promise<any>;
124
124
  getMetricInfoByIds: (ids: string[]) => Promise<any[]>;
125
125
  };
126
126
  /**
127
- * 获取开场白和预置问题
128
- * 调用 AISHU DIP agent-factory API 获取智能体配置信息,提取开场白和预置问题
127
+ * 获取开场白和预置问�?
128
+ * 调用 AISHU DIP �?agent-factory API 获取智能体配置信息,提取开场白和预置问�?
129
129
  * API 端点: GET /api/agent-factory/v3/agent-market/agent/{agent_key}/version/v0
130
130
  * 注意:该方法是一个无状态无副作用的函数,不允许修改 state
131
- * @returns 返回开场白信息,包含开场白文案和预置问题
131
+ * @returns 返回开场白信息,包含开场白文案和预置问�?
132
132
  */
133
133
  getOnboardingInfo(): Promise<OnboardingInfo>;
134
134
  /**
135
135
  * 创建新的会话
136
- * 调用 DIP API 创建新的会话,返回会话 ID
136
+ * 调用 DIP API 创建新的会话,返回会�?ID
137
137
  * API 端点: POST /app/{agent_key}/conversation
138
138
  * 注意:该方法是一个无状态无副作用的函数,不允许修改 state
139
- * @param title 会话标题,通常是用户发送的第一条消息内容
139
+ * @param title 会话标题,通常是用户发送的第一条消息内�?
140
140
  * @returns 返回新创建的会话 ID
141
141
  */
142
142
  generateConversation(title?: string): Promise<string>;
143
143
  /**
144
- * 调用 DIP API 发送消息(流式)
144
+ * 调用 DIP API 发送消�?流式)
145
145
  * 该方法实现了完整的消息发送逻辑,子类无需覆盖
146
146
  * @param text 用户输入
147
- * @param ctx 应用上下文
147
+ * @param ctx 应用上下�?
148
148
  * @param conversationID 发送的对话消息所属的会话 ID
149
- * @param regenerateMessageId 需要重新生成的助手消息 ID(可选,用于重新生成功能)
149
+ * @param regenerateMessageId 需要重新生成的助手消息 ID(可选,用于重新生成功能�?
150
150
  * @returns 返回助手消息
151
151
  */
152
152
  sendMessage(text: string, ctx: ApplicationContext, conversationID?: string, regenerateMessageId?: string): Promise<ChatMessage>;
153
153
  /**
154
- * API 接口返回的 EventStream 增量解析成完整的 AssistantMessage 对象
154
+ * �?API 接口返回�?EventStream 增量解析成完整的 AssistantMessage 对象
155
155
  * 根据设计文档实现白名单机制和 JSONPath 处理
156
156
  *
157
157
  * 处理流程(符合文档流程图):
158
158
  * 1. 解析 EventMessage
159
- * 2. 检查 AssistantMessage 实例是否已经存在
160
- * 3. 如果不存在且 key 包含 assistant_message,则初始化 AssistantMessage 对象
161
- * 4. 检查 action JSONPath 是否在白名单中
159
+ * 2. 检�?AssistantMessage 实例是否已经存在
160
+ * 3. 如果不存在且 key 包含 assistant_message,则初始�?AssistantMessage 对象
161
+ * 4. 检�?action �?JSONPath 是否在白名单�?
162
162
  * 5. 如果在白名单中,根据 action 处理 content 并执行后处理
163
- * 6. 处理完成后,检查 AssistantMessage.message.id 并同步更新 ChatMessage.messageId
164
- * 保证 AssistantMessage.id ChatMessage.messageId 保持一致
163
+ * 6. 处理完成后,检�?AssistantMessage.message.id 并同步更�?ChatMessage.messageId
164
+ * 保证 AssistantMessage.id �?ChatMessage.messageId 保持一�?
165
165
  *
166
- * @param eventMessage 接收到的一条 Event Message
167
- * @param prev 上一次增量更新后的 AssistantMessage 对象
168
- * @param messageId 当前正在更新的消息 ID
166
+ * @param eventMessage 接收到的一�?Event Message
167
+ * @param prev 上一次增量更新后�?AssistantMessage 对象
168
+ * @param messageId 当前正在更新的消�?ID
169
169
  * @returns 返回更新后的 AssistantMessage 对象
170
170
  */
171
171
  reduceAssistantMessage<T = any, K = any>(eventMessage: T, prev: K, messageId: string): K;
172
172
  /**
173
- * 解析原始事件为 EventMessage
173
+ * 解析原始事件�?EventMessage
174
174
  */
175
175
  parseEventMessage(raw: any): EventMessage;
176
176
  /**
177
- * key 数组转换为 JSONPath 字符串
177
+ * �?key 数组转换�?JSONPath 字符�?
178
178
  * 例如: ["message", "content", "middle_answer", "progress", 0]
179
179
  * => "message.content.middle_answer.progress[0]"
180
180
  */
181
181
  keyToJSONPath(key: Array<string | number>): string;
182
182
  /**
183
- * 白名单定义
184
- * 根据设计文档 3.2 Event Message 白名单
183
+ * 白名单定�?
184
+ * 根据设计文档 3.2 Event Message 白名�?
185
185
  *
186
- * 注意:postProcess 方法需要调用 appendMarkdownBlock appendWebSearchBlock
187
- * 这些方法需要在子类中实现
186
+ * 注意:postProcess 方法需要调�?appendMarkdownBlock �?appendWebSearchBlock
187
+ * 这些方法需要在子类中实�?
188
188
  */
189
189
  getWhitelistEntry(action: string, jsonPath: string): {
190
190
  postProcess?: (assistantMessage: AssistantMessage, content: any, messageId: string) => void;
191
191
  } | null;
192
192
  /**
193
- * 在流式结束后,将完整的 AssistantMessage 结构一次性应用到指定 ChatMessage
194
- * - 遍历 middle_answer.progress,按顺序调用 appendSkillOrLLMContentToMessage 组装所有工具和 LLM 内容块
195
- * - 基于 message.ext 同步 messageContext(相关问题、耗时、Token 等),与历史会话逻辑保持一致
193
+ * 在流式结束后,将完整�?AssistantMessage 结构一次性应用到指定 ChatMessage�?
194
+ * - 遍历 middle_answer.progress,按顺序调用 appendSkillOrLLMContentToMessage 组装所有工具和 LLM 内容�?
195
+ * - 基于 message.ext 同步 messageContext(相关问题、耗时、Token 等),与历史会话逻辑保持一�?
196
196
  *
197
- * 作为受保护方法暴露,便于子类在特殊场景下自定义流式结果的应用逻辑。
197
+ * 作为受保护方法暴露,便于子类在特殊场景下自定义流式结果的应用逻辑�?
198
198
  */
199
199
  applyAssistantMessageFromStream(assistantMessage: AssistantMessage, messageId: string): void;
200
200
  /**
201
- * Progress 对象中提取 Web 搜索查询
202
- * 根据 OpenAPI 规范,搜索数据在 answer.choices[0].message.tool_calls
203
- * tool_calls[0] SearchIntent(输入),tool_calls[1] SearchResult(输出)
201
+ * �?Progress 对象中提�?Web 搜索查询
202
+ * 根据 OpenAPI 规范,搜索数据在 answer.choices[0].message.tool_calls �?
203
+ * tool_calls[0] �?SearchIntent(输入),tool_calls[1] �?SearchResult(输出)
204
204
  */
205
205
  extractWebSearchQuery(progress: any): WebSearchQuery | null;
206
206
  /**
207
- * Progress 对象中提取 Json2Plot 图表数据
208
- * 根据 OpenAPI 规范,Json2Plot 数据在 answer.choices[0].message.tool_calls
209
- * tool_calls 中包含 Json2PlotAnswer,格式为 { result: Json2PlotResult, full_result: Json2PlotFullResult }
207
+ * �?Progress 对象中提�?Json2Plot 图表数据
208
+ * 根据 OpenAPI 规范,Json2Plot 数据�?answer.choices[0].message.tool_calls �?
209
+ * tool_calls 中包�?Json2PlotAnswer,格式为 { result: Json2PlotResult, full_result: Json2PlotFullResult }
210
210
  * Json2PlotResult 包含: data_sample, chart_config, title, text
211
211
  * Json2PlotFullResult 包含: data, chart_config, title, text
212
212
  * ChartConfig 包含: xField, yField, seriesField, chart_type, groupField, isStack, isGroup
213
213
  */
214
214
  extractJson2PlotData(progress: any): ChartDataSchema | null;
215
215
  /**
216
+ * 提取 WebProcessor 数据
217
+ */
218
+ extractWebProcessorData(answer: any): WebProcessorDataSchema | null; /**
216
219
  * 推断数据类型
217
220
  */
218
221
  inferDataType(value: any): "string" | "number" | "date" | "boolean";
219
222
  /**
220
223
  * 计算耗时(毫秒)
221
224
  * @param startTime 开始时间戳
222
- * @param endTime 结束时间戳
223
- * @returns 耗时(毫秒),如果时间戳无效则返回 undefined
225
+ * @param endTime 结束时间�?
226
+ * @returns 耗时(毫秒),如果时间戳无效则返�?undefined
224
227
  */
225
228
  calculateConsumeTime(startTime?: number, endTime?: number): number | undefined;
226
229
  /**
227
230
  * 处理技能调用的统一方法
228
231
  * 根据设计文档 3.2 Event Message 白名单中的后处理逻辑
229
- * @param skillInfo 技能信息
232
+ * @param skillInfo 技能信�?
230
233
  * @param answer 技能执行的 answer 字段
231
234
  * @param messageId 消息 ID
232
- * @param consumeTime 耗时(毫秒),可选
235
+ * @param consumeTime 耗时(毫秒),可�?
233
236
  */
234
237
  processSkillExecution(skillInfo: SkillInfo | undefined, answer: any, messageId: string, consumeTime?: number): void;
235
238
  /**
236
- * 处理 middle_answer.progress 中的一个元素
239
+ * 处理 middle_answer.progress 中的一个元�?
237
240
  * 根据设计文档 3.2 Event Message 白名单中的后处理逻辑
238
241
  * @param content Progress 对象
239
242
  * @param messageId 消息 ID
240
243
  */
241
244
  processMiddleAnswerProgress(content: Progress, messageId: string): void;
242
245
  /**
243
- * answer.choices 中提取 Web 搜索查询
246
+ * �?answer.choices 中提�?Web 搜索查询
244
247
  * 用于处理 middle_answer.progress 中的搜索结果
245
248
  */
246
249
  extractWebSearchQueryFromAnswer(answer: any): WebSearchQuery | null;
247
250
  /**
248
- * skill_info.args answer 中提取图表数据并转换为 ChartDataSchema
249
- * 用于处理 json2plot 工具的输出
250
- * @param args 技能参数数组(保留用于 API 一致性,实际数据从 answer 中提取)
251
- * @param answer 技能执行的 answer 字段,包含 result full_result
251
+ * �?skill_info.args �?answer 中提取图表数据并转换�?ChartDataSchema
252
+ * 用于处理 json2plot 工具的输�?
253
+ * @param args 技能参数数组(保留用于 API 一致性,实际数据�?answer 中提取)
254
+ * @param answer 技能执行的 answer 字段,包�?result �?full_result
252
255
  * @returns ChartDataSchema 对象,如果解析失败则返回 null
253
256
  */
254
257
  extractChartDataFromArgs(_args: Array<{
@@ -257,11 +260,11 @@ export declare function DIPBaseMixin<TBase extends Constructor>(Base: TBase): {
257
260
  value?: string;
258
261
  }> | undefined, answer: any): ChartDataSchema | null;
259
262
  /**
260
- * skill_info.args answer 中提取代码执行结果
263
+ * �?skill_info.args �?answer 中提取代码执行结�?
261
264
  * 用于处理 execute_code 工具的输入和输出
262
265
  * @param args skill_info.args 数组,包含执行的代码
263
- * @param answer 技能执行的 answer 字段,包含执行结果
264
- * @returns ExecuteCodeResult 对象,包含 input output
266
+ * @param answer 技能执行的 answer 字段,包含执行结�?
267
+ * @returns ExecuteCodeResult 对象,包�?input �?output
265
268
  */
266
269
  extractExecuteCodeResult(args: Array<{
267
270
  name?: string;
@@ -272,15 +275,15 @@ export declare function DIPBaseMixin<TBase extends Constructor>(Base: TBase): {
272
275
  output: string;
273
276
  } | null;
274
277
  /**
275
- * skill_info.args answer 中提取 Text2SQL 结果
278
+ * �?skill_info.args �?answer 中提�?Text2SQL 结果
276
279
  * 用于处理 text2sql 工具的输入和输出
277
- * 根据 OpenAPI 规范,Text2SqlResult 包含 result full_result
278
- * - result: Text2SqlResultData(包含 data_desc,但可能只有数据样本)
279
- * - full_result: Text2SqlFullResultData(包含完整数据,但没有 data_desc
280
+ * 根据 OpenAPI 规范,Text2SqlResult 包含 result �?full_result
281
+ * - result: Text2SqlResultData(包�?data_desc,但可能只有数据样本�?
282
+ * - full_result: Text2SqlFullResultData(包含完整数据,但没�?data_desc�?
280
283
  * 优先使用 full_result,如果没有则使用 result
281
- * @param args skill_info.args 数组,包含查询文本
282
- * @param answer 技能执行的 answer 字段,包含 SQL 执行结果
283
- * @returns Text2SqlResult 对象,包含 input、sql、data 等信息
284
+ * @param args skill_info.args 数组,包含查询文�?
285
+ * @param answer 技能执行的 answer 字段,包�?SQL 执行结果
286
+ * @returns Text2SqlResult 对象,包�?input、sql、data 等信�?
284
287
  */
285
288
  extractText2SqlResult(args: Array<{
286
289
  name?: string;
@@ -305,15 +308,15 @@ export declare function DIPBaseMixin<TBase extends Constructor>(Base: TBase): {
305
308
  explanation?: any;
306
309
  } | null;
307
310
  /**
308
- * skill_info.args answer 中提取 Text2Metric 结果
311
+ * �?skill_info.args �?answer 中提�?Text2Metric 结果
309
312
  * 用于处理 text2metric 工具的输入和输出
310
- * 根据 OpenAPI 规范,Text2MetricResult 包含 result full_result
311
- * - result: Text2MetricResultData(包含 data_desc,但可能只有数据样本)
312
- * - full_result: Text2MetricFullResultData(包含完整数据,但没有 data_desc
313
+ * 根据 OpenAPI 规范,Text2MetricResult 包含 result �?full_result
314
+ * - result: Text2MetricResultData(包�?data_desc,但可能只有数据样本�?
315
+ * - full_result: Text2MetricFullResultData(包含完整数据,但没�?data_desc�?
313
316
  * 优先使用 full_result,如果没有则使用 result
314
- * @param args skill_info.args 数组,包含查询参数
315
- * @param answer 技能执行的 answer 字段,包含指标查询结果
316
- * @returns Text2MetricResult 对象,包含 title、args、data 等信息
317
+ * @param args skill_info.args 数组,包含查询参�?
318
+ * @param answer 技能执行的 answer 字段,包含指标查询结�?
319
+ * @returns Text2MetricResult 对象,包�?title、args、data 等信�?
317
320
  */
318
321
  extractText2MetricResult(args: Array<{
319
322
  name?: string;
@@ -325,14 +328,14 @@ export declare function DIPBaseMixin<TBase extends Constructor>(Base: TBase): {
325
328
  data?: Array<Record<string, any>>;
326
329
  } | null;
327
330
  /**
328
- * skill_info.args answer 中提取 AfSailor 结果
331
+ * �?skill_info.args �?answer 中提�?AfSailor 结果
329
332
  * 用于处理 af_sailor 工具的输入和输出
330
333
  * 根据 OpenAPI 规范,AfSailorResult 包含 result
331
- * - result: AfSailorResultData(包含 text、cites、result_cache_key
332
- * 根据 ChatKit.pdf,AfSailorResult 包含 data(Array<Record<string, string>>)
334
+ * - result: AfSailorResultData(包�?text、cites、result_cache_key�?
335
+ * 根据 ChatKit.pdf,AfSailorResult 包含 data(Array<Record<string, string>>�?
333
336
  * @param _args skill_info.args 数组,包含查询参数(当前未使用,保留以保持接口一致性)
334
- * @param answer 技能执行的 answer 字段,包含找数查询结果
335
- * @returns AfSailorResult 对象,包含 data、text、cites 等信息
337
+ * @param answer 技能执行的 answer 字段,包含找数查询结�?
338
+ * @returns AfSailorResult 对象,包�?data、text、cites 等信�?
336
339
  */
337
340
  extractAfSailorResult(_args: Array<{
338
341
  name?: string;
@@ -345,14 +348,14 @@ export declare function DIPBaseMixin<TBase extends Constructor>(Base: TBase): {
345
348
  result_cache_key?: string;
346
349
  } | null;
347
350
  /**
348
- * skill_info.args answer 中提取 DatasourceFilter 结果
351
+ * �?skill_info.args �?answer 中提�?DatasourceFilter 结果
349
352
  * 用于处理 datasource_filter 工具的输入和输出
350
353
  * 根据 OpenAPI 规范,DatasourceFilterResult 包含 result
351
- * - result: DatasourceFilterResultData(包含 result、result_cache_key
354
+ * - result: DatasourceFilterResultData(包�?result、result_cache_key�?
352
355
  * - result.result: DataCatalogMatch[](数据目录匹配结果列表)
353
356
  * @param _args skill_info.args 数组,包含查询参数(当前未使用,保留以保持接口一致性)
354
357
  * @param answer 技能执行的 answer 字段,包含数据源过滤结果
355
- * @returns DatasourceFilterResult 对象,包含 result、result_cache_key 等信息
358
+ * @returns DatasourceFilterResult 对象,包�?result、result_cache_key 等信�?
356
359
  */
357
360
  extractDatasourceFilterResult(_args: Array<{
358
361
  name?: string;
@@ -363,12 +366,12 @@ export declare function DIPBaseMixin<TBase extends Constructor>(Base: TBase): {
363
366
  result_cache_key?: string;
364
367
  } | null;
365
368
  /**
366
- * skill_info.args answer 中提取 DatasourceRerank 结果
367
- * 用于处理 datasource_rerank 工具的输入和输出,与 datasource_filter 处理方式一致
369
+ * �?skill_info.args �?answer 中提�?DatasourceRerank 结果
370
+ * 用于处理 datasource_rerank 工具的输入和输出,与 datasource_filter 处理方式一�?
368
371
  * 根据 OpenAPI 规范,DatasourceRerankResult 包含 result(DataCatalogMatch[])及 result_cache_key
369
372
  * @param _args skill_info.args 数组,包含查询参数(当前未使用,保留以保持接口一致性)
370
373
  * @param answer 技能执行的 answer 字段,包含数据源重排结果
371
- * @returns DatasourceRerankResult 对象,包含 result、result_cache_key 等信息
374
+ * @returns DatasourceRerankResult 对象,包�?result、result_cache_key 等信�?
372
375
  */
373
376
  extractDatasourceRerankResult(_args: Array<{
374
377
  name?: string;
@@ -379,14 +382,14 @@ export declare function DIPBaseMixin<TBase extends Constructor>(Base: TBase): {
379
382
  result_cache_key?: string;
380
383
  } | null;
381
384
  /**
382
- * 将技能调用或 LLM 回答的内容追加到消息中
383
- * 用于历史消息解析,根据 stage skill_info 将内容添加到 ChatMessage.content 数组
384
- * @param item Progress OtherTypeAnswer 对象
385
+ * 将技能调用或 LLM 回答的内容追加到消息�?
386
+ * 用于历史消息解析,根�?stage �?skill_info 将内容添加到 ChatMessage.content 数组
387
+ * @param item Progress �?OtherTypeAnswer 对象
385
388
  * @param message ChatMessage 对象
386
389
  */
387
390
  appendSkillOrLLMContentToMessage(item: Progress | OtherTypeAnswer, message: ChatMessage): void;
388
391
  /**
389
- * 构造默认工具结果
392
+ * 构造默认工具结�?
390
393
  * 对应设计文档 4.32 DefaultToolResult 及默认工具处理逻辑
391
394
  */
392
395
  buildDefaultToolResult(skillInfo: SkillInfo | undefined, answer: any): {
@@ -395,60 +398,60 @@ export declare function DIPBaseMixin<TBase extends Constructor>(Base: TBase): {
395
398
  } | null;
396
399
  /**
397
400
  * 执行 upsert 操作
398
- * content 赋值到 JSONPath 指定的位置
401
+ * �?content 赋值到 JSONPath 指定的位�?
399
402
  */
400
403
  applyUpsert(obj: AssistantMessage, key: Array<string | number>, content: any): AssistantMessage;
401
404
  /**
402
405
  * 执行 append 操作
403
- * 如果 JSONPath 是数组下标,在该位置插入新对象
406
+ * 如果 JSONPath 是数组下标,在该位置插入新对�?
404
407
  * 否则在文本后追加内容
405
408
  */
406
409
  applyAppend(obj: AssistantMessage, key: Array<string | number>, content: any): AssistantMessage;
407
410
  /**
408
- * 获取嵌套属性
411
+ * 获取嵌套属�?
409
412
  */
410
413
  getNestedProperty(obj: any, key: Array<string | number>): any;
411
414
  /**
412
- * 设置嵌套属性
415
+ * 设置嵌套属�?
413
416
  */
414
417
  setNestedProperty(obj: any, key: Array<string | number>, value: any): void;
415
418
  /**
416
- * 按路径不可变设置:只克隆从根到 key 路径上的节点,其余引用复用,避免全量深拷贝大对象
419
+ * 按路径不可变设置:只克隆从根�?key 路径上的节点,其余引用复用,避免全量深拷贝大对象
417
420
  */
418
421
  immutableSetNested(obj: any, key: Array<string | number>, value: any): any;
419
422
  /**
420
- * 不可变 upsert:按路径更新,不深拷贝整棵树
423
+ * 不可�?upsert:按路径更新,不深拷贝整棵树
421
424
  */
422
425
  immutableApplyUpsert(obj: AssistantMessage, key: Array<string | number>, content: any): AssistantMessage;
423
426
  /**
424
- * 不可变 append:按路径追加后按路径更新,不深拷贝整棵树
427
+ * 不可�?append:按路径追加后按路径更新,不深拷贝整棵树
425
428
  */
426
429
  immutableApplyAppend(obj: AssistantMessage, key: Array<string | number>, content: any): AssistantMessage;
427
430
  /**
428
- * 检查是否需要刷新 token
429
- * AISHU DIP 平台返回 401 状态码时表示 token 失效
431
+ * 检查是否需要刷�?token
432
+ * AISHU DIP 平台返回 401 状态码时表�?token 失效
430
433
  * @param status HTTP 状态码
431
- * @param error 错误响应体
432
- * @returns 返回是否需要刷新 token
434
+ * @param error 错误响应�?
435
+ * @returns 返回是否需要刷�?token
433
436
  */
434
437
  shouldRefreshToken(status: number, _error: any): boolean;
435
438
  /**
436
439
  * 终止会话
437
- * 调用 DIP 的 /app/{agent_key}/chat/termination 接口终止指定会话
438
- * 若返回 401 会先调用 refreshToken 获取新 token 并重试一次
440
+ * 调用 DIP �?/app/{agent_key}/chat/termination 接口终止指定会话
441
+ * 若返�?401 会先调用 refreshToken 获取�?token 并重试一�?
439
442
  * @param conversationId 要终止的会话 ID
440
443
  * @returns 返回 Promise,成功时 resolve,失败时 reject
441
444
  */
442
445
  terminateConversation(conversationId: string): Promise<void>;
443
446
  /**
444
- * 执行 API 调用,并在需要时自动刷新 token 并重试一次
447
+ * 执行 API 调用,并在需要时自动刷新 token 并重试一�?
445
448
  * @param apiCall API 调用函数
446
449
  * @returns API 调用结果
447
450
  */
448
451
  executeDataAgentWithTokenRefresh<T>(apiCall: () => Promise<T>): Promise<T>;
449
452
  /**
450
453
  * 获取历史会话列表
451
- * 调用 DIP GET /app/{agent_key}/conversation 接口获取会话列表
454
+ * 调用 DIP �?GET /app/{agent_key}/conversation 接口获取会话列表
452
455
  * API 端点: GET /app/{agent_key}/conversation?page={page}&size={size}
453
456
  * 注意:该方法是一个无状态无副作用的函数,不允许修改 state
454
457
  * @param page 分页页码,默认为 1
@@ -457,9 +460,9 @@ export declare function DIPBaseMixin<TBase extends Constructor>(Base: TBase): {
457
460
  */
458
461
  getConversations(page?: number, size?: number): Promise<ConversationHistory[]>;
459
462
  /**
460
- * 获取指定会话 ID 的对话消息列表
461
- * 调用 DIP GET /app/{agent_key}/conversation/{conversation_id} 接口获取会话详情
462
- * 如果对话消息是 AI 助手消息,则需要调用 reduceAssistantMessage() 解析消息
463
+ * 获取指定会话 ID 的对话消息列�?
464
+ * 调用 DIP �?GET /app/{agent_key}/conversation/{conversation_id} 接口获取会话详情
465
+ * 如果对话消息�?AI 助手消息,则需要调�?reduceAssistantMessage() 解析消息
463
466
  * API 端点: GET /app/{agent_key}/conversation/{conversation_id}
464
467
  * 注意:该方法是一个无状态无副作用的函数,不允许修改 state
465
468
  * @param conversationId 会话 ID
@@ -467,8 +470,8 @@ export declare function DIPBaseMixin<TBase extends Constructor>(Base: TBase): {
467
470
  */
468
471
  getConversationMessages(conversationId: string): Promise<ChatMessage[]>;
469
472
  /**
470
- * 删除指定 ID 的会话
471
- * 调用 DIP DELETE /app/{agent_key}/conversation/{conversation_id} 接口删除会话
473
+ * 删除指定 ID 的会�?
474
+ * 调用 DIP �?DELETE /app/{agent_key}/conversation/{conversation_id} 接口删除会话
472
475
  * API 端点: DELETE /app/{agent_key}/conversation/{conversation_id}
473
476
  * 注意:该方法是一个无状态无副作用的函数,不允许修改 state
474
477
  * @param conversationID 会话 ID
@@ -477,7 +480,7 @@ export declare function DIPBaseMixin<TBase extends Constructor>(Base: TBase): {
477
480
  deleteConversation(conversationID: string): Promise<void>;
478
481
  /**
479
482
  * 获取知识网络详情
480
- * 调用 DIP GET /api/ontology-manager/v1/knowledge-networks/{id} 接口
483
+ * 调用 DIP �?GET /api/ontology-manager/v1/knowledge-networks/{id} 接口
481
484
  * API 端点: GET /api/ontology-manager/v1/knowledge-networks/{id}
482
485
  * 注意:该方法是一个无状态无副作用的函数,不允许修改 state
483
486
  * @param id 知识网络 ID
@@ -485,19 +488,19 @@ export declare function DIPBaseMixin<TBase extends Constructor>(Base: TBase): {
485
488
  */
486
489
  getKnowledgeNetworksDetail(id: string): Promise<any>;
487
490
  /**
488
- * 获取知识网络的对象类型
489
- * 调用 DIP GET /api/ontology-manager/v1/knowledge-networks/{id}/object-types 接口
491
+ * 获取知识网络的对象类�?
492
+ * 调用 DIP �?GET /api/ontology-manager/v1/knowledge-networks/{id}/object-types 接口
490
493
  * API 端点: GET /api/ontology-manager/v1/knowledge-networks/{id}/object-types
491
494
  * 注意:该方法是一个无状态无副作用的函数,不允许修改 state
492
495
  * @param id 知识网络 ID
493
496
  * @param offset 偏移量,默认 0
494
- * @param limit 每页返回条数,默认 -1(全部)
497
+ * @param limit 每页返回条数,默�?-1(全部)
495
498
  * @returns 返回对象类型列表
496
499
  */
497
500
  getKnowledgeNetworkObjectTypes(id: string, offset?: number, limit?: number): Promise<any>;
498
501
  /**
499
502
  * 根据指标 ID 获取指标信息
500
- * 调用 DIP GET /api/mdl-data-model/v1/metric-models/{ids} 接口
503
+ * 调用 DIP �?GET /api/mdl-data-model/v1/metric-models/{ids} 接口
501
504
  * API 端点: GET /api/mdl-data-model/v1/metric-models/{ids}
502
505
  * 注意:该方法是一个无状态无副作用的函数,不允许修改 state
503
506
  * @param ids 指标 ID 列表,多个用逗号隔开