@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.
Files changed (117) hide show
  1. package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/index.d.ts +2 -2
  2. package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/index.js +3 -4
  3. package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/index.js.map +2 -2
  4. package/dist/cjs/components/XAdkChatbot/index.js +66 -99
  5. package/dist/cjs/components/XAdkChatbot/index.js.map +3 -3
  6. package/dist/cjs/components/XAdkSender/XAdkSender.stories.d.ts +6 -0
  7. package/dist/cjs/components/XAdkSender/XAdkSender.stories.js +119 -0
  8. package/dist/cjs/components/XAdkSender/XAdkSender.stories.js.map +7 -0
  9. package/dist/cjs/components/XAdkSender/index.d.ts +4 -0
  10. package/dist/cjs/components/XAdkSender/index.js +430 -0
  11. package/dist/cjs/components/XAdkSender/index.js.map +7 -0
  12. package/dist/cjs/components/XAdkSender/styles.d.ts +56 -0
  13. package/dist/cjs/components/XAdkSender/styles.js +340 -0
  14. package/dist/cjs/components/XAdkSender/styles.js.map +7 -0
  15. package/dist/cjs/components/XAdkWebProvider/XAdkWebProvider.stories.js +5 -5
  16. package/dist/cjs/components/XAdkWebProvider/XAdkWebProvider.stories.js.map +2 -2
  17. package/dist/cjs/components/XAdkWebProvider/index.js +12 -6
  18. package/dist/cjs/components/XAdkWebProvider/index.js.map +2 -2
  19. package/dist/cjs/components/XAiConversations/index.js +1 -1
  20. package/dist/cjs/components/XAiConversations/index.js.map +2 -2
  21. package/dist/cjs/components/XAiConversations/styles.d.ts +1 -0
  22. package/dist/cjs/components/XAiConversations/styles.js +3 -0
  23. package/dist/cjs/components/XAiConversations/styles.js.map +2 -2
  24. package/dist/cjs/components/XAiSender/XAiSender.stories.js +1 -1
  25. package/dist/cjs/components/XAiSender/XAiSender.stories.js.map +2 -2
  26. package/dist/cjs/components/XAiSender/index.js +17 -35
  27. package/dist/cjs/components/XAiSender/index.js.map +2 -2
  28. package/dist/cjs/hooks/useADKChat.d.ts +7 -16
  29. package/dist/cjs/hooks/useADKChat.js +115 -32
  30. package/dist/cjs/hooks/useADKChat.js.map +2 -2
  31. package/dist/cjs/hooks/useAgentGenerator.js +1 -1
  32. package/dist/cjs/hooks/useAgentGenerator.js.map +2 -2
  33. package/dist/cjs/services/api.d.ts +5 -5
  34. package/dist/cjs/services/api.js +6 -9
  35. package/dist/cjs/services/api.js.map +2 -2
  36. package/dist/cjs/types/XAdkChatbot.d.ts +21 -3
  37. package/dist/cjs/types/XAdkChatbot.js.map +1 -1
  38. package/dist/cjs/types/XAdkProvider.d.ts +35 -9
  39. package/dist/cjs/types/XAdkProvider.js.map +1 -1
  40. package/dist/cjs/types/XAdkSender.d.ts +49 -0
  41. package/dist/cjs/types/XAdkSender.js +18 -0
  42. package/dist/cjs/types/XAdkSender.js.map +7 -0
  43. package/dist/cjs/types/XAiProvider.d.ts +1 -28
  44. package/dist/cjs/types/XAiProvider.js.map +2 -2
  45. package/dist/cjs/types/XAiSender.d.ts +2 -0
  46. package/dist/cjs/types/XAiSender.js.map +1 -1
  47. package/dist/cjs/types/common.d.ts +6 -0
  48. package/dist/cjs/types/common.js +18 -0
  49. package/dist/cjs/types/common.js.map +7 -0
  50. package/dist/cjs/types/index.d.ts +2 -0
  51. package/dist/cjs/types/index.js +5 -1
  52. package/dist/cjs/types/index.js.map +2 -2
  53. package/dist/cjs/utils/chat.d.ts +1 -1
  54. package/dist/cjs/utils/umdEntry.d.ts +9 -9
  55. package/dist/cjs/utils/umdEntry.js +1 -0
  56. package/dist/cjs/utils/umdEntry.js.map +2 -2
  57. package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/index.d.ts +2 -2
  58. package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/index.js +3 -3
  59. package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/index.js.map +1 -1
  60. package/dist/esm/components/XAdkChatbot/index.js +80 -126
  61. package/dist/esm/components/XAdkChatbot/index.js.map +1 -1
  62. package/dist/esm/components/XAdkSender/XAdkSender.stories.d.ts +6 -0
  63. package/dist/esm/components/XAdkSender/XAdkSender.stories.js +126 -0
  64. package/dist/esm/components/XAdkSender/XAdkSender.stories.js.map +1 -0
  65. package/dist/esm/components/XAdkSender/index.d.ts +4 -0
  66. package/dist/esm/components/XAdkSender/index.js +589 -0
  67. package/dist/esm/components/XAdkSender/index.js.map +1 -0
  68. package/dist/esm/components/XAdkSender/styles.d.ts +56 -0
  69. package/dist/esm/components/XAdkSender/styles.js +50 -0
  70. package/dist/esm/components/XAdkSender/styles.js.map +1 -0
  71. package/dist/esm/components/XAdkWebProvider/XAdkWebProvider.stories.js +10 -11
  72. package/dist/esm/components/XAdkWebProvider/XAdkWebProvider.stories.js.map +1 -1
  73. package/dist/esm/components/XAdkWebProvider/index.js +25 -10
  74. package/dist/esm/components/XAdkWebProvider/index.js.map +1 -1
  75. package/dist/esm/components/XAiConversations/index.js +1 -0
  76. package/dist/esm/components/XAiConversations/index.js.map +1 -1
  77. package/dist/esm/components/XAiConversations/styles.d.ts +1 -0
  78. package/dist/esm/components/XAiConversations/styles.js +15 -14
  79. package/dist/esm/components/XAiConversations/styles.js.map +1 -1
  80. package/dist/esm/components/XAiSender/XAiSender.stories.js +1 -1
  81. package/dist/esm/components/XAiSender/XAiSender.stories.js.map +1 -1
  82. package/dist/esm/components/XAiSender/index.js +16 -22
  83. package/dist/esm/components/XAiSender/index.js.map +1 -1
  84. package/dist/esm/hooks/useADKChat.d.ts +7 -16
  85. package/dist/esm/hooks/useADKChat.js +212 -88
  86. package/dist/esm/hooks/useADKChat.js.map +1 -1
  87. package/dist/esm/hooks/useAgentGenerator.js +1 -1
  88. package/dist/esm/hooks/useAgentGenerator.js.map +1 -1
  89. package/dist/esm/services/api.d.ts +5 -5
  90. package/dist/esm/services/api.js +8 -11
  91. package/dist/esm/services/api.js.map +1 -1
  92. package/dist/esm/types/XAdkChatbot.d.ts +21 -3
  93. package/dist/esm/types/XAdkChatbot.js.map +1 -1
  94. package/dist/esm/types/XAdkProvider.d.ts +35 -9
  95. package/dist/esm/types/XAdkProvider.js.map +1 -1
  96. package/dist/esm/types/XAdkSender.d.ts +49 -0
  97. package/dist/esm/types/XAdkSender.js +2 -0
  98. package/dist/esm/types/XAdkSender.js.map +1 -0
  99. package/dist/esm/types/XAiProvider.d.ts +1 -28
  100. package/dist/esm/types/XAiProvider.js +0 -7
  101. package/dist/esm/types/XAiProvider.js.map +1 -1
  102. package/dist/esm/types/XAiSender.d.ts +2 -0
  103. package/dist/esm/types/XAiSender.js.map +1 -1
  104. package/dist/esm/types/common.d.ts +6 -0
  105. package/dist/esm/types/common.js +2 -0
  106. package/dist/esm/types/common.js.map +1 -0
  107. package/dist/esm/types/index.d.ts +2 -0
  108. package/dist/esm/types/index.js +2 -0
  109. package/dist/esm/types/index.js.map +1 -1
  110. package/dist/esm/utils/chat.d.ts +1 -1
  111. package/dist/esm/utils/chat.js +4 -4
  112. package/dist/esm/utils/chat.js.map +1 -1
  113. package/dist/esm/utils/umdEntry.d.ts +9 -9
  114. package/dist/esm/utils/umdEntry.js +1 -1
  115. package/dist/esm/utils/umdEntry.js.map +1 -1
  116. package/dist/umd/chat-sdk.min.js +1 -1
  117. 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 { ErrorCode, SuccessCode } from "../types";
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
- var _useState3 = useState({
65
- appNo: appNo,
66
- appVersionNo: '',
67
- appTheme: '',
68
- appName: '',
69
- onboardingInfo: {
70
- prologue: '',
71
- questionFiles: [],
72
- suggested_questions: []
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
- sessionList = _useState6[0],
82
- setSessionList = _useState6[1];
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
- currentSessionId = _useState8[0],
87
- setCurrentSessionId = _useState8[1];
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 _useState9 = useState({
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
- prologue = _useState12[0],
101
- setPrologue = _useState12[1];
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
- suggestedQuestions = _useState14[0],
106
- setSuggestedQuestions = _useState14[1];
107
+ prologue = _useState14[0],
108
+ setPrologue = _useState14[1];
109
+ // 建议问题
107
110
  var _useState15 = useState([]),
108
111
  _useState16 = _slicedToArray(_useState15, 2),
109
- messages = _useState16[0],
110
- setMessages = _useState16[1];
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 _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(text) {
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 = 2;
430
+ _context2.next = 3;
415
431
  break;
416
432
  }
417
433
  return _context2.abrupt("return");
418
- case 2:
419
- if (text.trim()) {
420
- _context2.next = 4;
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 4:
440
+ case 5:
425
441
  // 清空建议问题
426
442
  setSuggestedQuestions([]);
427
443
  // 发送消息
428
444
  setMessages(function (prev) {
429
- return [].concat(_toConsumableArray(prev), [{
430
- id: v4(),
431
- role: 'user',
432
- text: text
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 = 8;
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 8:
500
+ case 9:
447
501
  // 获取聊天记录
448
502
  initAppConversations();
449
- case 9:
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 _ref3.apply(this, arguments);
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(text);
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
- setCurrentSessionId(v4());
593
+ var _appInfo$onboardingIn;
594
+ var newSessionId = v4();
595
+ setCurrentSessionId(newSessionId);
477
596
  // 重置聊天内容
478
- setTimeout(function () {
479
- stopChat();
480
- setMessages([]);
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 _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(sessionId) {
540
- var _yield$fetchSessionDe, _data, result, _appInfo$onboardingIn, _appInfo$onboardingIn2;
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
- _data = _yield$fetchSessionDe.data;
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(_data) && _data.length > 0) {
569
- formatMessages(_data, true);
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$onboardingIn2 = appInfo.onboardingInfo) === null || _appInfo$onboardingIn2 === void 0 ? void 0 : _appInfo$onboardingIn2.suggested_questions) || []);
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 _ref4.apply(this, arguments);
705
+ return _ref5.apply(this, arguments);
588
706
  };
589
707
  }();
590
708
 
591
709
  // 获取聊天记录
592
710
  var initAppConversations = /*#__PURE__*/function () {
593
- var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
711
+ var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
594
712
  var fetchDetail,
595
713
  _yield$fetchSessionLi,
596
714
  _yield$fetchSessionLi2,
597
- _data2,
715
+ data,
598
716
  pagination,
599
717
  result,
600
718
  formatSessions,
601
- _data2$,
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
- _data2 = _yield$fetchSessionLi2 === void 0 ? [] : _yield$fetchSessionLi2;
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 (_data2.length > 0) {
625
- formatSessions = _data2.map(function (item) {
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.sessionTime).getTime(),
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
- _data2$ = _data2 === null || _data2 === void 0 ? void 0 : _data2[0], sessionId = _data2$.sessionId;
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 _ref5.apply(this, arguments);
798
+ return _ref6.apply(this, arguments);
678
799
  };
679
800
  }();
680
801
 
681
802
  // 删除会话
682
803
  var deleteSession = /*#__PURE__*/function () {
683
- var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(sessionId) {
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 _ref6.apply(this, arguments);
840
+ return _ref7.apply(this, arguments);
720
841
  };
721
842
  }();
722
843
 
723
844
  // 更新会话名称
724
845
  var updateSession = /*#__PURE__*/function () {
725
- var _ref7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(sessionId, title) {
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 _ref7.apply(this, arguments);
879
+ return _ref8.apply(this, arguments);
759
880
  };
760
881
  }();
761
882
 
762
883
  // 初始化应用
763
884
  var initConfig = /*#__PURE__*/function () {
764
- var _ref8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7() {
765
- var _yield$fetchAppConfig, _data3, result;
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
- _data3 = _yield$fetchAppConfig.data;
899
+ data = _yield$fetchAppConfig.data;
779
900
  result = _yield$fetchAppConfig.result;
780
901
  if (result.code === API_SUCCESS_CODE) {
781
- setAppInfo(_data3);
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 _ref8.apply(this, arguments);
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,