@blueking/chat-helper 0.0.1-beta.8 → 0.0.2
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/README.md +701 -167
- package/dist/agent/type.d.ts +27 -2
- package/dist/agent/type.ts.js +1 -1
- package/dist/agent/use-agent.d.ts +460 -413
- package/dist/agent/use-agent.ts.js +191 -44
- package/dist/event/ag-ui.d.ts +37 -7
- package/dist/event/ag-ui.ts.js +225 -165
- package/dist/event/type.d.ts +99 -107
- package/dist/event/type.ts.js +34 -11
- package/dist/http/fetch/fetch.d.ts +2 -1
- package/dist/http/fetch/fetch.ts.js +38 -8
- package/dist/http/fetch/index.d.ts +1 -0
- package/dist/http/fetch/index.ts.js +17 -1
- package/dist/http/index.d.ts +14 -5
- package/dist/http/index.ts.js +59 -3
- package/dist/http/module/index.d.ts +13 -5
- package/dist/http/module/index.ts.js +2 -1
- package/dist/http/module/message.d.ts +22 -5
- package/dist/http/module/message.ts.js +51 -4
- package/dist/http/module/session.d.ts +4 -1
- package/dist/http/module/session.ts.js +66 -4
- package/dist/http/transform/agent.ts.js +11 -8
- package/dist/http/transform/message.d.ts +6 -6
- package/dist/http/transform/message.ts.js +566 -118
- package/dist/http/transform/session.ts.js +9 -1
- package/dist/index.d.ts +2989 -2845
- package/dist/index.ts.js +27 -5
- package/dist/mediator/index.d.ts +2 -0
- package/dist/mediator/index.ts.js +26 -0
- package/dist/mediator/type.d.ts +50 -0
- package/dist/mediator/type.ts.js +28 -0
- package/dist/mediator/use-mediator.d.ts +7 -0
- package/dist/mediator/use-mediator.ts.js +47 -0
- package/dist/message/type.d.ts +280 -142
- package/dist/message/type.ts.js +16 -15
- package/dist/message/use-message.d.ts +839 -819
- package/dist/message/use-message.ts.js +230 -37
- package/dist/session/type.d.ts +10 -0
- package/dist/session/use-session.d.ts +1921 -1857
- package/dist/session/use-session.ts.js +198 -33
- package/dist/type.d.ts +1 -1
- package/package.json +11 -6
package/dist/event/ag-ui.ts.js
CHANGED
|
@@ -35,11 +35,9 @@
|
|
|
35
35
|
}
|
|
36
36
|
return obj;
|
|
37
37
|
}
|
|
38
|
-
import { transferMessageApi2Message } from '../http/transform/
|
|
39
|
-
import {
|
|
40
|
-
import {
|
|
41
|
-
// 临时存储时间戳
|
|
42
|
-
let tempTimestamp = 0;
|
|
38
|
+
import { transferMessageApi2Message } from '../http/transform/index.ts.js';
|
|
39
|
+
import { ActivityType, MessageRole, MessageStatus, MessageType } from '../message/index.ts.js';
|
|
40
|
+
import { CustomEventName, EventType, FlowTaskState } from './type.ts.js';
|
|
43
41
|
/**
|
|
44
42
|
* AGUI 协议
|
|
45
43
|
* @param message - 消息模块
|
|
@@ -47,72 +45,169 @@ let tempTimestamp = 0;
|
|
|
47
45
|
/**
|
|
48
46
|
* 处理活动增量更新事件
|
|
49
47
|
* 使用 JSON Patch 格式增量更新活动数据
|
|
50
|
-
*/ handleActivityDeltaEvent(_event) {
|
|
51
|
-
// 可以在这里实现 JSON Patch 逻辑
|
|
52
|
-
// console.log('ActivityDelta:', event);
|
|
53
|
-
}
|
|
48
|
+
*/ handleActivityDeltaEvent(_event) {}
|
|
54
49
|
/**
|
|
55
50
|
* 处理活动快照事件
|
|
56
51
|
* 记录活动的完整状态
|
|
57
|
-
*/ handleActivitySnapshotEvent(_event) {
|
|
58
|
-
// 可以在这里存储活动快照
|
|
59
|
-
// console.log('ActivitySnapshot:', event);
|
|
60
|
-
}
|
|
52
|
+
*/ handleActivitySnapshotEvent(_event) {}
|
|
61
53
|
/**
|
|
62
54
|
* 处理自定义事件
|
|
63
55
|
*/ handleCustomEvent(event) {
|
|
64
|
-
switch(event.
|
|
65
|
-
case
|
|
56
|
+
switch(event.name){
|
|
57
|
+
case CustomEventName.FlowAgentStart:
|
|
58
|
+
this.handleFlowAgentStartCustomEvent(event);
|
|
59
|
+
break;
|
|
60
|
+
case CustomEventName.FlowAgentResult:
|
|
61
|
+
this.handleFlowAgentResultCustomEvent(event);
|
|
62
|
+
break;
|
|
63
|
+
case CustomEventName.FlowAgentEnd:
|
|
64
|
+
this.handleFlowAgentEndCustomEvent(event);
|
|
65
|
+
break;
|
|
66
|
+
case CustomEventName.ReferenceDocument:
|
|
66
67
|
this.handleReferenceDocumentCustomEvent(event);
|
|
67
68
|
break;
|
|
69
|
+
case CustomEventName.KnowledgeRagStart:
|
|
70
|
+
this.handleKnowledgeRagStartCustomEvent(event);
|
|
71
|
+
break;
|
|
72
|
+
case CustomEventName.KnowledgeRagTextContent:
|
|
73
|
+
this.handleKnowledgeRagTextContentCustomEvent(event);
|
|
74
|
+
break;
|
|
75
|
+
case CustomEventName.KnowledgeRagResult:
|
|
76
|
+
this.handleKnowledgeRagResultCustomEvent(event);
|
|
77
|
+
break;
|
|
78
|
+
case CustomEventName.KnowledgeRagEnd:
|
|
79
|
+
this.handleKnowledgeRagEndCustomEvent(event);
|
|
80
|
+
break;
|
|
81
|
+
case CustomEventName.TempMessage:
|
|
82
|
+
this.handleTempMessageCustomEvent(event);
|
|
83
|
+
break;
|
|
68
84
|
default:
|
|
69
85
|
break;
|
|
70
86
|
}
|
|
71
87
|
}
|
|
72
88
|
/**
|
|
89
|
+
* 自定义事件 处理流程编排任务结束
|
|
90
|
+
*/ handleFlowAgentEndCustomEvent(event) {
|
|
91
|
+
const message = this.messageModule.getCurrentLoadingMessage();
|
|
92
|
+
if (message && message.role === MessageRole.Activity && message.activityType === ActivityType.FlowAgent) {
|
|
93
|
+
// 先把最后一个loading消息标记为complete
|
|
94
|
+
message.status = MessageStatus.Complete;
|
|
95
|
+
// 然后创建一个结束消息
|
|
96
|
+
const value = event.value;
|
|
97
|
+
this.messageModule.plusMessage({
|
|
98
|
+
role: MessageRole.Assistant,
|
|
99
|
+
content: value.task_outputs.join('\n'),
|
|
100
|
+
status: MessageStatus.Complete
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* 自定义事件 处理流程编排任务结果(增量更新节点状态)
|
|
106
|
+
*/ handleFlowAgentResultCustomEvent(event) {
|
|
107
|
+
const message = this.messageModule.getCurrentLoadingMessage();
|
|
108
|
+
if (message && message.role === MessageRole.Activity && message.activityType === ActivityType.FlowAgent) {
|
|
109
|
+
message.content = event.value;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* 自定义事件 处理流程编排任务开始
|
|
114
|
+
*/ handleFlowAgentStartCustomEvent(event) {
|
|
115
|
+
const value = event.value;
|
|
116
|
+
this.messageModule.plusMessage({
|
|
117
|
+
role: MessageRole.Activity,
|
|
118
|
+
activityType: ActivityType.FlowAgent,
|
|
119
|
+
content: {
|
|
120
|
+
nodes: {},
|
|
121
|
+
task_id: Number(value.task_id),
|
|
122
|
+
task_name: '',
|
|
123
|
+
task_outputs: [],
|
|
124
|
+
task_state: FlowTaskState.Created
|
|
125
|
+
},
|
|
126
|
+
status: MessageStatus.Streaming
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* 自定义事件 处理意图识别结束
|
|
131
|
+
*/ handleKnowledgeRagEndCustomEvent(_event) {
|
|
132
|
+
const message = this.messageModule.getCurrentLoadingMessage();
|
|
133
|
+
if (message && message.role === MessageRole.Activity && message.activityType === ActivityType.KnowledgeRag) {
|
|
134
|
+
message.status = MessageStatus.Complete;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* 自定义事件 处理意图识别结果
|
|
139
|
+
*/ handleKnowledgeRagResultCustomEvent(event) {
|
|
140
|
+
const message = this.messageModule.getCurrentLoadingMessage();
|
|
141
|
+
if (message && message.role === MessageRole.Activity && message.activityType === ActivityType.KnowledgeRag) {
|
|
142
|
+
message.content.referenceDocument = event.value;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* 自定义事件 处理意图识别开始
|
|
147
|
+
*/ handleKnowledgeRagStartCustomEvent(_event) {
|
|
148
|
+
this.messageModule.plusMessage({
|
|
149
|
+
role: MessageRole.Activity,
|
|
150
|
+
activityType: ActivityType.KnowledgeRag,
|
|
151
|
+
content: {
|
|
152
|
+
content: '',
|
|
153
|
+
referenceDocument: []
|
|
154
|
+
},
|
|
155
|
+
status: MessageStatus.Streaming
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* 自定义事件 处理意图识别文本
|
|
160
|
+
*/ handleKnowledgeRagTextContentCustomEvent(event) {
|
|
161
|
+
const message = this.messageModule.getCurrentLoadingMessage();
|
|
162
|
+
if (message && message.role === MessageRole.Activity && message.activityType === ActivityType.KnowledgeRag) {
|
|
163
|
+
const value = event.value;
|
|
164
|
+
message.content.content = value.cover ? value.chunk.content : message.content.content + value.chunk.content;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
73
168
|
* 处理消息快照事件
|
|
74
169
|
* 用于同步多端消息状态
|
|
75
170
|
*/ handleMessagesSnapshotEvent(event) {
|
|
76
|
-
|
|
171
|
+
if (event.messages && event.messages.length > 0) {
|
|
172
|
+
this.messageModule.list.value = event.messages.map(transferMessageApi2Message);
|
|
173
|
+
}
|
|
77
174
|
}
|
|
78
175
|
/**
|
|
79
176
|
* 处理原始事件
|
|
80
177
|
* 透传底层 AI 服务的原始事件
|
|
81
178
|
*/ handleRawEvent(_event) {
|
|
82
|
-
// console.log('Raw:',
|
|
179
|
+
// console.log('Raw:', _event);
|
|
83
180
|
}
|
|
84
181
|
/**
|
|
85
182
|
* 自定义事件 处理参考文档事件
|
|
86
183
|
*/ handleReferenceDocumentCustomEvent(event) {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
message.content.push(referenceDocumentMessageContent);
|
|
95
|
-
}
|
|
184
|
+
// 可以在这里处理参考文档事件
|
|
185
|
+
this.messageModule.plusMessage({
|
|
186
|
+
role: MessageRole.Activity,
|
|
187
|
+
activityType: ActivityType.ReferenceDocument,
|
|
188
|
+
content: event.value,
|
|
189
|
+
status: MessageStatus.Complete
|
|
190
|
+
});
|
|
96
191
|
}
|
|
97
192
|
/**
|
|
98
193
|
* 处理运行错误事件
|
|
99
194
|
*/ handleRunErrorEvent(event) {
|
|
195
|
+
// 先把最后一个loading消息标记为complete
|
|
100
196
|
const message = this.messageModule.getCurrentLoadingMessage();
|
|
101
197
|
if (message) {
|
|
102
|
-
message.status = MessageStatus.
|
|
103
|
-
message.content = [
|
|
104
|
-
{
|
|
105
|
-
type: MessageContentType.Text,
|
|
106
|
-
data: event.message,
|
|
107
|
-
status: MessageContentStatus.Error
|
|
108
|
-
}
|
|
109
|
-
];
|
|
198
|
+
message.status = MessageStatus.Complete;
|
|
110
199
|
}
|
|
200
|
+
// 然后创建一个错误消息
|
|
201
|
+
this.messageModule.plusMessage({
|
|
202
|
+
role: MessageRole.Assistant,
|
|
203
|
+
content: event.message,
|
|
204
|
+
status: MessageStatus.Error
|
|
205
|
+
});
|
|
111
206
|
}
|
|
112
207
|
/**
|
|
113
208
|
* 处理运行完成事件
|
|
114
|
-
*/ handleRunFinishedEvent(
|
|
115
|
-
const message = this.messageModule.
|
|
209
|
+
*/ handleRunFinishedEvent(_event) {
|
|
210
|
+
const message = this.messageModule.getCurrentLoadingMessage();
|
|
116
211
|
if (message) {
|
|
117
212
|
message.status = MessageStatus.Complete;
|
|
118
213
|
}
|
|
@@ -120,7 +215,7 @@ let tempTimestamp = 0;
|
|
|
120
215
|
/**
|
|
121
216
|
* 处理运行开始事件
|
|
122
217
|
*/ handleRunStartedEvent(_event) {
|
|
123
|
-
|
|
218
|
+
// 运行开始,可以在这里初始化相关状态
|
|
124
219
|
}
|
|
125
220
|
/**
|
|
126
221
|
* 处理状态增量更新事件
|
|
@@ -136,215 +231,181 @@ let tempTimestamp = 0;
|
|
|
136
231
|
/**
|
|
137
232
|
* 处理步骤完成事件
|
|
138
233
|
*/ handleStepFinishedEvent(_event) {
|
|
139
|
-
// console.log('StepFinished:',
|
|
234
|
+
// console.log('StepFinished:', _event);
|
|
140
235
|
}
|
|
141
236
|
/**
|
|
142
237
|
* 处理步骤开始事件
|
|
143
238
|
*/ handleStepStartedEvent(_event) {
|
|
144
|
-
// console.log('StepStarted:',
|
|
239
|
+
// console.log('StepStarted:', _event);
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* 自定义事件 处理临时消息,转换为 AI 文本消息
|
|
243
|
+
*/ handleTempMessageCustomEvent(event) {
|
|
244
|
+
const value = event.value;
|
|
245
|
+
this.messageModule.plusMessage({
|
|
246
|
+
role: MessageRole.Assistant,
|
|
247
|
+
content: value.message,
|
|
248
|
+
status: value.status
|
|
249
|
+
});
|
|
145
250
|
}
|
|
146
251
|
/**
|
|
147
|
-
*
|
|
252
|
+
* 处理文本消息块事件
|
|
148
253
|
*/ handleTextMessageChunkEvent(event) {
|
|
149
254
|
const message = this.messageModule.getCurrentLoadingMessage();
|
|
150
255
|
if (message) {
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
status: MessageContentStatus.Complete,
|
|
160
|
-
type: MessageContentType.Text,
|
|
161
|
-
data: event.delta
|
|
162
|
-
});
|
|
163
|
-
}
|
|
256
|
+
message.content += event.delta || '';
|
|
257
|
+
} else {
|
|
258
|
+
this.messageModule.plusMessage({
|
|
259
|
+
role: event.role,
|
|
260
|
+
content: event.delta || '',
|
|
261
|
+
status: MessageStatus.Complete,
|
|
262
|
+
messageId: event.messageId
|
|
263
|
+
});
|
|
164
264
|
}
|
|
165
265
|
}
|
|
166
266
|
/**
|
|
167
|
-
*
|
|
267
|
+
* 处理文本消息内容事件(流式输出)
|
|
168
268
|
*/ handleTextMessageContentEvent(event) {
|
|
169
|
-
const message = this.messageModule.
|
|
269
|
+
const message = this.messageModule.getMessageByMessageId(event.messageId);
|
|
170
270
|
if (message) {
|
|
171
|
-
|
|
172
|
-
if (messageContent) {
|
|
173
|
-
messageContent.data += event.delta;
|
|
174
|
-
}
|
|
271
|
+
message.content += event.delta;
|
|
175
272
|
}
|
|
176
273
|
}
|
|
177
274
|
/**
|
|
178
275
|
* 处理文本消息结束事件
|
|
179
276
|
*/ handleTextMessageEndEvent(event) {
|
|
180
|
-
const message = this.messageModule.
|
|
277
|
+
const message = this.messageModule.getMessageByMessageId(event.messageId);
|
|
181
278
|
if (message) {
|
|
182
|
-
|
|
183
|
-
if (messageContent) {
|
|
184
|
-
messageContent.status = MessageContentStatus.Complete;
|
|
185
|
-
}
|
|
279
|
+
message.status = MessageStatus.Complete;
|
|
186
280
|
}
|
|
187
281
|
}
|
|
188
282
|
/**
|
|
189
283
|
* 处理文本消息开始事件
|
|
190
284
|
*/ handleTextMessageStartEvent(event) {
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
data: ''
|
|
198
|
-
});
|
|
199
|
-
}
|
|
285
|
+
this.messageModule.plusMessage({
|
|
286
|
+
role: event.role,
|
|
287
|
+
content: '',
|
|
288
|
+
status: MessageStatus.Streaming,
|
|
289
|
+
messageId: event.messageId
|
|
290
|
+
});
|
|
200
291
|
}
|
|
201
292
|
/**
|
|
202
293
|
* 处理思考结束事件
|
|
203
294
|
*/ handleThinkingEndEvent(event) {
|
|
204
295
|
const message = this.messageModule.getCurrentLoadingMessage();
|
|
205
|
-
if (message && message.role === MessageRole.
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
lastThinkingMessageContent.status = MessageContentStatus.Complete;
|
|
209
|
-
lastThinkingMessageContent.data.duration = event.timestamp - tempTimestamp;
|
|
210
|
-
}
|
|
296
|
+
if (message && message.role === MessageRole.Reasoning) {
|
|
297
|
+
message.duration = event.duration;
|
|
298
|
+
message.status = MessageStatus.Complete;
|
|
211
299
|
}
|
|
212
300
|
}
|
|
213
301
|
/**
|
|
214
302
|
* 处理思考开始事件
|
|
215
|
-
*/ handleThinkingStartEvent(
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
const thinkingMessageContent = {
|
|
222
|
-
status: MessageContentStatus.Streaming,
|
|
223
|
-
type: MessageContentType.Thinking,
|
|
224
|
-
data: {
|
|
225
|
-
text: '',
|
|
226
|
-
title: event.title
|
|
227
|
-
}
|
|
228
|
-
};
|
|
229
|
-
message.content.push(thinkingMessageContent);
|
|
230
|
-
}
|
|
303
|
+
*/ handleThinkingStartEvent(_event) {
|
|
304
|
+
this.messageModule.plusMessage({
|
|
305
|
+
role: MessageRole.Reasoning,
|
|
306
|
+
content: [],
|
|
307
|
+
status: MessageStatus.Streaming
|
|
308
|
+
});
|
|
231
309
|
}
|
|
232
310
|
/**
|
|
233
311
|
* 处理思考文本消息内容事件
|
|
234
312
|
*/ handleThinkingTextMessageContentEvent(event) {
|
|
235
313
|
const message = this.messageModule.getCurrentLoadingMessage();
|
|
236
|
-
if (message && message.role === MessageRole.
|
|
237
|
-
|
|
238
|
-
if (lastThinkingMessageContent) {
|
|
239
|
-
lastThinkingMessageContent.data.text += event.delta;
|
|
240
|
-
}
|
|
314
|
+
if (message && message.role === MessageRole.Reasoning) {
|
|
315
|
+
message.content[message.content.length - 1] += event.delta;
|
|
241
316
|
}
|
|
242
317
|
}
|
|
243
318
|
/**
|
|
244
319
|
* 处理思考文本消息结束事件
|
|
245
320
|
*/ handleThinkingTextMessageEndEvent(_event) {
|
|
246
|
-
// console.log(
|
|
321
|
+
// console.log(_event);
|
|
247
322
|
}
|
|
248
323
|
/**
|
|
249
324
|
* 处理思考文本消息开始事件
|
|
250
325
|
*/ handleThinkingTextMessageStartEvent(_event) {
|
|
251
|
-
|
|
326
|
+
const message = this.messageModule.getCurrentLoadingMessage();
|
|
327
|
+
if (message && message.role === MessageRole.Reasoning) {
|
|
328
|
+
message.content.push('');
|
|
329
|
+
}
|
|
252
330
|
}
|
|
253
331
|
/**
|
|
254
332
|
* 处理工具调用参数事件
|
|
255
333
|
*/ handleToolCallArgsEvent(event) {
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
334
|
+
this.messageModule.list.value.forEach((item)=>{
|
|
335
|
+
if (item.role === MessageRole.Assistant && item.toolCalls) {
|
|
336
|
+
item.toolCalls.forEach((toolCall)=>{
|
|
337
|
+
if (toolCall.id === event.toolCallId) {
|
|
338
|
+
toolCall['function'].arguments += event.delta;
|
|
339
|
+
}
|
|
340
|
+
});
|
|
261
341
|
}
|
|
262
|
-
}
|
|
342
|
+
});
|
|
263
343
|
}
|
|
264
344
|
/**
|
|
265
345
|
* 处理工具调用块事件
|
|
266
|
-
*/ handleToolCallChunkEvent(
|
|
267
|
-
const message = this.messageModule.getCurrentLoadingMessage();
|
|
268
|
-
if (message && message.role === MessageRole.Assistant) {
|
|
269
|
-
const toolCallMessageContent = message.content.find((item)=>item.type === MessageContentType.ToolCall && item.data.toolCallId === event.toolCallId);
|
|
270
|
-
if ((toolCallMessageContent === null || toolCallMessageContent === void 0 ? void 0 : toolCallMessageContent.type) === MessageContentType.ToolCall) {
|
|
271
|
-
toolCallMessageContent.data.chunk += event.delta;
|
|
272
|
-
}
|
|
273
|
-
}
|
|
274
|
-
}
|
|
346
|
+
*/ handleToolCallChunkEvent(_event) {}
|
|
275
347
|
/**
|
|
276
348
|
* 处理工具调用结束事件
|
|
277
349
|
*/ handleToolCallEndEvent(event) {
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
350
|
+
this.messageModule.list.value.forEach((item)=>{
|
|
351
|
+
if (item.role === MessageRole.Assistant && item.toolCalls) {
|
|
352
|
+
if (item.toolCalls.some((toolCall)=>toolCall.id === event.toolCallId)) {
|
|
353
|
+
item.status = MessageStatus.Complete;
|
|
354
|
+
}
|
|
283
355
|
}
|
|
284
|
-
}
|
|
356
|
+
});
|
|
285
357
|
}
|
|
286
358
|
/**
|
|
287
359
|
* 处理工具调用结果事件
|
|
288
360
|
*/ handleToolCallResultEvent(event) {
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
361
|
+
this.messageModule.plusMessage({
|
|
362
|
+
role: MessageRole.Tool,
|
|
363
|
+
content: event.content,
|
|
364
|
+
duration: event.duration,
|
|
365
|
+
status: MessageStatus.Complete,
|
|
366
|
+
toolCallId: event.toolCallId,
|
|
367
|
+
messageId: event.messageId
|
|
368
|
+
});
|
|
296
369
|
}
|
|
297
370
|
/**
|
|
298
371
|
* 处理工具调用开始事件
|
|
299
372
|
*/ handleToolCallStartEvent(event) {
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
373
|
+
this.messageModule.plusMessage({
|
|
374
|
+
role: MessageRole.Assistant,
|
|
375
|
+
content: '',
|
|
376
|
+
status: MessageStatus.Streaming,
|
|
377
|
+
toolCalls: [
|
|
378
|
+
{
|
|
379
|
+
id: event.toolCallId,
|
|
380
|
+
type: MessageType.Function,
|
|
381
|
+
function: {
|
|
382
|
+
mcpName: event.mcpName,
|
|
383
|
+
name: event.toolCallName,
|
|
384
|
+
arguments: '',
|
|
385
|
+
description: event.description
|
|
386
|
+
}
|
|
309
387
|
}
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
}
|
|
388
|
+
]
|
|
389
|
+
});
|
|
313
390
|
}
|
|
314
391
|
injectMessageModule(message) {
|
|
315
392
|
this.messageModule = message;
|
|
316
393
|
}
|
|
317
|
-
injectSessionCode(sessionCode) {
|
|
318
|
-
this.sessionCode = sessionCode;
|
|
319
|
-
}
|
|
320
394
|
onDone() {
|
|
321
395
|
var // 回调给上层
|
|
322
396
|
_this_onDoneCallback, _this;
|
|
323
397
|
(_this_onDoneCallback = (_this = this).onDoneCallback) === null || _this_onDoneCallback === void 0 ? void 0 : _this_onDoneCallback.call(_this);
|
|
324
|
-
// 处理完成
|
|
325
|
-
const message = this.messageModule.getCurrentLoadingMessage();
|
|
326
|
-
if (message) {
|
|
327
|
-
message.status = MessageStatus.Complete;
|
|
328
|
-
}
|
|
329
398
|
}
|
|
330
399
|
onError(error) {
|
|
331
400
|
var // 回调给上层
|
|
332
401
|
_this_onErrorCallback, _this;
|
|
402
|
+
// 创建一个错误消息
|
|
403
|
+
this.messageModule.plusMessage({
|
|
404
|
+
role: MessageRole.Assistant,
|
|
405
|
+
content: error.message,
|
|
406
|
+
status: MessageStatus.Error
|
|
407
|
+
});
|
|
333
408
|
(_this_onErrorCallback = (_this = this).onErrorCallback) === null || _this_onErrorCallback === void 0 ? void 0 : _this_onErrorCallback.call(_this, error);
|
|
334
|
-
// 处理错误
|
|
335
|
-
const message = this.messageModule.getCurrentLoadingMessage();
|
|
336
|
-
if (message) {
|
|
337
|
-
message.status = MessageStatus.Error;
|
|
338
|
-
message.content = [
|
|
339
|
-
{
|
|
340
|
-
type: MessageContentType.Text,
|
|
341
|
-
data: error.message,
|
|
342
|
-
status: MessageContentStatus.Error
|
|
343
|
-
}
|
|
344
|
-
];
|
|
345
|
-
} else {
|
|
346
|
-
this.messageModule.plusLatestMessage(this.sessionCode);
|
|
347
|
-
}
|
|
348
409
|
}
|
|
349
410
|
onMessage(message) {
|
|
350
411
|
var // 回调给上层
|
|
@@ -445,7 +506,6 @@ let tempTimestamp = 0;
|
|
|
445
506
|
_define_property(this, "onErrorCallback", void 0);
|
|
446
507
|
_define_property(this, "onMessageCallback", void 0);
|
|
447
508
|
_define_property(this, "onStartCallback", void 0);
|
|
448
|
-
_define_property(this, "sessionCode", void 0);
|
|
449
509
|
this.onDoneCallback = params === null || params === void 0 ? void 0 : params.onDone;
|
|
450
510
|
this.onErrorCallback = params === null || params === void 0 ? void 0 : params.onError;
|
|
451
511
|
this.onMessageCallback = params === null || params === void 0 ? void 0 : params.onMessage;
|