@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.
- package/dist/chatkit.cjs.js +80 -80
- package/dist/chatkit.es.js +11728 -11456
- package/dist/components/base/ChatKitBase.d.ts +123 -115
- package/dist/components/base/assistant/blocks/index.d.ts +1 -0
- package/dist/components/base/copilot/blocks/index.d.ts +1 -0
- package/dist/components/base/shared/blocks/WebProcessorBlock/WebProcessorContentView.d.ts +9 -0
- package/dist/components/base/shared/blocks/WebProcessorBlock/WebProcessorIframe.d.ts +8 -0
- package/dist/components/base/shared/blocks/WebProcessorBlock/WebProcessorModal.d.ts +10 -0
- package/dist/components/base/shared/blocks/WebProcessorBlock/index.d.ts +9 -0
- package/dist/components/base/shared/blocks/WebProcessorBlock/utils.d.ts +6 -0
- package/dist/components/base/shared/blocks/WebProcessorBlock.d.ts +7 -0
- package/dist/components/dip/DIPBase.d.ts +128 -125
- package/dist/types/index.d.ts +107 -89
- package/package.json +1 -1
|
@@ -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
|
|
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
|
|
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
|
|
68
|
+
* DIPBase �?props 接口
|
|
69
69
|
*/
|
|
70
70
|
export interface DIPBaseProps {
|
|
71
|
-
/** AISHU DIP
|
|
71
|
+
/** AISHU DIP �?Agent Key,用作路径参数 */
|
|
72
72
|
agentKey: string;
|
|
73
|
-
/**
|
|
73
|
+
/** 访问令牌,需要包�?Bearer 前缀 (已废弃,请使�?token 属�? */
|
|
74
74
|
bearerToken?: string;
|
|
75
|
-
/**
|
|
75
|
+
/** 服务端基础地址,应包�?/api/agent-app/v1 前缀 */
|
|
76
76
|
baseUrl?: string;
|
|
77
|
-
/** agent
|
|
77
|
+
/** agent 版本�?v0"表示最新版本,默认 "v0" */
|
|
78
78
|
agentVersion?: string;
|
|
79
|
-
/** 智能体执行引擎版本,最新为"v2"
|
|
79
|
+
/** 智能体执行引擎版本,最新为"v2",默�?"v2" */
|
|
80
80
|
executorVersion?: string;
|
|
81
|
-
/**
|
|
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
|
|
90
|
+
* 根据 TypeScript 官方文档实现�?mixin 模式
|
|
91
91
|
*
|
|
92
|
-
*
|
|
92
|
+
* �?mixin 为基础类添�?AISHU DIP API 的集成能力,包括�?
|
|
93
93
|
* - getOnboardingInfo(): 获取开场白信息
|
|
94
|
-
* - generateConversation():
|
|
95
|
-
* - reduceAssistantMessage():
|
|
96
|
-
* - shouldRefreshToken(): 判断 API
|
|
94
|
+
* - generateConversation(): 创建新会�?
|
|
95
|
+
* - reduceAssistantMessage(): �?EventStream 中提取出 action �?content,并根据 action �?content 增量更新�?AssistantMessage
|
|
96
|
+
* - shouldRefreshToken(): 判断 API 响应的状态码是否�?401,如果是,则表示需要刷�?Token
|
|
97
97
|
* - terminateConversation(): 终止会话
|
|
98
98
|
*
|
|
99
|
-
* @param Base
|
|
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
|
|
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
|
|
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
|
|
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
|
-
*
|
|
154
|
+
* �?API 接口返回�?EventStream 增量解析成完整的 AssistantMessage 对象
|
|
155
155
|
* 根据设计文档实现白名单机制和 JSONPath 处理
|
|
156
156
|
*
|
|
157
157
|
* 处理流程(符合文档流程图):
|
|
158
158
|
* 1. 解析 EventMessage
|
|
159
|
-
* 2.
|
|
160
|
-
* 3. 如果不存在且 key 包含 assistant_message
|
|
161
|
-
* 4.
|
|
159
|
+
* 2. 检�?AssistantMessage 实例是否已经存在
|
|
160
|
+
* 3. 如果不存在且 key 包含 assistant_message,则初始�?AssistantMessage 对象
|
|
161
|
+
* 4. 检�?action �?JSONPath 是否在白名单�?
|
|
162
162
|
* 5. 如果在白名单中,根据 action 处理 content 并执行后处理
|
|
163
|
-
* 6.
|
|
164
|
-
* 保证 AssistantMessage.id
|
|
163
|
+
* 6. 处理完成后,检�?AssistantMessage.message.id 并同步更�?ChatMessage.messageId
|
|
164
|
+
* 保证 AssistantMessage.id �?ChatMessage.messageId 保持一�?
|
|
165
165
|
*
|
|
166
|
-
* @param eventMessage
|
|
167
|
-
* @param prev
|
|
168
|
-
* @param messageId
|
|
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
|
-
*
|
|
173
|
+
* 解析原始事件�?EventMessage
|
|
174
174
|
*/
|
|
175
175
|
parseEventMessage(raw: any): EventMessage;
|
|
176
176
|
/**
|
|
177
|
-
*
|
|
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
|
|
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
|
-
*
|
|
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
|
-
*
|
|
202
|
-
* 根据 OpenAPI 规范,搜索数据在 answer.choices[0].message.tool_calls
|
|
203
|
-
* tool_calls[0]
|
|
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
|
-
*
|
|
208
|
-
* 根据 OpenAPI 规范,Json2Plot
|
|
209
|
-
* tool_calls
|
|
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
|
|
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
|
-
*
|
|
246
|
+
* �?answer.choices 中提�?Web 搜索查询
|
|
244
247
|
* 用于处理 middle_answer.progress 中的搜索结果
|
|
245
248
|
*/
|
|
246
249
|
extractWebSearchQueryFromAnswer(answer: any): WebSearchQuery | null;
|
|
247
250
|
/**
|
|
248
|
-
*
|
|
249
|
-
* 用于处理 json2plot
|
|
250
|
-
* @param args 技能参数数组(保留用于 API
|
|
251
|
-
* @param answer 技能执行的 answer
|
|
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
|
-
*
|
|
263
|
+
* �?skill_info.args �?answer 中提取代码执行结�?
|
|
261
264
|
* 用于处理 execute_code 工具的输入和输出
|
|
262
265
|
* @param args skill_info.args 数组,包含执行的代码
|
|
263
|
-
* @param answer 技能执行的 answer
|
|
264
|
-
* @returns ExecuteCodeResult
|
|
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
|
-
*
|
|
278
|
+
* �?skill_info.args �?answer 中提�?Text2SQL 结果
|
|
276
279
|
* 用于处理 text2sql 工具的输入和输出
|
|
277
|
-
* 根据 OpenAPI 规范,Text2SqlResult 包含 result
|
|
278
|
-
* - result: Text2SqlResultData
|
|
279
|
-
* - full_result: Text2SqlFullResultData
|
|
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
|
|
283
|
-
* @returns Text2SqlResult
|
|
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
|
-
*
|
|
311
|
+
* �?skill_info.args �?answer 中提�?Text2Metric 结果
|
|
309
312
|
* 用于处理 text2metric 工具的输入和输出
|
|
310
|
-
* 根据 OpenAPI 规范,Text2MetricResult 包含 result
|
|
311
|
-
* - result: Text2MetricResultData
|
|
312
|
-
* - full_result: Text2MetricFullResultData
|
|
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
|
|
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
|
-
*
|
|
331
|
+
* �?skill_info.args �?answer 中提�?AfSailor 结果
|
|
329
332
|
* 用于处理 af_sailor 工具的输入和输出
|
|
330
333
|
* 根据 OpenAPI 规范,AfSailorResult 包含 result
|
|
331
|
-
* - result: AfSailorResultData
|
|
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
|
|
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
|
-
*
|
|
351
|
+
* �?skill_info.args �?answer 中提�?DatasourceFilter 结果
|
|
349
352
|
* 用于处理 datasource_filter 工具的输入和输出
|
|
350
353
|
* 根据 OpenAPI 规范,DatasourceFilterResult 包含 result
|
|
351
|
-
* - result: DatasourceFilterResultData
|
|
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
|
|
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
|
-
*
|
|
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
|
|
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
|
-
*
|
|
384
|
-
* @param item Progress
|
|
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
|
-
*
|
|
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
|
-
*
|
|
419
|
+
* 按路径不可变设置:只克隆从根�?key 路径上的节点,其余引用复用,避免全量深拷贝大对象
|
|
417
420
|
*/
|
|
418
421
|
immutableSetNested(obj: any, key: Array<string | number>, value: any): any;
|
|
419
422
|
/**
|
|
420
|
-
*
|
|
423
|
+
* 不可�?upsert:按路径更新,不深拷贝整棵树
|
|
421
424
|
*/
|
|
422
425
|
immutableApplyUpsert(obj: AssistantMessage, key: Array<string | number>, content: any): AssistantMessage;
|
|
423
426
|
/**
|
|
424
|
-
*
|
|
427
|
+
* 不可�?append:按路径追加后按路径更新,不深拷贝整棵树
|
|
425
428
|
*/
|
|
426
429
|
immutableApplyAppend(obj: AssistantMessage, key: Array<string | number>, content: any): AssistantMessage;
|
|
427
430
|
/**
|
|
428
|
-
*
|
|
429
|
-
* AISHU DIP 平台返回 401
|
|
431
|
+
* 检查是否需要刷�?token
|
|
432
|
+
* AISHU DIP 平台返回 401 状态码时表�?token 失效
|
|
430
433
|
* @param status HTTP 状态码
|
|
431
|
-
* @param error
|
|
432
|
-
* @returns
|
|
434
|
+
* @param error 错误响应�?
|
|
435
|
+
* @returns 返回是否需要刷�?token
|
|
433
436
|
*/
|
|
434
437
|
shouldRefreshToken(status: number, _error: any): boolean;
|
|
435
438
|
/**
|
|
436
439
|
* 终止会话
|
|
437
|
-
* 调用 DIP
|
|
438
|
-
*
|
|
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
|
|
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
|
|
462
|
-
*
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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 列表,多个用逗号隔开
|