@tdesign-react/chat 1.0.0-beta.4 → 1.0.1
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/es/_util/reactify.js +1 -1
- package/es/_util/useDynamicStyle.js +1 -1
- package/es/chat-actionbar/index.js +1 -1
- package/es/chat-attachments/index.js +1 -1
- package/es/{chatbot → chat-engine}/components/provider/agent-state.js +1 -1
- package/es/chat-engine/components/provider/agent-state.js.map +1 -0
- package/es/{chatbot → chat-engine}/components/toolcall/index.js +1 -1
- package/es/{chatbot → chat-engine}/components/toolcall/registry.js +1 -1
- package/es/chat-engine/components/toolcall/registry.js.map +1 -0
- package/es/{chatbot → chat-engine}/components/toolcall/render.js +1 -2
- package/es/chat-engine/components/toolcall/render.js.map +1 -0
- package/es/{chatbot → chat-engine}/components/toolcall/types.d.ts +12 -4
- package/es/{chatbot → chat-engine}/components/toolcall/types.js +1 -1
- package/es/chat-engine/components/toolcall/types.js.map +1 -0
- package/es/{chatbot → chat-engine}/hooks/useAgentState.js +1 -1
- package/es/chat-engine/hooks/useAgentState.js.map +1 -0
- package/es/{chatbot → chat-engine}/hooks/useAgentToolcall.js +1 -1
- package/es/chat-engine/hooks/useAgentToolcall.js.map +1 -0
- package/es/{chatbot → chat-engine}/hooks/useChat.d.ts +1 -1
- package/es/{chatbot → chat-engine}/hooks/useChat.js +1 -1
- package/es/chat-engine/hooks/useChat.js.map +1 -0
- package/es/chat-engine/index.d.ts +6 -0
- package/es/chat-engine/index.js +24 -0
- package/es/{chatbot/core/server → chat-engine}/index.js.map +1 -1
- package/es/chat-filecard/index.js +1 -1
- package/es/chat-loading/index.js +1 -1
- package/es/chat-markdown/index.js +1 -1
- package/es/chat-message/index.js +1 -1
- package/es/chat-sender/index.js +1 -1
- package/es/chat-thinking/index.js +1 -1
- package/es/chatbot/index.d.ts +0 -5
- package/es/chatbot/index.js +1 -12
- package/es/chatbot/index.js.map +1 -1
- package/es/index.d.ts +1 -1
- package/es/index.js +10 -9
- package/es/index.js.map +1 -1
- package/es/style/index.js +1 -1
- package/package.json +3 -3
- package/es/chatbot/components/provider/agent-state.js.map +0 -1
- package/es/chatbot/components/toolcall/registry.js.map +0 -1
- package/es/chatbot/components/toolcall/render.js.map +0 -1
- package/es/chatbot/components/toolcall/types.js.map +0 -1
- package/es/chatbot/core/adapters/agui/event-mapper.d.ts +0 -104
- package/es/chatbot/core/adapters/agui/event-mapper.js +0 -342
- package/es/chatbot/core/adapters/agui/event-mapper.js.map +0 -1
- package/es/chatbot/core/adapters/agui/events.d.ts +0 -1394
- package/es/chatbot/core/adapters/agui/events.js +0 -181
- package/es/chatbot/core/adapters/agui/events.js.map +0 -1
- package/es/chatbot/core/adapters/agui/index.d.ts +0 -75
- package/es/chatbot/core/adapters/agui/index.js +0 -165
- package/es/chatbot/core/adapters/agui/index.js.map +0 -1
- package/es/chatbot/core/adapters/agui/state-manager.d.ts +0 -99
- package/es/chatbot/core/adapters/agui/state-manager.js +0 -168
- package/es/chatbot/core/adapters/agui/state-manager.js.map +0 -1
- package/es/chatbot/core/adapters/agui/types.d.ts +0 -760
- package/es/chatbot/core/adapters/agui/types.js +0 -89
- package/es/chatbot/core/adapters/agui/types.js.map +0 -1
- package/es/chatbot/core/adapters/agui/utils.d.ts +0 -188
- package/es/chatbot/core/adapters/agui/utils.js +0 -323
- package/es/chatbot/core/adapters/agui/utils.js.map +0 -1
- package/es/chatbot/core/index.d.ts +0 -131
- package/es/chatbot/core/index.js +0 -585
- package/es/chatbot/core/index.js.map +0 -1
- package/es/chatbot/core/processor/index.d.ts +0 -20
- package/es/chatbot/core/processor/index.js +0 -148
- package/es/chatbot/core/processor/index.js.map +0 -1
- package/es/chatbot/core/server/batch-client.d.ts +0 -20
- package/es/chatbot/core/server/batch-client.js +0 -114
- package/es/chatbot/core/server/batch-client.js.map +0 -1
- package/es/chatbot/core/server/connection-manager.d.ts +0 -39
- package/es/chatbot/core/server/connection-manager.js +0 -84
- package/es/chatbot/core/server/connection-manager.js.map +0 -1
- package/es/chatbot/core/server/errors.d.ts +0 -22
- package/es/chatbot/core/server/errors.js +0 -80
- package/es/chatbot/core/server/errors.js.map +0 -1
- package/es/chatbot/core/server/index.d.ts +0 -11
- package/es/chatbot/core/server/index.js +0 -26
- package/es/chatbot/core/server/llm-service.d.ts +0 -44
- package/es/chatbot/core/server/llm-service.js +0 -198
- package/es/chatbot/core/server/llm-service.js.map +0 -1
- package/es/chatbot/core/server/sse-client.d.ts +0 -77
- package/es/chatbot/core/server/sse-client.js +0 -362
- package/es/chatbot/core/server/sse-client.js.map +0 -1
- package/es/chatbot/core/server/sse-parser.d.ts +0 -49
- package/es/chatbot/core/server/sse-parser.js +0 -116
- package/es/chatbot/core/server/sse-parser.js.map +0 -1
- package/es/chatbot/core/server/types.d.ts +0 -54
- package/es/chatbot/core/server/types.js +0 -28
- package/es/chatbot/core/server/types.js.map +0 -1
- package/es/chatbot/core/store/message.d.ts +0 -27
- package/es/chatbot/core/store/message.js +0 -263
- package/es/chatbot/core/store/message.js.map +0 -1
- package/es/chatbot/core/store/model.d.ts +0 -8
- package/es/chatbot/core/store/model.js +0 -65
- package/es/chatbot/core/store/model.js.map +0 -1
- package/es/chatbot/core/store/reactiveState.d.ts +0 -52
- package/es/chatbot/core/store/reactiveState.js +0 -1359
- package/es/chatbot/core/store/reactiveState.js.map +0 -1
- package/es/chatbot/core/type.d.ts +0 -238
- package/es/chatbot/core/type.js +0 -7
- package/es/chatbot/core/type.js.map +0 -1
- package/es/chatbot/core/utils/eventEmitter.d.ts +0 -10
- package/es/chatbot/core/utils/eventEmitter.js +0 -67
- package/es/chatbot/core/utils/eventEmitter.js.map +0 -1
- package/es/chatbot/core/utils/index.d.ts +0 -31
- package/es/chatbot/core/utils/index.js +0 -221
- package/es/chatbot/core/utils/index.js.map +0 -1
- package/es/chatbot/core/utils/logger.d.ts +0 -30
- package/es/chatbot/core/utils/logger.js +0 -87
- package/es/chatbot/core/utils/logger.js.map +0 -1
- package/es/chatbot/hooks/useAgentState.js.map +0 -1
- package/es/chatbot/hooks/useAgentToolcall.js.map +0 -1
- package/es/chatbot/hooks/useChat.js.map +0 -1
- /package/es/{chatbot → chat-engine}/components/provider/agent-state.d.ts +0 -0
- /package/es/{chatbot → chat-engine}/components/toolcall/index.d.ts +0 -0
- /package/es/{chatbot → chat-engine}/components/toolcall/index.js.map +0 -0
- /package/es/{chatbot → chat-engine}/components/toolcall/registry.d.ts +0 -0
- /package/es/{chatbot → chat-engine}/components/toolcall/render.d.ts +0 -0
- /package/es/{chatbot → chat-engine}/hooks/useAgentState.d.ts +0 -0
- /package/es/{chatbot → chat-engine}/hooks/useAgentToolcall.d.ts +0 -0
package/es/chatbot/core/index.js
DELETED
|
@@ -1,585 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* tdesign v1.0.0-beta.3
|
|
3
|
-
* (c) 2025 tdesign
|
|
4
|
-
* @license MIT
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
8
|
-
import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
|
|
9
|
-
import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
|
|
10
|
-
import _createClass from '@babel/runtime/helpers/createClass';
|
|
11
|
-
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
12
|
-
import _regeneratorRuntime from '@babel/runtime/regenerator';
|
|
13
|
-
import { MessageStore } from './store/message.js';
|
|
14
|
-
import './server/index.js';
|
|
15
|
-
import MessageProcessor from './processor/index.js';
|
|
16
|
-
import { AGUIAdapter } from './adapters/agui/index.js';
|
|
17
|
-
export { AGUIAdapter } from './adapters/agui/index.js';
|
|
18
|
-
import { isAIMessage } from './utils/index.js';
|
|
19
|
-
export { applyJsonPatch, findTargetElement, getMessageContentForCopy, isAIMessage, isAttachmentContent, isImageContent, isMarkdownContent, isSearchContent, isSuggestionContent, isTextContent, isThinkingContent, isToolCallContent, isUserMessage, safeParseJSON } from './utils/index.js';
|
|
20
|
-
import { LLMService } from './server/llm-service.js';
|
|
21
|
-
export { StateManagerImpl, stateManager } from './adapters/agui/state-manager.js';
|
|
22
|
-
import '@babel/runtime/helpers/toConsumableArray';
|
|
23
|
-
import '@babel/runtime/helpers/possibleConstructorReturn';
|
|
24
|
-
import '@babel/runtime/helpers/getPrototypeOf';
|
|
25
|
-
import '@babel/runtime/helpers/get';
|
|
26
|
-
import '@babel/runtime/helpers/inherits';
|
|
27
|
-
import './store/reactiveState.js';
|
|
28
|
-
import '@babel/runtime/helpers/slicedToArray';
|
|
29
|
-
import '@babel/runtime/helpers/wrapNativeSuper';
|
|
30
|
-
import '@babel/runtime/helpers/typeof';
|
|
31
|
-
import './server/types.js';
|
|
32
|
-
import './server/errors.js';
|
|
33
|
-
import './server/connection-manager.js';
|
|
34
|
-
import './utils/logger.js';
|
|
35
|
-
import './server/sse-client.js';
|
|
36
|
-
import './utils/eventEmitter.js';
|
|
37
|
-
import './server/sse-parser.js';
|
|
38
|
-
import './adapters/agui/event-mapper.js';
|
|
39
|
-
import './adapters/agui/events.js';
|
|
40
|
-
import 'zod';
|
|
41
|
-
import './adapters/agui/types.js';
|
|
42
|
-
import './adapters/agui/utils.js';
|
|
43
|
-
import './server/batch-client.js';
|
|
44
|
-
|
|
45
|
-
var _excluded = ["prompt", "attachments"];
|
|
46
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
47
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
48
|
-
var ChatEngine = /*#__PURE__*/function () {
|
|
49
|
-
function ChatEngine() {
|
|
50
|
-
_classCallCheck(this, ChatEngine);
|
|
51
|
-
_defineProperty(this, "stopReceive", false);
|
|
52
|
-
_defineProperty(this, "aguiAdapter", null);
|
|
53
|
-
this.messageProcessor = new MessageProcessor();
|
|
54
|
-
this.messageStore = new MessageStore();
|
|
55
|
-
}
|
|
56
|
-
return _createClass(ChatEngine, [{
|
|
57
|
-
key: "messages",
|
|
58
|
-
get: function get() {
|
|
59
|
-
return this.messageStore.messages;
|
|
60
|
-
}
|
|
61
|
-
}, {
|
|
62
|
-
key: "status",
|
|
63
|
-
get: function get() {
|
|
64
|
-
var _this$messages$at;
|
|
65
|
-
return ((_this$messages$at = this.messages.at(-1)) === null || _this$messages$at === void 0 ? void 0 : _this$messages$at.status) || "idle";
|
|
66
|
-
}
|
|
67
|
-
}, {
|
|
68
|
-
key: "destroy",
|
|
69
|
-
value: function destroy() {
|
|
70
|
-
this.abortChat();
|
|
71
|
-
this.messageStore.clearHistory();
|
|
72
|
-
this.aguiAdapter = null;
|
|
73
|
-
}
|
|
74
|
-
}, {
|
|
75
|
-
key: "init",
|
|
76
|
-
value: function init(configSetter, initialMessages) {
|
|
77
|
-
this.messageStore.initialize(this.convertMessages(initialMessages));
|
|
78
|
-
this.config = typeof configSetter === "function" ? configSetter() : configSetter || {};
|
|
79
|
-
this.llmService = new LLMService();
|
|
80
|
-
if (this.config.protocol === "agui") {
|
|
81
|
-
this.aguiAdapter = new AGUIAdapter();
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
}, {
|
|
85
|
-
key: "sendUserMessage",
|
|
86
|
-
value: function () {
|
|
87
|
-
var _sendUserMessage = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(requestParams) {
|
|
88
|
-
var prompt, attachments, customParams, hasValidPrompt, hasValidAttachments, userMessage, aiMessage, params;
|
|
89
|
-
return _regeneratorRuntime.wrap(function (_context) {
|
|
90
|
-
while (1) switch (_context.prev = _context.next) {
|
|
91
|
-
case 0:
|
|
92
|
-
prompt = requestParams.prompt, attachments = requestParams.attachments, customParams = _objectWithoutProperties(requestParams, _excluded);
|
|
93
|
-
hasValidPrompt = prompt && prompt.trim() !== "";
|
|
94
|
-
hasValidAttachments = Array.isArray(attachments) && attachments.length > 0;
|
|
95
|
-
if (!(!hasValidPrompt && !hasValidAttachments)) {
|
|
96
|
-
_context.next = 1;
|
|
97
|
-
break;
|
|
98
|
-
}
|
|
99
|
-
console.warn("[ChatEngine] sendUserMessage: \u5FC5\u987B\u63D0\u4F9B\u6709\u6548\u7684prompt\u6216attachments");
|
|
100
|
-
return _context.abrupt("return");
|
|
101
|
-
case 1:
|
|
102
|
-
userMessage = this.messageProcessor.createUserMessage(prompt, attachments);
|
|
103
|
-
aiMessage = this.messageProcessor.createAssistantMessage();
|
|
104
|
-
this.messageStore.createMultiMessages([userMessage, aiMessage]);
|
|
105
|
-
params = _objectSpread(_objectSpread({}, requestParams), {}, {
|
|
106
|
-
messageID: aiMessage.id
|
|
107
|
-
}, customParams);
|
|
108
|
-
this.sendRequest(params);
|
|
109
|
-
case 2:
|
|
110
|
-
case "end":
|
|
111
|
-
return _context.stop();
|
|
112
|
-
}
|
|
113
|
-
}, _callee, this);
|
|
114
|
-
}));
|
|
115
|
-
function sendUserMessage(_x) {
|
|
116
|
-
return _sendUserMessage.apply(this, arguments);
|
|
117
|
-
}
|
|
118
|
-
return sendUserMessage;
|
|
119
|
-
}()
|
|
120
|
-
}, {
|
|
121
|
-
key: "sendSystemMessage",
|
|
122
|
-
value: function () {
|
|
123
|
-
var _sendSystemMessage = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(msg) {
|
|
124
|
-
return _regeneratorRuntime.wrap(function (_context2) {
|
|
125
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
126
|
-
case 0:
|
|
127
|
-
this.messageStore.createMessage({
|
|
128
|
-
role: "system",
|
|
129
|
-
content: [{
|
|
130
|
-
type: "text",
|
|
131
|
-
data: msg
|
|
132
|
-
}]
|
|
133
|
-
});
|
|
134
|
-
case 1:
|
|
135
|
-
case "end":
|
|
136
|
-
return _context2.stop();
|
|
137
|
-
}
|
|
138
|
-
}, _callee2, this);
|
|
139
|
-
}));
|
|
140
|
-
function sendSystemMessage(_x2) {
|
|
141
|
-
return _sendSystemMessage.apply(this, arguments);
|
|
142
|
-
}
|
|
143
|
-
return sendSystemMessage;
|
|
144
|
-
}()
|
|
145
|
-
}, {
|
|
146
|
-
key: "sendAIMessage",
|
|
147
|
-
value: function () {
|
|
148
|
-
var _sendAIMessage = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
|
|
149
|
-
var options,
|
|
150
|
-
_options$params,
|
|
151
|
-
params,
|
|
152
|
-
content,
|
|
153
|
-
_options$sendRequest,
|
|
154
|
-
sendRequest,
|
|
155
|
-
newAIMessage,
|
|
156
|
-
_args3 = arguments;
|
|
157
|
-
return _regeneratorRuntime.wrap(function (_context3) {
|
|
158
|
-
while (1) switch (_context3.prev = _context3.next) {
|
|
159
|
-
case 0:
|
|
160
|
-
options = _args3.length > 0 && _args3[0] !== undefined ? _args3[0] : {};
|
|
161
|
-
_options$params = options.params, params = _options$params === void 0 ? {} : _options$params, content = options.content, _options$sendRequest = options.sendRequest, sendRequest = _options$sendRequest === void 0 ? true : _options$sendRequest;
|
|
162
|
-
newAIMessage = this.messageProcessor.createAssistantMessage({
|
|
163
|
-
content: content,
|
|
164
|
-
status: sendRequest ? "pending" : "complete"
|
|
165
|
-
});
|
|
166
|
-
this.messageStore.createMessage(newAIMessage);
|
|
167
|
-
if (!sendRequest) {
|
|
168
|
-
_context3.next = 1;
|
|
169
|
-
break;
|
|
170
|
-
}
|
|
171
|
-
params.messageID = newAIMessage.id;
|
|
172
|
-
_context3.next = 1;
|
|
173
|
-
return this.sendRequest(params);
|
|
174
|
-
case 1:
|
|
175
|
-
case "end":
|
|
176
|
-
return _context3.stop();
|
|
177
|
-
}
|
|
178
|
-
}, _callee3, this);
|
|
179
|
-
}));
|
|
180
|
-
function sendAIMessage() {
|
|
181
|
-
return _sendAIMessage.apply(this, arguments);
|
|
182
|
-
}
|
|
183
|
-
return sendAIMessage;
|
|
184
|
-
}()
|
|
185
|
-
}, {
|
|
186
|
-
key: "abortChat",
|
|
187
|
-
value: function () {
|
|
188
|
-
var _abortChat = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {
|
|
189
|
-
var _this$config;
|
|
190
|
-
var _this$messageStore$la;
|
|
191
|
-
return _regeneratorRuntime.wrap(function (_context4) {
|
|
192
|
-
while (1) switch (_context4.prev = _context4.next) {
|
|
193
|
-
case 0:
|
|
194
|
-
this.stopReceive = true;
|
|
195
|
-
if (!((_this$config = this.config) !== null && _this$config !== void 0 && _this$config.onAbort)) {
|
|
196
|
-
_context4.next = 1;
|
|
197
|
-
break;
|
|
198
|
-
}
|
|
199
|
-
_context4.next = 1;
|
|
200
|
-
return this.config.onAbort();
|
|
201
|
-
case 1:
|
|
202
|
-
try {
|
|
203
|
-
this.llmService.closeConnect();
|
|
204
|
-
if (!this.config.stream) {
|
|
205
|
-
if ((_this$messageStore$la = this.messageStore.lastAIMessage) !== null && _this$messageStore$la !== void 0 && _this$messageStore$la.id) {
|
|
206
|
-
this.messageStore.removeMessage(this.messageStore.lastAIMessage.id);
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
} catch (error) {
|
|
210
|
-
console.warn("Error during service cleanup:", error);
|
|
211
|
-
}
|
|
212
|
-
case 2:
|
|
213
|
-
case "end":
|
|
214
|
-
return _context4.stop();
|
|
215
|
-
}
|
|
216
|
-
}, _callee4, this);
|
|
217
|
-
}));
|
|
218
|
-
function abortChat() {
|
|
219
|
-
return _abortChat.apply(this, arguments);
|
|
220
|
-
}
|
|
221
|
-
return abortChat;
|
|
222
|
-
}()
|
|
223
|
-
}, {
|
|
224
|
-
key: "registerMergeStrategy",
|
|
225
|
-
value: function registerMergeStrategy(type, handler) {
|
|
226
|
-
this.messageProcessor.registerHandler(type, handler);
|
|
227
|
-
}
|
|
228
|
-
}, {
|
|
229
|
-
key: "setMessages",
|
|
230
|
-
value: function setMessages(messages) {
|
|
231
|
-
var mode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "replace";
|
|
232
|
-
this.messageStore.setMessages(messages, mode);
|
|
233
|
-
}
|
|
234
|
-
}, {
|
|
235
|
-
key: "clearMessages",
|
|
236
|
-
value: function clearMessages() {
|
|
237
|
-
this.messageStore.clearHistory();
|
|
238
|
-
}
|
|
239
|
-
}, {
|
|
240
|
-
key: "regenerateAIMessage",
|
|
241
|
-
value: function () {
|
|
242
|
-
var _regenerateAIMessage = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee5() {
|
|
243
|
-
var _this$lastRequestPara, _this$lastRequestPara2;
|
|
244
|
-
var keepVersion,
|
|
245
|
-
lastAIMessage,
|
|
246
|
-
newAIMessage,
|
|
247
|
-
params,
|
|
248
|
-
_args5 = arguments;
|
|
249
|
-
return _regeneratorRuntime.wrap(function (_context5) {
|
|
250
|
-
while (1) switch (_context5.prev = _context5.next) {
|
|
251
|
-
case 0:
|
|
252
|
-
keepVersion = _args5.length > 0 && _args5[0] !== undefined ? _args5[0] : false;
|
|
253
|
-
lastAIMessage = this.messageStore.lastAIMessage;
|
|
254
|
-
if (lastAIMessage) {
|
|
255
|
-
_context5.next = 1;
|
|
256
|
-
break;
|
|
257
|
-
}
|
|
258
|
-
return _context5.abrupt("return");
|
|
259
|
-
case 1:
|
|
260
|
-
if (!keepVersion) {
|
|
261
|
-
this.messageStore.removeMessage(lastAIMessage.id);
|
|
262
|
-
} else {
|
|
263
|
-
this.messageStore.createMessageBranch(lastAIMessage.id);
|
|
264
|
-
}
|
|
265
|
-
newAIMessage = this.messageProcessor.createAssistantMessage();
|
|
266
|
-
this.messageStore.createMessage(newAIMessage);
|
|
267
|
-
params = _objectSpread(_objectSpread({}, this.lastRequestParams || {}), {}, {
|
|
268
|
-
messageID: newAIMessage.id,
|
|
269
|
-
prompt: (_this$lastRequestPara = (_this$lastRequestPara2 = this.lastRequestParams) === null || _this$lastRequestPara2 === void 0 ? void 0 : _this$lastRequestPara2.prompt) !== null && _this$lastRequestPara !== void 0 ? _this$lastRequestPara : ""
|
|
270
|
-
});
|
|
271
|
-
_context5.next = 2;
|
|
272
|
-
return this.sendRequest(params);
|
|
273
|
-
case 2:
|
|
274
|
-
case "end":
|
|
275
|
-
return _context5.stop();
|
|
276
|
-
}
|
|
277
|
-
}, _callee5, this);
|
|
278
|
-
}));
|
|
279
|
-
function regenerateAIMessage() {
|
|
280
|
-
return _regenerateAIMessage.apply(this, arguments);
|
|
281
|
-
}
|
|
282
|
-
return regenerateAIMessage;
|
|
283
|
-
}()
|
|
284
|
-
}, {
|
|
285
|
-
key: "sendRequest",
|
|
286
|
-
value: function () {
|
|
287
|
-
var _sendRequest = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee6(params) {
|
|
288
|
-
var id, _t;
|
|
289
|
-
return _regeneratorRuntime.wrap(function (_context6) {
|
|
290
|
-
while (1) switch (_context6.prev = _context6.next) {
|
|
291
|
-
case 0:
|
|
292
|
-
id = params.messageID;
|
|
293
|
-
_context6.prev = 1;
|
|
294
|
-
if (!this.config.stream) {
|
|
295
|
-
_context6.next = 3;
|
|
296
|
-
break;
|
|
297
|
-
}
|
|
298
|
-
this.stopReceive = false;
|
|
299
|
-
_context6.next = 2;
|
|
300
|
-
return this.handleStreamRequest(params);
|
|
301
|
-
case 2:
|
|
302
|
-
_context6.next = 4;
|
|
303
|
-
break;
|
|
304
|
-
case 3:
|
|
305
|
-
_context6.next = 4;
|
|
306
|
-
return this.handleBatchRequest(params);
|
|
307
|
-
case 4:
|
|
308
|
-
this.lastRequestParams = params;
|
|
309
|
-
_context6.next = 6;
|
|
310
|
-
break;
|
|
311
|
-
case 5:
|
|
312
|
-
_context6.prev = 5;
|
|
313
|
-
_t = _context6["catch"](1);
|
|
314
|
-
this.setMessageStatus(id, "error");
|
|
315
|
-
throw _t;
|
|
316
|
-
case 6:
|
|
317
|
-
case "end":
|
|
318
|
-
return _context6.stop();
|
|
319
|
-
}
|
|
320
|
-
}, _callee6, this, [[1, 5]]);
|
|
321
|
-
}));
|
|
322
|
-
function sendRequest(_x3) {
|
|
323
|
-
return _sendRequest.apply(this, arguments);
|
|
324
|
-
}
|
|
325
|
-
return sendRequest;
|
|
326
|
-
}()
|
|
327
|
-
}, {
|
|
328
|
-
key: "getToolcallByName",
|
|
329
|
-
value: function getToolcallByName(name) {
|
|
330
|
-
var _this$aguiAdapter;
|
|
331
|
-
return (_this$aguiAdapter = this.aguiAdapter) === null || _this$aguiAdapter === void 0 ? void 0 : _this$aguiAdapter.getToolcallByName(name);
|
|
332
|
-
}
|
|
333
|
-
}, {
|
|
334
|
-
key: "handleBatchRequest",
|
|
335
|
-
value: function () {
|
|
336
|
-
var _handleBatchRequest = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee7(params) {
|
|
337
|
-
var id, result;
|
|
338
|
-
return _regeneratorRuntime.wrap(function (_context7) {
|
|
339
|
-
while (1) switch (_context7.prev = _context7.next) {
|
|
340
|
-
case 0:
|
|
341
|
-
id = params.messageID;
|
|
342
|
-
if (id) {
|
|
343
|
-
_context7.next = 1;
|
|
344
|
-
break;
|
|
345
|
-
}
|
|
346
|
-
return _context7.abrupt("return");
|
|
347
|
-
case 1:
|
|
348
|
-
this.setMessageStatus(id, "pending");
|
|
349
|
-
_context7.next = 2;
|
|
350
|
-
return this.llmService.handleBatchRequest(params, this.config);
|
|
351
|
-
case 2:
|
|
352
|
-
result = _context7.sent;
|
|
353
|
-
if (result) {
|
|
354
|
-
this.processMessageResult(id, result);
|
|
355
|
-
this.setMessageStatus(id, "complete");
|
|
356
|
-
} else {
|
|
357
|
-
this.setMessageStatus(id, "error");
|
|
358
|
-
}
|
|
359
|
-
case 3:
|
|
360
|
-
case "end":
|
|
361
|
-
return _context7.stop();
|
|
362
|
-
}
|
|
363
|
-
}, _callee7, this);
|
|
364
|
-
}));
|
|
365
|
-
function handleBatchRequest(_x4) {
|
|
366
|
-
return _handleBatchRequest.apply(this, arguments);
|
|
367
|
-
}
|
|
368
|
-
return handleBatchRequest;
|
|
369
|
-
}()
|
|
370
|
-
}, {
|
|
371
|
-
key: "handleError",
|
|
372
|
-
value: function handleError(id, error) {
|
|
373
|
-
var _this$config$onError, _this$config2;
|
|
374
|
-
this.setMessageStatus(id, "error");
|
|
375
|
-
(_this$config$onError = (_this$config2 = this.config).onError) === null || _this$config$onError === void 0 || _this$config$onError.call(_this$config2, error);
|
|
376
|
-
}
|
|
377
|
-
}, {
|
|
378
|
-
key: "handleComplete",
|
|
379
|
-
value: function handleComplete(id, isAborted, params, chunk) {
|
|
380
|
-
var _this$config$onComple, _this$config3;
|
|
381
|
-
var customResult = (_this$config$onComple = (_this$config3 = this.config).onComplete) === null || _this$config$onComple === void 0 ? void 0 : _this$config$onComple.call(_this$config3, isAborted, params, chunk);
|
|
382
|
-
if (Array.isArray(customResult) || customResult && "status" in customResult) {
|
|
383
|
-
this.processMessageResult(id, customResult);
|
|
384
|
-
} else {
|
|
385
|
-
var allContentFailed = this.messageStore.messages.every(function (content) {
|
|
386
|
-
return content.status === "error";
|
|
387
|
-
});
|
|
388
|
-
this.setMessageStatus(id, isAborted ? "stop" : allContentFailed ? "error" : "complete");
|
|
389
|
-
}
|
|
390
|
-
}
|
|
391
|
-
}, {
|
|
392
|
-
key: "handleStreamRequest",
|
|
393
|
-
value: function () {
|
|
394
|
-
var _handleStreamRequest = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee8(params) {
|
|
395
|
-
var id, isAGUI;
|
|
396
|
-
return _regeneratorRuntime.wrap(function (_context8) {
|
|
397
|
-
while (1) switch (_context8.prev = _context8.next) {
|
|
398
|
-
case 0:
|
|
399
|
-
id = params.messageID;
|
|
400
|
-
isAGUI = this.config.protocol === "agui";
|
|
401
|
-
if (id) {
|
|
402
|
-
this.setMessageStatus(id, "streaming");
|
|
403
|
-
}
|
|
404
|
-
if (!(isAGUI && this.aguiAdapter)) {
|
|
405
|
-
_context8.next = 2;
|
|
406
|
-
break;
|
|
407
|
-
}
|
|
408
|
-
_context8.next = 1;
|
|
409
|
-
return this.handleAGUIStreamRequest(params, id);
|
|
410
|
-
case 1:
|
|
411
|
-
_context8.next = 3;
|
|
412
|
-
break;
|
|
413
|
-
case 2:
|
|
414
|
-
_context8.next = 3;
|
|
415
|
-
return this.handleDefaultStreamRequest(params, id);
|
|
416
|
-
case 3:
|
|
417
|
-
case "end":
|
|
418
|
-
return _context8.stop();
|
|
419
|
-
}
|
|
420
|
-
}, _callee8, this);
|
|
421
|
-
}));
|
|
422
|
-
function handleStreamRequest(_x5) {
|
|
423
|
-
return _handleStreamRequest.apply(this, arguments);
|
|
424
|
-
}
|
|
425
|
-
return handleStreamRequest;
|
|
426
|
-
}()
|
|
427
|
-
}, {
|
|
428
|
-
key: "handleAGUIStreamRequest",
|
|
429
|
-
value: function () {
|
|
430
|
-
var _handleAGUIStreamRequest = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee9(params, messageId) {
|
|
431
|
-
var _this = this;
|
|
432
|
-
return _regeneratorRuntime.wrap(function (_context9) {
|
|
433
|
-
while (1) switch (_context9.prev = _context9.next) {
|
|
434
|
-
case 0:
|
|
435
|
-
_context9.next = 1;
|
|
436
|
-
return this.llmService.handleStreamRequest(params, _objectSpread(_objectSpread({}, this.config), {}, {
|
|
437
|
-
onMessage: function onMessage(chunk) {
|
|
438
|
-
if (_this.stopReceive || !messageId) return null;
|
|
439
|
-
var result;
|
|
440
|
-
if (_this.aguiAdapter) {
|
|
441
|
-
result = _this.aguiAdapter.handleAGUIEvent(chunk, {
|
|
442
|
-
onRunStart: function onRunStart(event) {
|
|
443
|
-
var _this$config$onStart, _this$config4;
|
|
444
|
-
return (_this$config$onStart = (_this$config4 = _this.config).onStart) === null || _this$config$onStart === void 0 ? void 0 : _this$config$onStart.call(_this$config4, JSON.stringify(event));
|
|
445
|
-
},
|
|
446
|
-
onRunComplete: function onRunComplete(isAborted, params2, event) {
|
|
447
|
-
return _this.handleComplete(messageId, isAborted, params2, event);
|
|
448
|
-
},
|
|
449
|
-
onRunError: function onRunError(error) {
|
|
450
|
-
return _this.handleError(messageId, error);
|
|
451
|
-
}
|
|
452
|
-
});
|
|
453
|
-
}
|
|
454
|
-
if (_this.config.onMessage) {
|
|
455
|
-
var userResult = _this.config.onMessage(chunk, _this.messageStore.getMessageByID(messageId), result);
|
|
456
|
-
if (userResult) {
|
|
457
|
-
result = userResult;
|
|
458
|
-
}
|
|
459
|
-
}
|
|
460
|
-
_this.processMessageResult(messageId, result);
|
|
461
|
-
return result;
|
|
462
|
-
},
|
|
463
|
-
onError: function onError(error) {
|
|
464
|
-
if (messageId) _this.handleError(messageId, error);
|
|
465
|
-
},
|
|
466
|
-
onComplete: function onComplete(isAborted) {
|
|
467
|
-
if (isAborted && messageId) {
|
|
468
|
-
_this.handleComplete(messageId, isAborted, params);
|
|
469
|
-
}
|
|
470
|
-
}
|
|
471
|
-
}));
|
|
472
|
-
case 1:
|
|
473
|
-
case "end":
|
|
474
|
-
return _context9.stop();
|
|
475
|
-
}
|
|
476
|
-
}, _callee9, this);
|
|
477
|
-
}));
|
|
478
|
-
function handleAGUIStreamRequest(_x6, _x7) {
|
|
479
|
-
return _handleAGUIStreamRequest.apply(this, arguments);
|
|
480
|
-
}
|
|
481
|
-
return handleAGUIStreamRequest;
|
|
482
|
-
}()
|
|
483
|
-
}, {
|
|
484
|
-
key: "handleDefaultStreamRequest",
|
|
485
|
-
value: function () {
|
|
486
|
-
var _handleDefaultStreamRequest = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee0(params, messageId) {
|
|
487
|
-
var _this2 = this;
|
|
488
|
-
return _regeneratorRuntime.wrap(function (_context0) {
|
|
489
|
-
while (1) switch (_context0.prev = _context0.next) {
|
|
490
|
-
case 0:
|
|
491
|
-
_context0.next = 1;
|
|
492
|
-
return this.llmService.handleStreamRequest(params, _objectSpread(_objectSpread({}, this.config), {}, {
|
|
493
|
-
onStart: function onStart(chunk) {
|
|
494
|
-
var _this2$config$onStart, _this2$config;
|
|
495
|
-
(_this2$config$onStart = (_this2$config = _this2.config).onStart) === null || _this2$config$onStart === void 0 || _this2$config$onStart.call(_this2$config, chunk);
|
|
496
|
-
},
|
|
497
|
-
onMessage: function onMessage(chunk) {
|
|
498
|
-
if (_this2.stopReceive || !messageId) return null;
|
|
499
|
-
var result = null;
|
|
500
|
-
if (_this2.config.onMessage) {
|
|
501
|
-
result = _this2.config.onMessage(chunk, _this2.messageStore.getMessageByID(messageId));
|
|
502
|
-
}
|
|
503
|
-
_this2.processMessageResult(messageId, result);
|
|
504
|
-
return result;
|
|
505
|
-
},
|
|
506
|
-
onError: function onError(error) {
|
|
507
|
-
if (messageId) _this2.handleError(messageId, error);
|
|
508
|
-
},
|
|
509
|
-
onComplete: function onComplete(isAborted) {
|
|
510
|
-
if (messageId) {
|
|
511
|
-
_this2.handleComplete(messageId, isAborted, params);
|
|
512
|
-
}
|
|
513
|
-
}
|
|
514
|
-
}));
|
|
515
|
-
case 1:
|
|
516
|
-
case "end":
|
|
517
|
-
return _context0.stop();
|
|
518
|
-
}
|
|
519
|
-
}, _callee0, this);
|
|
520
|
-
}));
|
|
521
|
-
function handleDefaultStreamRequest(_x8, _x9) {
|
|
522
|
-
return _handleDefaultStreamRequest.apply(this, arguments);
|
|
523
|
-
}
|
|
524
|
-
return handleDefaultStreamRequest;
|
|
525
|
-
}()
|
|
526
|
-
}, {
|
|
527
|
-
key: "processMessageResult",
|
|
528
|
-
value: function processMessageResult(messageId, result) {
|
|
529
|
-
if (!result) return;
|
|
530
|
-
if (Array.isArray(result)) {
|
|
531
|
-
this.messageStore.updateMultipleContents(messageId, result);
|
|
532
|
-
} else {
|
|
533
|
-
this.processContentUpdate(messageId, result);
|
|
534
|
-
}
|
|
535
|
-
}
|
|
536
|
-
}, {
|
|
537
|
-
key: "convertMessages",
|
|
538
|
-
value: function convertMessages(messages) {
|
|
539
|
-
if (!messages) return {
|
|
540
|
-
messageIds: [],
|
|
541
|
-
messages: []
|
|
542
|
-
};
|
|
543
|
-
return {
|
|
544
|
-
messageIds: messages.map(function (msg) {
|
|
545
|
-
return msg.id;
|
|
546
|
-
}),
|
|
547
|
-
messages: messages
|
|
548
|
-
};
|
|
549
|
-
}
|
|
550
|
-
}, {
|
|
551
|
-
key: "setMessageStatus",
|
|
552
|
-
value: function setMessageStatus(messageId, status) {
|
|
553
|
-
this.messageStore.setMessageStatus(messageId, status);
|
|
554
|
-
}
|
|
555
|
-
}, {
|
|
556
|
-
key: "processContentUpdate",
|
|
557
|
-
value: function processContentUpdate(messageId, rawChunk) {
|
|
558
|
-
var message = this.messageStore.messages.find(function (m) {
|
|
559
|
-
return m.id === messageId;
|
|
560
|
-
});
|
|
561
|
-
if (!message || !isAIMessage(message) || !message.content) return;
|
|
562
|
-
var targetIndex;
|
|
563
|
-
if ((rawChunk === null || rawChunk === void 0 ? void 0 : rawChunk.strategy) === "append") {
|
|
564
|
-
targetIndex = -1;
|
|
565
|
-
} else {
|
|
566
|
-
targetIndex = message.content.findIndex(function (content) {
|
|
567
|
-
return content.type === rawChunk.type;
|
|
568
|
-
});
|
|
569
|
-
if (targetIndex !== -1) {
|
|
570
|
-
for (var i = message.content.length - 1; i >= 0; i--) {
|
|
571
|
-
if (message.content[i].type === rawChunk.type) {
|
|
572
|
-
targetIndex = i;
|
|
573
|
-
break;
|
|
574
|
-
}
|
|
575
|
-
}
|
|
576
|
-
}
|
|
577
|
-
}
|
|
578
|
-
var processed = this.messageProcessor.processContentUpdate(targetIndex !== -1 ? message.content[targetIndex] : void 0, rawChunk);
|
|
579
|
-
this.messageStore.appendContent(messageId, processed, targetIndex);
|
|
580
|
-
}
|
|
581
|
-
}]);
|
|
582
|
-
}();
|
|
583
|
-
|
|
584
|
-
export { ChatEngine as default };
|
|
585
|
-
//# sourceMappingURL=index.js.map
|