@kweaver-ai/chatkit 0.1.16 → 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 +85 -85
- package/dist/chatkit.es.js +15078 -14382
- package/dist/components/base/ChatKitBase.d.ts +138 -106
- package/dist/components/base/assistant/HistoryChunkPlaceholder.d.ts +13 -0
- package/dist/components/base/assistant/InputArea.d.ts +2 -2
- package/dist/components/base/assistant/MessageShell.d.ts +14 -0
- package/dist/components/base/assistant/blocks/index.d.ts +1 -0
- package/dist/components/base/assistant/hooks/useAnchoredMessageList.d.ts +23 -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 +132 -121
- 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,138 +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
|
-
*
|
|
195
|
-
*
|
|
193
|
+
* 在流式结束后,将完整�?AssistantMessage 结构一次性应用到指定 ChatMessage�?
|
|
194
|
+
* - 遍历 middle_answer.progress,按顺序调用 appendSkillOrLLMContentToMessage 组装所有工具和 LLM 内容�?
|
|
195
|
+
* - 基于 message.ext 同步 messageContext(相关问题、耗时、Token 等),与历史会话逻辑保持一�?
|
|
196
|
+
*
|
|
197
|
+
* 作为受保护方法暴露,便于子类在特殊场景下自定义流式结果的应用逻辑�?
|
|
198
|
+
*/
|
|
199
|
+
applyAssistantMessageFromStream(assistantMessage: AssistantMessage, messageId: string): void;
|
|
200
|
+
/**
|
|
201
|
+
* �?Progress 对象中提�?Web 搜索查询
|
|
202
|
+
* 根据 OpenAPI 规范,搜索数据在 answer.choices[0].message.tool_calls �?
|
|
203
|
+
* tool_calls[0] �?SearchIntent(输入),tool_calls[1] �?SearchResult(输出)
|
|
196
204
|
*/
|
|
197
205
|
extractWebSearchQuery(progress: any): WebSearchQuery | null;
|
|
198
206
|
/**
|
|
199
|
-
*
|
|
200
|
-
* 根据 OpenAPI 规范,Json2Plot
|
|
201
|
-
* tool_calls
|
|
207
|
+
* �?Progress 对象中提�?Json2Plot 图表数据
|
|
208
|
+
* 根据 OpenAPI 规范,Json2Plot 数据�?answer.choices[0].message.tool_calls �?
|
|
209
|
+
* tool_calls 中包�?Json2PlotAnswer,格式为 { result: Json2PlotResult, full_result: Json2PlotFullResult }
|
|
202
210
|
* Json2PlotResult 包含: data_sample, chart_config, title, text
|
|
203
211
|
* Json2PlotFullResult 包含: data, chart_config, title, text
|
|
204
212
|
* ChartConfig 包含: xField, yField, seriesField, chart_type, groupField, isStack, isGroup
|
|
205
213
|
*/
|
|
206
214
|
extractJson2PlotData(progress: any): ChartDataSchema | null;
|
|
207
215
|
/**
|
|
216
|
+
* 提取 WebProcessor 数据
|
|
217
|
+
*/
|
|
218
|
+
extractWebProcessorData(answer: any): WebProcessorDataSchema | null; /**
|
|
208
219
|
* 推断数据类型
|
|
209
220
|
*/
|
|
210
221
|
inferDataType(value: any): "string" | "number" | "date" | "boolean";
|
|
211
222
|
/**
|
|
212
223
|
* 计算耗时(毫秒)
|
|
213
224
|
* @param startTime 开始时间戳
|
|
214
|
-
* @param endTime
|
|
215
|
-
* @returns
|
|
225
|
+
* @param endTime 结束时间�?
|
|
226
|
+
* @returns 耗时(毫秒),如果时间戳无效则返�?undefined
|
|
216
227
|
*/
|
|
217
228
|
calculateConsumeTime(startTime?: number, endTime?: number): number | undefined;
|
|
218
229
|
/**
|
|
219
230
|
* 处理技能调用的统一方法
|
|
220
231
|
* 根据设计文档 3.2 Event Message 白名单中的后处理逻辑
|
|
221
|
-
* @param skillInfo
|
|
232
|
+
* @param skillInfo 技能信�?
|
|
222
233
|
* @param answer 技能执行的 answer 字段
|
|
223
234
|
* @param messageId 消息 ID
|
|
224
|
-
* @param consumeTime
|
|
235
|
+
* @param consumeTime 耗时(毫秒),可�?
|
|
225
236
|
*/
|
|
226
237
|
processSkillExecution(skillInfo: SkillInfo | undefined, answer: any, messageId: string, consumeTime?: number): void;
|
|
227
238
|
/**
|
|
228
|
-
* 处理 middle_answer.progress
|
|
239
|
+
* 处理 middle_answer.progress 中的一个元�?
|
|
229
240
|
* 根据设计文档 3.2 Event Message 白名单中的后处理逻辑
|
|
230
241
|
* @param content Progress 对象
|
|
231
242
|
* @param messageId 消息 ID
|
|
232
243
|
*/
|
|
233
244
|
processMiddleAnswerProgress(content: Progress, messageId: string): void;
|
|
234
245
|
/**
|
|
235
|
-
*
|
|
246
|
+
* �?answer.choices 中提�?Web 搜索查询
|
|
236
247
|
* 用于处理 middle_answer.progress 中的搜索结果
|
|
237
248
|
*/
|
|
238
249
|
extractWebSearchQueryFromAnswer(answer: any): WebSearchQuery | null;
|
|
239
250
|
/**
|
|
240
|
-
*
|
|
241
|
-
* 用于处理 json2plot
|
|
242
|
-
* @param args 技能参数数组(保留用于 API
|
|
243
|
-
* @param answer 技能执行的 answer
|
|
251
|
+
* �?skill_info.args �?answer 中提取图表数据并转换�?ChartDataSchema
|
|
252
|
+
* 用于处理 json2plot 工具的输�?
|
|
253
|
+
* @param args 技能参数数组(保留用于 API 一致性,实际数据�?answer 中提取)
|
|
254
|
+
* @param answer 技能执行的 answer 字段,包�?result �?full_result
|
|
244
255
|
* @returns ChartDataSchema 对象,如果解析失败则返回 null
|
|
245
256
|
*/
|
|
246
257
|
extractChartDataFromArgs(_args: Array<{
|
|
@@ -249,11 +260,11 @@ export declare function DIPBaseMixin<TBase extends Constructor>(Base: TBase): {
|
|
|
249
260
|
value?: string;
|
|
250
261
|
}> | undefined, answer: any): ChartDataSchema | null;
|
|
251
262
|
/**
|
|
252
|
-
*
|
|
263
|
+
* �?skill_info.args �?answer 中提取代码执行结�?
|
|
253
264
|
* 用于处理 execute_code 工具的输入和输出
|
|
254
265
|
* @param args skill_info.args 数组,包含执行的代码
|
|
255
|
-
* @param answer 技能执行的 answer
|
|
256
|
-
* @returns ExecuteCodeResult
|
|
266
|
+
* @param answer 技能执行的 answer 字段,包含执行结�?
|
|
267
|
+
* @returns ExecuteCodeResult 对象,包�?input �?output
|
|
257
268
|
*/
|
|
258
269
|
extractExecuteCodeResult(args: Array<{
|
|
259
270
|
name?: string;
|
|
@@ -264,15 +275,15 @@ export declare function DIPBaseMixin<TBase extends Constructor>(Base: TBase): {
|
|
|
264
275
|
output: string;
|
|
265
276
|
} | null;
|
|
266
277
|
/**
|
|
267
|
-
*
|
|
278
|
+
* �?skill_info.args �?answer 中提�?Text2SQL 结果
|
|
268
279
|
* 用于处理 text2sql 工具的输入和输出
|
|
269
|
-
* 根据 OpenAPI 规范,Text2SqlResult 包含 result
|
|
270
|
-
* - result: Text2SqlResultData
|
|
271
|
-
* - full_result: Text2SqlFullResultData
|
|
280
|
+
* 根据 OpenAPI 规范,Text2SqlResult 包含 result �?full_result
|
|
281
|
+
* - result: Text2SqlResultData(包�?data_desc,但可能只有数据样本�?
|
|
282
|
+
* - full_result: Text2SqlFullResultData(包含完整数据,但没�?data_desc�?
|
|
272
283
|
* 优先使用 full_result,如果没有则使用 result
|
|
273
|
-
* @param args skill_info.args
|
|
274
|
-
* @param answer 技能执行的 answer
|
|
275
|
-
* @returns Text2SqlResult
|
|
284
|
+
* @param args skill_info.args 数组,包含查询文�?
|
|
285
|
+
* @param answer 技能执行的 answer 字段,包�?SQL 执行结果
|
|
286
|
+
* @returns Text2SqlResult 对象,包�?input、sql、data 等信�?
|
|
276
287
|
*/
|
|
277
288
|
extractText2SqlResult(args: Array<{
|
|
278
289
|
name?: string;
|
|
@@ -297,15 +308,15 @@ export declare function DIPBaseMixin<TBase extends Constructor>(Base: TBase): {
|
|
|
297
308
|
explanation?: any;
|
|
298
309
|
} | null;
|
|
299
310
|
/**
|
|
300
|
-
*
|
|
311
|
+
* �?skill_info.args �?answer 中提�?Text2Metric 结果
|
|
301
312
|
* 用于处理 text2metric 工具的输入和输出
|
|
302
|
-
* 根据 OpenAPI 规范,Text2MetricResult 包含 result
|
|
303
|
-
* - result: Text2MetricResultData
|
|
304
|
-
* - full_result: Text2MetricFullResultData
|
|
313
|
+
* 根据 OpenAPI 规范,Text2MetricResult 包含 result �?full_result
|
|
314
|
+
* - result: Text2MetricResultData(包�?data_desc,但可能只有数据样本�?
|
|
315
|
+
* - full_result: Text2MetricFullResultData(包含完整数据,但没�?data_desc�?
|
|
305
316
|
* 优先使用 full_result,如果没有则使用 result
|
|
306
|
-
* @param args skill_info.args
|
|
307
|
-
* @param answer 技能执行的 answer
|
|
308
|
-
* @returns Text2MetricResult
|
|
317
|
+
* @param args skill_info.args 数组,包含查询参�?
|
|
318
|
+
* @param answer 技能执行的 answer 字段,包含指标查询结�?
|
|
319
|
+
* @returns Text2MetricResult 对象,包�?title、args、data 等信�?
|
|
309
320
|
*/
|
|
310
321
|
extractText2MetricResult(args: Array<{
|
|
311
322
|
name?: string;
|
|
@@ -317,14 +328,14 @@ export declare function DIPBaseMixin<TBase extends Constructor>(Base: TBase): {
|
|
|
317
328
|
data?: Array<Record<string, any>>;
|
|
318
329
|
} | null;
|
|
319
330
|
/**
|
|
320
|
-
*
|
|
331
|
+
* �?skill_info.args �?answer 中提�?AfSailor 结果
|
|
321
332
|
* 用于处理 af_sailor 工具的输入和输出
|
|
322
333
|
* 根据 OpenAPI 规范,AfSailorResult 包含 result
|
|
323
|
-
* - result: AfSailorResultData
|
|
324
|
-
* 根据 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>>�?
|
|
325
336
|
* @param _args skill_info.args 数组,包含查询参数(当前未使用,保留以保持接口一致性)
|
|
326
|
-
* @param answer 技能执行的 answer
|
|
327
|
-
* @returns AfSailorResult
|
|
337
|
+
* @param answer 技能执行的 answer 字段,包含找数查询结�?
|
|
338
|
+
* @returns AfSailorResult 对象,包�?data、text、cites 等信�?
|
|
328
339
|
*/
|
|
329
340
|
extractAfSailorResult(_args: Array<{
|
|
330
341
|
name?: string;
|
|
@@ -337,14 +348,14 @@ export declare function DIPBaseMixin<TBase extends Constructor>(Base: TBase): {
|
|
|
337
348
|
result_cache_key?: string;
|
|
338
349
|
} | null;
|
|
339
350
|
/**
|
|
340
|
-
*
|
|
351
|
+
* �?skill_info.args �?answer 中提�?DatasourceFilter 结果
|
|
341
352
|
* 用于处理 datasource_filter 工具的输入和输出
|
|
342
353
|
* 根据 OpenAPI 规范,DatasourceFilterResult 包含 result
|
|
343
|
-
* - result: DatasourceFilterResultData
|
|
354
|
+
* - result: DatasourceFilterResultData(包�?result、result_cache_key�?
|
|
344
355
|
* - result.result: DataCatalogMatch[](数据目录匹配结果列表)
|
|
345
356
|
* @param _args skill_info.args 数组,包含查询参数(当前未使用,保留以保持接口一致性)
|
|
346
357
|
* @param answer 技能执行的 answer 字段,包含数据源过滤结果
|
|
347
|
-
* @returns DatasourceFilterResult
|
|
358
|
+
* @returns DatasourceFilterResult 对象,包�?result、result_cache_key 等信�?
|
|
348
359
|
*/
|
|
349
360
|
extractDatasourceFilterResult(_args: Array<{
|
|
350
361
|
name?: string;
|
|
@@ -355,12 +366,12 @@ export declare function DIPBaseMixin<TBase extends Constructor>(Base: TBase): {
|
|
|
355
366
|
result_cache_key?: string;
|
|
356
367
|
} | null;
|
|
357
368
|
/**
|
|
358
|
-
*
|
|
359
|
-
* 用于处理 datasource_rerank 工具的输入和输出,与 datasource_filter
|
|
369
|
+
* �?skill_info.args �?answer 中提�?DatasourceRerank 结果
|
|
370
|
+
* 用于处理 datasource_rerank 工具的输入和输出,与 datasource_filter 处理方式一�?
|
|
360
371
|
* 根据 OpenAPI 规范,DatasourceRerankResult 包含 result(DataCatalogMatch[])及 result_cache_key
|
|
361
372
|
* @param _args skill_info.args 数组,包含查询参数(当前未使用,保留以保持接口一致性)
|
|
362
373
|
* @param answer 技能执行的 answer 字段,包含数据源重排结果
|
|
363
|
-
* @returns DatasourceRerankResult
|
|
374
|
+
* @returns DatasourceRerankResult 对象,包�?result、result_cache_key 等信�?
|
|
364
375
|
*/
|
|
365
376
|
extractDatasourceRerankResult(_args: Array<{
|
|
366
377
|
name?: string;
|
|
@@ -371,14 +382,14 @@ export declare function DIPBaseMixin<TBase extends Constructor>(Base: TBase): {
|
|
|
371
382
|
result_cache_key?: string;
|
|
372
383
|
} | null;
|
|
373
384
|
/**
|
|
374
|
-
* 将技能调用或 LLM
|
|
375
|
-
*
|
|
376
|
-
* @param item Progress
|
|
385
|
+
* 将技能调用或 LLM 回答的内容追加到消息�?
|
|
386
|
+
* 用于历史消息解析,根�?stage �?skill_info 将内容添加到 ChatMessage.content 数组
|
|
387
|
+
* @param item Progress �?OtherTypeAnswer 对象
|
|
377
388
|
* @param message ChatMessage 对象
|
|
378
389
|
*/
|
|
379
390
|
appendSkillOrLLMContentToMessage(item: Progress | OtherTypeAnswer, message: ChatMessage): void;
|
|
380
391
|
/**
|
|
381
|
-
*
|
|
392
|
+
* 构造默认工具结�?
|
|
382
393
|
* 对应设计文档 4.32 DefaultToolResult 及默认工具处理逻辑
|
|
383
394
|
*/
|
|
384
395
|
buildDefaultToolResult(skillInfo: SkillInfo | undefined, answer: any): {
|
|
@@ -387,60 +398,60 @@ export declare function DIPBaseMixin<TBase extends Constructor>(Base: TBase): {
|
|
|
387
398
|
} | null;
|
|
388
399
|
/**
|
|
389
400
|
* 执行 upsert 操作
|
|
390
|
-
*
|
|
401
|
+
* �?content 赋值到 JSONPath 指定的位�?
|
|
391
402
|
*/
|
|
392
403
|
applyUpsert(obj: AssistantMessage, key: Array<string | number>, content: any): AssistantMessage;
|
|
393
404
|
/**
|
|
394
405
|
* 执行 append 操作
|
|
395
|
-
* 如果 JSONPath
|
|
406
|
+
* 如果 JSONPath 是数组下标,在该位置插入新对�?
|
|
396
407
|
* 否则在文本后追加内容
|
|
397
408
|
*/
|
|
398
409
|
applyAppend(obj: AssistantMessage, key: Array<string | number>, content: any): AssistantMessage;
|
|
399
410
|
/**
|
|
400
|
-
*
|
|
411
|
+
* 获取嵌套属�?
|
|
401
412
|
*/
|
|
402
413
|
getNestedProperty(obj: any, key: Array<string | number>): any;
|
|
403
414
|
/**
|
|
404
|
-
*
|
|
415
|
+
* 设置嵌套属�?
|
|
405
416
|
*/
|
|
406
417
|
setNestedProperty(obj: any, key: Array<string | number>, value: any): void;
|
|
407
418
|
/**
|
|
408
|
-
*
|
|
419
|
+
* 按路径不可变设置:只克隆从根�?key 路径上的节点,其余引用复用,避免全量深拷贝大对象
|
|
409
420
|
*/
|
|
410
421
|
immutableSetNested(obj: any, key: Array<string | number>, value: any): any;
|
|
411
422
|
/**
|
|
412
|
-
*
|
|
423
|
+
* 不可�?upsert:按路径更新,不深拷贝整棵树
|
|
413
424
|
*/
|
|
414
425
|
immutableApplyUpsert(obj: AssistantMessage, key: Array<string | number>, content: any): AssistantMessage;
|
|
415
426
|
/**
|
|
416
|
-
*
|
|
427
|
+
* 不可�?append:按路径追加后按路径更新,不深拷贝整棵树
|
|
417
428
|
*/
|
|
418
429
|
immutableApplyAppend(obj: AssistantMessage, key: Array<string | number>, content: any): AssistantMessage;
|
|
419
430
|
/**
|
|
420
|
-
*
|
|
421
|
-
* AISHU DIP 平台返回 401
|
|
431
|
+
* 检查是否需要刷�?token
|
|
432
|
+
* AISHU DIP 平台返回 401 状态码时表�?token 失效
|
|
422
433
|
* @param status HTTP 状态码
|
|
423
|
-
* @param error
|
|
424
|
-
* @returns
|
|
434
|
+
* @param error 错误响应�?
|
|
435
|
+
* @returns 返回是否需要刷�?token
|
|
425
436
|
*/
|
|
426
437
|
shouldRefreshToken(status: number, _error: any): boolean;
|
|
427
438
|
/**
|
|
428
439
|
* 终止会话
|
|
429
|
-
* 调用 DIP
|
|
430
|
-
*
|
|
440
|
+
* 调用 DIP �?/app/{agent_key}/chat/termination 接口终止指定会话
|
|
441
|
+
* 若返�?401 会先调用 refreshToken 获取�?token 并重试一�?
|
|
431
442
|
* @param conversationId 要终止的会话 ID
|
|
432
443
|
* @returns 返回 Promise,成功时 resolve,失败时 reject
|
|
433
444
|
*/
|
|
434
445
|
terminateConversation(conversationId: string): Promise<void>;
|
|
435
446
|
/**
|
|
436
|
-
* 执行 API 调用,并在需要时自动刷新 token
|
|
447
|
+
* 执行 API 调用,并在需要时自动刷新 token 并重试一�?
|
|
437
448
|
* @param apiCall API 调用函数
|
|
438
449
|
* @returns API 调用结果
|
|
439
450
|
*/
|
|
440
451
|
executeDataAgentWithTokenRefresh<T>(apiCall: () => Promise<T>): Promise<T>;
|
|
441
452
|
/**
|
|
442
453
|
* 获取历史会话列表
|
|
443
|
-
* 调用 DIP
|
|
454
|
+
* 调用 DIP �?GET /app/{agent_key}/conversation 接口获取会话列表
|
|
444
455
|
* API 端点: GET /app/{agent_key}/conversation?page={page}&size={size}
|
|
445
456
|
* 注意:该方法是一个无状态无副作用的函数,不允许修改 state
|
|
446
457
|
* @param page 分页页码,默认为 1
|
|
@@ -449,9 +460,9 @@ export declare function DIPBaseMixin<TBase extends Constructor>(Base: TBase): {
|
|
|
449
460
|
*/
|
|
450
461
|
getConversations(page?: number, size?: number): Promise<ConversationHistory[]>;
|
|
451
462
|
/**
|
|
452
|
-
* 获取指定会话 ID
|
|
453
|
-
* 调用 DIP
|
|
454
|
-
*
|
|
463
|
+
* 获取指定会话 ID 的对话消息列�?
|
|
464
|
+
* 调用 DIP �?GET /app/{agent_key}/conversation/{conversation_id} 接口获取会话详情
|
|
465
|
+
* 如果对话消息�?AI 助手消息,则需要调�?reduceAssistantMessage() 解析消息
|
|
455
466
|
* API 端点: GET /app/{agent_key}/conversation/{conversation_id}
|
|
456
467
|
* 注意:该方法是一个无状态无副作用的函数,不允许修改 state
|
|
457
468
|
* @param conversationId 会话 ID
|
|
@@ -459,8 +470,8 @@ export declare function DIPBaseMixin<TBase extends Constructor>(Base: TBase): {
|
|
|
459
470
|
*/
|
|
460
471
|
getConversationMessages(conversationId: string): Promise<ChatMessage[]>;
|
|
461
472
|
/**
|
|
462
|
-
* 删除指定 ID
|
|
463
|
-
* 调用 DIP
|
|
473
|
+
* 删除指定 ID 的会�?
|
|
474
|
+
* 调用 DIP �?DELETE /app/{agent_key}/conversation/{conversation_id} 接口删除会话
|
|
464
475
|
* API 端点: DELETE /app/{agent_key}/conversation/{conversation_id}
|
|
465
476
|
* 注意:该方法是一个无状态无副作用的函数,不允许修改 state
|
|
466
477
|
* @param conversationID 会话 ID
|
|
@@ -469,7 +480,7 @@ export declare function DIPBaseMixin<TBase extends Constructor>(Base: TBase): {
|
|
|
469
480
|
deleteConversation(conversationID: string): Promise<void>;
|
|
470
481
|
/**
|
|
471
482
|
* 获取知识网络详情
|
|
472
|
-
* 调用 DIP
|
|
483
|
+
* 调用 DIP �?GET /api/ontology-manager/v1/knowledge-networks/{id} 接口
|
|
473
484
|
* API 端点: GET /api/ontology-manager/v1/knowledge-networks/{id}
|
|
474
485
|
* 注意:该方法是一个无状态无副作用的函数,不允许修改 state
|
|
475
486
|
* @param id 知识网络 ID
|
|
@@ -477,19 +488,19 @@ export declare function DIPBaseMixin<TBase extends Constructor>(Base: TBase): {
|
|
|
477
488
|
*/
|
|
478
489
|
getKnowledgeNetworksDetail(id: string): Promise<any>;
|
|
479
490
|
/**
|
|
480
|
-
*
|
|
481
|
-
* 调用 DIP
|
|
491
|
+
* 获取知识网络的对象类�?
|
|
492
|
+
* 调用 DIP �?GET /api/ontology-manager/v1/knowledge-networks/{id}/object-types 接口
|
|
482
493
|
* API 端点: GET /api/ontology-manager/v1/knowledge-networks/{id}/object-types
|
|
483
494
|
* 注意:该方法是一个无状态无副作用的函数,不允许修改 state
|
|
484
495
|
* @param id 知识网络 ID
|
|
485
496
|
* @param offset 偏移量,默认 0
|
|
486
|
-
* @param limit
|
|
497
|
+
* @param limit 每页返回条数,默�?-1(全部)
|
|
487
498
|
* @returns 返回对象类型列表
|
|
488
499
|
*/
|
|
489
500
|
getKnowledgeNetworkObjectTypes(id: string, offset?: number, limit?: number): Promise<any>;
|
|
490
501
|
/**
|
|
491
502
|
* 根据指标 ID 获取指标信息
|
|
492
|
-
* 调用 DIP
|
|
503
|
+
* 调用 DIP �?GET /api/mdl-data-model/v1/metric-models/{ids} 接口
|
|
493
504
|
* API 端点: GET /api/mdl-data-model/v1/metric-models/{ids}
|
|
494
505
|
* 注意:该方法是一个无状态无副作用的函数,不允许修改 state
|
|
495
506
|
* @param ids 指标 ID 列表,多个用逗号隔开
|