@ai-group/chat-sdk 0.6.0 → 1.0.3

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 (48) hide show
  1. package/dist/cjs/assets/arrow-down-blue.png +0 -0
  2. package/dist/cjs/assets/arrow-down.png +0 -0
  3. package/dist/cjs/assets/think.png +0 -0
  4. package/dist/cjs/components/XAiChatbot/XAiChatbot.stories.js +126 -99
  5. package/dist/cjs/components/XAiChatbot/XAiChatbot.stories.js.map +2 -2
  6. package/dist/cjs/components/XAiChatbot/index.d.ts +3 -6
  7. package/dist/cjs/components/XAiChatbot/index.js +40 -32
  8. package/dist/cjs/components/XAiChatbot/index.js.map +3 -3
  9. package/dist/cjs/components/XAiChatbot/styles.d.ts +8 -2
  10. package/dist/cjs/components/XAiChatbot/styles.js +66 -21
  11. package/dist/cjs/components/XAiChatbot/styles.js.map +2 -2
  12. package/dist/cjs/components/XAiConversations/index.js +1 -1
  13. package/dist/cjs/components/XAiConversations/index.js.map +1 -1
  14. package/dist/cjs/hooks/useAgentGenerator.js +8 -8
  15. package/dist/cjs/hooks/useAgentGenerator.js.map +2 -2
  16. package/dist/cjs/index.d.ts +2 -1
  17. package/dist/cjs/index.js +3 -0
  18. package/dist/cjs/index.js.map +3 -3
  19. package/dist/cjs/types/XAiChatbot.d.ts +2 -0
  20. package/dist/cjs/types/XAiChatbot.js.map +1 -1
  21. package/dist/cjs/types/XAiMessage.d.ts +3 -2
  22. package/dist/cjs/types/XAiMessage.js.map +2 -2
  23. package/dist/cjs/types/mdx.d.ts +5 -0
  24. package/dist/esm/assets/arrow-down-blue.png +0 -0
  25. package/dist/esm/assets/arrow-down.png +0 -0
  26. package/dist/esm/assets/think.png +0 -0
  27. package/dist/esm/components/XAiChatbot/XAiChatbot.stories.js +96 -99
  28. package/dist/esm/components/XAiChatbot/XAiChatbot.stories.js.map +1 -1
  29. package/dist/esm/components/XAiChatbot/index.d.ts +3 -6
  30. package/dist/esm/components/XAiChatbot/index.js +166 -109
  31. package/dist/esm/components/XAiChatbot/index.js.map +1 -1
  32. package/dist/esm/components/XAiChatbot/styles.d.ts +8 -2
  33. package/dist/esm/components/XAiChatbot/styles.js +24 -18
  34. package/dist/esm/components/XAiChatbot/styles.js.map +1 -1
  35. package/dist/esm/components/XAiConversations/index.js +1 -1
  36. package/dist/esm/components/XAiConversations/index.js.map +1 -1
  37. package/dist/esm/hooks/useAgentGenerator.js +12 -12
  38. package/dist/esm/hooks/useAgentGenerator.js.map +1 -1
  39. package/dist/esm/index.d.ts +2 -1
  40. package/dist/esm/index.js +2 -1
  41. package/dist/esm/index.js.map +1 -1
  42. package/dist/esm/types/XAiChatbot.d.ts +2 -0
  43. package/dist/esm/types/XAiChatbot.js.map +1 -1
  44. package/dist/esm/types/XAiMessage.d.ts +3 -2
  45. package/dist/esm/types/XAiMessage.js.map +1 -1
  46. package/dist/esm/types/mdx.d.ts +5 -0
  47. package/dist/umd/chat-sdk.min.js +1 -1
  48. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
2
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22, _templateObject23, _templateObject24, _templateObject25;
2
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22, _templateObject23, _templateObject24, _templateObject25, _templateObject26, _templateObject27, _templateObject28, _templateObject29, _templateObject30, _templateObject31;
3
3
  import React from 'react';
4
4
  import { css } from '@emotion/css';
5
5
  import { css as globalCss, Global } from '@emotion/react';
@@ -14,29 +14,35 @@ export var useStyles = withBasicStyles(function () {
14
14
  avatar: css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n width: 40px;\n height: 40px;\n border-radius: 50%;\n object-fit: cover;\n margin-right: 12px;\n border: 1px solid ", ";\n "])), borderGray),
15
15
  title: css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n font-weight: 600;\n font-size: 16px;\n color: ", ";\n "])), darkGray),
16
16
  subtitle: css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n font-size: 12px;\n color: ", ";\n margin-top: 2px;\n "])), lightGray),
17
- messageContainer: css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n flex: 1;\n overflow-y: auto;\n padding: 16px;\n // background-color: #fff;\n display: flex;\n flex-direction: column;\n gap: 10px;\n min-height: 0;\n position: relative;\n "]))),
18
- emptyWrapper: css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\n height: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n color: '#222';\n user-select: none;\n "]))),
19
- emptyImg: css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["\n width: 60px;\n height: 60px;\n border-radius: 8px;\n margin-bottom: 16px;\n "]))),
20
- message: css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["\n max-width: 70%;\n padding: 10px 14px;\n border-radius: 20px;\n background-color: ", ";\n color: ", ";\n font-size: 14px;\n line-height: 1.4;\n word-break: break-word;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);\n "])), lightBlue, darkGray),
21
- messageRight: css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral(["\n align-self: flex-end;\n background-color: ", ";\n color: white;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 20px;\n border-top-left-radius: 20px;\n border-top-right-radius: 20px;\n "])), primaryBlue),
22
- quickReplies: css(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral(["\n display: flex;\n gap: 8px;\n padding: 10px 16px;\n border-top: 1px solid ", ";\n background-color: #fff;\n overflow-x: auto;\n "])), borderGray),
23
- replyItem: css(_templateObject13 || (_templateObject13 = _taggedTemplateLiteral(["\n padding: 6px 12px;\n font-size: 13px;\n border: 1px solid ", ";\n border-radius: 20px;\n background-color: #fff;\n color: ", ";\n cursor: pointer;\n white-space: nowrap;\n user-select: none;\n transition: all 0.2s ease;\n \n &:hover {\n background-color: ", ";\n color: #fff;\n }\n "])), primaryBlue, primaryBlue, primaryBlue),
24
- highlight: css(_templateObject14 || (_templateObject14 = _taggedTemplateLiteral(["\n background-color: ", ";\n color: white;\n border-color: ", ";\n "])), primaryBlue, primaryBlue),
25
- inputBar: css(_templateObject15 || (_templateObject15 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n padding: 10px 16px;\n border-top: 1px solid ", ";\n background-color: #fff;\n "])), borderGray),
26
- input: css(_templateObject16 || (_templateObject16 = _taggedTemplateLiteral(["\n flex: 1;\n padding: 8px 12px;\n border: 1px solid ", ";\n border-radius: 20px;\n font-size: 14px;\n outline: none;\n \n &:focus {\n border-color: ", ";\n box-shadow: 0 0 3px ", ";\n }\n "])), borderGray, primaryBlue, primaryBlue),
27
- actionHeaderWrapper: css(_templateObject17 || (_templateObject17 = _taggedTemplateLiteral(["\n margin-bottom: 12px;\n "]))),
28
- actionHeaderItem: css(_templateObject18 || (_templateObject18 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n height: 40px;\n box-sizing: border-box;\n padding: 10px 16px;\n margin-bottom: 8px;\n background: #f7fafd;\n cursor: pointer;\n border-radius: 8px;\n box-shadow: 0 1px 3px rgba(0,0,0,0.03);\n "]))),
29
- actionHeaderIcon: css(_templateObject19 || (_templateObject19 = _taggedTemplateLiteral(["\n height: 14px;\n "]))),
30
- actionHeaderText: css(_templateObject20 || (_templateObject20 = _taggedTemplateLiteral(["\n font-weight: 400;\n font-size: 14px;\n color: #3961F2;\n margin-left: 10px;\n margin-right: 6px;\n "]))),
17
+ messageContainer: css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n flex: 1;\n overflow-y: auto;\n padding: 16px 0;\n // background-color: #fff;\n display: flex;\n flex-direction: column;\n gap: 10px;\n min-height: 0;\n position: relative;\n "]))),
18
+ messageList: css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\n padding: 0 16px;\n "]))),
19
+ emptyWrapper: css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["\n height: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n color: '#222';\n user-select: none;\n "]))),
20
+ emptyImg: css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["\n width: 60px;\n height: 60px;\n border-radius: 8px;\n margin-bottom: 16px;\n "]))),
21
+ message: css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral(["\n max-width: 70%;\n padding: 10px 14px;\n border-radius: 20px;\n background-color: ", ";\n color: ", ";\n font-size: 14px;\n line-height: 1.4;\n word-break: break-word;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);\n "])), lightBlue, darkGray),
22
+ messageRight: css(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral(["\n align-self: flex-end;\n background-color: ", ";\n color: white;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 20px;\n border-top-left-radius: 20px;\n border-top-right-radius: 20px;\n "])), primaryBlue),
23
+ quickReplies: css(_templateObject13 || (_templateObject13 = _taggedTemplateLiteral(["\n display: flex;\n gap: 8px;\n padding: 10px 16px;\n border-top: 1px solid ", ";\n background-color: #fff;\n overflow-x: auto;\n "])), borderGray),
24
+ replyItem: css(_templateObject14 || (_templateObject14 = _taggedTemplateLiteral(["\n padding: 6px 12px;\n font-size: 13px;\n border: 1px solid ", ";\n border-radius: 20px;\n background-color: #fff;\n color: ", ";\n cursor: pointer;\n white-space: nowrap;\n user-select: none;\n transition: all 0.2s ease;\n \n &:hover {\n background-color: ", ";\n color: #fff;\n }\n "])), primaryBlue, primaryBlue, primaryBlue),
25
+ highlight: css(_templateObject15 || (_templateObject15 = _taggedTemplateLiteral(["\n background-color: ", ";\n color: white;\n border-color: ", ";\n "])), primaryBlue, primaryBlue),
26
+ inputBar: css(_templateObject16 || (_templateObject16 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n padding: 10px 16px;\n border-top: 1px solid ", ";\n background-color: #fff;\n "])), borderGray),
27
+ input: css(_templateObject17 || (_templateObject17 = _taggedTemplateLiteral(["\n flex: 1;\n padding: 8px 12px;\n border: 1px solid ", ";\n border-radius: 20px;\n font-size: 14px;\n outline: none;\n \n &:focus {\n border-color: ", ";\n box-shadow: 0 0 3px ", ";\n }\n "])), borderGray, primaryBlue, primaryBlue),
28
+ actionDetailContent: css(_templateObject18 || (_templateObject18 = _taggedTemplateLiteral(["\n border-left: 1px solid #C1C3CD;\n padding-right: 16px;\n padding-left: 11px;\n margin-bottom: 12px;\n margin-left: 25px;\n font-weight: 400;\n font-size: 14px;\n color: #767985;\n line-height: 20px;\n "]))),
29
+ actionHeaderWrapper: css(_templateObject19 || (_templateObject19 = _taggedTemplateLiteral(["\n margin-bottom: 12px;\n "]))),
30
+ actionHeaderIcon: css(_templateObject20 || (_templateObject20 = _taggedTemplateLiteral(["\n height: 14px;\n margin-right: 5px;\n "]))),
31
31
  actionHeaderDetail: css(_templateObject21 || (_templateObject21 = _taggedTemplateLiteral(["\n background: #F3F5FA;\n border-radius: 8px;\n overflow: hidden;\n "]))),
32
32
  actionDetailTitle: css(_templateObject22 || (_templateObject22 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n padding: 0 16px;\n box-sizing: border-box;\n background: #EDEFF5;\n height: 32px;\n margin-bottom: 12px;\n cursor: pointer;\n "]))),
33
- actionHeaderDetailItem: css(_templateObject23 || (_templateObject23 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 14px;\n padding: 0 16px;\n margin-bottom: 12px;\n color: #949494;\n "]))),
34
- actionHeaderCost: css(_templateObject24 || (_templateObject24 = _taggedTemplateLiteral(["\n margin-left: auto;\n color: #888;\n font-size: 12px;\n min-width: 32px;\n text-align: right;\n "])))
33
+ executeHeaderIcon: css(_templateObject23 || (_templateObject23 = _taggedTemplateLiteral(["\n height: 12px;\n padding-right: 10px !important;\n "]))),
34
+ actionTitle: css(_templateObject24 || (_templateObject24 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n padding: 0 16px;\n box-sizing: border-box;\n background: #EDEFF5;\n height: 32px;\n margin-bottom: 12px;\n cursor: pointer;\n border-radius: 8px;\n min-width: 200px;\n "]))),
35
+ actionHeaderDetailItem: css(_templateObject25 || (_templateObject25 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 14px;\n padding: 0 16px;\n margin-bottom: 12px;\n color: #949494;\n "]))),
36
+ actionHeaderCost: css(_templateObject26 || (_templateObject26 = _taggedTemplateLiteral(["\n margin-left: auto;\n color: #888;\n font-size: 12px;\n min-width: 32px;\n text-align: right;\n "]))),
37
+ executeHiddenWrapper: css(_templateObject27 || (_templateObject27 = _taggedTemplateLiteral(["\n background: #FFFFFF;\n border-radius: 8px;\n margin: 12px;\n display: flex;\n align-items: center;\n gap: 8px;\n height: 40px;\n box-sizing: border-box;\n padding: 0px 16px;\n font-size: 14px;\n margin-bottom: 12px;\n color: #3961F2;\n "]))),
38
+ executeTitle: css(_templateObject28 || (_templateObject28 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n padding: 6px 16px;\n height: 40px;\n box-sizing: border-box;\n cursor: pointer;\n "]))),
39
+ executeContent: css(_templateObject29 || (_templateObject29 = _taggedTemplateLiteral(["\n border-top: 1px solid rgba(0,0,0,0.08);\n padding-top: 10px;\n "]))),
40
+ executeWrapper: css(_templateObject30 || (_templateObject30 = _taggedTemplateLiteral(["\n background: #FFFFFF;\n border-radius: 8px;\n padding-bottom: 1px;\n margin: 12px;\n "])))
35
41
  };
36
42
  });
37
43
  export var GlobalStyle = function GlobalStyle() {
38
44
  return /*#__PURE__*/_jsx(Global, {
39
- styles: globalCss(_templateObject25 || (_templateObject25 = _taggedTemplateLiteral(["\n .ant-bubble-footer {\n display: flex;\n align-items: center;\n min-width: 0,\n max-width: 600,\n /* \u4F60\u60F3\u8986\u76D6\u7684\u5176\u4ED6\u6837\u5F0F */\n }\n\n .ant-sender-content {\n textarea {\n word-break: break-all;\n }\n }\n\n .ant-avatar {\n background-color: transparent;\n }\n\n .ant-sender-actions-list {\n margin-left: -40px;\n }\n\n .ant-sender {\n box-shadow: none !important;\n }\n\n .ant-prompts-item {\n padding-block: 8px !important;\n }\n\n /* \u7528\u6237\u6D88\u606F\u6C14\u6CE1\u80CC\u666F\u8272 */\n .ant-bubble .user-content {\n background-color: #D8E0FD;\n }\n\n /* \u52A9\u624B\u6D88\u606F\u6C14\u6CE1\u80CC\u666F\u8272 */\n .ant-bubble .assistant-content {\n background-color: #F3F5FA;\n }\n "])))
45
+ styles: globalCss(_templateObject31 || (_templateObject31 = _taggedTemplateLiteral(["\n .ant-bubble-footer {\n display: flex;\n align-items: center;\n min-width: 0,\n max-width: 600,\n /* \u4F60\u60F3\u8986\u76D6\u7684\u5176\u4ED6\u6837\u5F0F */\n }\n\n .ant-sender-content {\n textarea {\n word-break: break-all;\n }\n }\n\n .ant-avatar {\n background-color: transparent;\n }\n\n .ant-sender-actions-list {\n margin-left: -40px;\n }\n\n .ant-sender {\n box-shadow: none !important;\n }\n\n .ant-prompts-item {\n padding-block: 8px !important;\n }\n\n /* \u7528\u6237\u6D88\u606F\u6C14\u6CE1\u80CC\u666F\u8272 */\n .ant-bubble .user-content {\n background-color: #D8E0FD;\n }\n\n /* \u52A9\u624B\u6D88\u606F\u6C14\u6CE1\u80CC\u666F\u8272 */\n .ant-bubble .assistant-content {\n background-color: transparent;\n padding: 0;\n }\n "])))
40
46
  });
41
47
  };
42
48
  //# sourceMappingURL=styles.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","css","globalCss","Global","withBasicStyles","primaryBlue","lightBlue","darkGray","lightGray","borderGray","jsx","_jsx","useStyles","wrapper","_templateObject","_taggedTemplateLiteral","navbar","_templateObject2","userAvatar","_templateObject3","avatar","_templateObject4","title","_templateObject5","subtitle","_templateObject6","messageContainer","_templateObject7","emptyWrapper","_templateObject8","emptyImg","_templateObject9","message","_templateObject10","messageRight","_templateObject11","quickReplies","_templateObject12","replyItem","_templateObject13","highlight","_templateObject14","inputBar","_templateObject15","input","_templateObject16","actionHeaderWrapper","_templateObject17","actionHeaderItem","_templateObject18","actionHeaderIcon","_templateObject19","actionHeaderText","_templateObject20","actionHeaderDetail","_templateObject21","actionDetailTitle","_templateObject22","actionHeaderDetailItem","_templateObject23","actionHeaderCost","_templateObject24","GlobalStyle","styles","_templateObject25"],"sources":["../../../../src/components/XAiChatbot/styles.tsx"],"sourcesContent":["import React from 'react';\nimport { css } from '@emotion/css';\nimport { css as globalCss, Global } from '@emotion/react';\nimport { withBasicStyles, primaryBlue, lightBlue, darkGray, lightGray, borderGray } from '@/styles/common';\n\nexport const useStyles = withBasicStyles(() => ({\n // 静态样式\n wrapper: css`\n display: flex;\n flex-direction: column;\n // max-height: 812px;\n min-height: 300px;\n max-width: 800px;\n width: 100%;\n height: 100%;\n min-width: 375px;\n // background-color: #fff;\n // border: 1px solid rgba(80,96,122,.15);\n border-radius: 12px;\n overflow: hidden;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen,\n Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;\n `,\n\n navbar: css`\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 12px 16px;\n border-bottom: 1px solid ${borderGray};\n // background-color: #fff;\n `,\n\n userAvatar: css`\n display: flex;\n align-items: center;\n justify-content: center;\n height: 32px;\n width: 32px;\n border-radius: 50%;\n object-fit: cover;\n margin-right: 12px;\n `,\n\n avatar: css`\n width: 40px;\n height: 40px;\n border-radius: 50%;\n object-fit: cover;\n margin-right: 12px;\n border: 1px solid ${borderGray};\n `,\n\n title: css`\n font-weight: 600;\n font-size: 16px;\n color: ${darkGray};\n `,\n\n subtitle: css`\n font-size: 12px;\n color: ${lightGray};\n margin-top: 2px;\n `,\n\n messageContainer: css`\n flex: 1;\n overflow-y: auto;\n padding: 16px;\n // background-color: #fff;\n display: flex;\n flex-direction: column;\n gap: 10px;\n min-height: 0;\n position: relative;\n `,\n\n emptyWrapper: css`\n height: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n color: '#222';\n user-select: none;\n `,\n\n emptyImg: css`\n width: 60px;\n height: 60px;\n border-radius: 8px;\n margin-bottom: 16px;\n `,\n\n message: css`\n max-width: 70%;\n padding: 10px 14px;\n border-radius: 20px;\n background-color: ${lightBlue};\n color: ${darkGray};\n font-size: 14px;\n line-height: 1.4;\n word-break: break-word;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);\n `,\n\n messageRight: css`\n align-self: flex-end;\n background-color: ${primaryBlue};\n color: white;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 20px;\n border-top-left-radius: 20px;\n border-top-right-radius: 20px;\n `,\n\n quickReplies: css`\n display: flex;\n gap: 8px;\n padding: 10px 16px;\n border-top: 1px solid ${borderGray};\n background-color: #fff;\n overflow-x: auto;\n `,\n\n replyItem: css`\n padding: 6px 12px;\n font-size: 13px;\n border: 1px solid ${primaryBlue};\n border-radius: 20px;\n background-color: #fff;\n color: ${primaryBlue};\n cursor: pointer;\n white-space: nowrap;\n user-select: none;\n transition: all 0.2s ease;\n \n &:hover {\n background-color: ${primaryBlue};\n color: #fff;\n }\n `,\n\n highlight: css`\n background-color: ${primaryBlue};\n color: white;\n border-color: ${primaryBlue};\n `,\n\n inputBar: css`\n display: flex;\n align-items: center;\n padding: 10px 16px;\n border-top: 1px solid ${borderGray};\n background-color: #fff;\n `,\n\n input: css`\n flex: 1;\n padding: 8px 12px;\n border: 1px solid ${borderGray};\n border-radius: 20px;\n font-size: 14px;\n outline: none;\n \n &:focus {\n border-color: ${primaryBlue};\n box-shadow: 0 0 3px ${primaryBlue};\n }\n `,\n actionHeaderWrapper: css`\n margin-bottom: 12px;\n `,\n actionHeaderItem: css`\n display: flex;\n align-items: center;\n height: 40px;\n box-sizing: border-box;\n padding: 10px 16px;\n margin-bottom: 8px;\n background: #f7fafd;\n cursor: pointer;\n border-radius: 8px;\n box-shadow: 0 1px 3px rgba(0,0,0,0.03);\n `,\n actionHeaderIcon: css`\n height: 14px;\n `,\n actionHeaderText: css`\n font-weight: 400;\n font-size: 14px;\n color: #3961F2;\n margin-left: 10px;\n margin-right: 6px;\n `,\n actionHeaderDetail: css`\n background: #F3F5FA;\n border-radius: 8px;\n overflow: hidden;\n `,\n actionDetailTitle: css`\n display: flex;\n align-items: center;\n padding: 0 16px;\n box-sizing: border-box;\n background: #EDEFF5;\n height: 32px;\n margin-bottom: 12px;\n cursor: pointer;\n `,\n actionHeaderDetailItem: css`\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 14px;\n padding: 0 16px;\n margin-bottom: 12px;\n color: #949494;\n `,\n actionHeaderCost: css`\n margin-left: auto;\n color: #888;\n font-size: 12px;\n min-width: 32px;\n text-align: right;\n `,\n}));\n\nexport const GlobalStyle: React.FC = () => (\n <Global\n styles={globalCss`\n .ant-bubble-footer {\n display: flex;\n align-items: center;\n min-width: 0,\n max-width: 600,\n /* 你想覆盖的其他样式 */\n }\n\n .ant-sender-content {\n textarea {\n word-break: break-all;\n }\n }\n\n .ant-avatar {\n background-color: transparent;\n }\n\n .ant-sender-actions-list {\n margin-left: -40px;\n }\n\n .ant-sender {\n box-shadow: none !important;\n }\n\n .ant-prompts-item {\n padding-block: 8px !important;\n }\n\n /* 用户消息气泡背景色 */\n .ant-bubble .user-content {\n background-color: #D8E0FD;\n }\n\n /* 助手消息气泡背景色 */\n .ant-bubble .assistant-content {\n background-color: #F3F5FA;\n }\n `}\n />\n);\n"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,GAAG,QAAQ,cAAc;AAClC,SAASA,GAAG,IAAIC,SAAS,EAAEC,MAAM,QAAQ,gBAAgB;AACzD,SAASC,eAAe,EAAEC,WAAW,EAAEC,SAAS,EAAEC,QAAQ,EAAEC,SAAS,EAAEC,UAAU;AAA2B,SAAAC,GAAA,IAAAC,IAAA;AAE5G,OAAO,IAAMC,SAAS,GAAGR,eAAe,CAAC;EAAA,OAAO;IAC9C;IACAS,OAAO,EAAEZ,GAAG,CAAAa,eAAA,KAAAA,eAAA,GAAAC,sBAAA,ydAeX;IAEDC,MAAM,EAAEf,GAAG,CAAAgB,gBAAA,KAAAA,gBAAA,GAAAF,sBAAA,sLAKkBN,UAAU,CAEtC;IAEDS,UAAU,EAAEjB,GAAG,CAAAkB,gBAAA,KAAAA,gBAAA,GAAAJ,sBAAA,uMASd;IAEDK,MAAM,EAAEnB,GAAG,CAAAoB,gBAAA,KAAAA,gBAAA,GAAAN,sBAAA,yJAMWN,UAAU,CAC/B;IAEDa,KAAK,EAAErB,GAAG,CAAAsB,gBAAA,KAAAA,gBAAA,GAAAR,sBAAA,4EAGCR,QAAQ,CAClB;IAEDiB,QAAQ,EAAEvB,GAAG,CAAAwB,gBAAA,KAAAA,gBAAA,GAAAV,sBAAA,2EAEFP,SAAS,CAEnB;IAEDkB,gBAAgB,EAAEzB,GAAG,CAAA0B,gBAAA,KAAAA,gBAAA,GAAAZ,sBAAA,mNAUpB;IAEDa,YAAY,EAAE3B,GAAG,CAAA4B,gBAAA,KAAAA,gBAAA,GAAAd,sBAAA,oLAQhB;IAEDe,QAAQ,EAAE7B,GAAG,CAAA8B,gBAAA,KAAAA,gBAAA,GAAAhB,sBAAA,oGAKZ;IAEDiB,OAAO,EAAE/B,GAAG,CAAAgC,iBAAA,KAAAA,iBAAA,GAAAlB,sBAAA,6PAIUT,SAAS,EACpBC,QAAQ,CAKlB;IAED2B,YAAY,EAAEjC,GAAG,CAAAkC,iBAAA,KAAAA,iBAAA,GAAApB,sBAAA,2OAEKV,WAAW,CAMhC;IAED+B,YAAY,EAAEnC,GAAG,CAAAoC,iBAAA,KAAAA,iBAAA,GAAAtB,sBAAA,8JAISN,UAAU,CAGnC;IAED6B,SAAS,EAAErC,GAAG,CAAAsC,iBAAA,KAAAA,iBAAA,GAAAxB,sBAAA,sVAGQV,WAAW,EAGtBA,WAAW,EAOEA,WAAW,CAGlC;IAEDmC,SAAS,EAAEvC,GAAG,CAAAwC,iBAAA,KAAAA,iBAAA,GAAA1B,sBAAA,sFACQV,WAAW,EAEfA,WAAW,CAC5B;IAEDqC,QAAQ,EAAEzC,GAAG,CAAA0C,iBAAA,KAAAA,iBAAA,GAAA5B,sBAAA,kJAIaN,UAAU,CAEnC;IAEDmC,KAAK,EAAE3C,GAAG,CAAA4C,iBAAA,KAAAA,iBAAA,GAAA9B,sBAAA,0OAGYN,UAAU,EAMZJ,WAAW,EACLA,WAAW,CAEpC;IACDyC,mBAAmB,EAAE7C,GAAG,CAAA8C,iBAAA,KAAAA,iBAAA,GAAAhC,sBAAA,sCAEvB;IACDiC,gBAAgB,EAAE/C,GAAG,CAAAgD,iBAAA,KAAAA,iBAAA,GAAAlC,sBAAA,kRAWpB;IACDmC,gBAAgB,EAAEjD,GAAG,CAAAkD,iBAAA,KAAAA,iBAAA,GAAApC,sBAAA,+BAEpB;IACDqC,gBAAgB,EAAEnD,GAAG,CAAAoD,iBAAA,KAAAA,iBAAA,GAAAtC,sBAAA,8HAMpB;IACDuC,kBAAkB,EAAErD,GAAG,CAAAsD,iBAAA,KAAAA,iBAAA,GAAAxC,sBAAA,sFAItB;IACDyC,iBAAiB,EAAEvD,GAAG,CAAAwD,iBAAA,KAAAA,iBAAA,GAAA1C,sBAAA,0MASrB;IACD2C,sBAAsB,EAAEzD,GAAG,CAAA0D,iBAAA,KAAAA,iBAAA,GAAA5C,sBAAA,oKAQ1B;IACD6C,gBAAgB,EAAE3D,GAAG,CAAA4D,iBAAA,KAAAA,iBAAA,GAAA9C,sBAAA;EAOvB,CAAC;AAAA,CAAC,CAAC;AAEH,OAAO,IAAM+C,WAAqB,GAAG,SAAxBA,WAAqBA,CAAA;EAAA,oBAChCnD,IAAA,CAACR,MAAM;IACL4D,MAAM,EAAE7D,SAAS,CAAA8D,iBAAA,KAAAA,iBAAA,GAAAjD,sBAAA;EAwCf,CACH,CAAC;AAAA,CACH"}
1
+ {"version":3,"names":["React","css","globalCss","Global","withBasicStyles","primaryBlue","lightBlue","darkGray","lightGray","borderGray","jsx","_jsx","useStyles","wrapper","_templateObject","_taggedTemplateLiteral","navbar","_templateObject2","userAvatar","_templateObject3","avatar","_templateObject4","title","_templateObject5","subtitle","_templateObject6","messageContainer","_templateObject7","messageList","_templateObject8","emptyWrapper","_templateObject9","emptyImg","_templateObject10","message","_templateObject11","messageRight","_templateObject12","quickReplies","_templateObject13","replyItem","_templateObject14","highlight","_templateObject15","inputBar","_templateObject16","input","_templateObject17","actionDetailContent","_templateObject18","actionHeaderWrapper","_templateObject19","actionHeaderIcon","_templateObject20","actionHeaderDetail","_templateObject21","actionDetailTitle","_templateObject22","executeHeaderIcon","_templateObject23","actionTitle","_templateObject24","actionHeaderDetailItem","_templateObject25","actionHeaderCost","_templateObject26","executeHiddenWrapper","_templateObject27","executeTitle","_templateObject28","executeContent","_templateObject29","executeWrapper","_templateObject30","GlobalStyle","styles","_templateObject31"],"sources":["../../../../src/components/XAiChatbot/styles.tsx"],"sourcesContent":["import React from 'react';\nimport { css } from '@emotion/css';\nimport { css as globalCss, Global } from '@emotion/react';\nimport { withBasicStyles, primaryBlue, lightBlue, darkGray, lightGray, borderGray } from '@/styles/common';\n\nexport const useStyles = withBasicStyles(() => ({\n // 静态样式\n wrapper: css`\n display: flex;\n flex-direction: column;\n // max-height: 812px;\n min-height: 300px;\n max-width: 800px;\n width: 100%;\n height: 100%;\n min-width: 375px;\n // background-color: #fff;\n // border: 1px solid rgba(80,96,122,.15);\n border-radius: 12px;\n overflow: hidden;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen,\n Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;\n `,\n\n navbar: css`\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 12px 16px;\n border-bottom: 1px solid ${borderGray};\n // background-color: #fff;\n `,\n\n userAvatar: css`\n display: flex;\n align-items: center;\n justify-content: center;\n height: 32px;\n width: 32px;\n border-radius: 50%;\n object-fit: cover;\n margin-right: 12px;\n `,\n\n avatar: css`\n width: 40px;\n height: 40px;\n border-radius: 50%;\n object-fit: cover;\n margin-right: 12px;\n border: 1px solid ${borderGray};\n `,\n\n title: css`\n font-weight: 600;\n font-size: 16px;\n color: ${darkGray};\n `,\n\n subtitle: css`\n font-size: 12px;\n color: ${lightGray};\n margin-top: 2px;\n `,\n\n messageContainer: css`\n flex: 1;\n overflow-y: auto;\n padding: 16px 0;\n // background-color: #fff;\n display: flex;\n flex-direction: column;\n gap: 10px;\n min-height: 0;\n position: relative;\n `,\n\n messageList: css`\n padding: 0 16px;\n `,\n\n emptyWrapper: css`\n height: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n color: '#222';\n user-select: none;\n `,\n\n emptyImg: css`\n width: 60px;\n height: 60px;\n border-radius: 8px;\n margin-bottom: 16px;\n `,\n\n message: css`\n max-width: 70%;\n padding: 10px 14px;\n border-radius: 20px;\n background-color: ${lightBlue};\n color: ${darkGray};\n font-size: 14px;\n line-height: 1.4;\n word-break: break-word;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);\n `,\n\n messageRight: css`\n align-self: flex-end;\n background-color: ${primaryBlue};\n color: white;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 20px;\n border-top-left-radius: 20px;\n border-top-right-radius: 20px;\n `,\n\n quickReplies: css`\n display: flex;\n gap: 8px;\n padding: 10px 16px;\n border-top: 1px solid ${borderGray};\n background-color: #fff;\n overflow-x: auto;\n `,\n\n replyItem: css`\n padding: 6px 12px;\n font-size: 13px;\n border: 1px solid ${primaryBlue};\n border-radius: 20px;\n background-color: #fff;\n color: ${primaryBlue};\n cursor: pointer;\n white-space: nowrap;\n user-select: none;\n transition: all 0.2s ease;\n \n &:hover {\n background-color: ${primaryBlue};\n color: #fff;\n }\n `,\n\n highlight: css`\n background-color: ${primaryBlue};\n color: white;\n border-color: ${primaryBlue};\n `,\n\n inputBar: css`\n display: flex;\n align-items: center;\n padding: 10px 16px;\n border-top: 1px solid ${borderGray};\n background-color: #fff;\n `,\n\n input: css`\n flex: 1;\n padding: 8px 12px;\n border: 1px solid ${borderGray};\n border-radius: 20px;\n font-size: 14px;\n outline: none;\n \n &:focus {\n border-color: ${primaryBlue};\n box-shadow: 0 0 3px ${primaryBlue};\n }\n `,\n actionDetailContent: css`\n border-left: 1px solid #C1C3CD;\n padding-right: 16px;\n padding-left: 11px;\n margin-bottom: 12px;\n margin-left: 25px;\n font-weight: 400;\n font-size: 14px;\n color: #767985;\n line-height: 20px;\n `,\n actionHeaderWrapper: css`\n margin-bottom: 12px;\n `,\n actionHeaderIcon: css`\n height: 14px;\n margin-right: 5px;\n `,\n actionHeaderDetail: css`\n background: #F3F5FA;\n border-radius: 8px;\n overflow: hidden;\n `,\n actionDetailTitle: css`\n display: flex;\n align-items: center;\n padding: 0 16px;\n box-sizing: border-box;\n background: #EDEFF5;\n height: 32px;\n margin-bottom: 12px;\n cursor: pointer;\n `,\n executeHeaderIcon: css`\n height: 12px;\n padding-right: 10px !important;\n `,\n actionTitle: css`\n display: flex;\n align-items: center;\n padding: 0 16px;\n box-sizing: border-box;\n background: #EDEFF5;\n height: 32px;\n margin-bottom: 12px;\n cursor: pointer;\n border-radius: 8px;\n min-width: 200px;\n `,\n actionHeaderDetailItem: css`\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 14px;\n padding: 0 16px;\n margin-bottom: 12px;\n color: #949494;\n `,\n actionHeaderCost: css`\n margin-left: auto;\n color: #888;\n font-size: 12px;\n min-width: 32px;\n text-align: right;\n `,\n executeHiddenWrapper: css`\n background: #FFFFFF;\n border-radius: 8px;\n margin: 12px;\n display: flex;\n align-items: center;\n gap: 8px;\n height: 40px;\n box-sizing: border-box;\n padding: 0px 16px;\n font-size: 14px;\n margin-bottom: 12px;\n color: #3961F2;\n `,\n executeTitle: css`\n display: flex;\n align-items: center;\n padding: 6px 16px;\n height: 40px;\n box-sizing: border-box;\n cursor: pointer;\n `,\n executeContent: css`\n border-top: 1px solid rgba(0,0,0,0.08);\n padding-top: 10px;\n `,\n executeWrapper: css`\n background: #FFFFFF;\n border-radius: 8px;\n padding-bottom: 1px;\n margin: 12px;\n `,\n}));\n\nexport const GlobalStyle: React.FC = () => (\n <Global\n styles={globalCss`\n .ant-bubble-footer {\n display: flex;\n align-items: center;\n min-width: 0,\n max-width: 600,\n /* 你想覆盖的其他样式 */\n }\n\n .ant-sender-content {\n textarea {\n word-break: break-all;\n }\n }\n\n .ant-avatar {\n background-color: transparent;\n }\n\n .ant-sender-actions-list {\n margin-left: -40px;\n }\n\n .ant-sender {\n box-shadow: none !important;\n }\n\n .ant-prompts-item {\n padding-block: 8px !important;\n }\n\n /* 用户消息气泡背景色 */\n .ant-bubble .user-content {\n background-color: #D8E0FD;\n }\n\n /* 助手消息气泡背景色 */\n .ant-bubble .assistant-content {\n background-color: transparent;\n padding: 0;\n }\n `}\n />\n);\n"],"mappings":"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"}
@@ -7,7 +7,7 @@ import { Spin, Divider } from 'antd';
7
7
  import { useChatbotContext } from "../../hooks/useProviderContext";
8
8
  import logo from "../../assets/logo.png";
9
9
  import AddChatIcon from "../../assets/svg/AddChatIcon";
10
- import flashOpen from "../../assets/flash-open.svg";
10
+ import flashOpen from "../../assets/flash-open.svg?url";
11
11
  import InfiniteScroll from 'react-infinite-scroll-component';
12
12
  import { SESSION_PAGE_SIZE } from "../../constants";
13
13
  import clsx from 'clsx';
@@ -1 +1 @@
1
- {"version":3,"names":["React","useState","Conversations","RedoOutlined","Spin","Divider","useChatbotContext","logo","AddChatIcon","flashOpen","InfiniteScroll","SESSION_PAGE_SIZE","clsx","useStyles","GlobalStyle","jsx","_jsx","jsxs","_jsxs","XAiConversations","props","styles","_useChatbotContext","mergedProps","_mergedProps$isNarrow","isNarrow","sessionList","style","onActiveChange","onNewChat","loadMoreSessions","activeKey","menu","_useState","_useState2","_slicedToArray","listVisible","setListVisible","_useState3","_useState4","animateDirection","setAnimateDirection","handleSwitchTab","key","handleNewChat","handleShowList","handleCloseList","setTimeout","children","className","capWrapper","alt","src","w","h","capShape","capIcon","onClick","text","display","nWrapper","fWrapper","slideIn","slideOut","fheaderWrapper","addChatBtn","mr","tipTitle","scrollList","dataLength","length","next","hasMore","loader","textAlign","indicator","spin","size","endMessage","plain","textColor","overflow","paddingBottom","v","items","_objectSpread","width","borderRadius","mask"],"sources":["../../../../src/components/XAiConversations/index.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { Conversations } from '@ant-design/x';\nimport { RedoOutlined } from '@ant-design/icons';\nimport { Spin, Divider } from 'antd';\nimport { useChatbotContext } from '@/hooks/useProviderContext';\nimport { type XAiConversationsProps } from '@/types/XAiConversations';\nimport logo from '@/assets/logo.png';\nimport AddChatIcon from '@/assets/svg/AddChatIcon';\nimport flashOpen from '@/assets/flash-open.svg';\nimport InfiniteScroll from 'react-infinite-scroll-component';\nimport { SESSION_PAGE_SIZE } from '@/constants';\nimport clsx from 'clsx';\nimport { useStyles, GlobalStyle } from './styles';\n\nconst XAiConversations: React.FC<XAiConversationsProps> = (props) => {\n const styles = useStyles();\n const { mergedProps } = useChatbotContext(props);\n const {\n isNarrow = false,\n sessionList,\n style,\n onActiveChange,\n onNewChat,\n loadMoreSessions,\n activeKey,\n menu,\n } = mergedProps;\n\n const [listVisible, setListVisible] = useState(false);\n const [animateDirection, setAnimateDirection] = useState<'in' | 'out' | null>(null);\n\n const handleSwitchTab = (key: string) => {\n onActiveChange?.(key);\n };\n\n const handleNewChat = () => {\n onNewChat?.();\n };\n\n const handleShowList = () => {\n setListVisible(true);\n setAnimateDirection('in');\n };\n\n const handleCloseList = () => {\n setAnimateDirection('out');\n setTimeout(() => {\n setListVisible(false);\n setAnimateDirection(null);\n }, 300);\n };\n\n return (\n <div>\n <GlobalStyle />\n {/**顶部操作栏 */}\n {\n (!listVisible || isNarrow) && (\n <div className={styles.capWrapper}>\n <img alt=\"logo\" src={logo} className={clsx(styles.w(32), styles.h(29))}/>\n <div className={styles.capShape}>\n <div className={styles.capIcon}>\n <img src={flashOpen} alt=\"\" onClick={handleShowList} />\n </div>\n <div className={styles.capIcon}>\n <AddChatIcon className={clsx(styles.w(17), styles.text('#343434'))} onClick={handleNewChat} />\n </div>\n </div>\n </div>\n )\n }\n\n {/* 会话列表 */}\n <div\n style={{ display: listVisible ? 'block' : 'none' }}\n className={clsx(\n isNarrow ? styles.nWrapper : styles.fWrapper,\n animateDirection === 'in' && styles.slideIn,\n animateDirection === 'out' && styles.slideOut\n )}\n >\n {/* 固定头部 */}\n <div className={styles.fheaderWrapper}>\n <img alt=\"logo\" src={logo} className={clsx(styles.w(32), styles.h(29))}/>\n <div className={styles.capIcon}>\n <img src={flashOpen} alt=\"\" onClick={handleCloseList} />\n </div>\n </div>\n <div className={styles.addChatBtn} onClick={handleNewChat}>\n <AddChatIcon className={clsx(styles.w(17), styles.mr(10))} />\n 开启新对话\n </div>\n <div className={styles.tipTitle}>历史对话</div>\n\n {/* 滚动区域 */}\n <div className={styles.scrollList}>\n <InfiniteScroll\n dataLength={sessionList.length}\n next={loadMoreSessions}\n hasMore={false}\n loader={\n <div style={{ textAlign: 'center' }}>\n <Spin indicator={<RedoOutlined spin />} size=\"small\" />\n </div>\n }\n endMessage={sessionList.length === SESSION_PAGE_SIZE && <Divider plain><span className={styles.textColor('#949494')}>只展示前 50 条数据</span></Divider>}\n style={{ overflow: 'hidden', paddingBottom: '5px' }}\n >\n <Conversations\n activeKey={activeKey}\n onActiveChange={(v) => handleSwitchTab(v)}\n items={sessionList}\n menu={menu}\n style={{\n width: 256,\n borderRadius: '6px',\n ...style,\n }}\n />\n </InfiniteScroll>\n </div>\n </div>\n\n {/* 遮罩层 - 仅在窄屏且列表可见时显示 */}\n {isNarrow && listVisible && (\n <div className={styles.mask} onClick={handleCloseList} />\n )}\n </div>\n );\n};\n\nexport default XAiConversations;\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","useState","Conversations","RedoOutlined","Spin","Divider","useChatbotContext","logo","AddChatIcon","flashOpen","InfiniteScroll","SESSION_PAGE_SIZE","clsx","useStyles","GlobalStyle","jsx","_jsx","jsxs","_jsxs","XAiConversations","props","styles","_useChatbotContext","mergedProps","_mergedProps$isNarrow","isNarrow","sessionList","style","onActiveChange","onNewChat","loadMoreSessions","activeKey","menu","_useState","_useState2","_slicedToArray","listVisible","setListVisible","_useState3","_useState4","animateDirection","setAnimateDirection","handleSwitchTab","key","handleNewChat","handleShowList","handleCloseList","setTimeout","children","className","capWrapper","alt","src","w","h","capShape","capIcon","onClick","text","display","nWrapper","fWrapper","slideIn","slideOut","fheaderWrapper","addChatBtn","mr","tipTitle","scrollList","dataLength","length","next","hasMore","loader","textAlign","indicator","spin","size","endMessage","plain","textColor","overflow","paddingBottom","v","items","_objectSpread","width","borderRadius","mask"],"sources":["../../../../src/components/XAiConversations/index.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { Conversations } from '@ant-design/x';\nimport { RedoOutlined } from '@ant-design/icons';\nimport { Spin, Divider } from 'antd';\nimport { useChatbotContext } from '@/hooks/useProviderContext';\nimport { type XAiConversationsProps } from '@/types/XAiConversations';\nimport logo from '@/assets/logo.png';\nimport AddChatIcon from '@/assets/svg/AddChatIcon';\nimport flashOpen from '@/assets/flash-open.svg?url';\nimport InfiniteScroll from 'react-infinite-scroll-component';\nimport { SESSION_PAGE_SIZE } from '@/constants';\nimport clsx from 'clsx';\nimport { useStyles, GlobalStyle } from './styles';\n\nconst XAiConversations: React.FC<XAiConversationsProps> = (props) => {\n const styles = useStyles();\n const { mergedProps } = useChatbotContext(props);\n const {\n isNarrow = false,\n sessionList,\n style,\n onActiveChange,\n onNewChat,\n loadMoreSessions,\n activeKey,\n menu,\n } = mergedProps;\n\n const [listVisible, setListVisible] = useState(false);\n const [animateDirection, setAnimateDirection] = useState<'in' | 'out' | null>(null);\n\n const handleSwitchTab = (key: string) => {\n onActiveChange?.(key);\n };\n\n const handleNewChat = () => {\n onNewChat?.();\n };\n\n const handleShowList = () => {\n setListVisible(true);\n setAnimateDirection('in');\n };\n\n const handleCloseList = () => {\n setAnimateDirection('out');\n setTimeout(() => {\n setListVisible(false);\n setAnimateDirection(null);\n }, 300);\n };\n\n return (\n <div>\n <GlobalStyle />\n {/**顶部操作栏 */}\n {\n (!listVisible || isNarrow) && (\n <div className={styles.capWrapper}>\n <img alt=\"logo\" src={logo} className={clsx(styles.w(32), styles.h(29))}/>\n <div className={styles.capShape}>\n <div className={styles.capIcon}>\n <img src={flashOpen} alt=\"\" onClick={handleShowList} />\n </div>\n <div className={styles.capIcon}>\n <AddChatIcon className={clsx(styles.w(17), styles.text('#343434'))} onClick={handleNewChat} />\n </div>\n </div>\n </div>\n )\n }\n\n {/* 会话列表 */}\n <div\n style={{ display: listVisible ? 'block' : 'none' }}\n className={clsx(\n isNarrow ? styles.nWrapper : styles.fWrapper,\n animateDirection === 'in' && styles.slideIn,\n animateDirection === 'out' && styles.slideOut\n )}\n >\n {/* 固定头部 */}\n <div className={styles.fheaderWrapper}>\n <img alt=\"logo\" src={logo} className={clsx(styles.w(32), styles.h(29))}/>\n <div className={styles.capIcon}>\n <img src={flashOpen} alt=\"\" onClick={handleCloseList} />\n </div>\n </div>\n <div className={styles.addChatBtn} onClick={handleNewChat}>\n <AddChatIcon className={clsx(styles.w(17), styles.mr(10))} />\n 开启新对话\n </div>\n <div className={styles.tipTitle}>历史对话</div>\n\n {/* 滚动区域 */}\n <div className={styles.scrollList}>\n <InfiniteScroll\n dataLength={sessionList.length}\n next={loadMoreSessions}\n hasMore={false}\n loader={\n <div style={{ textAlign: 'center' }}>\n <Spin indicator={<RedoOutlined spin />} size=\"small\" />\n </div>\n }\n endMessage={sessionList.length === SESSION_PAGE_SIZE && <Divider plain><span className={styles.textColor('#949494')}>只展示前 50 条数据</span></Divider>}\n style={{ overflow: 'hidden', paddingBottom: '5px' }}\n >\n <Conversations\n activeKey={activeKey}\n onActiveChange={(v) => handleSwitchTab(v)}\n items={sessionList}\n menu={menu}\n style={{\n width: 256,\n borderRadius: '6px',\n ...style,\n }}\n />\n </InfiniteScroll>\n </div>\n </div>\n\n {/* 遮罩层 - 仅在窄屏且列表可见时显示 */}\n {isNarrow && listVisible && (\n <div className={styles.mask} onClick={handleCloseList} />\n )}\n </div>\n );\n};\n\nexport default XAiConversations;\n"],"mappings":"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"}
@@ -256,7 +256,7 @@ var useAgentGenerator = function useAgentGenerator(_ref) {
256
256
  content: {
257
257
  text: ''
258
258
  },
259
- thinks: [],
259
+ execute: [],
260
260
  status: MessageStatus.init
261
261
  };
262
262
  newMessages.push(aiMsg);
@@ -272,8 +272,8 @@ var useAgentGenerator = function useAgentGenerator(_ref) {
272
272
  }
273
273
  switch (action) {
274
274
  case ActionType.recallKnowledgeStart:
275
- aiMsg.thinks = aiMsg.thinks || [];
276
- aiMsg.thinks.push({
275
+ aiMsg.execute = aiMsg.execute || [];
276
+ aiMsg.execute.push({
277
277
  id: uniqueId,
278
278
  createdAt: new Date(),
279
279
  type: 'ActionExecutionMessage',
@@ -287,9 +287,9 @@ var useAgentGenerator = function useAgentGenerator(_ref) {
287
287
  break;
288
288
  case ActionType.recallKnowledgeEnd:
289
289
  {
290
- var _aiMsg$thinks;
290
+ var _aiMsg$execute;
291
291
  // 需要给之前的recallKnowledgeStart添加cost - 通过uniqueId关联
292
- var recallKnowledgeMsg = (_aiMsg$thinks = aiMsg.thinks) === null || _aiMsg$thinks === void 0 ? void 0 : _aiMsg$thinks.find(function (item) {
292
+ var recallKnowledgeMsg = (_aiMsg$execute = aiMsg.execute) === null || _aiMsg$execute === void 0 ? void 0 : _aiMsg$execute.find(function (item) {
293
293
  return item.id === uniqueId;
294
294
  });
295
295
  if (recallKnowledgeMsg) {
@@ -298,8 +298,8 @@ var useAgentGenerator = function useAgentGenerator(_ref) {
298
298
  break;
299
299
  }
300
300
  case ActionType.invokeToolStart:
301
- aiMsg.thinks = aiMsg.thinks || [];
302
- aiMsg.thinks.push({
301
+ aiMsg.execute = aiMsg.execute || [];
302
+ aiMsg.execute.push({
303
303
  id: uniqueId,
304
304
  createdAt: new Date(),
305
305
  type: 'ActionExecutionMessage',
@@ -313,9 +313,9 @@ var useAgentGenerator = function useAgentGenerator(_ref) {
313
313
  break;
314
314
  case ActionType.invokeToolEnd:
315
315
  {
316
- var _aiMsg$thinks2;
316
+ var _aiMsg$execute2;
317
317
  // 需要给之前的invokeToolStart添加cost - 通过uniqueId关联
318
- var invokeToolMsg = (_aiMsg$thinks2 = aiMsg.thinks) === null || _aiMsg$thinks2 === void 0 ? void 0 : _aiMsg$thinks2.find(function (item) {
318
+ var invokeToolMsg = (_aiMsg$execute2 = aiMsg.execute) === null || _aiMsg$execute2 === void 0 ? void 0 : _aiMsg$execute2.find(function (item) {
319
319
  return item.id === uniqueId;
320
320
  });
321
321
  if (invokeToolMsg) {
@@ -339,8 +339,8 @@ var useAgentGenerator = function useAgentGenerator(_ref) {
339
339
  }
340
340
  break;
341
341
  case ActionType.finish:
342
- // aiMsg.thinks = aiMsg.thinks || [];
343
- // aiMsg.thinks.push({
342
+ // aiMsg.execute = aiMsg.execute || [];
343
+ // aiMsg.execute.push({
344
344
  // id: uniqueId,
345
345
  // createdAt: new Date(),
346
346
  // type: 'ActionExecutionMessage',
@@ -618,7 +618,7 @@ var useAgentGenerator = function useAgentGenerator(_ref) {
618
618
  content: {
619
619
  text: content
620
620
  },
621
- thinks: [],
621
+ execute: [],
622
622
  status: MessageStatus.done
623
623
  };
624
624
  initMessagesList.push(_newMessage);
@@ -1 +1 @@
1
- {"version":3,"names":["useState","useEffect","useRef","v4","uuidV4","useEventStreamRequest","MessageRole","MessageStatus","ErrorCode","SuccessCode","request","safeJsonParse","SESSION_PAGE_SIZE","fetchAppConfig","fetchSessionList","fetchSessionDetail","delSessionId","updateSessionTitle","documentIcon","documentExpandIcon","qaIcon","qaExpandIcon","skillNoIcon","skillNoExpandIcon","toolIcon","toolExpandIcon","ActionType","ProcessStatus","ActionAvailability","useAgentGenerator","_ref","url","token","config","onError","onMessage","onSuccess","textSpeed","_useState","_useState2","_slicedToArray","messages","setMessages","_useState3","_useState4","sessionList","setSessionList","_useState5","total","pageNum","pageSize","_useState6","sessionPagination","setSessionPagination","_useState7","_useState8","currentSessionId","setCurrentSessionId","_useState9","_useState10","appInfo","setAppInfo","requestInfo","_ref2","appNo","pt","tc","initConfig","_ref3","_asyncToGenerator","_regeneratorRuntime","mark","_callee","result","wrap","_callee$","_context","prev","next","_objectSpread","sent","success","data","code","APP_CONFIG_INIT_SUCCESS","message","APP_NOT_FOUND","t0","API_ERROR","stop","apply","arguments","_useEventStreamReques","streaming","onClose","setTimeout","_requestInfo$current","_requestInfo$current2","current","sensitiveWords","requestId","post","onOpen","res","console","log","start","loading","responseData","content","response","action","contentType","errorMsg","prevMessages","_aiMsg","newMessages","_toConsumableArray","_response","_ref4","uniqueId","toolType","args","knowledgeType","_ref4$success","suggest","suggestMessageIndex","findIndex","item","type","newMessage","id","createdAt","Date","status","done","role","suggestion","key","description","push","suggestMsg","lastAIMsgIndex","reverse","m","assistant","realIndex","length","lastAIMsg","aiMsg","text","thinks","init","undefined","recallKnowledgeStart","name","extra","icon","expandIcon","recallKnowledgeEnd","_aiMsg$thinks","recallKnowledgeMsg","find","cost","toFixed","invokeToolStart","invokeToolEnd","_aiMsg$thinks2","invokeToolMsg","pending","failed","concat","finish","initAppConversations","setMessage","_ref5","_callee2","messageType","_callee2$","_context2","prologueMessageIndex","_item$extra","prologue","noFooter","map","_item$extra2","abrupt","_item$extra3","splice","_x","_x2","chat","_ref6","_callee3","inputs_msg","_callee3$","_context3","user","_typeof","appParams","sessionId","Authorization","_x3","reChat","lastUserMsg","stopChat","forEach","formatMessages","initMessagesList","_ref7","messageTime","initPrologue","_ref8","_callee4","_appInfo$onboardingIn","onboardingInfo","_ref9","_ref9$suggested_quest","suggested_questions","_ref9$prologue","formatSuggests","suggestMessages","hasMessages","_callee4$","_context4","filter","_item$extra4","index","some","_item$extra5","_ref10","_callee5","fetchDetail","_result$data","resultData","_result$data2","_result$data3","_result$data4","formatSessions","_args5","_callee5$","_context5","label","title","timestamp","gmtCreated","getTime","meta","totalCount","setCurrentSessionDetail","APP_MESSAGES_INIT_SUCCESS","_ref11","_callee6","sessionResult","_sessionResult$data","sessionsData","_callee6$","_context6","list","reduce","acc","cur","sessionMessages","_x4","deleteSession","_ref12","_callee7","_callee7$","_context7","createNewChat","_x5","updateSession","_ref13","_callee8","_callee8$","_context8","_x6","_x7"],"sources":["../../../src/hooks/useAgentGenerator.ts"],"sourcesContent":["import { useState, useEffect, useRef } from 'react';\nimport { v4 as uuidV4 } from 'uuid';\nimport { useEventStreamRequest } from '@/hooks/useEventStreamRequest';\nimport { MessageRole, MessageStatus, TextMessage, SuggestionMessage, Messages } from '@/types/XAiMessage';\nimport { Error, ErrorCode, Success, SuccessCode, sessionData } from '@/types';\nimport { request } from '@/utils/request';\nimport { safeJsonParse } from '@/utils/index';\nimport { SESSION_PAGE_SIZE } from '@/constants';\nimport { fetchAppConfig, fetchSessionList, fetchSessionDetail, delSessionId, updateSessionTitle } from '@/services/api';\n// 图标\nimport documentIcon from '@/assets/document.png';\nimport documentExpandIcon from '@/assets/document-black.png';\nimport qaIcon from '@/assets/qa.png';\nimport qaExpandIcon from '@/assets/qa-black.png';\nimport skillNoIcon from '@/assets/skillNo.png';\nimport skillNoExpandIcon from '@/assets/skillNo-black.png';\nimport toolIcon from '@/assets/tools.png';\nimport toolExpandIcon from '@/assets/tools-black.png';\n\nexport type ContentType = 'TEXT' | 'IMAGE' | 'FILE';\n\nexport interface ImageUrl {\n url: string;\n name: string;\n}\n\nexport interface FileUrl {\n url: string;\n fileName: string;\n suffix: string;\n}\n\nexport interface Content {\n text?: string;\n imageUrl?: ImageUrl;\n fileUrl?: FileUrl;\n}\n\nexport interface ContentDef {\n description: string;\n contentType: ContentType;\n content: Content;\n}\n// contents 类型\nexport type Contents = ContentDef[];\n\n// —————————————— 接口字段定义 ————————————\nexport enum ActionType {\n recallKnowledgeStart = 'RECALL_KNOWLEDGE_START', // 知识库召回开始\n recallKnowledgeEnd = 'RECALL_KNOWLEDGE_END', // 知识库召回结束\n invokeToolStart = 'INVOKE_AGENT_TOOL_START', // 开始调用工具\n invokeToolEnd = 'INVOKE_AGENT_TOOL_END', // 调用工具完成\n suggest = 'FOLLOW_UP', // 用户提示\n response = 'RESPONSE', // 响应\n finish = 'FINISHED', // 结束\n}\n\nexport enum ProcessStatus {\n start = 'START',\n end = 'END',\n}\n\nexport enum ActionAvailability {\n disabled = 'disabled', // 不可用\n enabled = 'enabled', // 可用\n remote = 'remote', // 远程可用\n}\n\nexport type ThinkStep = any; // 临时定义,后续可完善\n\n/**\n* 工具/动作定义\n*/\nexport interface Action {\n name: string; // 名称\n description: string; // 描述\n jsonSchema: string; // 参数JSON Schema\n available?: ActionAvailability; // 可用性\n error?: Error; // 错误信息\n}\n\nexport interface UseAgentGeneratorProps {\n url: string;\n token: string;\n config: any;\n onError?: (error: Error) => void;\n onSuccess?: (data: Success) => void;\n onMessage?: (content: string, data: Messages) => void;\n}\nconst useAgentGenerator = ({\n url,\n token,\n config,\n onError,\n onMessage,\n onSuccess,\n}: UseAgentGeneratorProps) => {\n const textSpeed = 60;\n // 聊天记录\n const [messages, setMessages] = useState<Messages[]>([]);\n // 聊天记录分页设置\n // const [messagePagination, setMessagePagination] = useState({ total: 0, pageNum: 1, pageSize: 999 });\n // 会话记录\n const [sessionList, setSessionList] = useState<sessionData[]>([]);\n // 会话请求是否加载中\n // const [sessionLoading, setSessionLoading] = useState<boolean>(false);\n // 会话分页设置\n const [sessionPagination, setSessionPagination] = useState({ total: 0, pageNum: 1, pageSize: SESSION_PAGE_SIZE });\n // 当前会话\n const [currentSessionId, setCurrentSessionId] = useState<string>('');\n // 应用 配置\n const [appInfo, setAppInfo] = useState<any>(null);\n // 请求 配置\n const requestInfo = useRef<{ requestId?: string; sensitiveWords?: string[] }>({});\n\n const { appNo, pt, tc } = config || {};\n\n // 初始化时获取配置\n useEffect(() => {\n if (url && config) {\n const initConfig = async () => {\n try {\n const result = await fetchAppConfig({ url, ...config });\n if (result.success) {\n setAppInfo(result.data);\n\n // 成功回调\n onSuccess?.({\n code: SuccessCode.APP_CONFIG_INIT_SUCCESS,\n message: '初始化配置成功',\n });\n } else {\n onError?.({\n code: (result.code as ErrorCode) || ErrorCode.APP_NOT_FOUND,\n message: result.message || '获取应用配置失败',\n });\n }\n } catch (error) {\n onError?.({\n code: ErrorCode.API_ERROR,\n message: '获取应用配置失败',\n });\n }\n };\n initConfig();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [url, config]);\n\n const { start, loading, responseData, stop } = useEventStreamRequest({\n streaming: true,\n textSpeed,\n onClose: () => {\n // close的时机有可能在setMessages之前,所以需要延迟一下\n setTimeout(() => {\n if (requestInfo.current?.sensitiveWords && requestInfo.current?.requestId) {\n request.post(url);\n }\n }, 500);\n },\n onOpen(res) {\n console.log('res-----open:', res);\n },\n });\n\n // 数据更新\n useEffect(() => {\n if (!responseData || !responseData.content || !responseData.data) return;\n\n let response = responseData.data || responseData.content;\n if (typeof response === 'string') {\n response = safeJsonParse(response, {\n action: ActionType.response,\n data: {\n contentType: 'TEXT',\n content: '解析响应数据时出错,请重试',\n success: false,\n errorMsg: '响应数据格式错误',\n },\n });\n }\n\n setMessages((prevMessages) => {\n let newMessages = [...prevMessages];\n // 消息类型判断\n const { action, data } = response;\n const { uniqueId, contentType, content, toolType, args, knowledgeType, success = true, errorMsg } = data || {};\n\n // 建议类信息 特殊处理\n if (action === ActionType.suggest) {\n const suggestMessageIndex = messages.findIndex((item) => item.type === 'SuggestionMessage');\n if (suggestMessageIndex === -1) {\n const newMessage: SuggestionMessage = {\n id: uuidV4(),\n type: 'SuggestionMessage',\n createdAt: new Date(),\n status: MessageStatus.done,\n role: MessageRole.suggestion,\n content: [{\n key: uuidV4(),\n description: content,\n }],\n };\n // 插到末尾\n newMessages.push(newMessage);\n } else {\n const suggestMsg = newMessages[suggestMessageIndex] as SuggestionMessage;\n if (suggestMsg?.content) {\n suggestMsg.content.push({\n key: uuidV4(),\n description: content,\n });\n }\n }\n return newMessages;\n }\n\n // 找到最后一条 AI 消息\n const lastAIMsgIndex = [...prevMessages].reverse().findIndex(\n (m) => m.role === MessageRole.assistant && m.type === 'TextMessage' && (m.status === 'init' || m.status === 'pending'),\n );\n const realIndex = lastAIMsgIndex === -1 ? -1 : prevMessages.length - 1 - lastAIMsgIndex;\n const lastAIMsg = realIndex !== -1 ? prevMessages[realIndex] : null;\n\n let aiMsg: TextMessage | undefined;\n\n if (!lastAIMsg) {\n aiMsg = {\n id: uuidV4(),\n type: 'TextMessage',\n createdAt: new Date(),\n role: MessageRole.assistant,\n content: { text: '' },\n thinks: [],\n status: MessageStatus.init,\n };\n newMessages.push(aiMsg);\n } else if (lastAIMsg.type === 'TextMessage') {\n aiMsg = { ...lastAIMsg };\n } else if (lastAIMsg.type === 'ImageMessage') {\n aiMsg = undefined;\n }\n\n // 如果 aiMsg 为 undefined,则跳过处理\n if (!aiMsg) {\n return newMessages;\n }\n\n switch (action) {\n case ActionType.recallKnowledgeStart:\n aiMsg.thinks = aiMsg.thinks || [];\n aiMsg.thinks.push({\n id: uniqueId,\n createdAt: new Date(),\n type: 'ActionExecutionMessage',\n name: knowledgeType === 'DOCUMENT' ? '已搜索文档知识库' : '已搜索问答知识库',\n arguments: args,\n extra: {\n ...data,\n icon: knowledgeType === 'DOCUMENT' ? documentIcon : qaIcon,\n expandIcon: knowledgeType === 'DOCUMENT' ? documentExpandIcon : qaExpandIcon,\n },\n });\n break;\n case ActionType.recallKnowledgeEnd: {\n // 需要给之前的recallKnowledgeStart添加cost - 通过uniqueId关联\n const recallKnowledgeMsg = aiMsg.thinks?.find((item) => item.id === uniqueId);\n if (recallKnowledgeMsg) {\n recallKnowledgeMsg.extra.cost = data?.cost ? (data?.cost / 1000).toFixed(2) : 0;\n }\n break;\n }\n case ActionType.invokeToolStart:\n aiMsg.thinks = aiMsg.thinks || [];\n aiMsg.thinks.push({\n id: uniqueId,\n createdAt: new Date(),\n type: 'ActionExecutionMessage',\n name: toolType === 'SKILL' ? '已调用工作流' : '已调用工具',\n arguments: args,\n extra: {\n ...data,\n icon: toolType === 'SKILL' ? skillNoIcon : toolIcon,\n expandIcon: toolType === 'SKILL' ? skillNoExpandIcon : toolExpandIcon,\n },\n });\n break;\n case ActionType.invokeToolEnd: {\n // 需要给之前的invokeToolStart添加cost - 通过uniqueId关联\n const invokeToolMsg = aiMsg.thinks?.find((item) => item.id === uniqueId);\n if (invokeToolMsg) {\n invokeToolMsg.extra.cost = data?.cost ? (data?.cost / 1000).toFixed(2) : 0;\n }\n break;\n }\n case ActionType.response:\n if (success) {\n // 正常渲染\n if (aiMsg.status === MessageStatus.init) {\n aiMsg.status = MessageStatus.pending;\n }\n if (contentType === 'TEXT' && 'text' in aiMsg.content) {\n aiMsg.content.text += content;\n }\n } else {\n // 调用失败\n aiMsg.status = MessageStatus.failed;\n aiMsg.content.text = `<span style=\"color: red;\">❌ ${errorMsg}</span>`;\n }\n break;\n case ActionType.finish:\n // aiMsg.thinks = aiMsg.thinks || [];\n // aiMsg.thinks.push({\n // id: uniqueId,\n // createdAt: new Date(),\n // type: 'ActionExecutionMessage',\n // name: '运行完毕',\n // extra: {\n // ...data,\n // cost: data?.cost ? (data?.cost / 1000).toFixed(2) : 0,\n // icon: completedIcon,\n // expandIcon: completedExpandIcon,\n // },\n // });\n aiMsg.status = MessageStatus.done;\n // 收到一条完整,触发收到消息回调\n onMessage?.(aiMsg?.content?.text ,aiMsg);\n // 重新获取历史对话列表\n initAppConversations(false);\n break;\n // 其他类型略\n }\n\n // 更新消息数组\n if (lastAIMsg && lastAIMsg.type === 'TextMessage') {\n newMessages[realIndex] = aiMsg;\n } else if (!lastAIMsg) {\n // 只有 newMessages 最后一条是 TextMessage 时才替换,否则 push\n if (newMessages.length > 0 && newMessages[newMessages.length - 1].type === 'TextMessage') {\n newMessages[newMessages.length - 1] = aiMsg;\n } else {\n // 只 push TextMessage,不替换非 TextMessage\n newMessages = [...newMessages, aiMsg];\n }\n }\n return newMessages;\n });\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [responseData]);\n\n // 添加对话(非交互触发)\n const setMessage = async (messageType: string, content: any) => {\n switch (messageType) {\n case 'prologue': {\n setMessages((prev) => {\n const prologueMessageIndex = prev.findIndex((item) => item.extra?.prologue);\n if (prologueMessageIndex === -1) {\n const newMessage: Messages = {\n type: 'TextMessage',\n id: uuidV4(),\n createdAt: new Date(),\n role: MessageRole.assistant,\n status: MessageStatus.done,\n content: {\n text: content,\n },\n extra: {\n prologue: true,\n noFooter: true,\n },\n };\n return [newMessage, ...prev];\n }\n return prev.map((item) => {\n if (item.extra?.prologue && item.content && 'text' in item.content) {\n item.content.text = content;\n }\n return item;\n });\n });\n break;\n }\n case 'suggest': {\n setMessages((prev) => {\n const suggestMessageIndex = prev.findIndex((item) => item.type === 'SuggestionMessage');\n if (suggestMessageIndex === -1) {\n const prologueMessageIndex = prev.findIndex((item) => item.extra?.prologue);\n const newMessage: Messages = {\n id: uuidV4(),\n type: 'SuggestionMessage',\n createdAt: new Date(),\n status: MessageStatus.done,\n role: MessageRole.suggestion,\n content,\n };\n if (prologueMessageIndex === -1) {\n // 如果没有开场白,则插入到最前面\n return [newMessage, ...prev];\n }\n // 如果有开场白,则插到开场白后面\n const newMessages = [...prev];\n newMessages.splice(prologueMessageIndex + 1, 0, newMessage);\n return newMessages;\n }\n return prev.map((item) => {\n if (item.type === 'SuggestionMessage') {\n item.content = content;\n }\n return item;\n });\n });\n break;\n }\n default:\n break;\n }\n };\n\n // 简单对话\n const chat = async (content: any) => {\n let newMessage: Messages;\n let inputs_msg;\n if (typeof content === 'string') {\n newMessage = {\n type: 'TextMessage',\n id: uuidV4(),\n createdAt: new Date(),\n role: MessageRole.user,\n status: MessageStatus.done,\n content: {\n text: content,\n },\n };\n } else {\n newMessage = {\n type: 'TextMessage',\n id: uuidV4(),\n createdAt: new Date(),\n role: MessageRole.user,\n status: MessageStatus.done,\n content: {\n text: content,\n },\n ...content,\n }\n }\n\n if (typeof newMessage.content === 'object' && 'text' in newMessage.content && typeof newMessage.content.text === 'string') {\n inputs_msg = newMessage.content.text;\n } else {\n inputs_msg = '';\n }\n\n setMessages((prev) => {\n // 若存在对话建议,先删除对话建议\n const suggestMessageIndex = messages.findIndex((item) => item.type === 'SuggestionMessage');\n if (suggestMessageIndex !== -1) {\n prev.splice(suggestMessageIndex, 1);\n }\n // 插入用户消息\n prev.push(newMessage);\n return prev;\n });\n\n start(\n `${url}/appouter/${appNo}/sendMsg?pt=${pt}&tc=${tc}`,\n {\n appParams: {\n inputs_msg,\n },\n sessionId: currentSessionId,\n },\n {\n Authorization: `Bearer ${token}`,\n },\n );\n };\n\n // 重新生成方法\n const reChat = () => {\n setMessages((prevMessages) => {\n // 1. 删除最新一条 AI 消息\n const lastAIMsgIndex = [...prevMessages].reverse().findIndex(\n (m) => m.role === MessageRole.assistant && m.type === 'TextMessage',\n );\n const newMessages = [...prevMessages];\n if (lastAIMsgIndex !== -1) {\n const realIndex = newMessages.length - 1 - lastAIMsgIndex;\n newMessages.splice(realIndex, 1);\n }\n\n // 2. 若存在对话建议,先删除对话建议\n const suggestMessageIndex = newMessages.findIndex((item) => item.type === 'SuggestionMessage');\n if (suggestMessageIndex !== -1) {\n newMessages.splice(suggestMessageIndex, 1);\n }\n\n // 3. 找到最新一条用户消息,且类型为 TextMessage\n const lastUserMsg = [...newMessages].reverse().find(\n (m) => m.role === MessageRole.user && m.type === 'TextMessage',\n ) as TextMessage | undefined;\n if (lastUserMsg && lastUserMsg.content && typeof lastUserMsg.content.text === 'string') {\n // 重新发起 chat\n chat(lastUserMsg.content.text);\n }\n\n return newMessages;\n });\n };\n\n // 停止对话\n const stopChat = () => {\n stop();\n setMessages((prevMessages) => {\n // 找到我所有进行中的消息,并设置为结束\n const newMessages = [...prevMessages];\n newMessages.forEach((m) => {\n if (m.status === MessageStatus.pending) {\n m.status = MessageStatus.done;\n } else if (m.status === MessageStatus.init) {\n if (m.type === 'TextMessage') {\n m.content.text = '<span style=\"color: #cbcbcb;\">用户已取消</span>';\n }\n m.status = MessageStatus.done;\n }\n });\n return newMessages;\n });\n };\n\n // 初始化历史记录\n const formatMessages = (data: any, init = false) => {\n setMessages((prev) => {\n const initMessagesList: Messages[] = [];\n data.forEach((item: any) => {\n const { content, messageTime, role } = item || {};\n\n if (role === 'USER') {\n const newMessage: Messages = {\n type: 'TextMessage',\n id: uuidV4(),\n createdAt: messageTime,\n role: MessageRole.user,\n status: MessageStatus.done,\n content: {\n text: content,\n },\n };\n\n initMessagesList.push(newMessage);\n } else if (role === 'AI') {\n const newMessage: TextMessage = {\n id: uuidV4(),\n type: 'TextMessage',\n createdAt: messageTime,\n role: MessageRole.assistant,\n content: { text: content },\n thinks: [],\n status: MessageStatus.done,\n };\n\n initMessagesList.push(newMessage);\n }\n });\n\n if (init) {\n return [...initMessagesList];\n }\n return [...prev, ...initMessagesList];\n });\n };\n\n // 初始化开场白\n const initPrologue = async () => {\n const { onboardingInfo = {} } = appInfo;\n // eslint-disable-next-line camelcase\n const { suggested_questions = [], prologue = '' } = onboardingInfo || {};\n\n // 初始化开场白\n if (prologue) {\n setMessage('prologue', prologue);\n } else {\n setMessages((prev) => prev.filter((item) => !item.extra?.prologue));\n }\n\n // 过滤空内容\n const formatSuggests = suggested_questions.filter((item: string) => item);\n\n if (formatSuggests.length > 0) {\n const suggestMessages = formatSuggests.map((item: string, index: number) => ({\n key: index + 1,\n description: item,\n }));\n // 页面为空时展示开场白预设问题\n const hasMessages = messages.some((item) => (!item.extra?.prologue && item.type !== 'SuggestionMessage'));\n if (!hasMessages) {\n setMessage('suggest', suggestMessages);\n }\n } else {\n setMessages((prev) => prev.filter((item) => !(item.type === 'SuggestionMessage')));\n }\n };\n\n // 获取聊天记录\n const initAppConversations = async (fetchDetail: boolean = false) => {\n try {\n const result = await fetchSessionList({\n url,\n appNo,\n pt,\n tc,\n token,\n pageNum: sessionPagination.pageNum,\n pageSize: sessionPagination.pageSize,\n });\n\n if (result?.success) {\n const resultData = result?.data?.data || [];\n if (resultData.length > 0) {\n const formatSessions = resultData.map((item) => {\n return {\n key: item.sessionId,\n label: item.title || '新对话',\n timestamp: new Date(item.gmtCreated).getTime(),\n messages: [],\n meta: {\n ...item,\n }\n };\n });\n\n setSessionList(formatSessions);\n // 设置分页信息\n setSessionPagination({ pageNum: result?.data?.pageNum, pageSize: result?.data?.pageSize, total: result?.data?.totalCount })\n const { sessionId } = resultData[0];\n fetchDetail && setCurrentSessionDetail(sessionId);\n } else {\n // 页面报错 初始化\n setSessionList([]);\n setCurrentSessionId(uuidV4());\n initPrologue();\n }\n // 成功回调\n onSuccess?.({\n code: SuccessCode.APP_MESSAGES_INIT_SUCCESS,\n message: '初始化聊天记录成功',\n });\n } else {\n initPrologue();\n }\n } catch {\n //\n }\n };\n\n // 设置当前会话详情\n const setCurrentSessionDetail = async (sessionId: string) => {\n if (sessionId) {\n if (sessionId === currentSessionId) {\n return;\n }\n setCurrentSessionId(sessionId); // 设置当前会话 id;\n const sessionResult = await fetchSessionDetail({\n url,\n appNo,\n pt,\n tc,\n sessionId,\n token,\n });\n\n if (sessionResult?.success) {\n const sessionsData = (sessionResult?.data as any)?.list?.reduce((acc: any[], cur: any) => {\n return [...acc, ...(cur.sessionMessages || [])];\n }, []);\n\n if (sessionsData.length > 0) {\n formatMessages(sessionsData, true);\n }\n }\n } else {\n // 兼容 无 session异常\n setCurrentSessionId(uuidV4());\n }\n }\n\n // 删除会话\n const deleteSession = async (sessionId: string) => {\n if (!sessionId) return;\n const result = await delSessionId({\n url,\n appNo,\n pt,\n tc,\n sessionId,\n token,\n });\n if (result?.success) {\n // 删除成功后,重新获取会话列表\n initAppConversations(false);\n // 如果删除的是当前会话,则创建新的会话\n if (sessionId === currentSessionId) {\n createNewChat();\n }\n }\n }\n\n // 更新会话名称\n const updateSession = async (sessionId: string, title: string) => {\n if (!sessionId && !title) return;\n const result = await updateSessionTitle({\n url,\n appNo,\n pt,\n tc,\n title,\n sessionId,\n token,\n });\n if (result?.success) {\n // 编辑成功后,重新获取会话列表\n initAppConversations(false);\n }\n }\n\n\n // 生成新对话\n const createNewChat = () => {\n stopChat(); // 停止聊天\n setMessages([]); // 清空所有消息\n initPrologue(); // 初始化开场白和预置问题\n setCurrentSessionId(uuidV4()); // 设置会话 id\n }\n\n // 初始化应用\n useEffect(() => {\n if (appInfo) {\n // 初始化历史数据\n initAppConversations(true);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [appInfo]);\n\n return {\n appInfo,\n messages,\n loading,\n content: responseData.content,\n sessionList,\n currentSessionId,\n sessionPagination,\n initAppConversations,\n reChat,\n chat,\n createNewChat,\n setCurrentSessionId,\n setCurrentSessionDetail,\n updateSession,\n deleteSession,\n setMessage,\n setMessages,\n stopChat,\n initPrologue,\n };\n};\n\nexport default useAgentGenerator;\n"],"mappings":"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"}
1
+ {"version":3,"names":["useState","useEffect","useRef","v4","uuidV4","useEventStreamRequest","MessageRole","MessageStatus","ErrorCode","SuccessCode","request","safeJsonParse","SESSION_PAGE_SIZE","fetchAppConfig","fetchSessionList","fetchSessionDetail","delSessionId","updateSessionTitle","documentIcon","documentExpandIcon","qaIcon","qaExpandIcon","skillNoIcon","skillNoExpandIcon","toolIcon","toolExpandIcon","ActionType","ProcessStatus","ActionAvailability","useAgentGenerator","_ref","url","token","config","onError","onMessage","onSuccess","textSpeed","_useState","_useState2","_slicedToArray","messages","setMessages","_useState3","_useState4","sessionList","setSessionList","_useState5","total","pageNum","pageSize","_useState6","sessionPagination","setSessionPagination","_useState7","_useState8","currentSessionId","setCurrentSessionId","_useState9","_useState10","appInfo","setAppInfo","requestInfo","_ref2","appNo","pt","tc","initConfig","_ref3","_asyncToGenerator","_regeneratorRuntime","mark","_callee","result","wrap","_callee$","_context","prev","next","_objectSpread","sent","success","data","code","APP_CONFIG_INIT_SUCCESS","message","APP_NOT_FOUND","t0","API_ERROR","stop","apply","arguments","_useEventStreamReques","streaming","onClose","setTimeout","_requestInfo$current","_requestInfo$current2","current","sensitiveWords","requestId","post","onOpen","res","console","log","start","loading","responseData","content","response","action","contentType","errorMsg","prevMessages","_aiMsg","newMessages","_toConsumableArray","_response","_ref4","uniqueId","toolType","args","knowledgeType","_ref4$success","suggest","suggestMessageIndex","findIndex","item","type","newMessage","id","createdAt","Date","status","done","role","suggestion","key","description","push","suggestMsg","lastAIMsgIndex","reverse","m","assistant","realIndex","length","lastAIMsg","aiMsg","text","execute","init","undefined","recallKnowledgeStart","name","extra","icon","expandIcon","recallKnowledgeEnd","_aiMsg$execute","recallKnowledgeMsg","find","cost","toFixed","invokeToolStart","invokeToolEnd","_aiMsg$execute2","invokeToolMsg","pending","failed","concat","finish","initAppConversations","setMessage","_ref5","_callee2","messageType","_callee2$","_context2","prologueMessageIndex","_item$extra","prologue","noFooter","map","_item$extra2","abrupt","_item$extra3","splice","_x","_x2","chat","_ref6","_callee3","inputs_msg","_callee3$","_context3","user","_typeof","appParams","sessionId","Authorization","_x3","reChat","lastUserMsg","stopChat","forEach","formatMessages","initMessagesList","_ref7","messageTime","initPrologue","_ref8","_callee4","_appInfo$onboardingIn","onboardingInfo","_ref9","_ref9$suggested_quest","suggested_questions","_ref9$prologue","formatSuggests","suggestMessages","hasMessages","_callee4$","_context4","filter","_item$extra4","index","some","_item$extra5","_ref10","_callee5","fetchDetail","_result$data","resultData","_result$data2","_result$data3","_result$data4","formatSessions","_args5","_callee5$","_context5","label","title","timestamp","gmtCreated","getTime","meta","totalCount","setCurrentSessionDetail","APP_MESSAGES_INIT_SUCCESS","_ref11","_callee6","sessionResult","_sessionResult$data","sessionsData","_callee6$","_context6","list","reduce","acc","cur","sessionMessages","_x4","deleteSession","_ref12","_callee7","_callee7$","_context7","createNewChat","_x5","updateSession","_ref13","_callee8","_callee8$","_context8","_x6","_x7"],"sources":["../../../src/hooks/useAgentGenerator.ts"],"sourcesContent":["import { useState, useEffect, useRef } from 'react';\nimport { v4 as uuidV4 } from 'uuid';\nimport { useEventStreamRequest } from '@/hooks/useEventStreamRequest';\nimport { MessageRole, MessageStatus, TextMessage, SuggestionMessage, Messages } from '@/types/XAiMessage';\nimport { Error, ErrorCode, Success, SuccessCode, sessionData } from '@/types';\nimport { request } from '@/utils/request';\nimport { safeJsonParse } from '@/utils/index';\nimport { SESSION_PAGE_SIZE } from '@/constants';\nimport { fetchAppConfig, fetchSessionList, fetchSessionDetail, delSessionId, updateSessionTitle } from '@/services/api';\n// 图标\nimport documentIcon from '@/assets/document.png';\nimport documentExpandIcon from '@/assets/document-black.png';\nimport qaIcon from '@/assets/qa.png';\nimport qaExpandIcon from '@/assets/qa-black.png';\nimport skillNoIcon from '@/assets/skillNo.png';\nimport skillNoExpandIcon from '@/assets/skillNo-black.png';\nimport toolIcon from '@/assets/tools.png';\nimport toolExpandIcon from '@/assets/tools-black.png';\n\nexport type ContentType = 'TEXT' | 'IMAGE' | 'FILE';\n\nexport interface ImageUrl {\n url: string;\n name: string;\n}\n\nexport interface FileUrl {\n url: string;\n fileName: string;\n suffix: string;\n}\n\nexport interface Content {\n text?: string;\n imageUrl?: ImageUrl;\n fileUrl?: FileUrl;\n}\n\nexport interface ContentDef {\n description: string;\n contentType: ContentType;\n content: Content;\n}\n// contents 类型\nexport type Contents = ContentDef[];\n\n// —————————————— 接口字段定义 ————————————\nexport enum ActionType {\n recallKnowledgeStart = 'RECALL_KNOWLEDGE_START', // 知识库召回开始\n recallKnowledgeEnd = 'RECALL_KNOWLEDGE_END', // 知识库召回结束\n invokeToolStart = 'INVOKE_AGENT_TOOL_START', // 开始调用工具\n invokeToolEnd = 'INVOKE_AGENT_TOOL_END', // 调用工具完成\n suggest = 'FOLLOW_UP', // 用户提示\n response = 'RESPONSE', // 响应\n finish = 'FINISHED', // 结束\n}\n\nexport enum ProcessStatus {\n start = 'START',\n end = 'END',\n}\n\nexport enum ActionAvailability {\n disabled = 'disabled', // 不可用\n enabled = 'enabled', // 可用\n remote = 'remote', // 远程可用\n}\n\nexport type ThinkStep = any; // 临时定义,后续可完善\n\n/**\n* 工具/动作定义\n*/\nexport interface Action {\n name: string; // 名称\n description: string; // 描述\n jsonSchema: string; // 参数JSON Schema\n available?: ActionAvailability; // 可用性\n error?: Error; // 错误信息\n}\n\nexport interface UseAgentGeneratorProps {\n url: string;\n token: string;\n config: any;\n onError?: (error: Error) => void;\n onSuccess?: (data: Success) => void;\n onMessage?: (content: string, data: Messages) => void;\n}\nconst useAgentGenerator = ({\n url,\n token,\n config,\n onError,\n onMessage,\n onSuccess,\n}: UseAgentGeneratorProps) => {\n const textSpeed = 60;\n // 聊天记录\n const [messages, setMessages] = useState<Messages[]>([]);\n // 聊天记录分页设置\n // const [messagePagination, setMessagePagination] = useState({ total: 0, pageNum: 1, pageSize: 999 });\n // 会话记录\n const [sessionList, setSessionList] = useState<sessionData[]>([]);\n // 会话请求是否加载中\n // const [sessionLoading, setSessionLoading] = useState<boolean>(false);\n // 会话分页设置\n const [sessionPagination, setSessionPagination] = useState({ total: 0, pageNum: 1, pageSize: SESSION_PAGE_SIZE });\n // 当前会话\n const [currentSessionId, setCurrentSessionId] = useState<string>('');\n // 应用 配置\n const [appInfo, setAppInfo] = useState<any>(null);\n // 请求 配置\n const requestInfo = useRef<{ requestId?: string; sensitiveWords?: string[] }>({});\n\n const { appNo, pt, tc } = config || {};\n\n // 初始化时获取配置\n useEffect(() => {\n if (url && config) {\n const initConfig = async () => {\n try {\n const result = await fetchAppConfig({ url, ...config });\n if (result.success) {\n setAppInfo(result.data);\n\n // 成功回调\n onSuccess?.({\n code: SuccessCode.APP_CONFIG_INIT_SUCCESS,\n message: '初始化配置成功',\n });\n } else {\n onError?.({\n code: (result.code as ErrorCode) || ErrorCode.APP_NOT_FOUND,\n message: result.message || '获取应用配置失败',\n });\n }\n } catch (error) {\n onError?.({\n code: ErrorCode.API_ERROR,\n message: '获取应用配置失败',\n });\n }\n };\n initConfig();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [url, config]);\n\n const { start, loading, responseData, stop } = useEventStreamRequest({\n streaming: true,\n textSpeed,\n onClose: () => {\n // close的时机有可能在setMessages之前,所以需要延迟一下\n setTimeout(() => {\n if (requestInfo.current?.sensitiveWords && requestInfo.current?.requestId) {\n request.post(url);\n }\n }, 500);\n },\n onOpen(res) {\n console.log('res-----open:', res);\n },\n });\n\n // 数据更新\n useEffect(() => {\n if (!responseData || !responseData.content || !responseData.data) return;\n\n let response = responseData.data || responseData.content;\n if (typeof response === 'string') {\n response = safeJsonParse(response, {\n action: ActionType.response,\n data: {\n contentType: 'TEXT',\n content: '解析响应数据时出错,请重试',\n success: false,\n errorMsg: '响应数据格式错误',\n },\n });\n }\n\n setMessages((prevMessages) => {\n let newMessages = [...prevMessages];\n // 消息类型判断\n const { action, data } = response;\n const { uniqueId, contentType, content, toolType, args, knowledgeType, success = true, errorMsg } = data || {};\n\n // 建议类信息 特殊处理\n if (action === ActionType.suggest) {\n const suggestMessageIndex = messages.findIndex((item) => item.type === 'SuggestionMessage');\n if (suggestMessageIndex === -1) {\n const newMessage: SuggestionMessage = {\n id: uuidV4(),\n type: 'SuggestionMessage',\n createdAt: new Date(),\n status: MessageStatus.done,\n role: MessageRole.suggestion,\n content: [{\n key: uuidV4(),\n description: content,\n }],\n };\n // 插到末尾\n newMessages.push(newMessage);\n } else {\n const suggestMsg = newMessages[suggestMessageIndex] as SuggestionMessage;\n if (suggestMsg?.content) {\n suggestMsg.content.push({\n key: uuidV4(),\n description: content,\n });\n }\n }\n return newMessages;\n }\n\n // 找到最后一条 AI 消息\n const lastAIMsgIndex = [...prevMessages].reverse().findIndex(\n (m) => m.role === MessageRole.assistant && m.type === 'TextMessage' && (m.status === 'init' || m.status === 'pending'),\n );\n const realIndex = lastAIMsgIndex === -1 ? -1 : prevMessages.length - 1 - lastAIMsgIndex;\n const lastAIMsg = realIndex !== -1 ? prevMessages[realIndex] : null;\n\n let aiMsg: TextMessage | undefined;\n\n if (!lastAIMsg) {\n aiMsg = {\n id: uuidV4(),\n type: 'TextMessage',\n createdAt: new Date(),\n role: MessageRole.assistant,\n content: { text: '' },\n execute: [],\n status: MessageStatus.init,\n };\n newMessages.push(aiMsg);\n } else if (lastAIMsg.type === 'TextMessage') {\n aiMsg = { ...lastAIMsg };\n } else if (lastAIMsg.type === 'ImageMessage') {\n aiMsg = undefined;\n }\n\n // 如果 aiMsg 为 undefined,则跳过处理\n if (!aiMsg) {\n return newMessages;\n }\n\n switch (action) {\n case ActionType.recallKnowledgeStart:\n aiMsg.execute = aiMsg.execute || [];\n aiMsg.execute.push({\n id: uniqueId,\n createdAt: new Date(),\n type: 'ActionExecutionMessage',\n name: knowledgeType === 'DOCUMENT' ? '已搜索文档知识库' : '已搜索问答知识库',\n arguments: args,\n extra: {\n ...data,\n icon: knowledgeType === 'DOCUMENT' ? documentIcon : qaIcon,\n expandIcon: knowledgeType === 'DOCUMENT' ? documentExpandIcon : qaExpandIcon,\n },\n });\n break;\n case ActionType.recallKnowledgeEnd: {\n // 需要给之前的recallKnowledgeStart添加cost - 通过uniqueId关联\n const recallKnowledgeMsg = aiMsg.execute?.find((item) => item.id === uniqueId);\n if (recallKnowledgeMsg) {\n recallKnowledgeMsg.extra.cost = data?.cost ? (data?.cost / 1000).toFixed(2) : 0;\n }\n break;\n }\n case ActionType.invokeToolStart:\n aiMsg.execute = aiMsg.execute || [];\n aiMsg.execute.push({\n id: uniqueId,\n createdAt: new Date(),\n type: 'ActionExecutionMessage',\n name: toolType === 'SKILL' ? '已调用工作流' : '已调用工具',\n arguments: args,\n extra: {\n ...data,\n icon: toolType === 'SKILL' ? skillNoIcon : toolIcon,\n expandIcon: toolType === 'SKILL' ? skillNoExpandIcon : toolExpandIcon,\n },\n });\n break;\n case ActionType.invokeToolEnd: {\n // 需要给之前的invokeToolStart添加cost - 通过uniqueId关联\n const invokeToolMsg = aiMsg.execute?.find((item) => item.id === uniqueId);\n if (invokeToolMsg) {\n invokeToolMsg.extra.cost = data?.cost ? (data?.cost / 1000).toFixed(2) : 0;\n }\n break;\n }\n case ActionType.response:\n if (success) {\n // 正常渲染\n if (aiMsg.status === MessageStatus.init) {\n aiMsg.status = MessageStatus.pending;\n }\n if (contentType === 'TEXT' && 'text' in aiMsg.content) {\n aiMsg.content.text += content;\n }\n } else {\n // 调用失败\n aiMsg.status = MessageStatus.failed;\n aiMsg.content.text = `<span style=\"color: red;\">❌ ${errorMsg}</span>`;\n }\n break;\n case ActionType.finish:\n // aiMsg.execute = aiMsg.execute || [];\n // aiMsg.execute.push({\n // id: uniqueId,\n // createdAt: new Date(),\n // type: 'ActionExecutionMessage',\n // name: '运行完毕',\n // extra: {\n // ...data,\n // cost: data?.cost ? (data?.cost / 1000).toFixed(2) : 0,\n // icon: completedIcon,\n // expandIcon: completedExpandIcon,\n // },\n // });\n aiMsg.status = MessageStatus.done;\n // 收到一条完整,触发收到消息回调\n onMessage?.(aiMsg?.content?.text ,aiMsg);\n // 重新获取历史对话列表\n initAppConversations(false);\n break;\n // 其他类型略\n }\n\n // 更新消息数组\n if (lastAIMsg && lastAIMsg.type === 'TextMessage') {\n newMessages[realIndex] = aiMsg;\n } else if (!lastAIMsg) {\n // 只有 newMessages 最后一条是 TextMessage 时才替换,否则 push\n if (newMessages.length > 0 && newMessages[newMessages.length - 1].type === 'TextMessage') {\n newMessages[newMessages.length - 1] = aiMsg;\n } else {\n // 只 push TextMessage,不替换非 TextMessage\n newMessages = [...newMessages, aiMsg];\n }\n }\n return newMessages;\n });\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [responseData]);\n\n // 添加对话(非交互触发)\n const setMessage = async (messageType: string, content: any) => {\n switch (messageType) {\n case 'prologue': {\n setMessages((prev) => {\n const prologueMessageIndex = prev.findIndex((item) => item.extra?.prologue);\n if (prologueMessageIndex === -1) {\n const newMessage: Messages = {\n type: 'TextMessage',\n id: uuidV4(),\n createdAt: new Date(),\n role: MessageRole.assistant,\n status: MessageStatus.done,\n content: {\n text: content,\n },\n extra: {\n prologue: true,\n noFooter: true,\n },\n };\n return [newMessage, ...prev];\n }\n return prev.map((item) => {\n if (item.extra?.prologue && item.content && 'text' in item.content) {\n item.content.text = content;\n }\n return item;\n });\n });\n break;\n }\n case 'suggest': {\n setMessages((prev) => {\n const suggestMessageIndex = prev.findIndex((item) => item.type === 'SuggestionMessage');\n if (suggestMessageIndex === -1) {\n const prologueMessageIndex = prev.findIndex((item) => item.extra?.prologue);\n const newMessage: Messages = {\n id: uuidV4(),\n type: 'SuggestionMessage',\n createdAt: new Date(),\n status: MessageStatus.done,\n role: MessageRole.suggestion,\n content,\n };\n if (prologueMessageIndex === -1) {\n // 如果没有开场白,则插入到最前面\n return [newMessage, ...prev];\n }\n // 如果有开场白,则插到开场白后面\n const newMessages = [...prev];\n newMessages.splice(prologueMessageIndex + 1, 0, newMessage);\n return newMessages;\n }\n return prev.map((item) => {\n if (item.type === 'SuggestionMessage') {\n item.content = content;\n }\n return item;\n });\n });\n break;\n }\n default:\n break;\n }\n };\n\n // 简单对话\n const chat = async (content: any) => {\n let newMessage: Messages;\n let inputs_msg;\n if (typeof content === 'string') {\n newMessage = {\n type: 'TextMessage',\n id: uuidV4(),\n createdAt: new Date(),\n role: MessageRole.user,\n status: MessageStatus.done,\n content: {\n text: content,\n },\n };\n } else {\n newMessage = {\n type: 'TextMessage',\n id: uuidV4(),\n createdAt: new Date(),\n role: MessageRole.user,\n status: MessageStatus.done,\n content: {\n text: content,\n },\n ...content,\n }\n }\n\n if (typeof newMessage.content === 'object' && 'text' in newMessage.content && typeof newMessage.content.text === 'string') {\n inputs_msg = newMessage.content.text;\n } else {\n inputs_msg = '';\n }\n\n setMessages((prev) => {\n // 若存在对话建议,先删除对话建议\n const suggestMessageIndex = messages.findIndex((item) => item.type === 'SuggestionMessage');\n if (suggestMessageIndex !== -1) {\n prev.splice(suggestMessageIndex, 1);\n }\n // 插入用户消息\n prev.push(newMessage);\n return prev;\n });\n\n start(\n `${url}/appouter/${appNo}/sendMsg?pt=${pt}&tc=${tc}`,\n {\n appParams: {\n inputs_msg,\n },\n sessionId: currentSessionId,\n },\n {\n Authorization: `Bearer ${token}`,\n },\n );\n };\n\n // 重新生成方法\n const reChat = () => {\n setMessages((prevMessages) => {\n // 1. 删除最新一条 AI 消息\n const lastAIMsgIndex = [...prevMessages].reverse().findIndex(\n (m) => m.role === MessageRole.assistant && m.type === 'TextMessage',\n );\n const newMessages = [...prevMessages];\n if (lastAIMsgIndex !== -1) {\n const realIndex = newMessages.length - 1 - lastAIMsgIndex;\n newMessages.splice(realIndex, 1);\n }\n\n // 2. 若存在对话建议,先删除对话建议\n const suggestMessageIndex = newMessages.findIndex((item) => item.type === 'SuggestionMessage');\n if (suggestMessageIndex !== -1) {\n newMessages.splice(suggestMessageIndex, 1);\n }\n\n // 3. 找到最新一条用户消息,且类型为 TextMessage\n const lastUserMsg = [...newMessages].reverse().find(\n (m) => m.role === MessageRole.user && m.type === 'TextMessage',\n ) as TextMessage | undefined;\n if (lastUserMsg && lastUserMsg.content && typeof lastUserMsg.content.text === 'string') {\n // 重新发起 chat\n chat(lastUserMsg.content.text);\n }\n\n return newMessages;\n });\n };\n\n // 停止对话\n const stopChat = () => {\n stop();\n setMessages((prevMessages) => {\n // 找到我所有进行中的消息,并设置为结束\n const newMessages = [...prevMessages];\n newMessages.forEach((m) => {\n if (m.status === MessageStatus.pending) {\n m.status = MessageStatus.done;\n } else if (m.status === MessageStatus.init) {\n if (m.type === 'TextMessage') {\n m.content.text = '<span style=\"color: #cbcbcb;\">用户已取消</span>';\n }\n m.status = MessageStatus.done;\n }\n });\n return newMessages;\n });\n };\n\n // 初始化历史记录\n const formatMessages = (data: any, init = false) => {\n setMessages((prev) => {\n const initMessagesList: Messages[] = [];\n data.forEach((item: any) => {\n const { content, messageTime, role } = item || {};\n\n if (role === 'USER') {\n const newMessage: Messages = {\n type: 'TextMessage',\n id: uuidV4(),\n createdAt: messageTime,\n role: MessageRole.user,\n status: MessageStatus.done,\n content: {\n text: content,\n },\n };\n\n initMessagesList.push(newMessage);\n } else if (role === 'AI') {\n const newMessage: TextMessage = {\n id: uuidV4(),\n type: 'TextMessage',\n createdAt: messageTime,\n role: MessageRole.assistant,\n content: { text: content },\n execute: [],\n status: MessageStatus.done,\n };\n\n initMessagesList.push(newMessage);\n }\n });\n\n if (init) {\n return [...initMessagesList];\n }\n return [...prev, ...initMessagesList];\n });\n };\n\n // 初始化开场白\n const initPrologue = async () => {\n const { onboardingInfo = {} } = appInfo;\n // eslint-disable-next-line camelcase\n const { suggested_questions = [], prologue = '' } = onboardingInfo || {};\n\n // 初始化开场白\n if (prologue) {\n setMessage('prologue', prologue);\n } else {\n setMessages((prev) => prev.filter((item) => !item.extra?.prologue));\n }\n\n // 过滤空内容\n const formatSuggests = suggested_questions.filter((item: string) => item);\n\n if (formatSuggests.length > 0) {\n const suggestMessages = formatSuggests.map((item: string, index: number) => ({\n key: index + 1,\n description: item,\n }));\n // 页面为空时展示开场白预设问题\n const hasMessages = messages.some((item) => (!item.extra?.prologue && item.type !== 'SuggestionMessage'));\n if (!hasMessages) {\n setMessage('suggest', suggestMessages);\n }\n } else {\n setMessages((prev) => prev.filter((item) => !(item.type === 'SuggestionMessage')));\n }\n };\n\n // 获取聊天记录\n const initAppConversations = async (fetchDetail: boolean = false) => {\n try {\n const result = await fetchSessionList({\n url,\n appNo,\n pt,\n tc,\n token,\n pageNum: sessionPagination.pageNum,\n pageSize: sessionPagination.pageSize,\n });\n\n if (result?.success) {\n const resultData = result?.data?.data || [];\n if (resultData.length > 0) {\n const formatSessions = resultData.map((item) => {\n return {\n key: item.sessionId,\n label: item.title || '新对话',\n timestamp: new Date(item.gmtCreated).getTime(),\n messages: [],\n meta: {\n ...item,\n }\n };\n });\n\n setSessionList(formatSessions);\n // 设置分页信息\n setSessionPagination({ pageNum: result?.data?.pageNum, pageSize: result?.data?.pageSize, total: result?.data?.totalCount })\n const { sessionId } = resultData[0];\n fetchDetail && setCurrentSessionDetail(sessionId);\n } else {\n // 页面报错 初始化\n setSessionList([]);\n setCurrentSessionId(uuidV4());\n initPrologue();\n }\n // 成功回调\n onSuccess?.({\n code: SuccessCode.APP_MESSAGES_INIT_SUCCESS,\n message: '初始化聊天记录成功',\n });\n } else {\n initPrologue();\n }\n } catch {\n //\n }\n };\n\n // 设置当前会话详情\n const setCurrentSessionDetail = async (sessionId: string) => {\n if (sessionId) {\n if (sessionId === currentSessionId) {\n return;\n }\n setCurrentSessionId(sessionId); // 设置当前会话 id;\n const sessionResult = await fetchSessionDetail({\n url,\n appNo,\n pt,\n tc,\n sessionId,\n token,\n });\n\n if (sessionResult?.success) {\n const sessionsData = (sessionResult?.data as any)?.list?.reduce((acc: any[], cur: any) => {\n return [...acc, ...(cur.sessionMessages || [])];\n }, []);\n\n if (sessionsData.length > 0) {\n formatMessages(sessionsData, true);\n }\n }\n } else {\n // 兼容 无 session异常\n setCurrentSessionId(uuidV4());\n }\n }\n\n // 删除会话\n const deleteSession = async (sessionId: string) => {\n if (!sessionId) return;\n const result = await delSessionId({\n url,\n appNo,\n pt,\n tc,\n sessionId,\n token,\n });\n if (result?.success) {\n // 删除成功后,重新获取会话列表\n initAppConversations(false);\n // 如果删除的是当前会话,则创建新的会话\n if (sessionId === currentSessionId) {\n createNewChat();\n }\n }\n }\n\n // 更新会话名称\n const updateSession = async (sessionId: string, title: string) => {\n if (!sessionId && !title) return;\n const result = await updateSessionTitle({\n url,\n appNo,\n pt,\n tc,\n title,\n sessionId,\n token,\n });\n if (result?.success) {\n // 编辑成功后,重新获取会话列表\n initAppConversations(false);\n }\n }\n\n\n // 生成新对话\n const createNewChat = () => {\n stopChat(); // 停止聊天\n setMessages([]); // 清空所有消息\n initPrologue(); // 初始化开场白和预置问题\n setCurrentSessionId(uuidV4()); // 设置会话 id\n }\n\n // 初始化应用\n useEffect(() => {\n if (appInfo) {\n // 初始化历史数据\n initAppConversations(true);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [appInfo]);\n\n return {\n appInfo,\n messages,\n loading,\n content: responseData.content,\n sessionList,\n currentSessionId,\n sessionPagination,\n initAppConversations,\n reChat,\n chat,\n createNewChat,\n setCurrentSessionId,\n setCurrentSessionDetail,\n updateSession,\n deleteSession,\n setMessage,\n setMessages,\n stopChat,\n initPrologue,\n };\n};\n\nexport default useAgentGenerator;\n"],"mappings":"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"}
@@ -3,7 +3,8 @@ import XAiProvider from './components/XAiProvider';
3
3
  import XAiChatbot from './components/XAiChatbot';
4
4
  import XAiSDK from './components/XAiSDK';
5
5
  import XAiWebSDKWrapper from './components/XAiWebSDKWrapper';
6
+ import XAiSender from './components/XAiSender';
6
7
  import useXAiSDK from './hooks/useXAiSDK';
7
8
  import request from './utils/request';
8
9
  export * from './types';
9
- export { useXAi, XAiProvider, XAiChatbot, XAiSDK, XAiWebSDKWrapper, useXAiSDK, request, };
10
+ export { useXAi, XAiProvider, XAiChatbot, XAiSDK, XAiWebSDKWrapper, XAiSender, useXAiSDK, request, };
package/dist/esm/index.js CHANGED
@@ -4,8 +4,9 @@ import XAiProvider from "./components/XAiProvider";
4
4
  import XAiChatbot from "./components/XAiChatbot";
5
5
  import XAiSDK from "./components/XAiSDK"; // test
6
6
  import XAiWebSDKWrapper from "./components/XAiWebSDKWrapper"; // test
7
+ import XAiSender from "./components/XAiSender";
7
8
  import useXAiSDK from "./hooks/useXAiSDK";
8
9
  import request from "./utils/request";
9
10
  export * from "./types";
10
- export { useXAi, XAiProvider, XAiChatbot, XAiSDK, XAiWebSDKWrapper, useXAiSDK, request };
11
+ export { useXAi, XAiProvider, XAiChatbot, XAiSDK, XAiWebSDKWrapper, XAiSender, useXAiSDK, request };
11
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useXAi","XAiProvider","XAiChatbot","XAiSDK","XAiWebSDKWrapper","useXAiSDK","request"],"sources":["../../src/index.ts"],"sourcesContent":["// index.ts\nimport { useXAi } from './context/AiProviderContext';\nimport XAiProvider from './components/XAiProvider';\nimport XAiChatbot from './components/XAiChatbot';\nimport XAiSDK from './components/XAiSDK'; // test\nimport XAiWebSDKWrapper from './components/XAiWebSDKWrapper'; // test\nimport useXAiSDK from './hooks/useXAiSDK';\nimport request from './utils/request';\n\nexport * from './types';\n\nexport {\n useXAi,\n XAiProvider,\n XAiChatbot,\n XAiSDK,\n XAiWebSDKWrapper,\n useXAiSDK,\n request,\n};\n"],"mappings":"AAAA;AACA,SAASA,MAAM;AACf,OAAOC,WAAW;AAClB,OAAOC,UAAU;AACjB,OAAOC,MAAM,4BAA4B,CAAC;AAC1C,OAAOC,gBAAgB,sCAAsC,CAAC;AAC9D,OAAOC,SAAS;AAChB,OAAOC,OAAO;AAEd;AAEA,SACEN,MAAM,EACNC,WAAW,EACXC,UAAU,EACVC,MAAM,EACNC,gBAAgB,EAChBC,SAAS,EACTC,OAAO"}
1
+ {"version":3,"names":["useXAi","XAiProvider","XAiChatbot","XAiSDK","XAiWebSDKWrapper","XAiSender","useXAiSDK","request"],"sources":["../../src/index.ts"],"sourcesContent":["// index.ts\nimport { useXAi } from './context/AiProviderContext';\nimport XAiProvider from './components/XAiProvider';\nimport XAiChatbot from './components/XAiChatbot';\nimport XAiSDK from './components/XAiSDK'; // test\nimport XAiWebSDKWrapper from './components/XAiWebSDKWrapper'; // test\nimport XAiSender from './components/XAiSender';\nimport useXAiSDK from './hooks/useXAiSDK';\nimport request from './utils/request';\n\nexport * from './types';\n\nexport {\n useXAi,\n XAiProvider,\n XAiChatbot,\n XAiSDK,\n XAiWebSDKWrapper,\n XAiSender,\n useXAiSDK,\n request,\n};\n"],"mappings":"AAAA;AACA,SAASA,MAAM;AACf,OAAOC,WAAW;AAClB,OAAOC,UAAU;AACjB,OAAOC,MAAM,4BAA4B,CAAC;AAC1C,OAAOC,gBAAgB,sCAAsC,CAAC;AAC9D,OAAOC,SAAS;AAChB,OAAOC,SAAS;AAChB,OAAOC,OAAO;AAEd;AAEA,SACEP,MAAM,EACNC,WAAW,EACXC,UAAU,EACVC,MAAM,EACNC,gBAAgB,EAChBC,SAAS,EACTC,SAAS,EACTC,OAAO"}
@@ -150,4 +150,6 @@ export interface XAiChatbotProps extends ChatbotMessageFields {
150
150
  Composer?: React.ElementType;
151
151
  /** 是否展示输入框 */
152
152
  inputShow?: boolean;
153
+ /** 消息顶部 */
154
+ messageHeader?: ReactNode;
153
155
  }