@ai-group/chat-sdk 2.1.1 → 2.1.4
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/cjs/components/XAdkChatbot/components/FunctionCallRender/index.d.ts +2 -2
- package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/index.js +3 -4
- package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/index.js.map +2 -2
- package/dist/cjs/components/XAdkChatbot/index.js +66 -99
- package/dist/cjs/components/XAdkChatbot/index.js.map +3 -3
- package/dist/cjs/components/XAdkSender/XAdkSender.stories.d.ts +6 -0
- package/dist/cjs/components/XAdkSender/XAdkSender.stories.js +119 -0
- package/dist/cjs/components/XAdkSender/XAdkSender.stories.js.map +7 -0
- package/dist/cjs/components/XAdkSender/index.d.ts +4 -0
- package/dist/cjs/components/XAdkSender/index.js +430 -0
- package/dist/cjs/components/XAdkSender/index.js.map +7 -0
- package/dist/cjs/components/XAdkSender/styles.d.ts +56 -0
- package/dist/cjs/components/XAdkSender/styles.js +340 -0
- package/dist/cjs/components/XAdkSender/styles.js.map +7 -0
- package/dist/cjs/components/XAdkWebProvider/XAdkWebProvider.stories.js +5 -5
- package/dist/cjs/components/XAdkWebProvider/XAdkWebProvider.stories.js.map +2 -2
- package/dist/cjs/components/XAdkWebProvider/index.js +12 -6
- package/dist/cjs/components/XAdkWebProvider/index.js.map +2 -2
- package/dist/cjs/components/XAiConversations/index.js +1 -1
- package/dist/cjs/components/XAiConversations/index.js.map +2 -2
- package/dist/cjs/components/XAiConversations/styles.d.ts +1 -0
- package/dist/cjs/components/XAiConversations/styles.js +3 -0
- package/dist/cjs/components/XAiConversations/styles.js.map +2 -2
- package/dist/cjs/components/XAiSender/XAiSender.stories.js +1 -1
- package/dist/cjs/components/XAiSender/XAiSender.stories.js.map +2 -2
- package/dist/cjs/components/XAiSender/index.js +17 -35
- package/dist/cjs/components/XAiSender/index.js.map +2 -2
- package/dist/cjs/hooks/useADKChat.d.ts +7 -16
- package/dist/cjs/hooks/useADKChat.js +115 -32
- package/dist/cjs/hooks/useADKChat.js.map +2 -2
- package/dist/cjs/hooks/useAgentGenerator.js +1 -1
- package/dist/cjs/hooks/useAgentGenerator.js.map +2 -2
- package/dist/cjs/services/api.d.ts +5 -5
- package/dist/cjs/services/api.js +6 -9
- package/dist/cjs/services/api.js.map +2 -2
- package/dist/cjs/types/XAdkChatbot.d.ts +21 -3
- package/dist/cjs/types/XAdkChatbot.js.map +1 -1
- package/dist/cjs/types/XAdkProvider.d.ts +35 -9
- package/dist/cjs/types/XAdkProvider.js.map +1 -1
- package/dist/cjs/types/XAdkSender.d.ts +49 -0
- package/dist/cjs/types/XAdkSender.js +18 -0
- package/dist/cjs/types/XAdkSender.js.map +7 -0
- package/dist/cjs/types/XAiProvider.d.ts +1 -28
- package/dist/cjs/types/XAiProvider.js.map +2 -2
- package/dist/cjs/types/XAiSender.d.ts +2 -0
- package/dist/cjs/types/XAiSender.js.map +1 -1
- package/dist/cjs/types/common.d.ts +6 -0
- package/dist/cjs/types/common.js +18 -0
- package/dist/cjs/types/common.js.map +7 -0
- package/dist/cjs/types/index.d.ts +2 -0
- package/dist/cjs/types/index.js +5 -1
- package/dist/cjs/types/index.js.map +2 -2
- package/dist/cjs/utils/chat.d.ts +1 -1
- package/dist/cjs/utils/umdEntry.d.ts +9 -9
- package/dist/cjs/utils/umdEntry.js +1 -0
- package/dist/cjs/utils/umdEntry.js.map +2 -2
- package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/index.d.ts +2 -2
- package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/index.js +3 -3
- package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/index.js.map +1 -1
- package/dist/esm/components/XAdkChatbot/index.js +80 -126
- package/dist/esm/components/XAdkChatbot/index.js.map +1 -1
- package/dist/esm/components/XAdkSender/XAdkSender.stories.d.ts +6 -0
- package/dist/esm/components/XAdkSender/XAdkSender.stories.js +126 -0
- package/dist/esm/components/XAdkSender/XAdkSender.stories.js.map +1 -0
- package/dist/esm/components/XAdkSender/index.d.ts +4 -0
- package/dist/esm/components/XAdkSender/index.js +589 -0
- package/dist/esm/components/XAdkSender/index.js.map +1 -0
- package/dist/esm/components/XAdkSender/styles.d.ts +56 -0
- package/dist/esm/components/XAdkSender/styles.js +50 -0
- package/dist/esm/components/XAdkSender/styles.js.map +1 -0
- package/dist/esm/components/XAdkWebProvider/XAdkWebProvider.stories.js +10 -11
- package/dist/esm/components/XAdkWebProvider/XAdkWebProvider.stories.js.map +1 -1
- package/dist/esm/components/XAdkWebProvider/index.js +25 -10
- package/dist/esm/components/XAdkWebProvider/index.js.map +1 -1
- package/dist/esm/components/XAiConversations/index.js +1 -0
- package/dist/esm/components/XAiConversations/index.js.map +1 -1
- package/dist/esm/components/XAiConversations/styles.d.ts +1 -0
- package/dist/esm/components/XAiConversations/styles.js +15 -14
- package/dist/esm/components/XAiConversations/styles.js.map +1 -1
- package/dist/esm/components/XAiSender/XAiSender.stories.js +1 -1
- package/dist/esm/components/XAiSender/XAiSender.stories.js.map +1 -1
- package/dist/esm/components/XAiSender/index.js +16 -22
- package/dist/esm/components/XAiSender/index.js.map +1 -1
- package/dist/esm/hooks/useADKChat.d.ts +7 -16
- package/dist/esm/hooks/useADKChat.js +212 -88
- package/dist/esm/hooks/useADKChat.js.map +1 -1
- package/dist/esm/hooks/useAgentGenerator.js +1 -1
- package/dist/esm/hooks/useAgentGenerator.js.map +1 -1
- package/dist/esm/services/api.d.ts +5 -5
- package/dist/esm/services/api.js +8 -11
- package/dist/esm/services/api.js.map +1 -1
- package/dist/esm/types/XAdkChatbot.d.ts +21 -3
- package/dist/esm/types/XAdkChatbot.js.map +1 -1
- package/dist/esm/types/XAdkProvider.d.ts +35 -9
- package/dist/esm/types/XAdkProvider.js.map +1 -1
- package/dist/esm/types/XAdkSender.d.ts +49 -0
- package/dist/esm/types/XAdkSender.js +2 -0
- package/dist/esm/types/XAdkSender.js.map +1 -0
- package/dist/esm/types/XAiProvider.d.ts +1 -28
- package/dist/esm/types/XAiProvider.js +0 -7
- package/dist/esm/types/XAiProvider.js.map +1 -1
- package/dist/esm/types/XAiSender.d.ts +2 -0
- package/dist/esm/types/XAiSender.js.map +1 -1
- package/dist/esm/types/common.d.ts +6 -0
- package/dist/esm/types/common.js +2 -0
- package/dist/esm/types/common.js.map +1 -0
- package/dist/esm/types/index.d.ts +2 -0
- package/dist/esm/types/index.js +2 -0
- package/dist/esm/types/index.js.map +1 -1
- package/dist/esm/utils/chat.d.ts +1 -1
- package/dist/esm/utils/chat.js +4 -4
- package/dist/esm/utils/chat.js.map +1 -1
- package/dist/esm/utils/umdEntry.d.ts +9 -9
- package/dist/esm/utils/umdEntry.js +1 -1
- package/dist/esm/utils/umdEntry.js.map +1 -1
- package/dist/umd/chat-sdk.min.js +1 -1
- package/package.json +1 -1
|
@@ -9,7 +9,7 @@ import { fetchEventSource, EventStreamContentType } from '@microsoft/fetch-event
|
|
|
9
9
|
import { message } from 'antd';
|
|
10
10
|
import { v4 } from 'uuid';
|
|
11
11
|
import { SESSION_PAGE_SIZE, API_SUCCESS_CODE } from "../constants";
|
|
12
|
-
import {
|
|
12
|
+
import { SuccessCode, ErrorCode } from "../types";
|
|
13
13
|
import { fetchAppConfig, fetchSessionList, fetchSessionDetail, closeSession, updateSessionTitle } from "../services/api";
|
|
14
14
|
import { safeJsonParse } from "../utils";
|
|
15
15
|
var combineTextParts = function combineTextParts(parts) {
|
|
@@ -51,7 +51,8 @@ function useADKChat(_ref) {
|
|
|
51
51
|
type = _ref$type === void 0 ? 'agentDebug' : _ref$type,
|
|
52
52
|
onError = _ref.onError,
|
|
53
53
|
onMessage = _ref.onMessage,
|
|
54
|
-
onSuccess = _ref.onSuccess
|
|
54
|
+
onSuccess = _ref.onSuccess,
|
|
55
|
+
onStream = _ref.onStream;
|
|
55
56
|
var _useState = useState(false),
|
|
56
57
|
_useState2 = _slicedToArray(_useState, 2),
|
|
57
58
|
loading = _useState2[0],
|
|
@@ -61,53 +62,59 @@ function useADKChat(_ref) {
|
|
|
61
62
|
var _ref2 = config || {},
|
|
62
63
|
appNo = _ref2.appNo;
|
|
63
64
|
// 智能体信息
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
65
|
+
// const [appInfo, setAppInfo] = useState<ChatConfig>({
|
|
66
|
+
// appNo,
|
|
67
|
+
// appVersionNo: '',
|
|
68
|
+
// appTheme: '',
|
|
69
|
+
// appName: '',
|
|
70
|
+
// onboardingInfo: {
|
|
71
|
+
// prologue: '',
|
|
72
|
+
// questionFiles: [],
|
|
73
|
+
// suggested_questions: [],
|
|
74
|
+
// },
|
|
75
|
+
// });
|
|
76
|
+
var _useState3 = useState(null),
|
|
75
77
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
76
78
|
appInfo = _useState4[0],
|
|
77
79
|
setAppInfo = _useState4[1];
|
|
78
|
-
//
|
|
79
|
-
var _useState5 = useState(
|
|
80
|
+
// 初始化完成
|
|
81
|
+
var _useState5 = useState(false),
|
|
80
82
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
//
|
|
84
|
-
var _useState7 = useState(
|
|
83
|
+
initialized = _useState6[0],
|
|
84
|
+
setInitialized = _useState6[1];
|
|
85
|
+
// 会话记录
|
|
86
|
+
var _useState7 = useState([]),
|
|
85
87
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
86
|
-
|
|
87
|
-
|
|
88
|
+
sessionList = _useState8[0],
|
|
89
|
+
setSessionList = _useState8[1];
|
|
90
|
+
// 当前会话
|
|
91
|
+
var _useState9 = useState(''),
|
|
92
|
+
_useState10 = _slicedToArray(_useState9, 2),
|
|
93
|
+
currentSessionId = _useState10[0],
|
|
94
|
+
setCurrentSessionId = _useState10[1];
|
|
88
95
|
// 会话分页设置
|
|
89
|
-
var
|
|
96
|
+
var _useState11 = useState({
|
|
90
97
|
total: 0,
|
|
91
98
|
pageNum: 1,
|
|
92
99
|
pageSize: SESSION_PAGE_SIZE
|
|
93
100
|
}),
|
|
94
|
-
_useState10 = _slicedToArray(_useState9, 2),
|
|
95
|
-
sessionPagination = _useState10[0],
|
|
96
|
-
setSessionPagination = _useState10[1];
|
|
97
|
-
// 开场白
|
|
98
|
-
var _useState11 = useState(''),
|
|
99
101
|
_useState12 = _slicedToArray(_useState11, 2),
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
//
|
|
103
|
-
var _useState13 = useState(
|
|
102
|
+
sessionPagination = _useState12[0],
|
|
103
|
+
setSessionPagination = _useState12[1];
|
|
104
|
+
// 开场白
|
|
105
|
+
var _useState13 = useState(''),
|
|
104
106
|
_useState14 = _slicedToArray(_useState13, 2),
|
|
105
|
-
|
|
106
|
-
|
|
107
|
+
prologue = _useState14[0],
|
|
108
|
+
setPrologue = _useState14[1];
|
|
109
|
+
// 建议问题
|
|
107
110
|
var _useState15 = useState([]),
|
|
108
111
|
_useState16 = _slicedToArray(_useState15, 2),
|
|
109
|
-
|
|
110
|
-
|
|
112
|
+
suggestedQuestions = _useState16[0],
|
|
113
|
+
setSuggestedQuestions = _useState16[1];
|
|
114
|
+
var _useState17 = useState([]),
|
|
115
|
+
_useState18 = _slicedToArray(_useState17, 2),
|
|
116
|
+
messages = _useState18[0],
|
|
117
|
+
setMessages = _useState18[1];
|
|
111
118
|
var mergedMessages = useMemo(function () {
|
|
112
119
|
var fnResMap = {};
|
|
113
120
|
messages.forEach(function (msg) {
|
|
@@ -224,6 +231,8 @@ function useADKChat(_ref) {
|
|
|
224
231
|
if (event !== null && event !== void 0 && (_event$groundingMetad = event.groundingMetadata) !== null && _event$groundingMetad !== void 0 && (_event$groundingMetad = _event$groundingMetad.searchEntryPoint) !== null && _event$groundingMetad !== void 0 && _event$groundingMetad.renderedContent) {
|
|
225
232
|
msg.renderedContent = event.groundingMetadata.searchEntryPoint.renderedContent;
|
|
226
233
|
}
|
|
234
|
+
} else if (part.fileData) {
|
|
235
|
+
msg.fileData = [part.fileData];
|
|
227
236
|
} else if (part.functionCall) {
|
|
228
237
|
msg.functionCall = part.functionCall;
|
|
229
238
|
} else if (part.functionResponse) {
|
|
@@ -364,6 +373,7 @@ function useADKChat(_ref) {
|
|
|
364
373
|
message.warning(chunkJson.error);
|
|
365
374
|
return;
|
|
366
375
|
}
|
|
376
|
+
onStream === null || onStream === void 0 || onStream(chunkJson);
|
|
367
377
|
if (chunkJson.content) {
|
|
368
378
|
// 建议类消息单独处理
|
|
369
379
|
if (chunkJson.content.role === 'followup') {
|
|
@@ -391,6 +401,10 @@ function useADKChat(_ref) {
|
|
|
391
401
|
},
|
|
392
402
|
onclose: function onclose() {
|
|
393
403
|
setLoading(false);
|
|
404
|
+
if (textMsgRef.current) {
|
|
405
|
+
var _textMsgRef$current;
|
|
406
|
+
onMessage === null || onMessage === void 0 || onMessage(((_textMsgRef$current = textMsgRef.current) === null || _textMsgRef$current === void 0 ? void 0 : _textMsgRef$current.text) || '', textMsgRef.current);
|
|
407
|
+
}
|
|
394
408
|
textMsgRef.current = null;
|
|
395
409
|
resolve();
|
|
396
410
|
},
|
|
@@ -406,33 +420,63 @@ function useADKChat(_ref) {
|
|
|
406
420
|
|
|
407
421
|
// 发送会话
|
|
408
422
|
var startChat = /*#__PURE__*/function () {
|
|
409
|
-
var
|
|
423
|
+
var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(_ref3) {
|
|
424
|
+
var _ref3$text, text, _ref3$files, files, functionResponse;
|
|
410
425
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
411
426
|
while (1) switch (_context2.prev = _context2.next) {
|
|
412
427
|
case 0:
|
|
428
|
+
_ref3$text = _ref3.text, text = _ref3$text === void 0 ? '' : _ref3$text, _ref3$files = _ref3.files, files = _ref3$files === void 0 ? [] : _ref3$files, functionResponse = _ref3.functionResponse;
|
|
413
429
|
if (!loading) {
|
|
414
|
-
_context2.next =
|
|
430
|
+
_context2.next = 3;
|
|
415
431
|
break;
|
|
416
432
|
}
|
|
417
433
|
return _context2.abrupt("return");
|
|
418
|
-
case
|
|
419
|
-
if (text.trim()) {
|
|
420
|
-
_context2.next =
|
|
434
|
+
case 3:
|
|
435
|
+
if (!(!text.trim() && !functionResponse)) {
|
|
436
|
+
_context2.next = 5;
|
|
421
437
|
break;
|
|
422
438
|
}
|
|
423
439
|
return _context2.abrupt("return");
|
|
424
|
-
case
|
|
440
|
+
case 5:
|
|
425
441
|
// 清空建议问题
|
|
426
442
|
setSuggestedQuestions([]);
|
|
427
443
|
// 发送消息
|
|
428
444
|
setMessages(function (prev) {
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
445
|
+
var temp = _toConsumableArray(prev);
|
|
446
|
+
// 如果 text 存在
|
|
447
|
+
if (text.trim()) {
|
|
448
|
+
temp.push({
|
|
449
|
+
id: v4(),
|
|
450
|
+
role: 'user',
|
|
451
|
+
text: text
|
|
452
|
+
});
|
|
453
|
+
}
|
|
454
|
+
// 如果file 存在
|
|
455
|
+
if (files.length > 0) {
|
|
456
|
+
temp.push({
|
|
457
|
+
id: v4(),
|
|
458
|
+
role: 'user',
|
|
459
|
+
fileData: files.map(function (file) {
|
|
460
|
+
var _file$response, _file$response2;
|
|
461
|
+
return {
|
|
462
|
+
displayName: file.name,
|
|
463
|
+
mimeType: (_file$response = file.response) === null || _file$response === void 0 ? void 0 : _file$response.mimeType,
|
|
464
|
+
fileUri: (_file$response2 = file.response) === null || _file$response2 === void 0 ? void 0 : _file$response2.fileUrl
|
|
465
|
+
};
|
|
466
|
+
})
|
|
467
|
+
});
|
|
468
|
+
}
|
|
469
|
+
// 如果 functionResponse 存在
|
|
470
|
+
if (functionResponse) {
|
|
471
|
+
temp.push({
|
|
472
|
+
id: v4(),
|
|
473
|
+
role: 'user',
|
|
474
|
+
functionResponse: functionResponse
|
|
475
|
+
});
|
|
476
|
+
}
|
|
477
|
+
return temp;
|
|
434
478
|
});
|
|
435
|
-
_context2.next =
|
|
479
|
+
_context2.next = 9;
|
|
436
480
|
return sendMessageRequest({
|
|
437
481
|
stream: true,
|
|
438
482
|
sessionId: currentSessionId,
|
|
@@ -441,27 +485,100 @@ function useADKChat(_ref) {
|
|
|
441
485
|
parts: [{
|
|
442
486
|
text: text
|
|
443
487
|
}]
|
|
444
|
-
}
|
|
488
|
+
},
|
|
489
|
+
files: files.map(function (file) {
|
|
490
|
+
var _file$response3, _file$response4, _file$response5, _file$response6, _file$response7;
|
|
491
|
+
return {
|
|
492
|
+
fileName: (_file$response3 = file.response) === null || _file$response3 === void 0 ? void 0 : _file$response3.fileName,
|
|
493
|
+
fileId: (_file$response4 = file.response) === null || _file$response4 === void 0 ? void 0 : _file$response4.fileId,
|
|
494
|
+
tempUrl: (_file$response5 = file.response) === null || _file$response5 === void 0 ? void 0 : _file$response5.fileUrl,
|
|
495
|
+
type: (_file$response6 = file.response) === null || _file$response6 === void 0 ? void 0 : _file$response6.fileType,
|
|
496
|
+
mimeType: (_file$response7 = file.response) === null || _file$response7 === void 0 ? void 0 : _file$response7.mimeType
|
|
497
|
+
};
|
|
498
|
+
})
|
|
445
499
|
});
|
|
446
|
-
case
|
|
500
|
+
case 9:
|
|
447
501
|
// 获取聊天记录
|
|
448
502
|
initAppConversations();
|
|
449
|
-
case
|
|
503
|
+
case 10:
|
|
450
504
|
case "end":
|
|
451
505
|
return _context2.stop();
|
|
452
506
|
}
|
|
453
507
|
}, _callee2);
|
|
454
508
|
}));
|
|
455
509
|
return function startChat(_x) {
|
|
456
|
-
return
|
|
510
|
+
return _ref4.apply(this, arguments);
|
|
457
511
|
};
|
|
458
512
|
}();
|
|
513
|
+
|
|
514
|
+
// 重新发送会话
|
|
515
|
+
var reChat = function reChat() {
|
|
516
|
+
if (loading) return;
|
|
517
|
+
if (messages.length === 0) return;
|
|
518
|
+
setMessages(function (prev) {
|
|
519
|
+
var newMessages = _toConsumableArray(prev);
|
|
520
|
+
// 删除最后一条 AI 消息
|
|
521
|
+
var lastAIIndex = newMessages.findLastIndex(function (msg) {
|
|
522
|
+
return msg.role === 'bot';
|
|
523
|
+
});
|
|
524
|
+
if (lastAIIndex !== -1) {
|
|
525
|
+
newMessages.splice(lastAIIndex, 1);
|
|
526
|
+
}
|
|
527
|
+
// 清空建议问题
|
|
528
|
+
setSuggestedQuestions([]);
|
|
529
|
+
// 重新发送最后一条用户消息
|
|
530
|
+
var lastUserMessage = newMessages.findLast(function (msg) {
|
|
531
|
+
return msg.role === 'user';
|
|
532
|
+
});
|
|
533
|
+
if (lastUserMessage) {
|
|
534
|
+
var _lastUserMessage$text = lastUserMessage.text,
|
|
535
|
+
text = _lastUserMessage$text === void 0 ? '' : _lastUserMessage$text,
|
|
536
|
+
_lastUserMessage$file = lastUserMessage.fileData,
|
|
537
|
+
fileData = _lastUserMessage$file === void 0 ? [] : _lastUserMessage$file;
|
|
538
|
+
sendMessageRequest({
|
|
539
|
+
stream: true,
|
|
540
|
+
sessionId: currentSessionId,
|
|
541
|
+
content: {
|
|
542
|
+
role: 'user',
|
|
543
|
+
parts: [{
|
|
544
|
+
text: text
|
|
545
|
+
}]
|
|
546
|
+
},
|
|
547
|
+
files: fileData === null || fileData === void 0 ? void 0 : fileData.map(function (file) {
|
|
548
|
+
return {
|
|
549
|
+
fileName: file.displayName,
|
|
550
|
+
tempUrl: file.fileUri,
|
|
551
|
+
mimeType: file.mimeType
|
|
552
|
+
};
|
|
553
|
+
})
|
|
554
|
+
});
|
|
555
|
+
}
|
|
556
|
+
return newMessages;
|
|
557
|
+
});
|
|
558
|
+
};
|
|
559
|
+
|
|
560
|
+
// 确认函数调用
|
|
561
|
+
var confirmFnCall = function confirmFnCall(fnCall, confirmed) {
|
|
562
|
+
var functionResponse = {
|
|
563
|
+
id: fnCall.id,
|
|
564
|
+
name: fnCall.name,
|
|
565
|
+
response: {
|
|
566
|
+
confirmed: confirmed
|
|
567
|
+
}
|
|
568
|
+
};
|
|
569
|
+
startChat({
|
|
570
|
+
functionResponse: functionResponse
|
|
571
|
+
});
|
|
572
|
+
};
|
|
573
|
+
|
|
459
574
|
// 使用建议问题
|
|
460
575
|
var suggestChat = function suggestChat(text) {
|
|
461
576
|
if (loading) return;
|
|
462
577
|
if (!text.trim()) return;
|
|
463
578
|
setSuggestedQuestions([]);
|
|
464
|
-
startChat(
|
|
579
|
+
startChat({
|
|
580
|
+
text: text
|
|
581
|
+
});
|
|
465
582
|
};
|
|
466
583
|
// 停止会话
|
|
467
584
|
var stopChat = useCallback(function () {
|
|
@@ -473,12 +590,13 @@ function useADKChat(_ref) {
|
|
|
473
590
|
|
|
474
591
|
// 清除会话
|
|
475
592
|
var clearChat = function clearChat() {
|
|
476
|
-
|
|
593
|
+
var _appInfo$onboardingIn;
|
|
594
|
+
var newSessionId = v4();
|
|
595
|
+
setCurrentSessionId(newSessionId);
|
|
477
596
|
// 重置聊天内容
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
});
|
|
597
|
+
stopChat();
|
|
598
|
+
setMessages([]);
|
|
599
|
+
setSuggestedQuestions((appInfo === null || appInfo === void 0 || (_appInfo$onboardingIn = appInfo.onboardingInfo) === null || _appInfo$onboardingIn === void 0 ? void 0 : _appInfo$onboardingIn.suggested_questions) || []);
|
|
482
600
|
};
|
|
483
601
|
|
|
484
602
|
// 格式化会话记录
|
|
@@ -536,8 +654,8 @@ function useADKChat(_ref) {
|
|
|
536
654
|
|
|
537
655
|
// 设置当前会话详情
|
|
538
656
|
var setCurrentSessionDetail = /*#__PURE__*/function () {
|
|
539
|
-
var
|
|
540
|
-
var _yield$fetchSessionDe,
|
|
657
|
+
var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(sessionId) {
|
|
658
|
+
var _yield$fetchSessionDe, data, result, _appInfo$onboardingIn2, _appInfo$onboardingIn3;
|
|
541
659
|
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
542
660
|
while (1) switch (_context3.prev = _context3.next) {
|
|
543
661
|
case 0:
|
|
@@ -561,15 +679,15 @@ function useADKChat(_ref) {
|
|
|
561
679
|
});
|
|
562
680
|
case 6:
|
|
563
681
|
_yield$fetchSessionDe = _context3.sent;
|
|
564
|
-
|
|
682
|
+
data = _yield$fetchSessionDe.data;
|
|
565
683
|
result = _yield$fetchSessionDe.result;
|
|
566
684
|
if ((result === null || result === void 0 ? void 0 : result.code) === API_SUCCESS_CODE) {
|
|
685
|
+
setPrologue((appInfo === null || appInfo === void 0 || (_appInfo$onboardingIn2 = appInfo.onboardingInfo) === null || _appInfo$onboardingIn2 === void 0 ? void 0 : _appInfo$onboardingIn2.prologue) || '');
|
|
567
686
|
// 新接口直接返回按 event/item 结构的数组,传入 formatMessages 处理
|
|
568
|
-
if (Array.isArray(
|
|
569
|
-
formatMessages(
|
|
570
|
-
setPrologue((appInfo === null || appInfo === void 0 || (_appInfo$onboardingIn = appInfo.onboardingInfo) === null || _appInfo$onboardingIn === void 0 ? void 0 : _appInfo$onboardingIn.prologue) || '');
|
|
687
|
+
if (Array.isArray(data) && data.length > 0) {
|
|
688
|
+
formatMessages(data, true);
|
|
571
689
|
} else {
|
|
572
|
-
setSuggestedQuestions((appInfo === null || appInfo === void 0 || (_appInfo$
|
|
690
|
+
setSuggestedQuestions((appInfo === null || appInfo === void 0 || (_appInfo$onboardingIn3 = appInfo.onboardingInfo) === null || _appInfo$onboardingIn3 === void 0 ? void 0 : _appInfo$onboardingIn3.suggested_questions) || []);
|
|
573
691
|
}
|
|
574
692
|
}
|
|
575
693
|
_context3.next = 13;
|
|
@@ -584,21 +702,21 @@ function useADKChat(_ref) {
|
|
|
584
702
|
}, _callee3);
|
|
585
703
|
}));
|
|
586
704
|
return function setCurrentSessionDetail(_x2) {
|
|
587
|
-
return
|
|
705
|
+
return _ref5.apply(this, arguments);
|
|
588
706
|
};
|
|
589
707
|
}();
|
|
590
708
|
|
|
591
709
|
// 获取聊天记录
|
|
592
710
|
var initAppConversations = /*#__PURE__*/function () {
|
|
593
|
-
var
|
|
711
|
+
var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
|
|
594
712
|
var fetchDetail,
|
|
595
713
|
_yield$fetchSessionLi,
|
|
596
714
|
_yield$fetchSessionLi2,
|
|
597
|
-
|
|
715
|
+
data,
|
|
598
716
|
pagination,
|
|
599
717
|
result,
|
|
600
718
|
formatSessions,
|
|
601
|
-
|
|
719
|
+
_data$,
|
|
602
720
|
sessionId,
|
|
603
721
|
_args4 = arguments;
|
|
604
722
|
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
@@ -617,16 +735,16 @@ function useADKChat(_ref) {
|
|
|
617
735
|
case 5:
|
|
618
736
|
_yield$fetchSessionLi = _context4.sent;
|
|
619
737
|
_yield$fetchSessionLi2 = _yield$fetchSessionLi.data;
|
|
620
|
-
|
|
738
|
+
data = _yield$fetchSessionLi2 === void 0 ? [] : _yield$fetchSessionLi2;
|
|
621
739
|
pagination = _yield$fetchSessionLi.pagination;
|
|
622
740
|
result = _yield$fetchSessionLi.result;
|
|
623
741
|
if ((result === null || result === void 0 ? void 0 : result.code) === API_SUCCESS_CODE) {
|
|
624
|
-
if (
|
|
625
|
-
formatSessions =
|
|
742
|
+
if (data.length > 0) {
|
|
743
|
+
formatSessions = data.map(function (item) {
|
|
626
744
|
return {
|
|
627
745
|
key: item.sessionId,
|
|
628
746
|
label: item.title || '新对话',
|
|
629
|
-
timestamp: new Date(item.
|
|
747
|
+
timestamp: new Date(item.startTime).getTime(),
|
|
630
748
|
messages: [],
|
|
631
749
|
meta: _objectSpread({}, item)
|
|
632
750
|
};
|
|
@@ -638,8 +756,16 @@ function useADKChat(_ref) {
|
|
|
638
756
|
pageSize: sessionPagination.pageSize,
|
|
639
757
|
total: (pagination === null || pagination === void 0 ? void 0 : pagination.total) || 0
|
|
640
758
|
});
|
|
641
|
-
|
|
759
|
+
_data$ = data === null || data === void 0 ? void 0 : data[0], sessionId = _data$.sessionId;
|
|
642
760
|
fetchDetail && setCurrentSessionDetail(sessionId);
|
|
761
|
+
// 成功回调
|
|
762
|
+
if (!initialized) {
|
|
763
|
+
onSuccess === null || onSuccess === void 0 || onSuccess({
|
|
764
|
+
code: SuccessCode.APP_MESSAGES_INIT_SUCCESS,
|
|
765
|
+
message: '初始化聊天记录成功'
|
|
766
|
+
});
|
|
767
|
+
setInitialized(true);
|
|
768
|
+
}
|
|
643
769
|
} else {
|
|
644
770
|
// 页面报错 初始化
|
|
645
771
|
setSessionList([]);
|
|
@@ -647,11 +773,6 @@ function useADKChat(_ref) {
|
|
|
647
773
|
setPrologue('');
|
|
648
774
|
setSuggestedQuestions([]);
|
|
649
775
|
}
|
|
650
|
-
// 成功回调
|
|
651
|
-
onSuccess === null || onSuccess === void 0 || onSuccess({
|
|
652
|
-
code: SuccessCode.APP_MESSAGES_INIT_SUCCESS,
|
|
653
|
-
message: '初始化聊天记录成功'
|
|
654
|
-
});
|
|
655
776
|
} else {
|
|
656
777
|
setSessionList([]);
|
|
657
778
|
setCurrentSessionId(v4());
|
|
@@ -674,13 +795,13 @@ function useADKChat(_ref) {
|
|
|
674
795
|
}, _callee4, null, [[1, 13, 15, 18]]);
|
|
675
796
|
}));
|
|
676
797
|
return function initAppConversations() {
|
|
677
|
-
return
|
|
798
|
+
return _ref6.apply(this, arguments);
|
|
678
799
|
};
|
|
679
800
|
}();
|
|
680
801
|
|
|
681
802
|
// 删除会话
|
|
682
803
|
var deleteSession = /*#__PURE__*/function () {
|
|
683
|
-
var
|
|
804
|
+
var _ref7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(sessionId) {
|
|
684
805
|
var _yield$closeSession, result;
|
|
685
806
|
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
686
807
|
while (1) switch (_context5.prev = _context5.next) {
|
|
@@ -716,13 +837,13 @@ function useADKChat(_ref) {
|
|
|
716
837
|
}, _callee5);
|
|
717
838
|
}));
|
|
718
839
|
return function deleteSession(_x3) {
|
|
719
|
-
return
|
|
840
|
+
return _ref7.apply(this, arguments);
|
|
720
841
|
};
|
|
721
842
|
}();
|
|
722
843
|
|
|
723
844
|
// 更新会话名称
|
|
724
845
|
var updateSession = /*#__PURE__*/function () {
|
|
725
|
-
var
|
|
846
|
+
var _ref8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(sessionId, title) {
|
|
726
847
|
var _yield$updateSessionT, result;
|
|
727
848
|
return _regeneratorRuntime().wrap(function _callee6$(_context6) {
|
|
728
849
|
while (1) switch (_context6.prev = _context6.next) {
|
|
@@ -755,14 +876,14 @@ function useADKChat(_ref) {
|
|
|
755
876
|
}, _callee6);
|
|
756
877
|
}));
|
|
757
878
|
return function updateSession(_x4, _x5) {
|
|
758
|
-
return
|
|
879
|
+
return _ref8.apply(this, arguments);
|
|
759
880
|
};
|
|
760
881
|
}();
|
|
761
882
|
|
|
762
883
|
// 初始化应用
|
|
763
884
|
var initConfig = /*#__PURE__*/function () {
|
|
764
|
-
var
|
|
765
|
-
var _yield$fetchAppConfig,
|
|
885
|
+
var _ref9 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7() {
|
|
886
|
+
var _yield$fetchAppConfig, data, result;
|
|
766
887
|
return _regeneratorRuntime().wrap(function _callee7$(_context7) {
|
|
767
888
|
while (1) switch (_context7.prev = _context7.next) {
|
|
768
889
|
case 0:
|
|
@@ -775,10 +896,10 @@ function useADKChat(_ref) {
|
|
|
775
896
|
});
|
|
776
897
|
case 4:
|
|
777
898
|
_yield$fetchAppConfig = _context7.sent;
|
|
778
|
-
|
|
899
|
+
data = _yield$fetchAppConfig.data;
|
|
779
900
|
result = _yield$fetchAppConfig.result;
|
|
780
901
|
if (result.code === API_SUCCESS_CODE) {
|
|
781
|
-
setAppInfo(
|
|
902
|
+
setAppInfo(data);
|
|
782
903
|
// 成功回调
|
|
783
904
|
onSuccess === null || onSuccess === void 0 || onSuccess({
|
|
784
905
|
code: SuccessCode.APP_CONFIG_INIT_SUCCESS,
|
|
@@ -810,7 +931,7 @@ function useADKChat(_ref) {
|
|
|
810
931
|
}, _callee7, null, [[0, 10, 13, 16]]);
|
|
811
932
|
}));
|
|
812
933
|
return function initConfig() {
|
|
813
|
-
return
|
|
934
|
+
return _ref9.apply(this, arguments);
|
|
814
935
|
};
|
|
815
936
|
}();
|
|
816
937
|
|
|
@@ -831,9 +952,12 @@ function useADKChat(_ref) {
|
|
|
831
952
|
return {
|
|
832
953
|
appInfo: appInfo,
|
|
833
954
|
startChat: startChat,
|
|
955
|
+
reChat: reChat,
|
|
834
956
|
stopChat: stopChat,
|
|
835
957
|
clearChat: clearChat,
|
|
836
958
|
suggestChat: suggestChat,
|
|
959
|
+
confirmFnCall: confirmFnCall,
|
|
960
|
+
initialized: initialized,
|
|
837
961
|
currentSessionId: currentSessionId,
|
|
838
962
|
sessionList: sessionList,
|
|
839
963
|
prologue: prologue,
|