@ai-group/chat-sdk 2.1.3 → 2.1.5

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 (91) 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 +5 -6
  3. package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/index.js.map +2 -2
  4. package/dist/cjs/components/XAdkChatbot/index.js +13 -1
  5. package/dist/cjs/components/XAdkChatbot/index.js.map +2 -2
  6. package/dist/cjs/components/XAdkSender/XAdkSender.stories.js +28 -2
  7. package/dist/cjs/components/XAdkSender/XAdkSender.stories.js.map +2 -2
  8. package/dist/cjs/components/XAdkSender/index.js +36 -50
  9. package/dist/cjs/components/XAdkSender/index.js.map +2 -2
  10. package/dist/cjs/components/XAdkWebProvider/XAdkWebProvider.stories.js +8 -8
  11. package/dist/cjs/components/XAdkWebProvider/XAdkWebProvider.stories.js.map +2 -2
  12. package/dist/cjs/components/XAdkWebProvider/index.js +6 -3
  13. package/dist/cjs/components/XAdkWebProvider/index.js.map +2 -2
  14. package/dist/cjs/components/XAiSender/XAiSender.stories.js +1 -1
  15. package/dist/cjs/components/XAiSender/XAiSender.stories.js.map +2 -2
  16. package/dist/cjs/hooks/useADKChat.d.ts +6 -15
  17. package/dist/cjs/hooks/useADKChat.js +113 -38
  18. package/dist/cjs/hooks/useADKChat.js.map +2 -2
  19. package/dist/cjs/hooks/useAgentGenerator.js +1 -1
  20. package/dist/cjs/hooks/useAgentGenerator.js.map +2 -2
  21. package/dist/cjs/services/api.d.ts +5 -5
  22. package/dist/cjs/services/api.js +6 -9
  23. package/dist/cjs/services/api.js.map +2 -2
  24. package/dist/cjs/types/XAdkChatbot.d.ts +17 -4
  25. package/dist/cjs/types/XAdkChatbot.js.map +1 -1
  26. package/dist/cjs/types/XAdkProvider.d.ts +34 -9
  27. package/dist/cjs/types/XAdkProvider.js.map +1 -1
  28. package/dist/cjs/types/XAdkSender.d.ts +13 -2
  29. package/dist/cjs/types/XAdkSender.js.map +1 -1
  30. package/dist/cjs/types/XAiProvider.d.ts +1 -28
  31. package/dist/cjs/types/XAiProvider.js.map +2 -2
  32. package/dist/cjs/types/XAiSender.d.ts +2 -0
  33. package/dist/cjs/types/XAiSender.js.map +1 -1
  34. package/dist/cjs/types/common.d.ts +6 -0
  35. package/dist/cjs/types/common.js +18 -0
  36. package/dist/cjs/types/common.js.map +7 -0
  37. package/dist/cjs/types/index.d.ts +2 -0
  38. package/dist/cjs/types/index.js +5 -1
  39. package/dist/cjs/types/index.js.map +2 -2
  40. package/dist/cjs/utils/chat.d.ts +1 -1
  41. package/dist/cjs/utils/umdEntry.d.ts +9 -9
  42. package/dist/cjs/utils/umdEntry.js +1 -0
  43. package/dist/cjs/utils/umdEntry.js.map +2 -2
  44. package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/index.d.ts +2 -2
  45. package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/index.js +5 -5
  46. package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/index.js.map +1 -1
  47. package/dist/esm/components/XAdkChatbot/index.js +14 -1
  48. package/dist/esm/components/XAdkChatbot/index.js.map +1 -1
  49. package/dist/esm/components/XAdkSender/XAdkSender.stories.js +51 -2
  50. package/dist/esm/components/XAdkSender/XAdkSender.stories.js.map +1 -1
  51. package/dist/esm/components/XAdkSender/index.js +53 -75
  52. package/dist/esm/components/XAdkSender/index.js.map +1 -1
  53. package/dist/esm/components/XAdkWebProvider/XAdkWebProvider.stories.js +13 -14
  54. package/dist/esm/components/XAdkWebProvider/XAdkWebProvider.stories.js.map +1 -1
  55. package/dist/esm/components/XAdkWebProvider/index.js +30 -22
  56. package/dist/esm/components/XAdkWebProvider/index.js.map +1 -1
  57. package/dist/esm/components/XAiSender/XAiSender.stories.js +1 -1
  58. package/dist/esm/components/XAiSender/XAiSender.stories.js.map +1 -1
  59. package/dist/esm/hooks/useADKChat.d.ts +6 -15
  60. package/dist/esm/hooks/useADKChat.js +189 -73
  61. package/dist/esm/hooks/useADKChat.js.map +1 -1
  62. package/dist/esm/hooks/useAgentGenerator.js +1 -1
  63. package/dist/esm/hooks/useAgentGenerator.js.map +1 -1
  64. package/dist/esm/services/api.d.ts +5 -5
  65. package/dist/esm/services/api.js +8 -11
  66. package/dist/esm/services/api.js.map +1 -1
  67. package/dist/esm/types/XAdkChatbot.d.ts +17 -4
  68. package/dist/esm/types/XAdkChatbot.js.map +1 -1
  69. package/dist/esm/types/XAdkProvider.d.ts +34 -9
  70. package/dist/esm/types/XAdkProvider.js.map +1 -1
  71. package/dist/esm/types/XAdkSender.d.ts +13 -2
  72. package/dist/esm/types/XAdkSender.js.map +1 -1
  73. package/dist/esm/types/XAiProvider.d.ts +1 -28
  74. package/dist/esm/types/XAiProvider.js +0 -7
  75. package/dist/esm/types/XAiProvider.js.map +1 -1
  76. package/dist/esm/types/XAiSender.d.ts +2 -0
  77. package/dist/esm/types/XAiSender.js.map +1 -1
  78. package/dist/esm/types/common.d.ts +6 -0
  79. package/dist/esm/types/common.js +2 -0
  80. package/dist/esm/types/common.js.map +1 -0
  81. package/dist/esm/types/index.d.ts +2 -0
  82. package/dist/esm/types/index.js +2 -0
  83. package/dist/esm/types/index.js.map +1 -1
  84. package/dist/esm/utils/chat.d.ts +1 -1
  85. package/dist/esm/utils/chat.js +4 -4
  86. package/dist/esm/utils/chat.js.map +1 -1
  87. package/dist/esm/utils/umdEntry.d.ts +9 -9
  88. package/dist/esm/utils/umdEntry.js +1 -1
  89. package/dist/esm/utils/umdEntry.js.map +1 -1
  90. package/dist/umd/chat-sdk.min.js +1 -1
  91. package/package.json +15 -13
@@ -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,17 +62,18 @@ 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];
@@ -229,6 +231,8 @@ function useADKChat(_ref) {
229
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) {
230
232
  msg.renderedContent = event.groundingMetadata.searchEntryPoint.renderedContent;
231
233
  }
234
+ } else if (part.fileData) {
235
+ msg.fileData = [part.fileData];
232
236
  } else if (part.functionCall) {
233
237
  msg.functionCall = part.functionCall;
234
238
  } else if (part.functionResponse) {
@@ -369,6 +373,7 @@ function useADKChat(_ref) {
369
373
  message.warning(chunkJson.error);
370
374
  return;
371
375
  }
376
+ onStream === null || onStream === void 0 || onStream(chunkJson);
372
377
  if (chunkJson.content) {
373
378
  // 建议类消息单独处理
374
379
  if (chunkJson.content.role === 'followup') {
@@ -396,6 +401,10 @@ function useADKChat(_ref) {
396
401
  },
397
402
  onclose: function onclose() {
398
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
+ }
399
408
  textMsgRef.current = null;
400
409
  resolve();
401
410
  },
@@ -411,62 +420,167 @@ function useADKChat(_ref) {
411
420
 
412
421
  // 发送会话
413
422
  var startChat = /*#__PURE__*/function () {
414
- 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;
415
425
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
416
426
  while (1) switch (_context2.prev = _context2.next) {
417
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;
418
429
  if (!loading) {
419
- _context2.next = 2;
430
+ _context2.next = 3;
420
431
  break;
421
432
  }
422
433
  return _context2.abrupt("return");
423
- case 2:
424
- if (text.trim()) {
425
- _context2.next = 4;
434
+ case 3:
435
+ if (!(!text.trim() && !functionResponse)) {
436
+ _context2.next = 5;
426
437
  break;
427
438
  }
428
439
  return _context2.abrupt("return");
429
- case 4:
440
+ case 5:
430
441
  // 清空建议问题
431
442
  setSuggestedQuestions([]);
432
443
  // 发送消息
433
444
  setMessages(function (prev) {
434
- return [].concat(_toConsumableArray(prev), [{
435
- id: v4(),
436
- role: 'user',
437
- text: text
438
- }]);
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;
439
478
  });
440
- _context2.next = 8;
479
+ _context2.next = 9;
441
480
  return sendMessageRequest({
442
481
  stream: true,
443
482
  sessionId: currentSessionId,
444
483
  content: {
445
484
  role: 'user',
446
- parts: [{
485
+ parts: functionResponse ? [{
486
+ functionResponse: functionResponse
487
+ }] : [{
447
488
  text: text
448
489
  }]
449
- }
490
+ },
491
+ files: files.map(function (file) {
492
+ var _file$response3, _file$response4, _file$response5, _file$response6, _file$response7;
493
+ return {
494
+ fileName: (_file$response3 = file.response) === null || _file$response3 === void 0 ? void 0 : _file$response3.fileName,
495
+ fileId: (_file$response4 = file.response) === null || _file$response4 === void 0 ? void 0 : _file$response4.fileId,
496
+ tempUrl: (_file$response5 = file.response) === null || _file$response5 === void 0 ? void 0 : _file$response5.fileUrl,
497
+ type: (_file$response6 = file.response) === null || _file$response6 === void 0 ? void 0 : _file$response6.fileType,
498
+ mimeType: (_file$response7 = file.response) === null || _file$response7 === void 0 ? void 0 : _file$response7.mimeType
499
+ };
500
+ })
450
501
  });
451
- case 8:
502
+ case 9:
452
503
  // 获取聊天记录
453
504
  initAppConversations();
454
- case 9:
505
+ case 10:
455
506
  case "end":
456
507
  return _context2.stop();
457
508
  }
458
509
  }, _callee2);
459
510
  }));
460
511
  return function startChat(_x) {
461
- return _ref3.apply(this, arguments);
512
+ return _ref4.apply(this, arguments);
462
513
  };
463
514
  }();
515
+
516
+ // 重新发送会话
517
+ var reChat = function reChat() {
518
+ if (loading) return;
519
+ if (messages.length === 0) return;
520
+ setMessages(function (prev) {
521
+ var newMessages = _toConsumableArray(prev);
522
+ // 删除最后一条 AI 消息
523
+ var lastAIIndex = newMessages.findLastIndex(function (msg) {
524
+ return msg.role === 'bot';
525
+ });
526
+ if (lastAIIndex !== -1) {
527
+ newMessages.splice(lastAIIndex, 1);
528
+ }
529
+ // 清空建议问题
530
+ setSuggestedQuestions([]);
531
+ // 重新发送最后一条用户消息
532
+ var lastUserMessage = newMessages.findLast(function (msg) {
533
+ return msg.role === 'user';
534
+ });
535
+ if (lastUserMessage) {
536
+ var _lastUserMessage$text = lastUserMessage.text,
537
+ text = _lastUserMessage$text === void 0 ? '' : _lastUserMessage$text,
538
+ _lastUserMessage$file = lastUserMessage.fileData,
539
+ fileData = _lastUserMessage$file === void 0 ? [] : _lastUserMessage$file;
540
+ sendMessageRequest({
541
+ stream: true,
542
+ sessionId: currentSessionId,
543
+ content: {
544
+ role: 'user',
545
+ parts: [{
546
+ text: text
547
+ }]
548
+ },
549
+ files: fileData === null || fileData === void 0 ? void 0 : fileData.map(function (file) {
550
+ return {
551
+ fileName: file.displayName,
552
+ tempUrl: file.fileUri,
553
+ mimeType: file.mimeType
554
+ };
555
+ })
556
+ });
557
+ }
558
+ return newMessages;
559
+ });
560
+ };
561
+
562
+ // 确认函数调用
563
+ var confirmFnCall = function confirmFnCall(fnCall, confirmed) {
564
+ var functionResponse = {
565
+ id: fnCall.id,
566
+ name: fnCall.name,
567
+ response: {
568
+ confirmed: confirmed
569
+ }
570
+ };
571
+ startChat({
572
+ functionResponse: functionResponse
573
+ });
574
+ };
575
+
464
576
  // 使用建议问题
465
577
  var suggestChat = function suggestChat(text) {
466
578
  if (loading) return;
467
579
  if (!text.trim()) return;
468
580
  setSuggestedQuestions([]);
469
- startChat(text);
581
+ startChat({
582
+ text: text
583
+ });
470
584
  };
471
585
  // 停止会话
472
586
  var stopChat = useCallback(function () {
@@ -476,15 +590,16 @@ function useADKChat(_ref) {
476
590
  textMsgRef.current = null;
477
591
  }, [ctrl]);
478
592
 
479
- // 清除会话
593
+ // 清除/重置会话
480
594
  var clearChat = function clearChat() {
481
- var _appInfo$onboardingIn;
595
+ var _appInfo$onboardingIn, _appInfo$onboardingIn2;
482
596
  var newSessionId = v4();
483
597
  setCurrentSessionId(newSessionId);
484
598
  // 重置聊天内容
485
599
  stopChat();
600
+ setPrologue((appInfo === null || appInfo === void 0 || (_appInfo$onboardingIn = appInfo.onboardingInfo) === null || _appInfo$onboardingIn === void 0 ? void 0 : _appInfo$onboardingIn.prologue) || '');
486
601
  setMessages([]);
487
- setSuggestedQuestions((appInfo === null || appInfo === void 0 || (_appInfo$onboardingIn = appInfo.onboardingInfo) === null || _appInfo$onboardingIn === void 0 ? void 0 : _appInfo$onboardingIn.suggested_questions) || []);
602
+ setSuggestedQuestions((appInfo === null || appInfo === void 0 || (_appInfo$onboardingIn2 = appInfo.onboardingInfo) === null || _appInfo$onboardingIn2 === void 0 ? void 0 : _appInfo$onboardingIn2.suggested_questions) || []);
488
603
  };
489
604
 
490
605
  // 格式化会话记录
@@ -542,8 +657,8 @@ function useADKChat(_ref) {
542
657
 
543
658
  // 设置当前会话详情
544
659
  var setCurrentSessionDetail = /*#__PURE__*/function () {
545
- var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(sessionId) {
546
- var _yield$fetchSessionDe, _data, result, _appInfo$onboardingIn2, _appInfo$onboardingIn3;
660
+ var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(sessionId) {
661
+ var _yield$fetchSessionDe, data, result, _appInfo$onboardingIn3, _appInfo$onboardingIn4;
547
662
  return _regeneratorRuntime().wrap(function _callee3$(_context3) {
548
663
  while (1) switch (_context3.prev = _context3.next) {
549
664
  case 0:
@@ -567,15 +682,15 @@ function useADKChat(_ref) {
567
682
  });
568
683
  case 6:
569
684
  _yield$fetchSessionDe = _context3.sent;
570
- _data = _yield$fetchSessionDe.data;
685
+ data = _yield$fetchSessionDe.data;
571
686
  result = _yield$fetchSessionDe.result;
572
687
  if ((result === null || result === void 0 ? void 0 : result.code) === API_SUCCESS_CODE) {
573
- setPrologue((appInfo === null || appInfo === void 0 || (_appInfo$onboardingIn2 = appInfo.onboardingInfo) === null || _appInfo$onboardingIn2 === void 0 ? void 0 : _appInfo$onboardingIn2.prologue) || '');
688
+ setPrologue((appInfo === null || appInfo === void 0 || (_appInfo$onboardingIn3 = appInfo.onboardingInfo) === null || _appInfo$onboardingIn3 === void 0 ? void 0 : _appInfo$onboardingIn3.prologue) || '');
574
689
  // 新接口直接返回按 event/item 结构的数组,传入 formatMessages 处理
575
- if (Array.isArray(_data) && _data.length > 0) {
576
- formatMessages(_data, true);
690
+ if (Array.isArray(data) && data.length > 0) {
691
+ formatMessages(data, true);
577
692
  } else {
578
- setSuggestedQuestions((appInfo === null || appInfo === void 0 || (_appInfo$onboardingIn3 = appInfo.onboardingInfo) === null || _appInfo$onboardingIn3 === void 0 ? void 0 : _appInfo$onboardingIn3.suggested_questions) || []);
693
+ setSuggestedQuestions((appInfo === null || appInfo === void 0 || (_appInfo$onboardingIn4 = appInfo.onboardingInfo) === null || _appInfo$onboardingIn4 === void 0 ? void 0 : _appInfo$onboardingIn4.suggested_questions) || []);
579
694
  }
580
695
  }
581
696
  _context3.next = 13;
@@ -590,21 +705,21 @@ function useADKChat(_ref) {
590
705
  }, _callee3);
591
706
  }));
592
707
  return function setCurrentSessionDetail(_x2) {
593
- return _ref4.apply(this, arguments);
708
+ return _ref5.apply(this, arguments);
594
709
  };
595
710
  }();
596
711
 
597
712
  // 获取聊天记录
598
713
  var initAppConversations = /*#__PURE__*/function () {
599
- var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
714
+ var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
600
715
  var fetchDetail,
601
716
  _yield$fetchSessionLi,
602
717
  _yield$fetchSessionLi2,
603
- _data2,
718
+ data,
604
719
  pagination,
605
720
  result,
606
721
  formatSessions,
607
- _data2$,
722
+ _data$,
608
723
  sessionId,
609
724
  _args4 = arguments;
610
725
  return _regeneratorRuntime().wrap(function _callee4$(_context4) {
@@ -623,16 +738,16 @@ function useADKChat(_ref) {
623
738
  case 5:
624
739
  _yield$fetchSessionLi = _context4.sent;
625
740
  _yield$fetchSessionLi2 = _yield$fetchSessionLi.data;
626
- _data2 = _yield$fetchSessionLi2 === void 0 ? [] : _yield$fetchSessionLi2;
741
+ data = _yield$fetchSessionLi2 === void 0 ? [] : _yield$fetchSessionLi2;
627
742
  pagination = _yield$fetchSessionLi.pagination;
628
743
  result = _yield$fetchSessionLi.result;
629
744
  if ((result === null || result === void 0 ? void 0 : result.code) === API_SUCCESS_CODE) {
630
- if (_data2.length > 0) {
631
- formatSessions = _data2.map(function (item) {
745
+ if (data.length > 0) {
746
+ formatSessions = data.map(function (item) {
632
747
  return {
633
748
  key: item.sessionId,
634
749
  label: item.title || '新对话',
635
- timestamp: new Date(item.sessionTime).getTime(),
750
+ timestamp: new Date(item.startTime).getTime(),
636
751
  messages: [],
637
752
  meta: _objectSpread({}, item)
638
753
  };
@@ -644,21 +759,20 @@ function useADKChat(_ref) {
644
759
  pageSize: sessionPagination.pageSize,
645
760
  total: (pagination === null || pagination === void 0 ? void 0 : pagination.total) || 0
646
761
  });
647
- _data2$ = _data2 === null || _data2 === void 0 ? void 0 : _data2[0], sessionId = _data2$.sessionId;
762
+ _data$ = data === null || data === void 0 ? void 0 : data[0], sessionId = _data$.sessionId;
648
763
  fetchDetail && setCurrentSessionDetail(sessionId);
764
+ // 成功回调
765
+ if (!initialized) {
766
+ onSuccess === null || onSuccess === void 0 || onSuccess({
767
+ code: SuccessCode.APP_MESSAGES_INIT_SUCCESS,
768
+ message: '初始化聊天记录成功'
769
+ });
770
+ setInitialized(true);
771
+ }
649
772
  } else {
650
- // 页面报错 初始化
651
- setSessionList([]);
652
- setCurrentSessionId(v4());
653
- setPrologue('');
654
- setSuggestedQuestions([]);
773
+ // 无会话记录时,初始化会话详情
774
+ clearChat();
655
775
  }
656
- // 成功回调
657
- onSuccess === null || onSuccess === void 0 || onSuccess({
658
- code: SuccessCode.APP_MESSAGES_INIT_SUCCESS,
659
- message: '初始化聊天记录成功'
660
- });
661
- setInitialized(true);
662
776
  } else {
663
777
  setSessionList([]);
664
778
  setCurrentSessionId(v4());
@@ -681,13 +795,13 @@ function useADKChat(_ref) {
681
795
  }, _callee4, null, [[1, 13, 15, 18]]);
682
796
  }));
683
797
  return function initAppConversations() {
684
- return _ref5.apply(this, arguments);
798
+ return _ref6.apply(this, arguments);
685
799
  };
686
800
  }();
687
801
 
688
802
  // 删除会话
689
803
  var deleteSession = /*#__PURE__*/function () {
690
- var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(sessionId) {
804
+ var _ref7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(sessionId) {
691
805
  var _yield$closeSession, result;
692
806
  return _regeneratorRuntime().wrap(function _callee5$(_context5) {
693
807
  while (1) switch (_context5.prev = _context5.next) {
@@ -710,7 +824,7 @@ function useADKChat(_ref) {
710
824
  result = _yield$closeSession.result;
711
825
  if ((result === null || result === void 0 ? void 0 : result.code) === API_SUCCESS_CODE) {
712
826
  // 删除成功后,重新获取会话列表
713
- initAppConversations(false);
827
+ initAppConversations();
714
828
  // 如果删除的是当前会话,则创建新的会话
715
829
  if (sessionId === currentSessionId) {
716
830
  clearChat();
@@ -723,13 +837,13 @@ function useADKChat(_ref) {
723
837
  }, _callee5);
724
838
  }));
725
839
  return function deleteSession(_x3) {
726
- return _ref6.apply(this, arguments);
840
+ return _ref7.apply(this, arguments);
727
841
  };
728
842
  }();
729
843
 
730
844
  // 更新会话名称
731
845
  var updateSession = /*#__PURE__*/function () {
732
- var _ref7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(sessionId, title) {
846
+ var _ref8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(sessionId, title) {
733
847
  var _yield$updateSessionT, result;
734
848
  return _regeneratorRuntime().wrap(function _callee6$(_context6) {
735
849
  while (1) switch (_context6.prev = _context6.next) {
@@ -753,7 +867,7 @@ function useADKChat(_ref) {
753
867
  result = _yield$updateSessionT.result;
754
868
  if ((result === null || result === void 0 ? void 0 : result.code) === API_SUCCESS_CODE) {
755
869
  // 编辑成功后,重新获取会话列表
756
- initAppConversations(false);
870
+ initAppConversations();
757
871
  }
758
872
  case 7:
759
873
  case "end":
@@ -762,14 +876,14 @@ function useADKChat(_ref) {
762
876
  }, _callee6);
763
877
  }));
764
878
  return function updateSession(_x4, _x5) {
765
- return _ref7.apply(this, arguments);
879
+ return _ref8.apply(this, arguments);
766
880
  };
767
881
  }();
768
882
 
769
883
  // 初始化应用
770
884
  var initConfig = /*#__PURE__*/function () {
771
- var _ref8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7() {
772
- var _yield$fetchAppConfig, _data3, result;
885
+ var _ref9 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7() {
886
+ var _yield$fetchAppConfig, data, result;
773
887
  return _regeneratorRuntime().wrap(function _callee7$(_context7) {
774
888
  while (1) switch (_context7.prev = _context7.next) {
775
889
  case 0:
@@ -782,10 +896,10 @@ function useADKChat(_ref) {
782
896
  });
783
897
  case 4:
784
898
  _yield$fetchAppConfig = _context7.sent;
785
- _data3 = _yield$fetchAppConfig.data;
899
+ data = _yield$fetchAppConfig.data;
786
900
  result = _yield$fetchAppConfig.result;
787
901
  if (result.code === API_SUCCESS_CODE) {
788
- setAppInfo(_data3);
902
+ setAppInfo(data);
789
903
  // 成功回调
790
904
  onSuccess === null || onSuccess === void 0 || onSuccess({
791
905
  code: SuccessCode.APP_CONFIG_INIT_SUCCESS,
@@ -817,7 +931,7 @@ function useADKChat(_ref) {
817
931
  }, _callee7, null, [[0, 10, 13, 16]]);
818
932
  }));
819
933
  return function initConfig() {
820
- return _ref8.apply(this, arguments);
934
+ return _ref9.apply(this, arguments);
821
935
  };
822
936
  }();
823
937
 
@@ -838,9 +952,11 @@ function useADKChat(_ref) {
838
952
  return {
839
953
  appInfo: appInfo,
840
954
  startChat: startChat,
955
+ reChat: reChat,
841
956
  stopChat: stopChat,
842
957
  clearChat: clearChat,
843
958
  suggestChat: suggestChat,
959
+ confirmFnCall: confirmFnCall,
844
960
  initialized: initialized,
845
961
  currentSessionId: currentSessionId,
846
962
  sessionList: sessionList,