@ai-group/chat-sdk 2.0.4 → 2.1.0

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 (230) hide show
  1. package/dist/cjs/client/base.d.ts +2 -2
  2. package/dist/cjs/client/base.js.map +1 -1
  3. package/dist/cjs/components/DislikeFeedback.js +16 -1
  4. package/dist/cjs/components/DislikeFeedback.js.map +2 -2
  5. package/dist/cjs/components/XAdkChatbot/XAdkChatbot.stories.d.ts +6 -0
  6. package/dist/cjs/components/{XAiWebSDKWrapper.js → XAdkChatbot/XAdkChatbot.stories.js} +29 -40
  7. package/dist/cjs/components/XAdkChatbot/XAdkChatbot.stories.js.map +7 -0
  8. package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/index.d.ts +9 -0
  9. package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/index.js +158 -0
  10. package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/index.js.map +7 -0
  11. package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/styles.d.ts +40 -0
  12. package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/styles.js +59 -0
  13. package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/styles.js.map +7 -0
  14. package/dist/cjs/components/XAdkChatbot/components/MarkdownRender/index.d.ts +6 -0
  15. package/dist/cjs/components/XAdkChatbot/components/MarkdownRender/index.js +95 -0
  16. package/dist/cjs/components/XAdkChatbot/components/MarkdownRender/index.js.map +7 -0
  17. package/dist/cjs/components/XAdkChatbot/components/ThinkRender/index.d.ts +8 -0
  18. package/dist/cjs/components/XAdkChatbot/components/ThinkRender/index.js +49 -0
  19. package/dist/cjs/components/XAdkChatbot/components/ThinkRender/index.js.map +7 -0
  20. package/dist/cjs/components/XAdkChatbot/index.d.ts +4 -0
  21. package/dist/cjs/components/XAdkChatbot/index.js +232 -0
  22. package/dist/cjs/components/XAdkChatbot/index.js.map +7 -0
  23. package/dist/cjs/components/XAdkChatbot/styles.d.ts +51 -0
  24. package/dist/cjs/components/XAdkChatbot/styles.js +160 -0
  25. package/dist/cjs/components/XAdkChatbot/styles.js.map +7 -0
  26. package/dist/cjs/components/XAdkWebProvider/XAdkWebProvider.stories.d.ts +7 -0
  27. package/dist/cjs/components/XAdkWebProvider/XAdkWebProvider.stories.js +144 -0
  28. package/dist/cjs/components/XAdkWebProvider/XAdkWebProvider.stories.js.map +7 -0
  29. package/dist/cjs/components/XAdkWebProvider/index.d.ts +4 -0
  30. package/dist/cjs/components/XAdkWebProvider/index.js +349 -0
  31. package/dist/cjs/components/XAdkWebProvider/index.js.map +7 -0
  32. package/dist/cjs/components/XAdkWebProvider/styles.d.ts +37 -0
  33. package/dist/cjs/components/XAdkWebProvider/styles.js +44 -0
  34. package/dist/cjs/components/XAdkWebProvider/styles.js.map +7 -0
  35. package/dist/cjs/components/XAiChatbot/index.js +15 -13
  36. package/dist/cjs/components/XAiChatbot/index.js.map +2 -2
  37. package/dist/cjs/components/XAiConversations/XAiConversations.stories.js +1 -0
  38. package/dist/cjs/components/XAiConversations/XAiConversations.stories.js.map +2 -2
  39. package/dist/cjs/components/XAiJsonView/index.d.ts +8 -0
  40. package/dist/cjs/components/XAiJsonView/index.js +81 -0
  41. package/dist/cjs/components/XAiJsonView/index.js.map +7 -0
  42. package/dist/cjs/components/XAiJsonView/styles.d.ts +39 -0
  43. package/dist/cjs/components/XAiJsonView/styles.js +58 -0
  44. package/dist/cjs/components/XAiJsonView/styles.js.map +7 -0
  45. package/dist/cjs/components/XAiProvider/XAiProvider.stories.js +1 -1
  46. package/dist/cjs/components/XAiProvider/XAiProvider.stories.js.map +1 -1
  47. package/dist/cjs/components/XAiSender/index.js +23 -17
  48. package/dist/cjs/components/XAiSender/index.js.map +2 -2
  49. package/dist/cjs/context/AiProviderContext.d.ts +3 -2
  50. package/dist/cjs/context/AiProviderContext.js.map +1 -1
  51. package/dist/cjs/hooks/useADKChat.d.ts +38 -0
  52. package/dist/cjs/hooks/useADKChat.js +595 -0
  53. package/dist/cjs/hooks/useADKChat.js.map +7 -0
  54. package/dist/cjs/hooks/useAgentGenerator.js +6 -6
  55. package/dist/cjs/hooks/useAgentGenerator.js.map +2 -2
  56. package/dist/cjs/hooks/useEventStreamRequest.js +6 -3
  57. package/dist/cjs/hooks/useEventStreamRequest.js.map +2 -2
  58. package/dist/cjs/index.d.ts +1 -2
  59. package/dist/cjs/index.js +0 -3
  60. package/dist/cjs/index.js.map +3 -3
  61. package/dist/cjs/services/api.d.ts +36 -19
  62. package/dist/cjs/services/api.js +7 -7
  63. package/dist/cjs/services/api.js.map +2 -2
  64. package/dist/cjs/types/XAdkChatbot.d.ts +197 -0
  65. package/dist/cjs/types/XAdkChatbot.js +18 -0
  66. package/dist/cjs/types/XAdkChatbot.js.map +7 -0
  67. package/dist/cjs/types/XAdkProvider.d.ts +117 -0
  68. package/dist/cjs/types/XAdkProvider.js +18 -0
  69. package/dist/cjs/types/XAdkProvider.js.map +7 -0
  70. package/dist/cjs/types/XAiChatbot.d.ts +2 -2
  71. package/dist/cjs/types/XAiChatbot.js.map +1 -1
  72. package/dist/cjs/types/XAiConversations.d.ts +2 -2
  73. package/dist/cjs/types/XAiConversations.js.map +1 -1
  74. package/dist/cjs/types/index.d.ts +1 -0
  75. package/dist/cjs/types/index.js +3 -1
  76. package/dist/cjs/types/index.js.map +2 -2
  77. package/dist/cjs/utils/providerManager.d.ts +7 -6
  78. package/dist/cjs/utils/providerManager.js.map +2 -2
  79. package/dist/cjs/utils/umdEntry.d.ts +6 -8
  80. package/dist/cjs/utils/umdEntry.js +4 -18
  81. package/dist/cjs/utils/umdEntry.js.map +3 -3
  82. package/dist/esm/client/base.d.ts +2 -2
  83. package/dist/esm/client/base.js.map +1 -1
  84. package/dist/esm/components/DislikeFeedback.js +18 -5
  85. package/dist/esm/components/DislikeFeedback.js.map +1 -1
  86. package/dist/esm/components/XAdkChatbot/XAdkChatbot.stories.d.ts +6 -0
  87. package/dist/esm/components/XAdkChatbot/XAdkChatbot.stories.js +21 -0
  88. package/dist/esm/components/XAdkChatbot/XAdkChatbot.stories.js.map +1 -0
  89. package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/index.d.ts +9 -0
  90. package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/index.js +183 -0
  91. package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/index.js.map +1 -0
  92. package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/styles.d.ts +40 -0
  93. package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/styles.js +14 -0
  94. package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/styles.js.map +1 -0
  95. package/dist/esm/components/XAdkChatbot/components/MarkdownRender/index.d.ts +6 -0
  96. package/dist/esm/components/XAdkChatbot/components/MarkdownRender/index.js +70 -0
  97. package/dist/esm/components/XAdkChatbot/components/MarkdownRender/index.js.map +1 -0
  98. package/dist/esm/components/XAdkChatbot/components/ThinkRender/index.d.ts +8 -0
  99. package/dist/esm/components/XAdkChatbot/components/ThinkRender/index.js +32 -0
  100. package/dist/esm/components/XAdkChatbot/components/ThinkRender/index.js.map +1 -0
  101. package/dist/esm/components/XAdkChatbot/index.d.ts +4 -0
  102. package/dist/esm/components/XAdkChatbot/index.js +280 -0
  103. package/dist/esm/components/XAdkChatbot/index.js.map +1 -0
  104. package/dist/esm/components/XAdkChatbot/styles.d.ts +51 -0
  105. package/dist/esm/components/XAdkChatbot/styles.js +25 -0
  106. package/dist/esm/components/XAdkChatbot/styles.js.map +1 -0
  107. package/dist/esm/components/XAdkWebProvider/XAdkWebProvider.stories.d.ts +7 -0
  108. package/dist/esm/components/XAdkWebProvider/XAdkWebProvider.stories.js +148 -0
  109. package/dist/esm/components/XAdkWebProvider/XAdkWebProvider.stories.js.map +1 -0
  110. package/dist/esm/components/XAdkWebProvider/index.d.ts +4 -0
  111. package/dist/esm/components/XAdkWebProvider/index.js +447 -0
  112. package/dist/esm/components/XAdkWebProvider/index.js.map +1 -0
  113. package/dist/esm/components/XAdkWebProvider/styles.d.ts +37 -0
  114. package/dist/esm/components/XAdkWebProvider/styles.js +11 -0
  115. package/dist/esm/components/XAdkWebProvider/styles.js.map +1 -0
  116. package/dist/esm/components/XAiChatbot/index.js +19 -23
  117. package/dist/esm/components/XAiChatbot/index.js.map +1 -1
  118. package/dist/esm/components/XAiConversations/XAiConversations.stories.js +3 -3
  119. package/dist/esm/components/XAiConversations/XAiConversations.stories.js.map +1 -1
  120. package/dist/esm/components/XAiJsonView/index.d.ts +8 -0
  121. package/dist/esm/components/XAiJsonView/index.js +44 -0
  122. package/dist/esm/components/XAiJsonView/index.js.map +1 -0
  123. package/dist/esm/components/XAiJsonView/styles.d.ts +39 -0
  124. package/dist/esm/components/XAiJsonView/styles.js +19 -0
  125. package/dist/esm/components/XAiJsonView/styles.js.map +1 -0
  126. package/dist/esm/components/XAiProvider/XAiProvider.stories.js +1 -1
  127. package/dist/esm/components/XAiProvider/XAiProvider.stories.js.map +1 -1
  128. package/dist/esm/components/XAiSender/index.js +2 -2
  129. package/dist/esm/components/XAiSender/index.js.map +1 -1
  130. package/dist/esm/context/AiProviderContext.d.ts +3 -2
  131. package/dist/esm/context/AiProviderContext.js.map +1 -1
  132. package/dist/esm/hooks/useADKChat.d.ts +38 -0
  133. package/dist/esm/hooks/useADKChat.js +855 -0
  134. package/dist/esm/hooks/useADKChat.js.map +1 -0
  135. package/dist/esm/hooks/useAgentGenerator.js +10 -10
  136. package/dist/esm/hooks/useAgentGenerator.js.map +1 -1
  137. package/dist/esm/hooks/useEventStreamRequest.js +5 -2
  138. package/dist/esm/hooks/useEventStreamRequest.js.map +1 -1
  139. package/dist/esm/index.d.ts +1 -2
  140. package/dist/esm/index.js +1 -2
  141. package/dist/esm/index.js.map +1 -1
  142. package/dist/esm/services/api.d.ts +36 -19
  143. package/dist/esm/services/api.js +8 -8
  144. package/dist/esm/services/api.js.map +1 -1
  145. package/dist/esm/types/XAdkChatbot.d.ts +197 -0
  146. package/dist/esm/types/XAdkChatbot.js +2 -0
  147. package/dist/esm/types/XAdkChatbot.js.map +1 -0
  148. package/dist/esm/types/XAdkProvider.d.ts +117 -0
  149. package/dist/esm/types/XAdkProvider.js +2 -0
  150. package/dist/esm/types/XAdkProvider.js.map +1 -0
  151. package/dist/esm/types/XAiChatbot.d.ts +2 -2
  152. package/dist/esm/types/XAiChatbot.js.map +1 -1
  153. package/dist/esm/types/XAiConversations.d.ts +2 -2
  154. package/dist/esm/types/XAiConversations.js.map +1 -1
  155. package/dist/esm/types/index.d.ts +1 -0
  156. package/dist/esm/types/index.js +1 -0
  157. package/dist/esm/types/index.js.map +1 -1
  158. package/dist/esm/utils/providerManager.d.ts +7 -6
  159. package/dist/esm/utils/providerManager.js.map +1 -1
  160. package/dist/esm/utils/umdEntry.d.ts +6 -8
  161. package/dist/esm/utils/umdEntry.js +8 -37
  162. package/dist/esm/utils/umdEntry.js.map +1 -1
  163. package/dist/umd/chat-sdk.min.css +1 -0
  164. package/dist/umd/chat-sdk.min.js +1 -1
  165. package/dist/umd/static/KaTeX_AMS-Regular.1608a09b.woff +0 -0
  166. package/dist/umd/static/KaTeX_AMS-Regular.4aafdb68.ttf +0 -0
  167. package/dist/umd/static/KaTeX_AMS-Regular.a79f1c31.woff2 +0 -0
  168. package/dist/umd/static/KaTeX_Caligraphic-Bold.b6770918.woff +0 -0
  169. package/dist/umd/static/KaTeX_Caligraphic-Bold.cce5b8ec.ttf +0 -0
  170. package/dist/umd/static/KaTeX_Caligraphic-Bold.ec17d132.woff2 +0 -0
  171. package/dist/umd/static/KaTeX_Caligraphic-Regular.07ef19e7.ttf +0 -0
  172. package/dist/umd/static/KaTeX_Caligraphic-Regular.55fac258.woff2 +0 -0
  173. package/dist/umd/static/KaTeX_Caligraphic-Regular.dad44a7f.woff +0 -0
  174. package/dist/umd/static/KaTeX_Fraktur-Bold.9f256b85.woff +0 -0
  175. package/dist/umd/static/KaTeX_Fraktur-Bold.b18f59e1.ttf +0 -0
  176. package/dist/umd/static/KaTeX_Fraktur-Bold.d42a5579.woff2 +0 -0
  177. package/dist/umd/static/KaTeX_Fraktur-Regular.7c187121.woff +0 -0
  178. package/dist/umd/static/KaTeX_Fraktur-Regular.d3c882a6.woff2 +0 -0
  179. package/dist/umd/static/KaTeX_Fraktur-Regular.ed38e79f.ttf +0 -0
  180. package/dist/umd/static/KaTeX_Main-Bold.b74a1a8b.ttf +0 -0
  181. package/dist/umd/static/KaTeX_Main-Bold.c3fb5ac2.woff2 +0 -0
  182. package/dist/umd/static/KaTeX_Main-Bold.d181c465.woff +0 -0
  183. package/dist/umd/static/KaTeX_Main-BoldItalic.6f2bb1df.woff2 +0 -0
  184. package/dist/umd/static/KaTeX_Main-BoldItalic.70d8b0a5.ttf +0 -0
  185. package/dist/umd/static/KaTeX_Main-BoldItalic.e3f82f9d.woff +0 -0
  186. package/dist/umd/static/KaTeX_Main-Italic.47373d1e.ttf +0 -0
  187. package/dist/umd/static/KaTeX_Main-Italic.8916142b.woff2 +0 -0
  188. package/dist/umd/static/KaTeX_Main-Italic.9024d815.woff +0 -0
  189. package/dist/umd/static/KaTeX_Main-Regular.0462f03b.woff2 +0 -0
  190. package/dist/umd/static/KaTeX_Main-Regular.7f51fe03.woff +0 -0
  191. package/dist/umd/static/KaTeX_Main-Regular.b7f8fe9b.ttf +0 -0
  192. package/dist/umd/static/KaTeX_Math-BoldItalic.572d331f.woff2 +0 -0
  193. package/dist/umd/static/KaTeX_Math-BoldItalic.a879cf83.ttf +0 -0
  194. package/dist/umd/static/KaTeX_Math-BoldItalic.f1035d8d.woff +0 -0
  195. package/dist/umd/static/KaTeX_Math-Italic.5295ba48.woff +0 -0
  196. package/dist/umd/static/KaTeX_Math-Italic.939bc644.ttf +0 -0
  197. package/dist/umd/static/KaTeX_Math-Italic.f28c23ac.woff2 +0 -0
  198. package/dist/umd/static/KaTeX_SansSerif-Bold.8c5b5494.woff2 +0 -0
  199. package/dist/umd/static/KaTeX_SansSerif-Bold.94e1e8dc.ttf +0 -0
  200. package/dist/umd/static/KaTeX_SansSerif-Bold.bf59d231.woff +0 -0
  201. package/dist/umd/static/KaTeX_SansSerif-Italic.3b1e59b3.woff2 +0 -0
  202. package/dist/umd/static/KaTeX_SansSerif-Italic.7c9bc82b.woff +0 -0
  203. package/dist/umd/static/KaTeX_SansSerif-Italic.b4c20c84.ttf +0 -0
  204. package/dist/umd/static/KaTeX_SansSerif-Regular.74048478.woff +0 -0
  205. package/dist/umd/static/KaTeX_SansSerif-Regular.ba21ed5f.woff2 +0 -0
  206. package/dist/umd/static/KaTeX_SansSerif-Regular.d4d7ba48.ttf +0 -0
  207. package/dist/umd/static/KaTeX_Script-Regular.03e9641d.woff2 +0 -0
  208. package/dist/umd/static/KaTeX_Script-Regular.07505710.woff +0 -0
  209. package/dist/umd/static/KaTeX_Script-Regular.fe9cbbe1.ttf +0 -0
  210. package/dist/umd/static/KaTeX_Size1-Regular.e1e279cb.woff +0 -0
  211. package/dist/umd/static/KaTeX_Size1-Regular.eae34984.woff2 +0 -0
  212. package/dist/umd/static/KaTeX_Size1-Regular.fabc004a.ttf +0 -0
  213. package/dist/umd/static/KaTeX_Size2-Regular.57727022.woff +0 -0
  214. package/dist/umd/static/KaTeX_Size2-Regular.5916a24f.woff2 +0 -0
  215. package/dist/umd/static/KaTeX_Size2-Regular.d6b476ec.ttf +0 -0
  216. package/dist/umd/static/KaTeX_Size3-Regular.9acaf01c.woff +0 -0
  217. package/dist/umd/static/KaTeX_Size3-Regular.a144ef58.ttf +0 -0
  218. package/dist/umd/static/KaTeX_Size3-Regular.b4230e7e.woff2 +0 -0
  219. package/dist/umd/static/KaTeX_Size4-Regular.10d95fd3.woff2 +0 -0
  220. package/dist/umd/static/KaTeX_Size4-Regular.7a996c9d.woff +0 -0
  221. package/dist/umd/static/KaTeX_Size4-Regular.fbccdabe.ttf +0 -0
  222. package/dist/umd/static/KaTeX_Typewriter-Regular.6258592b.woff +0 -0
  223. package/dist/umd/static/KaTeX_Typewriter-Regular.a8709e36.woff2 +0 -0
  224. package/dist/umd/static/KaTeX_Typewriter-Regular.d97aaf4a.ttf +0 -0
  225. package/package.json +26 -19
  226. package/dist/cjs/components/XAiWebSDKWrapper.d.ts +0 -9
  227. package/dist/cjs/components/XAiWebSDKWrapper.js.map +0 -7
  228. package/dist/esm/components/XAiWebSDKWrapper.d.ts +0 -9
  229. package/dist/esm/components/XAiWebSDKWrapper.js +0 -45
  230. package/dist/esm/components/XAiWebSDKWrapper.js.map +0 -1
@@ -0,0 +1,280 @@
1
+ import _regeneratorRuntime from "@babel/runtime/helpers/esm/regeneratorRuntime";
2
+ import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
3
+ import _createForOfIteratorHelper from "@babel/runtime/helpers/esm/createForOfIteratorHelper";
4
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
5
+ import React, { useMemo, useCallback, useEffect, useRef, useState } from 'react';
6
+ import { Button, Input, Popconfirm } from 'antd';
7
+ import { SwapRightOutlined, ArrowUpOutlined, ClearOutlined, LoadingOutlined } from '@ant-design/icons';
8
+ import { useStyles } from "./styles";
9
+ import MarkdownRender from "./components/MarkdownRender";
10
+ import FunctionCallRender from "./components/FunctionCallRender";
11
+ import ThinkRender from "./components/ThinkRender";
12
+ import { jsx as _jsx } from "react/jsx-runtime";
13
+ import { jsxs as _jsxs } from "react/jsx-runtime";
14
+ var XAdkChatbot = function XAdkChatbot(_ref) {
15
+ var loading = _ref.loading,
16
+ prologue = _ref.prologue,
17
+ suggestions = _ref.suggestions,
18
+ messages = _ref.messages,
19
+ footer = _ref.footer,
20
+ showFnCallDetail = _ref.showFnCallDetail,
21
+ _ref$clearBtnShow = _ref.clearBtnShow,
22
+ clearBtnShow = _ref$clearBtnShow === void 0 ? true : _ref$clearBtnShow,
23
+ onSubmit = _ref.onSubmit,
24
+ onSuggest = _ref.onSuggest,
25
+ onStop = _ref.onStop,
26
+ onClear = _ref.onClear;
27
+ var styles = useStyles();
28
+ var _React$useState = React.useState(''),
29
+ _React$useState2 = _slicedToArray(_React$useState, 2),
30
+ inputValue = _React$useState2[0],
31
+ setInputValue = _React$useState2[1];
32
+ var _useState = useState(false),
33
+ _useState2 = _slicedToArray(_useState, 2),
34
+ showLog = _useState2[0],
35
+ setShowLog = _useState2[1];
36
+ var _useState3 = useState(),
37
+ _useState4 = _slicedToArray(_useState3, 2),
38
+ invocation = _useState4[0],
39
+ setInvocation = _useState4[1];
40
+ var listRef = useRef(null);
41
+ var scrollTimeoutRef = useRef(null);
42
+ var isFirstLoadRef = useRef(true);
43
+
44
+ // 滚动到底部函数
45
+ var scrollToBottom = useCallback(function () {
46
+ var smooth = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
47
+ if (!listRef.current) return;
48
+ if (scrollTimeoutRef.current) {
49
+ clearTimeout(scrollTimeoutRef.current);
50
+ }
51
+ // 首次尝试
52
+ listRef.current.scrollTo({
53
+ top: listRef.current.scrollHeight,
54
+ behavior: smooth ? 'smooth' : 'instant'
55
+ });
56
+ // 重试机制:确保滚动生效
57
+ scrollTimeoutRef.current = setTimeout(function () {
58
+ if (listRef.current) {
59
+ listRef.current.scrollTo({
60
+ top: listRef.current.scrollHeight,
61
+ behavior: smooth ? 'smooth' : 'instant'
62
+ });
63
+ }
64
+ }, 100);
65
+ }, []);
66
+
67
+ // 消息更新时滚动
68
+ useEffect(function () {
69
+ if (isFirstLoadRef.current) {
70
+ // 初始化
71
+ scrollToBottom(false);
72
+ isFirstLoadRef.current = false;
73
+ } else {
74
+ // 消息更新
75
+ scrollToBottom(true);
76
+ }
77
+ }, [messages, suggestions, scrollToBottom]);
78
+
79
+ // 发送消息
80
+ var handleSubmit = useCallback(function (text) {
81
+ if (loading) return;
82
+ if (!(text !== null && text !== void 0 && text.trim())) return;
83
+ onSubmit === null || onSubmit === void 0 || onSubmit(text);
84
+ setInputValue('');
85
+ scrollToBottom(true);
86
+ }, [loading, scrollToBottom]);
87
+ var lastIndex = messages.length - 1;
88
+ var lastMessageMap = useMemo(function () {
89
+ var map = new Map();
90
+ var _iterator = _createForOfIteratorHelper(messages),
91
+ _step;
92
+ try {
93
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
94
+ var msg = _step.value;
95
+ if (msg.role === 'bot' && msg.invocationId) {
96
+ map.set(msg.invocationId, msg.id);
97
+ }
98
+ }
99
+ } catch (err) {
100
+ _iterator.e(err);
101
+ } finally {
102
+ _iterator.f();
103
+ }
104
+ return map;
105
+ }, [messages]);
106
+ return /*#__PURE__*/_jsxs("div", {
107
+ className: styles.wrapper,
108
+ children: [/*#__PURE__*/_jsxs("div", {
109
+ className: styles.list,
110
+ ref: listRef,
111
+ children: [/*#__PURE__*/_jsx("div", {
112
+ className: styles.prologue,
113
+ children: prologue
114
+ }), messages.map(function (msg, i) {
115
+ if (msg.role === 'user') {
116
+ if (msg.text) {
117
+ return /*#__PURE__*/_jsx("div", {
118
+ className: styles.userMsg,
119
+ children: /*#__PURE__*/_jsx("div", {
120
+ className: styles.card,
121
+ children: msg.text
122
+ })
123
+ }, "".concat(msg.id, "-").concat(i));
124
+ }
125
+ if (msg.functionResponse) {
126
+ return /*#__PURE__*/_jsx("div", {
127
+ className: styles.userMsg,
128
+ children: /*#__PURE__*/_jsx(FunctionCallRender, {
129
+ msg: msg,
130
+ showDetail: showFnCallDetail
131
+ })
132
+ }, "".concat(msg.id, "-").concat(i));
133
+ }
134
+ return null;
135
+ }
136
+ var isLast = i === lastIndex;
137
+ var isLoading = isLast && loading;
138
+ var isLastBotMsg = lastMessageMap.get((msg === null || msg === void 0 ? void 0 : msg.invocationId) || '') === msg.id;
139
+ if (msg.text) {
140
+ if (msg.thought) {
141
+ return /*#__PURE__*/_jsxs("div", {
142
+ className: styles.botMsg,
143
+ children: [/*#__PURE__*/_jsx(ThinkRender, {
144
+ msg: msg,
145
+ loading: isLoading
146
+ }), !isLoading && (footer === null || footer === void 0 ? void 0 : footer({
147
+ message: msg,
148
+ isLastMsg: isLast,
149
+ isLastBotMsg: isLastBotMsg
150
+ }))]
151
+ }, "".concat(msg.id, "-").concat(i));
152
+ }
153
+ return /*#__PURE__*/_jsxs("div", {
154
+ className: styles.botMsg,
155
+ children: [/*#__PURE__*/_jsx(MarkdownRender, {
156
+ text: msg.text
157
+ }), !isLoading && (footer === null || footer === void 0 ? void 0 : footer({
158
+ message: msg,
159
+ isLastMsg: isLast,
160
+ isLastBotMsg: isLastBotMsg
161
+ }))]
162
+ }, "".concat(msg.id, "-").concat(i));
163
+ }
164
+ var fnCall = msg.functionCall;
165
+ if (fnCall) {
166
+ return /*#__PURE__*/_jsxs("div", {
167
+ className: styles.botMsg,
168
+ children: [/*#__PURE__*/_jsx(FunctionCallRender, {
169
+ msg: msg,
170
+ showDetail: showFnCallDetail
171
+ }), !isLoading && (footer === null || footer === void 0 ? void 0 : footer({
172
+ message: msg,
173
+ isLastMsg: isLast,
174
+ isLastBotMsg: isLastBotMsg
175
+ }))]
176
+ }, "".concat(msg.id, "-").concat(i));
177
+ }
178
+ return /*#__PURE__*/_jsx("div", {
179
+ className: styles.botMsg,
180
+ children: !isLoading && (footer === null || footer === void 0 ? void 0 : footer({
181
+ message: msg,
182
+ isLastMsg: isLast,
183
+ isLastBotMsg: isLastBotMsg
184
+ }))
185
+ }, "".concat(msg.id, "-").concat(i));
186
+ }), /*#__PURE__*/_jsx("div", {
187
+ children: suggestions === null || suggestions === void 0 ? void 0 : suggestions.map(function (item) {
188
+ return /*#__PURE__*/_jsx("div", {
189
+ className: styles.suggestion,
190
+ children: /*#__PURE__*/_jsx("div", {
191
+ className: styles.suggestContent,
192
+ children: /*#__PURE__*/_jsx(Button, {
193
+ type: "text",
194
+ icon: /*#__PURE__*/_jsx(SwapRightOutlined, {}),
195
+ iconPosition: "end",
196
+ onClick: function onClick() {
197
+ if (!item) return;
198
+ onSuggest === null || onSuggest === void 0 || onSuggest(item);
199
+ },
200
+ children: item
201
+ })
202
+ })
203
+ }, item);
204
+ })
205
+ })]
206
+ }), /*#__PURE__*/_jsxs("div", {
207
+ className: styles.footer,
208
+ children: [/*#__PURE__*/_jsxs("div", {
209
+ className: styles.senderWrap,
210
+ children: [clearBtnShow && /*#__PURE__*/_jsx(Popconfirm, {
211
+ title: "\u786E\u5B9A\u8981\u6E05\u7A7A\u804A\u5929\u8BB0\u5F55\u5417\uFF1F",
212
+ onConfirm: onClear,
213
+ children: /*#__PURE__*/_jsx(Button, {
214
+ shape: "circle",
215
+ icon: /*#__PURE__*/_jsx(ClearOutlined, {})
216
+ })
217
+ }), /*#__PURE__*/_jsxs("div", {
218
+ className: styles.sender,
219
+ children: [/*#__PURE__*/_jsx(Input.TextArea, {
220
+ className: styles.input,
221
+ rows: 1,
222
+ autoSize: {
223
+ minRows: 1,
224
+ maxRows: 4
225
+ },
226
+ value: inputValue,
227
+ onChange: function onChange(e) {
228
+ setInputValue(e.target.value);
229
+ },
230
+ onPressEnter: ( /*#__PURE__*/function () {
231
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(e) {
232
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
233
+ while (1) switch (_context.prev = _context.next) {
234
+ case 0:
235
+ if (!e.shiftKey) {
236
+ _context.next = 2;
237
+ break;
238
+ }
239
+ return _context.abrupt("return");
240
+ case 2:
241
+ e.preventDefault();
242
+ handleSubmit(inputValue);
243
+ case 4:
244
+ case "end":
245
+ return _context.stop();
246
+ }
247
+ }, _callee);
248
+ }));
249
+ return function (_x) {
250
+ return _ref2.apply(this, arguments);
251
+ };
252
+ }()),
253
+ placeholder: "\u8BF7\u8F93\u5165\u6D88\u606F"
254
+ }), /*#__PURE__*/_jsx("div", {
255
+ children: loading ? /*#__PURE__*/_jsx(Button, {
256
+ type: "primary",
257
+ shape: "circle",
258
+ icon: /*#__PURE__*/_jsx(LoadingOutlined, {}),
259
+ onClick: function onClick() {
260
+ onStop === null || onStop === void 0 || onStop();
261
+ }
262
+ }) : /*#__PURE__*/_jsx(Button, {
263
+ type: "primary",
264
+ shape: "circle",
265
+ icon: /*#__PURE__*/_jsx(ArrowUpOutlined, {}),
266
+ onClick: function onClick() {
267
+ handleSubmit(inputValue);
268
+ }
269
+ })
270
+ })]
271
+ })]
272
+ }), /*#__PURE__*/_jsx("div", {
273
+ className: styles.tip,
274
+ children: "\u5185\u5BB9\u7531AI\u751F\u6210\uFF0C\u65E0\u6CD5\u786E\u4FDD\u771F\u5B9E\u51C6\u786E\uFF0C\u4EC5\u4F9B\u53C2\u8003"
275
+ })]
276
+ })]
277
+ });
278
+ };
279
+ export default XAdkChatbot;
280
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useMemo","useCallback","useEffect","useRef","useState","Button","Input","Popconfirm","SwapRightOutlined","ArrowUpOutlined","ClearOutlined","LoadingOutlined","useStyles","MarkdownRender","FunctionCallRender","ThinkRender","jsx","_jsx","jsxs","_jsxs","XAdkChatbot","_ref","loading","prologue","suggestions","messages","footer","showFnCallDetail","_ref$clearBtnShow","clearBtnShow","onSubmit","onSuggest","onStop","onClear","styles","_React$useState","_React$useState2","_slicedToArray","inputValue","setInputValue","_useState","_useState2","showLog","setShowLog","_useState3","_useState4","invocation","setInvocation","listRef","scrollTimeoutRef","isFirstLoadRef","scrollToBottom","smooth","arguments","length","undefined","current","clearTimeout","scrollTo","top","scrollHeight","behavior","setTimeout","handleSubmit","text","trim","lastIndex","lastMessageMap","map","Map","_iterator","_createForOfIteratorHelper","_step","s","n","done","msg","value","role","invocationId","set","id","err","e","f","className","wrapper","children","list","ref","i","userMsg","card","concat","functionResponse","showDetail","isLast","isLoading","isLastBotMsg","get","thought","botMsg","message","isLastMsg","fnCall","functionCall","item","suggestion","suggestContent","type","icon","iconPosition","onClick","senderWrap","title","onConfirm","shape","sender","TextArea","input","rows","autoSize","minRows","maxRows","onChange","target","onPressEnter","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","shiftKey","abrupt","preventDefault","stop","_x","apply","placeholder","tip"],"sources":["../../../../src/components/XAdkChatbot/index.tsx"],"sourcesContent":["import React, { useMemo, useCallback, useEffect, useRef, useState } from 'react';\nimport { Button, Input, Popconfirm } from 'antd';\nimport { SwapRightOutlined, ArrowUpOutlined, ClearOutlined, LoadingOutlined } from '@ant-design/icons';\nimport { useStyles } from './styles';\nimport MarkdownRender from './components/MarkdownRender';\nimport FunctionCallRender from './components/FunctionCallRender';\nimport ThinkRender from './components/ThinkRender';\nimport type { IInvocation, IMessage, XAdkChatbotProps } from '@/types';\n\nconst XAdkChatbot: React.FC<XAdkChatbotProps> = ({ \n loading,\n prologue,\n suggestions,\n messages,\n footer,\n showFnCallDetail,\n clearBtnShow = true,\n onSubmit,\n onSuggest,\n onStop,\n onClear,\n }) => {\n const styles = useStyles();\n const [inputValue, setInputValue] = React.useState<string>('');\n const [showLog, setShowLog] = useState(false);\n const [invocation, setInvocation] = useState<Partial<IInvocation>>();\n const listRef = useRef<HTMLDivElement>(null);\n const scrollTimeoutRef = useRef<NodeJS.Timeout | null>(null);\n const isFirstLoadRef = useRef(true);\n\n // 滚动到底部函数\n const scrollToBottom = useCallback((smooth = false) => {\n if (!listRef.current) return;\n if (scrollTimeoutRef.current) {\n clearTimeout(scrollTimeoutRef.current);\n }\n // 首次尝试\n listRef.current.scrollTo({\n top: listRef.current.scrollHeight,\n behavior: smooth ? 'smooth' : 'instant',\n });\n // 重试机制:确保滚动生效\n scrollTimeoutRef.current = setTimeout(() => {\n if (listRef.current) {\n listRef.current.scrollTo({\n top: listRef.current.scrollHeight,\n behavior: smooth ? 'smooth' : 'instant',\n });\n }\n }, 100);\n }, []);\n\n // 消息更新时滚动\n useEffect(() => {\n if (isFirstLoadRef.current) {\n // 初始化\n scrollToBottom(false);\n isFirstLoadRef.current = false;\n } else {\n // 消息更新\n scrollToBottom(true);\n }\n }, [messages, suggestions, scrollToBottom]);\n\n // 发送消息\n const handleSubmit = useCallback((text: string) => {\n if (loading) return;\n if (!text?.trim()) return;\n onSubmit?.(text);\n setInputValue('');\n scrollToBottom(true);\n }, [loading, scrollToBottom]);\n\n const lastIndex = messages.length - 1;\n\n const lastMessageMap = useMemo(() => {\n const map = new Map<string, string>();\n for (const msg of messages) {\n if (msg.role === 'bot' && msg.invocationId) {\n map.set(msg.invocationId, msg.id);\n }\n }\n return map;\n }, [messages]);\n\n return (\n <div className={styles.wrapper}>\n <div className={styles.list} ref={listRef}>\n <div className={styles.prologue}>\n {prologue}\n </div>\n {messages.map((msg, i) => {\n if (msg.role === 'user') {\n if (msg.text) {\n return (\n <div key={`${msg.id}-${i}`} className={styles.userMsg}>\n <div className={styles.card}>{msg.text}</div>\n </div>\n );\n }\n if (msg.functionResponse) {\n return (\n <div key={`${msg.id}-${i}`} className={styles.userMsg}>\n <FunctionCallRender msg={msg} showDetail={showFnCallDetail} />\n </div>\n );\n }\n return null;\n }\n const isLast = i === lastIndex;\n const isLoading = isLast && loading;\n const isLastBotMsg = lastMessageMap.get(msg?.invocationId || '') === msg.id;\n \n if (msg.text) {\n if (msg.thought) {\n return (\n <div key={`${msg.id}-${i}`} className={styles.botMsg}>\n <ThinkRender\n msg={msg}\n loading={isLoading}\n />\n {!isLoading && footer?.({ message: msg as IMessage, isLastMsg: isLast, isLastBotMsg })}\n </div>\n );\n }\n return (\n <div key={`${msg.id}-${i}`} className={styles.botMsg}>\n <MarkdownRender text={msg.text} />\n {!isLoading && footer?.({ message: msg as IMessage, isLastMsg: isLast, isLastBotMsg })}\n </div>\n );\n }\n const fnCall = msg.functionCall;\n if (fnCall) {\n return (\n <div key={`${msg.id}-${i}`} className={styles.botMsg}>\n <FunctionCallRender msg={msg} showDetail={showFnCallDetail} />\n {!isLoading && footer?.({ message: msg as IMessage, isLastMsg: isLast, isLastBotMsg })}\n </div>\n );\n }\n return (\n <div key={`${msg.id}-${i}`} className={styles.botMsg}>\n {!isLoading && footer?.({ message: msg as IMessage, isLastMsg: isLast, isLastBotMsg })}\n </div>\n );\n })}\n <div>\n {suggestions?.map((item) => (\n <div key={item} className={styles.suggestion}>\n <div className={styles.suggestContent}>\n <Button\n type=\"text\"\n icon={<SwapRightOutlined />}\n iconPosition='end'\n onClick={() => {\n if (!item) return;\n onSuggest?.(item);\n }}\n >\n {item}\n </Button>\n </div>\n </div>\n ))}\n </div>\n </div>\n <div className={styles.footer}>\n <div className={styles.senderWrap}>\n { clearBtnShow && <Popconfirm\n title=\"确定要清空聊天记录吗?\"\n onConfirm={onClear}\n >\n <Button\n shape=\"circle\"\n icon={<ClearOutlined />}\n />\n </Popconfirm> }\n <div className={styles.sender}>\n <Input.TextArea\n className={styles.input}\n rows={1}\n autoSize={{ minRows: 1, maxRows: 4 }}\n value={inputValue}\n onChange={(e) => {\n setInputValue(e.target.value);\n }}\n onPressEnter={async (e) => {\n if (e.shiftKey) {\n return;\n }\n e.preventDefault();\n handleSubmit(inputValue);\n }}\n placeholder=\"请输入消息\"\n />\n <div>\n {loading\n ? (\n <Button\n type=\"primary\"\n shape=\"circle\"\n icon={<LoadingOutlined />}\n onClick={() => {\n onStop?.();\n }}\n />\n )\n : (\n <Button\n type=\"primary\"\n shape=\"circle\"\n icon={<ArrowUpOutlined />}\n onClick={() => {\n handleSubmit(inputValue);\n }}\n />\n )}\n </div>\n </div>\n </div>\n <div className={styles.tip}>内容由AI生成,无法确保真实准确,仅供参考</div>\n </div>\n {/* 智能体日志详情 */}\n {/* <AgentLogDetail\n show={showLog}\n data={invocation}\n onClose={() => setShowLog(false)}\n /> */}\n </div>\n );\n};\n\nexport default XAdkChatbot;"],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ export declare const useStyles: () => {
2
+ wrapper: string;
3
+ list: string;
4
+ prologue: string;
5
+ suggestion: string;
6
+ suggestContent: string;
7
+ userMsg: string;
8
+ card: string;
9
+ botMsg: string;
10
+ fnCall: string;
11
+ confirm: string;
12
+ footer: string;
13
+ sender: string;
14
+ senderWrap: string;
15
+ tip: string;
16
+ input: string;
17
+ } & {
18
+ w: (width: string | number) => string;
19
+ h: (height: string | number) => string;
20
+ p: (padding: string) => string;
21
+ pb: (padding: string | number) => string;
22
+ pt: (padding: string | number) => string;
23
+ pl: (padding: string | number) => string;
24
+ pr: (padding: string | number) => string;
25
+ m: (margin: string) => string;
26
+ mb: (margin: string | number) => string;
27
+ mt: (margin: string | number) => string;
28
+ ml: (margin: string | number) => string;
29
+ mr: (margin: string | number) => string;
30
+ text: (size: string | number) => string;
31
+ weight: (size: number) => string;
32
+ textColor: (c: string) => string;
33
+ bg: (c: string) => string;
34
+ rs: (radius: string | number) => string;
35
+ gap: (g: string | number) => string;
36
+ flex: string;
37
+ flexCenter: string;
38
+ flexBetween: string;
39
+ flexColumn: string;
40
+ flex1: string;
41
+ cursor: (type: string) => string;
42
+ border: (color: string, width?: string) => string;
43
+ boxShadow: (shadow: string) => string;
44
+ transition: (property?: string, duration?: string) => string;
45
+ overflow: (type: string) => string;
46
+ position: (type: string) => string;
47
+ zIndex: (index: number) => string;
48
+ flexCenterGap2: string;
49
+ flexCenterGap4: string;
50
+ };
51
+ export default useStyles;
@@ -0,0 +1,25 @@
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;
3
+ import { css } from '@emotion/css';
4
+ import { withBasicStyles } from "../../styles/common";
5
+ export var useStyles = withBasicStyles(function () {
6
+ return {
7
+ wrapper: css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n padding: 0 16px;\n min-height: 300px;\n width: 100%;\n height: 100%;\n border: 1px solid #e7e7e7;\n border-radius: 8px;\n display: flex;\n flex-direction: column;\n\n .x-markdown {\n --margin-ul-ol: 0 0 1em 1em;\n\n code {\n background: rgba(150, 150, 150, 0.2);\n border-radius: 3px;\n }\n\n .ant-highlightCode-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n color: var(--ant-highlight-code-color-text-title);\n background: var(--ant-highlight-code-color-bg-title);\n padding: var(--ant-padding-sm);\n border-top-left-radius: var(--ant-border-radius);\n border-top-right-radius: var(--ant-border-radius);\n }\n }\n "]))),
8
+ list: css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n flex: 1;\n margin: 16px 0;\n padding: 0 16px;\n overflow-y: auto;\n /* Chrome, Safari, Edge, Opera */\n &::-webkit-scrollbar {\n display: none;\n }\n /* Firefox */\n scrollbar-width: none;\n /* IE 10+ */\n -ms-overflow-style: none;\n "]))),
9
+ prologue: css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n margin-bottom: 12px;\n "]))),
10
+ suggestion: css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n margin-bottom: 12px;\n "]))),
11
+ suggestContent: css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n display: inline-flex;\n border: 2px solid #E7E7E7;\n border-radius: 8px;\n "]))),
12
+ userMsg: css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n display: flex;\n justify-content: flex-end;\n margin-bottom: 24px;\n "]))),
13
+ card: css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n padding: 12px 16px;\n background: #d5e3ff;\n border-radius: 12px;\n max-width: 80%;\n white-space: pre-line;\n word-break: break-all;\n "]))),
14
+ botMsg: css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\n margin-bottom: 12px;\n "]))),
15
+ fnCall: css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 11px;\n border-radius: 24px;\n line-height: 16px;\n border: 1px solid #e7e7e7;\n cursor: pointer;\n "]))),
16
+ confirm: css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["\n padding: 12px;\n border-radius: 12px;\n border: 1px solid #e7e7e7;\n "]))),
17
+ footer: css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral(["\n /* senderWrap and tip moved to top-level keys so they are\n accessible as styles.senderWrap and styles.tip in the component */\n "]))),
18
+ sender: css(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral(["\n width: 100%;\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 8px 8px 12px;\n border: 1px solid #e7e7e7;\n border-radius: 24px;\n\n /* .input moved to top-level key so component can use styles.input */\n "]))),
19
+ senderWrap: css(_templateObject13 || (_templateObject13 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n "]))),
20
+ tip: css(_templateObject14 || (_templateObject14 = _taggedTemplateLiteral(["\n padding: 4px;\n font-size: 12px;\n text-align: center;\n color: rgba(0, 0, 0, 0.4);\n "]))),
21
+ input: css(_templateObject15 || (_templateObject15 = _taggedTemplateLiteral(["\n padding: 0;\n margin: 5px 0;\n line-height: 22px;\n font-size: 15px;\n border-radius: 0;\n border: none;\n\n &:focus {\n box-shadow: none;\n }\n "])))
22
+ };
23
+ });
24
+ export default useStyles;
25
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["css","withBasicStyles","useStyles","wrapper","_templateObject","_taggedTemplateLiteral","list","_templateObject2","prologue","_templateObject3","suggestion","_templateObject4","suggestContent","_templateObject5","userMsg","_templateObject6","card","_templateObject7","botMsg","_templateObject8","fnCall","_templateObject9","confirm","_templateObject10","footer","_templateObject11","sender","_templateObject12","senderWrap","_templateObject13","tip","_templateObject14","input","_templateObject15"],"sources":["../../../../src/components/XAdkChatbot/styles.tsx"],"sourcesContent":["import { css } from '@emotion/css';\nimport { withBasicStyles } from '@/styles/common';\n\nexport const useStyles = withBasicStyles(() => ({\n wrapper: css`\n padding: 0 16px;\n min-height: 300px;\n width: 100%;\n height: 100%;\n border: 1px solid #e7e7e7;\n border-radius: 8px;\n display: flex;\n flex-direction: column;\n\n .x-markdown {\n --margin-ul-ol: 0 0 1em 1em;\n\n code {\n background: rgba(150, 150, 150, 0.2);\n border-radius: 3px;\n }\n\n .ant-highlightCode-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n color: var(--ant-highlight-code-color-text-title);\n background: var(--ant-highlight-code-color-bg-title);\n padding: var(--ant-padding-sm);\n border-top-left-radius: var(--ant-border-radius);\n border-top-right-radius: var(--ant-border-radius);\n }\n }\n `,\n\n list: css`\n flex: 1;\n margin: 16px 0;\n padding: 0 16px;\n overflow-y: auto;\n /* Chrome, Safari, Edge, Opera */\n &::-webkit-scrollbar {\n display: none;\n }\n /* Firefox */\n scrollbar-width: none;\n /* IE 10+ */\n -ms-overflow-style: none;\n `,\n\n prologue: css`\n margin-bottom: 12px;\n `,\n\n suggestion: css`\n margin-bottom: 12px;\n `,\n\n suggestContent: css`\n display: inline-flex;\n border: 2px solid #E7E7E7;\n border-radius: 8px;\n `,\n\n userMsg: css`\n display: flex;\n justify-content: flex-end;\n margin-bottom: 24px;\n `,\n\n card: css`\n padding: 12px 16px;\n background: #d5e3ff;\n border-radius: 12px;\n max-width: 80%;\n white-space: pre-line;\n word-break: break-all;\n `,\n\n botMsg: css`\n margin-bottom: 12px;\n `,\n\n fnCall: css`\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 11px;\n border-radius: 24px;\n line-height: 16px;\n border: 1px solid #e7e7e7;\n cursor: pointer;\n `,\n\n confirm: css`\n padding: 12px;\n border-radius: 12px;\n border: 1px solid #e7e7e7;\n `,\n\n \n\n footer: css`\n /* senderWrap and tip moved to top-level keys so they are\n accessible as styles.senderWrap and styles.tip in the component */\n `,\n\n sender: css`\n width: 100%;\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 8px 8px 12px;\n border: 1px solid #e7e7e7;\n border-radius: 24px;\n\n /* .input moved to top-level key so component can use styles.input */\n `,\n\n senderWrap: css`\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n `,\n\n tip: css`\n padding: 4px;\n font-size: 12px;\n text-align: center;\n color: rgba(0, 0, 0, 0.4);\n `,\n\n input: css`\n padding: 0;\n margin: 5px 0;\n line-height: 22px;\n font-size: 15px;\n border-radius: 0;\n border: none;\n\n &:focus {\n box-shadow: none;\n }\n `,\n}));\n\nexport default useStyles;\n"],"mappings":";;AAAA,SAASA,GAAG,QAAQ,cAAc;AAClC,SAASC,eAAe;AAExB,OAAO,IAAMC,SAAS,GAAGD,eAAe,CAAC;EAAA,OAAO;IAC9CE,OAAO,EAAEH,GAAG,CAAAI,eAAA,KAAAA,eAAA,GAAAC,sBAAA,sxBA6BX;IAEDC,IAAI,EAAEN,GAAG,CAAAO,gBAAA,KAAAA,gBAAA,GAAAF,sBAAA,4RAaR;IAEDG,QAAQ,EAAER,GAAG,CAAAS,gBAAA,KAAAA,gBAAA,GAAAJ,sBAAA,sCAEZ;IAEDK,UAAU,EAAEV,GAAG,CAAAW,gBAAA,KAAAA,gBAAA,GAAAN,sBAAA,sCAEd;IAEDO,cAAc,EAAEZ,GAAG,CAAAa,gBAAA,KAAAA,gBAAA,GAAAR,sBAAA,gGAIlB;IAEDS,OAAO,EAAEd,GAAG,CAAAe,gBAAA,KAAAA,gBAAA,GAAAV,sBAAA,0FAIX;IAEDW,IAAI,EAAEhB,GAAG,CAAAiB,gBAAA,KAAAA,gBAAA,GAAAZ,sBAAA,sKAOR;IAEDa,MAAM,EAAElB,GAAG,CAAAmB,gBAAA,KAAAA,gBAAA,GAAAd,sBAAA,sCAEV;IAEDe,MAAM,EAAEpB,GAAG,CAAAqB,gBAAA,KAAAA,gBAAA,GAAAhB,sBAAA,yMASV;IAEDiB,OAAO,EAAEtB,GAAG,CAAAuB,iBAAA,KAAAA,iBAAA,GAAAlB,sBAAA,0FAIX;IAIDmB,MAAM,EAAExB,GAAG,CAAAyB,iBAAA,KAAAA,iBAAA,GAAApB,sBAAA,sJAGV;IAEDqB,MAAM,EAAE1B,GAAG,CAAA2B,iBAAA,KAAAA,iBAAA,GAAAtB,sBAAA,kQAUV;IAEDuB,UAAU,EAAE5B,GAAG,CAAA6B,iBAAA,KAAAA,iBAAA,GAAAxB,sBAAA,8GAKd;IAEDyB,GAAG,EAAE9B,GAAG,CAAA+B,iBAAA,KAAAA,iBAAA,GAAA1B,sBAAA,8GAKP;IAED2B,KAAK,EAAEhC,GAAG,CAAAiC,iBAAA,KAAAA,iBAAA,GAAA5B,sBAAA;EAYZ,CAAC;AAAA,CAAC,CAAC;AAEH,eAAeH,SAAS"}
@@ -0,0 +1,7 @@
1
+ import type { Meta, StoryObj } from '@storybook/react-vite';
2
+ import XAdkWebProvider from './index';
3
+ declare const meta: Meta<typeof XAdkWebProvider>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ export declare const 单聊天窗口实例: Story;
7
+ export declare const 携带历史记录实例: Story;
@@ -0,0 +1,148 @@
1
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
+ import React from 'react';
3
+ import { Button } from 'antd';
4
+ import XAdkWebProvider from "./index";
5
+ import { jsx as _jsx } from "react/jsx-runtime";
6
+ import { jsxs as _jsxs } from "react/jsx-runtime";
7
+ var meta = {
8
+ title: 'AI组件/XAdkWebProvider AI容器',
9
+ component: XAdkWebProvider,
10
+ parameters: {
11
+ layout: 'centered',
12
+ docs: {
13
+ description: {
14
+ component: 'AI 聊天机器人容器组件,提供全局上下文和消息管理功能。'
15
+ }
16
+ }
17
+ },
18
+ tags: ['autodocs'],
19
+ argTypes: {
20
+ config: {
21
+ description: '配置信息',
22
+ table: {
23
+ type: {
24
+ summary: 'XAdkWebProviderConfig',
25
+ detail: "{\n appNo?: string; // \u5E94\u7528\u552F\u4E00\u7F16\u53F7\n }"
26
+ },
27
+ category: '配置选项'
28
+ }
29
+ }
30
+ },
31
+ // 添加装饰器,确保组件有必要的上下文
32
+ decorators: [function (Story) {
33
+ return /*#__PURE__*/_jsx("div", {
34
+ style: {
35
+ padding: '20px'
36
+ },
37
+ children: /*#__PURE__*/_jsx(Story, {})
38
+ });
39
+ }]
40
+ };
41
+ export default meta;
42
+ // 使用 Provider 的 XAiChatbot
43
+ export var 单聊天窗口实例 = {
44
+ render: function render(args) {
45
+ var providerRef = React.useRef(null);
46
+ var handleSendMessage = function handleSendMessage() {
47
+ var _providerRef$current;
48
+ if ((_providerRef$current = providerRef.current) !== null && _providerRef$current !== void 0 && _providerRef$current.chat) {
49
+ providerRef.current.chat({
50
+ text: '你好,AI!'
51
+ });
52
+ } else {
53
+ console.log('XAdkWebProvider ref 未准备好或 chat 方法不存在');
54
+ }
55
+ };
56
+ return /*#__PURE__*/_jsxs("div", {
57
+ style: {
58
+ display: 'flex'
59
+ },
60
+ children: [/*#__PURE__*/_jsx("div", {
61
+ style: {
62
+ display: 'flex',
63
+ flexDirection: 'column',
64
+ gap: '12px',
65
+ marginRight: '24px',
66
+ justifyContent: 'center'
67
+ },
68
+ children: /*#__PURE__*/_jsx(Button, {
69
+ type: "primary",
70
+ onClick: handleSendMessage,
71
+ children: "\u53D1\u9001\u6D88\u606F"
72
+ })
73
+ }), /*#__PURE__*/_jsx("div", {
74
+ style: {
75
+ maxWidth: '350px',
76
+ height: '600px'
77
+ },
78
+ children: /*#__PURE__*/_jsx(XAdkWebProvider, _objectSpread(_objectSpread({
79
+ ref: providerRef
80
+ }, args), {}, {
81
+ onError: function onError(providerError) {
82
+ return console.log(providerError);
83
+ },
84
+ onMessage: function onMessage(data) {
85
+ return console.log(data);
86
+ }
87
+ }))
88
+ })]
89
+ });
90
+ },
91
+ args: {
92
+ url: 'https://m-poc-dev.zaxline.com',
93
+ token: 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoiVjRTT0htSm8zWmVhNFJOdWc3WFgyQT09Iiwic2NvcGUiOlsiYU5HbmZXS1pEUWVNWXkzd0NWSFc5VjVMIl0sImV4cCI6MTc2NzUzNjE2NSwianRpIjoicnktX0RIQnVFbE9tQW1rZWtLNjBnNzREaGk0IiwiY2xpZW50X2lkIjoiYU5HbmZXS1pEUWVNWXkzd0NWSFc5VjVMIn0.UnedO15cSkYyE6u6ZQATLXSYIYb0GylP7RjeJYHDTVwGPuYKOHENgYMbXkL_FOe_V8681eZ5uXpR5k31HsziIjp_GtZdUqLv5O_bEzZ5gKMPmy9uXpr56M-IiB2c6GZRbJF-DI1b4J9QJcvwlIvQG-I2ug50cGmlZ4YHhRrjHnU6Z8j8iJoF4CLUgzG5R0UasIlonfI1uVUXX1lqD4iomZ7UDWodPLi2QpjlCkUq2kaJbjRSZAPHpugff4ZKzAl47nO2deBOBbmDkzPnKmibCwJ5rZVtYIYvWLq8iX0qgkhXEkEn20DB717WPGi779qB8vxOx4rGlwuegRAz_05_qg',
94
+ config: {
95
+ appNo: 'aNGnfWKZDQeMYy3wCVHW9V5L'
96
+ },
97
+ providerId: 'demo-provider'
98
+ }
99
+ };
100
+
101
+ // 使用 Provider 的 XAiChatbot
102
+ export var 携带历史记录实例 = {
103
+ render: function render(args) {
104
+ var providerRef = React.useRef(null);
105
+ var handleSendMessage = function handleSendMessage() {
106
+ var _providerRef$current2;
107
+ if ((_providerRef$current2 = providerRef.current) !== null && _providerRef$current2 !== void 0 && _providerRef$current2.chat) {
108
+ providerRef.current.chat({
109
+ text: '你好,AI!'
110
+ });
111
+ } else {
112
+ console.log('XAdkWebProvider ref 未准备好或 chat 方法不存在');
113
+ }
114
+ };
115
+ return /*#__PURE__*/_jsx("div", {
116
+ style: {
117
+ display: 'flex'
118
+ },
119
+ children: /*#__PURE__*/_jsx("div", {
120
+ style: {
121
+ height: '600px'
122
+ },
123
+ children: /*#__PURE__*/_jsx(XAdkWebProvider, _objectSpread(_objectSpread({
124
+ ref: providerRef
125
+ }, args), {}, {
126
+ onError: function onError(providerError) {
127
+ return console.log(providerError);
128
+ },
129
+ onMessage: function onMessage(data) {
130
+ return console.log(data);
131
+ }
132
+ }))
133
+ })
134
+ });
135
+ },
136
+ args: {
137
+ url: 'https://m-poc-dev.zaxline.com',
138
+ token: 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoiVjRTT0htSm8zWmVhNFJOdWc3WFgyQT09Iiwic2NvcGUiOlsiYU5HbmZXS1pEUWVNWXkzd0NWSFc5VjVMIl0sImV4cCI6MTc2NzYwMTU0MCwianRpIjoickFteXpfZzRxUGZPeS13VjlJSjBRMjZPMmJNIiwiY2xpZW50X2lkIjoiYU5HbmZXS1pEUWVNWXkzd0NWSFc5VjVMIn0.j8SQZhoQ4pwO32iyzKuJHsTCKVGlZBvcbO4p4OMA81P3yqHMS7B7yMj0d0pzadCPG2KUTGhssb1CCEmzBt9JfxARAWTTzRPGOjr2yARJwRPy6fjLyBHKH7mr2zh21eS4ZSqUm4zaU-t6JYls6E1lcToGCfvGYYtsjNoxtb_XOaqcxUTsdAEB-fUOZ5V0aMNSk81qeUBNo7APZNNpRB8oe1cJ8qi4rHy3SI_wAWe4pZ0n74IfEzKsKmSj5q8AmK1Q8pbWyCekLrt3Jq_uNhsp7bu7JLHnrCTGkdl_XaQp1Jmiyg35hJ7RJcdfXZveb2kFIafmq45yG794uwDOaJD95w',
139
+ config: {
140
+ appNo: 'aNGnfWKZDQeMYy3wCVHW9V5L',
141
+ session: {
142
+ showSessionList: true
143
+ }
144
+ },
145
+ providerId: 'demo-provider'
146
+ }
147
+ };
148
+ //# sourceMappingURL=XAdkWebProvider.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Button","XAdkWebProvider","jsx","_jsx","jsxs","_jsxs","meta","title","component","parameters","layout","docs","description","tags","argTypes","config","table","type","summary","detail","category","decorators","Story","style","padding","children","单聊天窗口实例","render","args","providerRef","useRef","handleSendMessage","_providerRef$current","current","chat","text","console","log","display","flexDirection","gap","marginRight","justifyContent","onClick","maxWidth","height","_objectSpread","ref","onError","providerError","onMessage","data","url","token","appNo","providerId","携带历史记录实例","_providerRef$current2","session","showSessionList"],"sources":["../../../../src/components/XAdkWebProvider/XAdkWebProvider.stories.tsx"],"sourcesContent":["import React from 'react';\nimport type { Meta, StoryObj } from '@storybook/react-vite';\nimport { Button } from 'antd';\nimport XAdkWebProvider from './index';\nimport XAiChatbot from '../XAiChatbot';\n\nconst meta: Meta<typeof XAdkWebProvider> = {\n title: 'AI组件/XAdkWebProvider AI容器',\n component: XAdkWebProvider,\n parameters: {\n layout: 'centered',\n docs: {\n description: {\n component: 'AI 聊天机器人容器组件,提供全局上下文和消息管理功能。',\n },\n },\n },\n tags: ['autodocs'],\n argTypes: {\n config: {\n description: '配置信息',\n table: {\n type: {\n summary: 'XAdkWebProviderConfig',\n detail: `{\n appNo?: string; // 应用唯一编号\n }`,\n },\n category: '配置选项',\n },\n },\n },\n // 添加装饰器,确保组件有必要的上下文\n decorators: [\n (Story) => (\n <div style={{ padding: '20px' }}>\n <Story />\n </div>\n ),\n ],\n};\n\nexport default meta;\ntype Story = StoryObj<typeof meta>;\n\n// 使用 Provider 的 XAiChatbot\nexport const 单聊天窗口实例: Story = {\n render: (args) => {\n const providerRef = React.useRef<any>(null);\n\n const handleSendMessage = () => {\n if (providerRef.current?.chat) {\n providerRef.current.chat({ text: '你好,AI!' });\n } else {\n console.log('XAdkWebProvider ref 未准备好或 chat 方法不存在');\n }\n };\n\n return (\n <div style={{ display: 'flex' }}>\n <div style={{ display: 'flex', flexDirection: 'column', gap: '12px', marginRight: '24px', justifyContent: 'center' }}>\n <Button type=\"primary\" onClick={handleSendMessage}>发送消息</Button>\n </div>\n <div style={{ maxWidth: '350px', height: '600px' }}>\n <XAdkWebProvider\n ref={providerRef}\n {...args}\n onError={(providerError) => console.log(providerError)}\n onMessage={(data) => console.log(data)}\n >\n </XAdkWebProvider>\n </div>\n </div>\n );\n },\n args: {\n url: 'https://m-poc-dev.zaxline.com',\n token: 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoiVjRTT0htSm8zWmVhNFJOdWc3WFgyQT09Iiwic2NvcGUiOlsiYU5HbmZXS1pEUWVNWXkzd0NWSFc5VjVMIl0sImV4cCI6MTc2NzUzNjE2NSwianRpIjoicnktX0RIQnVFbE9tQW1rZWtLNjBnNzREaGk0IiwiY2xpZW50X2lkIjoiYU5HbmZXS1pEUWVNWXkzd0NWSFc5VjVMIn0.UnedO15cSkYyE6u6ZQATLXSYIYb0GylP7RjeJYHDTVwGPuYKOHENgYMbXkL_FOe_V8681eZ5uXpR5k31HsziIjp_GtZdUqLv5O_bEzZ5gKMPmy9uXpr56M-IiB2c6GZRbJF-DI1b4J9QJcvwlIvQG-I2ug50cGmlZ4YHhRrjHnU6Z8j8iJoF4CLUgzG5R0UasIlonfI1uVUXX1lqD4iomZ7UDWodPLi2QpjlCkUq2kaJbjRSZAPHpugff4ZKzAl47nO2deBOBbmDkzPnKmibCwJ5rZVtYIYvWLq8iX0qgkhXEkEn20DB717WPGi779qB8vxOx4rGlwuegRAz_05_qg',\n config: {\n appNo: 'aNGnfWKZDQeMYy3wCVHW9V5L',\n },\n providerId: 'demo-provider',\n },\n};\n\n\n// 使用 Provider 的 XAiChatbot\nexport const 携带历史记录实例: Story = {\n render: (args) => {\n const providerRef = React.useRef<any>(null);\n\n const handleSendMessage = () => {\n if (providerRef.current?.chat) {\n providerRef.current.chat({ text: '你好,AI!' });\n } else {\n console.log('XAdkWebProvider ref 未准备好或 chat 方法不存在');\n }\n };\n\n return (\n <div style={{ display: 'flex' }}>\n <div style={{ height: '600px' }}>\n <XAdkWebProvider\n ref={providerRef}\n {...args}\n onError={(providerError) => console.log(providerError)}\n onMessage={(data) => console.log(data)}\n />\n </div>\n </div>\n );\n },\n args: {\n url: 'https://m-poc-dev.zaxline.com',\n token: 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoiVjRTT0htSm8zWmVhNFJOdWc3WFgyQT09Iiwic2NvcGUiOlsiYU5HbmZXS1pEUWVNWXkzd0NWSFc5VjVMIl0sImV4cCI6MTc2NzYwMTU0MCwianRpIjoickFteXpfZzRxUGZPeS13VjlJSjBRMjZPMmJNIiwiY2xpZW50X2lkIjoiYU5HbmZXS1pEUWVNWXkzd0NWSFc5VjVMIn0.j8SQZhoQ4pwO32iyzKuJHsTCKVGlZBvcbO4p4OMA81P3yqHMS7B7yMj0d0pzadCPG2KUTGhssb1CCEmzBt9JfxARAWTTzRPGOjr2yARJwRPy6fjLyBHKH7mr2zh21eS4ZSqUm4zaU-t6JYls6E1lcToGCfvGYYtsjNoxtb_XOaqcxUTsdAEB-fUOZ5V0aMNSk81qeUBNo7APZNNpRB8oe1cJ8qi4rHy3SI_wAWe4pZ0n74IfEzKsKmSj5q8AmK1Q8pbWyCekLrt3Jq_uNhsp7bu7JLHnrCTGkdl_XaQp1Jmiyg35hJ7RJcdfXZveb2kFIafmq45yG794uwDOaJD95w',\n config: {\n appNo: 'aNGnfWKZDQeMYy3wCVHW9V5L',\n session: {\n showSessionList: true,\n }\n },\n providerId: 'demo-provider',\n },\n};"],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import { XAdkProviderProps, XAdkProviderHandle } from "../../types/XAdkProvider";
3
+ declare const XAdkWebProvider: import("react").ForwardRefExoticComponent<XAdkProviderProps & import("react").RefAttributes<XAdkProviderHandle>>;
4
+ export default XAdkWebProvider;