@ai-group/chat-sdk 2.0.3 → 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 (238) 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 +27 -7
  36. package/dist/cjs/components/XAiChatbot/index.js.map +2 -2
  37. package/dist/cjs/components/XAiChatbot/styles.js +31 -0
  38. package/dist/cjs/components/XAiChatbot/styles.js.map +2 -2
  39. package/dist/cjs/components/XAiConversations/XAiConversations.stories.js +1 -0
  40. package/dist/cjs/components/XAiConversations/XAiConversations.stories.js.map +2 -2
  41. package/dist/cjs/components/XAiJsonView/index.d.ts +8 -0
  42. package/dist/cjs/components/XAiJsonView/index.js +81 -0
  43. package/dist/cjs/components/XAiJsonView/index.js.map +7 -0
  44. package/dist/cjs/components/XAiJsonView/styles.d.ts +39 -0
  45. package/dist/cjs/components/XAiJsonView/styles.js +58 -0
  46. package/dist/cjs/components/XAiJsonView/styles.js.map +7 -0
  47. package/dist/cjs/components/XAiProvider/XAiProvider.stories.js +1 -1
  48. package/dist/cjs/components/XAiProvider/XAiProvider.stories.js.map +1 -1
  49. package/dist/cjs/components/XAiSender/index.js +23 -17
  50. package/dist/cjs/components/XAiSender/index.js.map +2 -2
  51. package/dist/cjs/components/XAiSender/styles.js +0 -1
  52. package/dist/cjs/components/XAiSender/styles.js.map +2 -2
  53. package/dist/cjs/context/AiProviderContext.d.ts +3 -2
  54. package/dist/cjs/context/AiProviderContext.js.map +1 -1
  55. package/dist/cjs/hooks/useADKChat.d.ts +38 -0
  56. package/dist/cjs/hooks/useADKChat.js +595 -0
  57. package/dist/cjs/hooks/useADKChat.js.map +7 -0
  58. package/dist/cjs/hooks/useAgentGenerator.js +6 -6
  59. package/dist/cjs/hooks/useAgentGenerator.js.map +2 -2
  60. package/dist/cjs/hooks/useEventStreamRequest.js +6 -3
  61. package/dist/cjs/hooks/useEventStreamRequest.js.map +2 -2
  62. package/dist/cjs/index.d.ts +1 -2
  63. package/dist/cjs/index.js +0 -3
  64. package/dist/cjs/index.js.map +3 -3
  65. package/dist/cjs/services/api.d.ts +36 -19
  66. package/dist/cjs/services/api.js +7 -7
  67. package/dist/cjs/services/api.js.map +2 -2
  68. package/dist/cjs/types/XAdkChatbot.d.ts +197 -0
  69. package/dist/cjs/types/XAdkChatbot.js +18 -0
  70. package/dist/cjs/types/XAdkChatbot.js.map +7 -0
  71. package/dist/cjs/types/XAdkProvider.d.ts +117 -0
  72. package/dist/cjs/types/XAdkProvider.js +18 -0
  73. package/dist/cjs/types/XAdkProvider.js.map +7 -0
  74. package/dist/cjs/types/XAiChatbot.d.ts +2 -2
  75. package/dist/cjs/types/XAiChatbot.js.map +1 -1
  76. package/dist/cjs/types/XAiConversations.d.ts +2 -2
  77. package/dist/cjs/types/XAiConversations.js.map +1 -1
  78. package/dist/cjs/types/index.d.ts +1 -0
  79. package/dist/cjs/types/index.js +3 -1
  80. package/dist/cjs/types/index.js.map +2 -2
  81. package/dist/cjs/utils/providerManager.d.ts +7 -6
  82. package/dist/cjs/utils/providerManager.js.map +2 -2
  83. package/dist/cjs/utils/umdEntry.d.ts +6 -8
  84. package/dist/cjs/utils/umdEntry.js +4 -18
  85. package/dist/cjs/utils/umdEntry.js.map +3 -3
  86. package/dist/esm/client/base.d.ts +2 -2
  87. package/dist/esm/client/base.js.map +1 -1
  88. package/dist/esm/components/DislikeFeedback.js +18 -5
  89. package/dist/esm/components/DislikeFeedback.js.map +1 -1
  90. package/dist/esm/components/XAdkChatbot/XAdkChatbot.stories.d.ts +6 -0
  91. package/dist/esm/components/XAdkChatbot/XAdkChatbot.stories.js +21 -0
  92. package/dist/esm/components/XAdkChatbot/XAdkChatbot.stories.js.map +1 -0
  93. package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/index.d.ts +9 -0
  94. package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/index.js +183 -0
  95. package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/index.js.map +1 -0
  96. package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/styles.d.ts +40 -0
  97. package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/styles.js +14 -0
  98. package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/styles.js.map +1 -0
  99. package/dist/esm/components/XAdkChatbot/components/MarkdownRender/index.d.ts +6 -0
  100. package/dist/esm/components/XAdkChatbot/components/MarkdownRender/index.js +70 -0
  101. package/dist/esm/components/XAdkChatbot/components/MarkdownRender/index.js.map +1 -0
  102. package/dist/esm/components/XAdkChatbot/components/ThinkRender/index.d.ts +8 -0
  103. package/dist/esm/components/XAdkChatbot/components/ThinkRender/index.js +32 -0
  104. package/dist/esm/components/XAdkChatbot/components/ThinkRender/index.js.map +1 -0
  105. package/dist/esm/components/XAdkChatbot/index.d.ts +4 -0
  106. package/dist/esm/components/XAdkChatbot/index.js +280 -0
  107. package/dist/esm/components/XAdkChatbot/index.js.map +1 -0
  108. package/dist/esm/components/XAdkChatbot/styles.d.ts +51 -0
  109. package/dist/esm/components/XAdkChatbot/styles.js +25 -0
  110. package/dist/esm/components/XAdkChatbot/styles.js.map +1 -0
  111. package/dist/esm/components/XAdkWebProvider/XAdkWebProvider.stories.d.ts +7 -0
  112. package/dist/esm/components/XAdkWebProvider/XAdkWebProvider.stories.js +148 -0
  113. package/dist/esm/components/XAdkWebProvider/XAdkWebProvider.stories.js.map +1 -0
  114. package/dist/esm/components/XAdkWebProvider/index.d.ts +4 -0
  115. package/dist/esm/components/XAdkWebProvider/index.js +447 -0
  116. package/dist/esm/components/XAdkWebProvider/index.js.map +1 -0
  117. package/dist/esm/components/XAdkWebProvider/styles.d.ts +37 -0
  118. package/dist/esm/components/XAdkWebProvider/styles.js +11 -0
  119. package/dist/esm/components/XAdkWebProvider/styles.js.map +1 -0
  120. package/dist/esm/components/XAiChatbot/index.js +39 -21
  121. package/dist/esm/components/XAiChatbot/index.js.map +1 -1
  122. package/dist/esm/components/XAiChatbot/styles.js +1 -1
  123. package/dist/esm/components/XAiChatbot/styles.js.map +1 -1
  124. package/dist/esm/components/XAiConversations/XAiConversations.stories.js +3 -3
  125. package/dist/esm/components/XAiConversations/XAiConversations.stories.js.map +1 -1
  126. package/dist/esm/components/XAiJsonView/index.d.ts +8 -0
  127. package/dist/esm/components/XAiJsonView/index.js +44 -0
  128. package/dist/esm/components/XAiJsonView/index.js.map +1 -0
  129. package/dist/esm/components/XAiJsonView/styles.d.ts +39 -0
  130. package/dist/esm/components/XAiJsonView/styles.js +19 -0
  131. package/dist/esm/components/XAiJsonView/styles.js.map +1 -0
  132. package/dist/esm/components/XAiProvider/XAiProvider.stories.js +1 -1
  133. package/dist/esm/components/XAiProvider/XAiProvider.stories.js.map +1 -1
  134. package/dist/esm/components/XAiSender/index.js +2 -2
  135. package/dist/esm/components/XAiSender/index.js.map +1 -1
  136. package/dist/esm/components/XAiSender/styles.js +1 -1
  137. package/dist/esm/components/XAiSender/styles.js.map +1 -1
  138. package/dist/esm/context/AiProviderContext.d.ts +3 -2
  139. package/dist/esm/context/AiProviderContext.js.map +1 -1
  140. package/dist/esm/hooks/useADKChat.d.ts +38 -0
  141. package/dist/esm/hooks/useADKChat.js +855 -0
  142. package/dist/esm/hooks/useADKChat.js.map +1 -0
  143. package/dist/esm/hooks/useAgentGenerator.js +11 -10
  144. package/dist/esm/hooks/useAgentGenerator.js.map +1 -1
  145. package/dist/esm/hooks/useEventStreamRequest.js +5 -2
  146. package/dist/esm/hooks/useEventStreamRequest.js.map +1 -1
  147. package/dist/esm/index.d.ts +1 -2
  148. package/dist/esm/index.js +1 -2
  149. package/dist/esm/index.js.map +1 -1
  150. package/dist/esm/services/api.d.ts +36 -19
  151. package/dist/esm/services/api.js +8 -8
  152. package/dist/esm/services/api.js.map +1 -1
  153. package/dist/esm/types/XAdkChatbot.d.ts +197 -0
  154. package/dist/esm/types/XAdkChatbot.js +2 -0
  155. package/dist/esm/types/XAdkChatbot.js.map +1 -0
  156. package/dist/esm/types/XAdkProvider.d.ts +117 -0
  157. package/dist/esm/types/XAdkProvider.js +2 -0
  158. package/dist/esm/types/XAdkProvider.js.map +1 -0
  159. package/dist/esm/types/XAiChatbot.d.ts +2 -2
  160. package/dist/esm/types/XAiChatbot.js.map +1 -1
  161. package/dist/esm/types/XAiConversations.d.ts +2 -2
  162. package/dist/esm/types/XAiConversations.js.map +1 -1
  163. package/dist/esm/types/index.d.ts +1 -0
  164. package/dist/esm/types/index.js +1 -0
  165. package/dist/esm/types/index.js.map +1 -1
  166. package/dist/esm/utils/providerManager.d.ts +7 -6
  167. package/dist/esm/utils/providerManager.js.map +1 -1
  168. package/dist/esm/utils/umdEntry.d.ts +6 -8
  169. package/dist/esm/utils/umdEntry.js +8 -37
  170. package/dist/esm/utils/umdEntry.js.map +1 -1
  171. package/dist/umd/chat-sdk.min.css +1 -0
  172. package/dist/umd/chat-sdk.min.js +1 -1
  173. package/dist/umd/static/KaTeX_AMS-Regular.1608a09b.woff +0 -0
  174. package/dist/umd/static/KaTeX_AMS-Regular.4aafdb68.ttf +0 -0
  175. package/dist/umd/static/KaTeX_AMS-Regular.a79f1c31.woff2 +0 -0
  176. package/dist/umd/static/KaTeX_Caligraphic-Bold.b6770918.woff +0 -0
  177. package/dist/umd/static/KaTeX_Caligraphic-Bold.cce5b8ec.ttf +0 -0
  178. package/dist/umd/static/KaTeX_Caligraphic-Bold.ec17d132.woff2 +0 -0
  179. package/dist/umd/static/KaTeX_Caligraphic-Regular.07ef19e7.ttf +0 -0
  180. package/dist/umd/static/KaTeX_Caligraphic-Regular.55fac258.woff2 +0 -0
  181. package/dist/umd/static/KaTeX_Caligraphic-Regular.dad44a7f.woff +0 -0
  182. package/dist/umd/static/KaTeX_Fraktur-Bold.9f256b85.woff +0 -0
  183. package/dist/umd/static/KaTeX_Fraktur-Bold.b18f59e1.ttf +0 -0
  184. package/dist/umd/static/KaTeX_Fraktur-Bold.d42a5579.woff2 +0 -0
  185. package/dist/umd/static/KaTeX_Fraktur-Regular.7c187121.woff +0 -0
  186. package/dist/umd/static/KaTeX_Fraktur-Regular.d3c882a6.woff2 +0 -0
  187. package/dist/umd/static/KaTeX_Fraktur-Regular.ed38e79f.ttf +0 -0
  188. package/dist/umd/static/KaTeX_Main-Bold.b74a1a8b.ttf +0 -0
  189. package/dist/umd/static/KaTeX_Main-Bold.c3fb5ac2.woff2 +0 -0
  190. package/dist/umd/static/KaTeX_Main-Bold.d181c465.woff +0 -0
  191. package/dist/umd/static/KaTeX_Main-BoldItalic.6f2bb1df.woff2 +0 -0
  192. package/dist/umd/static/KaTeX_Main-BoldItalic.70d8b0a5.ttf +0 -0
  193. package/dist/umd/static/KaTeX_Main-BoldItalic.e3f82f9d.woff +0 -0
  194. package/dist/umd/static/KaTeX_Main-Italic.47373d1e.ttf +0 -0
  195. package/dist/umd/static/KaTeX_Main-Italic.8916142b.woff2 +0 -0
  196. package/dist/umd/static/KaTeX_Main-Italic.9024d815.woff +0 -0
  197. package/dist/umd/static/KaTeX_Main-Regular.0462f03b.woff2 +0 -0
  198. package/dist/umd/static/KaTeX_Main-Regular.7f51fe03.woff +0 -0
  199. package/dist/umd/static/KaTeX_Main-Regular.b7f8fe9b.ttf +0 -0
  200. package/dist/umd/static/KaTeX_Math-BoldItalic.572d331f.woff2 +0 -0
  201. package/dist/umd/static/KaTeX_Math-BoldItalic.a879cf83.ttf +0 -0
  202. package/dist/umd/static/KaTeX_Math-BoldItalic.f1035d8d.woff +0 -0
  203. package/dist/umd/static/KaTeX_Math-Italic.5295ba48.woff +0 -0
  204. package/dist/umd/static/KaTeX_Math-Italic.939bc644.ttf +0 -0
  205. package/dist/umd/static/KaTeX_Math-Italic.f28c23ac.woff2 +0 -0
  206. package/dist/umd/static/KaTeX_SansSerif-Bold.8c5b5494.woff2 +0 -0
  207. package/dist/umd/static/KaTeX_SansSerif-Bold.94e1e8dc.ttf +0 -0
  208. package/dist/umd/static/KaTeX_SansSerif-Bold.bf59d231.woff +0 -0
  209. package/dist/umd/static/KaTeX_SansSerif-Italic.3b1e59b3.woff2 +0 -0
  210. package/dist/umd/static/KaTeX_SansSerif-Italic.7c9bc82b.woff +0 -0
  211. package/dist/umd/static/KaTeX_SansSerif-Italic.b4c20c84.ttf +0 -0
  212. package/dist/umd/static/KaTeX_SansSerif-Regular.74048478.woff +0 -0
  213. package/dist/umd/static/KaTeX_SansSerif-Regular.ba21ed5f.woff2 +0 -0
  214. package/dist/umd/static/KaTeX_SansSerif-Regular.d4d7ba48.ttf +0 -0
  215. package/dist/umd/static/KaTeX_Script-Regular.03e9641d.woff2 +0 -0
  216. package/dist/umd/static/KaTeX_Script-Regular.07505710.woff +0 -0
  217. package/dist/umd/static/KaTeX_Script-Regular.fe9cbbe1.ttf +0 -0
  218. package/dist/umd/static/KaTeX_Size1-Regular.e1e279cb.woff +0 -0
  219. package/dist/umd/static/KaTeX_Size1-Regular.eae34984.woff2 +0 -0
  220. package/dist/umd/static/KaTeX_Size1-Regular.fabc004a.ttf +0 -0
  221. package/dist/umd/static/KaTeX_Size2-Regular.57727022.woff +0 -0
  222. package/dist/umd/static/KaTeX_Size2-Regular.5916a24f.woff2 +0 -0
  223. package/dist/umd/static/KaTeX_Size2-Regular.d6b476ec.ttf +0 -0
  224. package/dist/umd/static/KaTeX_Size3-Regular.9acaf01c.woff +0 -0
  225. package/dist/umd/static/KaTeX_Size3-Regular.a144ef58.ttf +0 -0
  226. package/dist/umd/static/KaTeX_Size3-Regular.b4230e7e.woff2 +0 -0
  227. package/dist/umd/static/KaTeX_Size4-Regular.10d95fd3.woff2 +0 -0
  228. package/dist/umd/static/KaTeX_Size4-Regular.7a996c9d.woff +0 -0
  229. package/dist/umd/static/KaTeX_Size4-Regular.fbccdabe.ttf +0 -0
  230. package/dist/umd/static/KaTeX_Typewriter-Regular.6258592b.woff +0 -0
  231. package/dist/umd/static/KaTeX_Typewriter-Regular.a8709e36.woff2 +0 -0
  232. package/dist/umd/static/KaTeX_Typewriter-Regular.d97aaf4a.ttf +0 -0
  233. package/package.json +26 -19
  234. package/dist/cjs/components/XAiWebSDKWrapper.d.ts +0 -9
  235. package/dist/cjs/components/XAiWebSDKWrapper.js.map +0 -7
  236. package/dist/esm/components/XAiWebSDKWrapper.d.ts +0 -9
  237. package/dist/esm/components/XAiWebSDKWrapper.js +0 -45
  238. package/dist/esm/components/XAiWebSDKWrapper.js.map +0 -1
@@ -0,0 +1,49 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // src/components/XAdkChatbot/components/ThinkRender/index.tsx
20
+ var ThinkRender_exports = {};
21
+ __export(ThinkRender_exports, {
22
+ default: () => ThinkRender_default
23
+ });
24
+ module.exports = __toCommonJS(ThinkRender_exports);
25
+ var import_x = require("@ant-design/x");
26
+ var import_react = require("react");
27
+ var import_jsx_runtime = require("react/jsx-runtime");
28
+ var ThinkRender = ({ msg, loading }) => {
29
+ const [expand, setExpand] = (0, import_react.useState)(false);
30
+ (0, import_react.useEffect)(() => {
31
+ if (loading) {
32
+ setExpand(true);
33
+ } else {
34
+ setExpand(false);
35
+ }
36
+ }, [loading]);
37
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
38
+ import_x.Think,
39
+ {
40
+ title: loading ? "思考中..." : "深度思考",
41
+ loading,
42
+ expanded: expand,
43
+ onExpand: () => setExpand((v) => !v),
44
+ children: msg.text
45
+ }
46
+ );
47
+ };
48
+ var ThinkRender_default = ThinkRender;
49
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../src/components/XAdkChatbot/components/ThinkRender/index.tsx"],
4
+ "sourcesContent": ["import { Think } from '@ant-design/x';\nimport React, { useEffect, useState } from 'react';\nimport type { IMessage } from '@/types';\n\nexport interface ThinkRenderProps {\n msg: IMessage;\n loading?: boolean;\n}\n\nconst ThinkRender: React.FC<ThinkRenderProps> = ({ msg, loading }) => {\n const [expand, setExpand] = useState(false);\n useEffect(() => {\n if (loading) {\n setExpand(true);\n } else {\n setExpand(false);\n }\n }, [loading]);\n\n return (\n <Think\n title={loading ? '思考中...' : '深度思考'}\n loading={loading}\n expanded={expand}\n onExpand={() => setExpand((v) => !v)}\n >\n {msg.text}\n </Think>\n );\n};\n\nexport default ThinkRender;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAAsB;AACtB,mBAA2C;AAmBvC;AAXJ,IAAM,cAA0C,CAAC,EAAE,KAAK,QAAQ,MAAM;AACpE,QAAM,CAAC,QAAQ,SAAS,QAAI,uBAAS,KAAK;AAC1C,8BAAU,MAAM;AACd,QAAI,SAAS;AACX,gBAAU,IAAI;AAAA,IAChB,OAAO;AACL,gBAAU,KAAK;AAAA,IACjB;AAAA,EACF,GAAG,CAAC,OAAO,CAAC;AAEZ,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAO,UAAU,WAAW;AAAA,MAC5B;AAAA,MACA,UAAU;AAAA,MACV,UAAU,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC;AAAA,MAElC,cAAI;AAAA;AAAA,EACP;AAEJ;AAEA,IAAO,sBAAQ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { XAdkChatbotProps } from "../../types";
3
+ declare const XAdkChatbot: React.FC<XAdkChatbotProps>;
4
+ export default XAdkChatbot;
@@ -0,0 +1,232 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+
29
+ // src/components/XAdkChatbot/index.tsx
30
+ var XAdkChatbot_exports = {};
31
+ __export(XAdkChatbot_exports, {
32
+ default: () => XAdkChatbot_default
33
+ });
34
+ module.exports = __toCommonJS(XAdkChatbot_exports);
35
+ var import_react = __toESM(require("react"));
36
+ var import_antd = require("antd");
37
+ var import_icons = require("@ant-design/icons");
38
+ var import_styles = require("./styles");
39
+ var import_MarkdownRender = __toESM(require("./components/MarkdownRender"));
40
+ var import_FunctionCallRender = __toESM(require("./components/FunctionCallRender"));
41
+ var import_ThinkRender = __toESM(require("./components/ThinkRender"));
42
+ var import_jsx_runtime = require("react/jsx-runtime");
43
+ var XAdkChatbot = ({
44
+ loading,
45
+ prologue,
46
+ suggestions,
47
+ messages,
48
+ footer,
49
+ showFnCallDetail,
50
+ clearBtnShow = true,
51
+ onSubmit,
52
+ onSuggest,
53
+ onStop,
54
+ onClear
55
+ }) => {
56
+ const styles = (0, import_styles.useStyles)();
57
+ const [inputValue, setInputValue] = import_react.default.useState("");
58
+ const [showLog, setShowLog] = (0, import_react.useState)(false);
59
+ const [invocation, setInvocation] = (0, import_react.useState)();
60
+ const listRef = (0, import_react.useRef)(null);
61
+ const scrollTimeoutRef = (0, import_react.useRef)(null);
62
+ const isFirstLoadRef = (0, import_react.useRef)(true);
63
+ const scrollToBottom = (0, import_react.useCallback)((smooth = false) => {
64
+ if (!listRef.current)
65
+ return;
66
+ if (scrollTimeoutRef.current) {
67
+ clearTimeout(scrollTimeoutRef.current);
68
+ }
69
+ listRef.current.scrollTo({
70
+ top: listRef.current.scrollHeight,
71
+ behavior: smooth ? "smooth" : "instant"
72
+ });
73
+ scrollTimeoutRef.current = setTimeout(() => {
74
+ if (listRef.current) {
75
+ listRef.current.scrollTo({
76
+ top: listRef.current.scrollHeight,
77
+ behavior: smooth ? "smooth" : "instant"
78
+ });
79
+ }
80
+ }, 100);
81
+ }, []);
82
+ (0, import_react.useEffect)(() => {
83
+ if (isFirstLoadRef.current) {
84
+ scrollToBottom(false);
85
+ isFirstLoadRef.current = false;
86
+ } else {
87
+ scrollToBottom(true);
88
+ }
89
+ }, [messages, suggestions, scrollToBottom]);
90
+ const handleSubmit = (0, import_react.useCallback)((text) => {
91
+ if (loading)
92
+ return;
93
+ if (!(text == null ? void 0 : text.trim()))
94
+ return;
95
+ onSubmit == null ? void 0 : onSubmit(text);
96
+ setInputValue("");
97
+ scrollToBottom(true);
98
+ }, [loading, scrollToBottom]);
99
+ const lastIndex = messages.length - 1;
100
+ const lastMessageMap = (0, import_react.useMemo)(() => {
101
+ const map = /* @__PURE__ */ new Map();
102
+ for (const msg of messages) {
103
+ if (msg.role === "bot" && msg.invocationId) {
104
+ map.set(msg.invocationId, msg.id);
105
+ }
106
+ }
107
+ return map;
108
+ }, [messages]);
109
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: styles.wrapper, children: [
110
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: styles.list, ref: listRef, children: [
111
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: styles.prologue, children: prologue }),
112
+ messages.map((msg, i) => {
113
+ if (msg.role === "user") {
114
+ if (msg.text) {
115
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: styles.userMsg, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: styles.card, children: msg.text }) }, `${msg.id}-${i}`);
116
+ }
117
+ if (msg.functionResponse) {
118
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: styles.userMsg, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_FunctionCallRender.default, { msg, showDetail: showFnCallDetail }) }, `${msg.id}-${i}`);
119
+ }
120
+ return null;
121
+ }
122
+ const isLast = i === lastIndex;
123
+ const isLoading = isLast && loading;
124
+ const isLastBotMsg = lastMessageMap.get((msg == null ? void 0 : msg.invocationId) || "") === msg.id;
125
+ if (msg.text) {
126
+ if (msg.thought) {
127
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: styles.botMsg, children: [
128
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
129
+ import_ThinkRender.default,
130
+ {
131
+ msg,
132
+ loading: isLoading
133
+ }
134
+ ),
135
+ !isLoading && (footer == null ? void 0 : footer({ message: msg, isLastMsg: isLast, isLastBotMsg }))
136
+ ] }, `${msg.id}-${i}`);
137
+ }
138
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: styles.botMsg, children: [
139
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_MarkdownRender.default, { text: msg.text }),
140
+ !isLoading && (footer == null ? void 0 : footer({ message: msg, isLastMsg: isLast, isLastBotMsg }))
141
+ ] }, `${msg.id}-${i}`);
142
+ }
143
+ const fnCall = msg.functionCall;
144
+ if (fnCall) {
145
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: styles.botMsg, children: [
146
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_FunctionCallRender.default, { msg, showDetail: showFnCallDetail }),
147
+ !isLoading && (footer == null ? void 0 : footer({ message: msg, isLastMsg: isLast, isLastBotMsg }))
148
+ ] }, `${msg.id}-${i}`);
149
+ }
150
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: styles.botMsg, children: !isLoading && (footer == null ? void 0 : footer({ message: msg, isLastMsg: isLast, isLastBotMsg })) }, `${msg.id}-${i}`);
151
+ }),
152
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { children: suggestions == null ? void 0 : suggestions.map((item) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: styles.suggestion, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: styles.suggestContent, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
153
+ import_antd.Button,
154
+ {
155
+ type: "text",
156
+ icon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons.SwapRightOutlined, {}),
157
+ iconPosition: "end",
158
+ onClick: () => {
159
+ if (!item)
160
+ return;
161
+ onSuggest == null ? void 0 : onSuggest(item);
162
+ },
163
+ children: item
164
+ }
165
+ ) }) }, item)) })
166
+ ] }),
167
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: styles.footer, children: [
168
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: styles.senderWrap, children: [
169
+ clearBtnShow && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
170
+ import_antd.Popconfirm,
171
+ {
172
+ title: "确定要清空聊天记录吗?",
173
+ onConfirm: onClear,
174
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
175
+ import_antd.Button,
176
+ {
177
+ shape: "circle",
178
+ icon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons.ClearOutlined, {})
179
+ }
180
+ )
181
+ }
182
+ ),
183
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: styles.sender, children: [
184
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
185
+ import_antd.Input.TextArea,
186
+ {
187
+ className: styles.input,
188
+ rows: 1,
189
+ autoSize: { minRows: 1, maxRows: 4 },
190
+ value: inputValue,
191
+ onChange: (e) => {
192
+ setInputValue(e.target.value);
193
+ },
194
+ onPressEnter: async (e) => {
195
+ if (e.shiftKey) {
196
+ return;
197
+ }
198
+ e.preventDefault();
199
+ handleSubmit(inputValue);
200
+ },
201
+ placeholder: "请输入消息"
202
+ }
203
+ ),
204
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { children: loading ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
205
+ import_antd.Button,
206
+ {
207
+ type: "primary",
208
+ shape: "circle",
209
+ icon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons.LoadingOutlined, {}),
210
+ onClick: () => {
211
+ onStop == null ? void 0 : onStop();
212
+ }
213
+ }
214
+ ) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
215
+ import_antd.Button,
216
+ {
217
+ type: "primary",
218
+ shape: "circle",
219
+ icon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons.ArrowUpOutlined, {}),
220
+ onClick: () => {
221
+ handleSubmit(inputValue);
222
+ }
223
+ }
224
+ ) })
225
+ ] })
226
+ ] }),
227
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: styles.tip, children: "内容由AI生成,无法确保真实准确,仅供参考" })
228
+ ] })
229
+ ] });
230
+ };
231
+ var XAdkChatbot_default = XAdkChatbot;
232
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/components/XAdkChatbot/index.tsx"],
4
+ "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;"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAyE;AACzE,kBAA0C;AAC1C,mBAAmF;AACnF,oBAA0B;AAC1B,4BAA2B;AAC3B,gCAA+B;AAC/B,yBAAwB;AAkFhB;AA/ER,IAAM,cAA0C,CAAC;AAAA,EAC/C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,eAAe;AAAA,EACf;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,MAAM;AACL,QAAM,aAAS,yBAAU;AACzB,QAAM,CAAC,YAAY,aAAa,IAAI,aAAAA,QAAM,SAAiB,EAAE;AAC7D,QAAM,CAAC,SAAS,UAAU,QAAI,uBAAS,KAAK;AAC5C,QAAM,CAAC,YAAY,aAAa,QAAI,uBAA+B;AACnE,QAAM,cAAU,qBAAuB,IAAI;AAC3C,QAAM,uBAAmB,qBAA8B,IAAI;AAC3D,QAAM,qBAAiB,qBAAO,IAAI;AAGlC,QAAM,qBAAiB,0BAAY,CAAC,SAAS,UAAU;AACrD,QAAI,CAAC,QAAQ;AAAS;AACtB,QAAI,iBAAiB,SAAS;AAC5B,mBAAa,iBAAiB,OAAO;AAAA,IACvC;AAEA,YAAQ,QAAQ,SAAS;AAAA,MACvB,KAAK,QAAQ,QAAQ;AAAA,MACrB,UAAU,SAAS,WAAW;AAAA,IAChC,CAAC;AAED,qBAAiB,UAAU,WAAW,MAAM;AAC1C,UAAI,QAAQ,SAAS;AACnB,gBAAQ,QAAQ,SAAS;AAAA,UACvB,KAAK,QAAQ,QAAQ;AAAA,UACrB,UAAU,SAAS,WAAW;AAAA,QAChC,CAAC;AAAA,MACH;AAAA,IACF,GAAG,GAAG;AAAA,EACR,GAAG,CAAC,CAAC;AAGL,8BAAU,MAAM;AACd,QAAI,eAAe,SAAS;AAE1B,qBAAe,KAAK;AACpB,qBAAe,UAAU;AAAA,IAC3B,OAAO;AAEL,qBAAe,IAAI;AAAA,IACrB;AAAA,EACF,GAAG,CAAC,UAAU,aAAa,cAAc,CAAC;AAG1C,QAAM,mBAAe,0BAAY,CAAC,SAAiB;AACjD,QAAI;AAAS;AACb,QAAI,EAAC,6BAAM;AAAQ;AACnB,yCAAW;AACX,kBAAc,EAAE;AAChB,mBAAe,IAAI;AAAA,EACrB,GAAG,CAAC,SAAS,cAAc,CAAC;AAE5B,QAAM,YAAY,SAAS,SAAS;AAEpC,QAAM,qBAAiB,sBAAQ,MAAM;AACnC,UAAM,MAAM,oBAAI,IAAoB;AACpC,eAAW,OAAO,UAAU;AAC1B,UAAI,IAAI,SAAS,SAAS,IAAI,cAAc;AAC1C,YAAI,IAAI,IAAI,cAAc,IAAI,EAAE;AAAA,MAClC;AAAA,IACF;AACA,WAAO;AAAA,EACT,GAAG,CAAC,QAAQ,CAAC;AAEb,SACE,6CAAC,SAAI,WAAW,OAAO,SACrB;AAAA,iDAAC,SAAI,WAAW,OAAO,MAAM,KAAK,SAChC;AAAA,kDAAC,SAAI,WAAW,OAAO,UACpB,oBACH;AAAA,MACC,SAAS,IAAI,CAAC,KAAK,MAAM;AACxB,YAAI,IAAI,SAAS,QAAQ;AACvB,cAAI,IAAI,MAAM;AACZ,mBACI,4CAAC,SAA2B,WAAW,OAAO,SAC5C,sDAAC,SAAI,WAAW,OAAO,MAAO,cAAI,MAAK,KAD/B,GAAG,IAAI,MAAM,GAEvB;AAAA,UAEN;AACA,cAAI,IAAI,kBAAkB;AACxB,mBACE,4CAAC,SAA2B,WAAW,OAAO,SAC5C,sDAAC,0BAAAC,SAAA,EAAmB,KAAU,YAAY,kBAAkB,KADpD,GAAG,IAAI,MAAM,GAEvB;AAAA,UAEJ;AACA,iBAAO;AAAA,QACT;AACA,cAAM,SAAS,MAAM;AACrB,cAAM,YAAY,UAAU;AAC5B,cAAM,eAAe,eAAe,KAAI,2BAAK,iBAAgB,EAAE,MAAM,IAAI;AAEzE,YAAI,IAAI,MAAM;AACZ,cAAI,IAAI,SAAS;AACf,mBACE,6CAAC,SAA2B,WAAW,OAAO,QAC5C;AAAA;AAAA,gBAAC,mBAAAC;AAAA,gBAAA;AAAA,kBACC;AAAA,kBACA,SAAS;AAAA;AAAA,cACX;AAAA,cACC,CAAC,cAAa,iCAAS,EAAE,SAAS,KAAiB,WAAW,QAAQ,aAAa;AAAA,iBAL5E,GAAG,IAAI,MAAM,GAMvB;AAAA,UAEJ;AACA,iBACE,6CAAC,SAA2B,WAAW,OAAO,QAC5C;AAAA,wDAAC,sBAAAC,SAAA,EAAe,MAAM,IAAI,MAAM;AAAA,YAC/B,CAAC,cAAa,iCAAS,EAAE,SAAS,KAAiB,WAAW,QAAQ,aAAa;AAAA,eAF5E,GAAG,IAAI,MAAM,GAGvB;AAAA,QAEJ;AACA,cAAM,SAAS,IAAI;AACnB,YAAI,QAAQ;AACV,iBACE,6CAAC,SAA2B,WAAW,OAAO,QAC5C;AAAA,wDAAC,0BAAAF,SAAA,EAAmB,KAAU,YAAY,kBAAkB;AAAA,YAC3D,CAAC,cAAa,iCAAS,EAAE,SAAS,KAAiB,WAAW,QAAQ,aAAa;AAAA,eAF5E,GAAG,IAAI,MAAM,GAGvB;AAAA,QAEJ;AACA,eACE,4CAAC,SAA2B,WAAW,OAAO,QAC3C,WAAC,cAAa,iCAAS,EAAE,SAAS,KAAiB,WAAW,QAAQ,aAAa,OAD5E,GAAG,IAAI,MAAM,GAEvB;AAAA,MAEJ,CAAC;AAAA,MACD,4CAAC,SACE,qDAAa,IAAI,CAAC,SACjB,4CAAC,SAAe,WAAW,OAAO,YAChC,sDAAC,SAAI,WAAW,OAAO,gBACrB;AAAA,QAAC;AAAA;AAAA,UACC,MAAK;AAAA,UACL,MAAM,4CAAC,kCAAkB;AAAA,UACzB,cAAa;AAAA,UACb,SAAS,MAAM;AACb,gBAAI,CAAC;AAAM;AACX,mDAAY;AAAA,UACd;AAAA,UAEC;AAAA;AAAA,MACH,GACF,KAbQ,IAcV,IAEJ;AAAA,OACF;AAAA,IACA,6CAAC,SAAI,WAAW,OAAO,QACrB;AAAA,mDAAC,SAAI,WAAW,OAAO,YACnB;AAAA,wBAAgB;AAAA,UAAC;AAAA;AAAA,YACjB,OAAM;AAAA,YACN,WAAW;AAAA,YAEX;AAAA,cAAC;AAAA;AAAA,gBACC,OAAM;AAAA,gBACN,MAAM,4CAAC,8BAAc;AAAA;AAAA,YACvB;AAAA;AAAA,QACF;AAAA,QACA,6CAAC,SAAI,WAAW,OAAO,QACrB;AAAA;AAAA,YAAC,kBAAM;AAAA,YAAN;AAAA,cACC,WAAW,OAAO;AAAA,cAClB,MAAM;AAAA,cACN,UAAU,EAAE,SAAS,GAAG,SAAS,EAAE;AAAA,cACnC,OAAO;AAAA,cACP,UAAU,CAAC,MAAM;AACf,8BAAc,EAAE,OAAO,KAAK;AAAA,cAC9B;AAAA,cACA,cAAc,OAAO,MAAM;AACzB,oBAAI,EAAE,UAAU;AACd;AAAA,gBACF;AACA,kBAAE,eAAe;AACjB,6BAAa,UAAU;AAAA,cACzB;AAAA,cACA,aAAY;AAAA;AAAA,UACd;AAAA,UACA,4CAAC,SACE,oBAEG;AAAA,YAAC;AAAA;AAAA,cACC,MAAK;AAAA,cACL,OAAM;AAAA,cACN,MAAM,4CAAC,gCAAgB;AAAA,cACvB,SAAS,MAAM;AACb;AAAA,cACF;AAAA;AAAA,UACF,IAGA;AAAA,YAAC;AAAA;AAAA,cACC,MAAK;AAAA,cACL,OAAM;AAAA,cACN,MAAM,4CAAC,gCAAgB;AAAA,cACvB,SAAS,MAAM;AACb,6BAAa,UAAU;AAAA,cACzB;AAAA;AAAA,UACF,GAEN;AAAA,WACF;AAAA,SACF;AAAA,MACA,4CAAC,SAAI,WAAW,OAAO,KAAK,mCAAqB;AAAA,OACnD;AAAA,KAOF;AAEJ;AAEA,IAAO,sBAAQ;",
6
+ "names": ["React", "FunctionCallRender", "ThinkRender", "MarkdownRender"]
7
+ }
@@ -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,160 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // src/components/XAdkChatbot/styles.tsx
20
+ var styles_exports = {};
21
+ __export(styles_exports, {
22
+ default: () => styles_default,
23
+ useStyles: () => useStyles
24
+ });
25
+ module.exports = __toCommonJS(styles_exports);
26
+ var import_css = require("@emotion/css");
27
+ var import_common = require("../../styles/common");
28
+ var useStyles = (0, import_common.withBasicStyles)(() => ({
29
+ wrapper: import_css.css`
30
+ padding: 0 16px;
31
+ min-height: 300px;
32
+ width: 100%;
33
+ height: 100%;
34
+ border: 1px solid #e7e7e7;
35
+ border-radius: 8px;
36
+ display: flex;
37
+ flex-direction: column;
38
+
39
+ .x-markdown {
40
+ --margin-ul-ol: 0 0 1em 1em;
41
+
42
+ code {
43
+ background: rgba(150, 150, 150, 0.2);
44
+ border-radius: 3px;
45
+ }
46
+
47
+ .ant-highlightCode-header {
48
+ display: flex;
49
+ align-items: center;
50
+ justify-content: space-between;
51
+ color: var(--ant-highlight-code-color-text-title);
52
+ background: var(--ant-highlight-code-color-bg-title);
53
+ padding: var(--ant-padding-sm);
54
+ border-top-left-radius: var(--ant-border-radius);
55
+ border-top-right-radius: var(--ant-border-radius);
56
+ }
57
+ }
58
+ `,
59
+ list: import_css.css`
60
+ flex: 1;
61
+ margin: 16px 0;
62
+ padding: 0 16px;
63
+ overflow-y: auto;
64
+ /* Chrome, Safari, Edge, Opera */
65
+ &::-webkit-scrollbar {
66
+ display: none;
67
+ }
68
+ /* Firefox */
69
+ scrollbar-width: none;
70
+ /* IE 10+ */
71
+ -ms-overflow-style: none;
72
+ `,
73
+ prologue: import_css.css`
74
+ margin-bottom: 12px;
75
+ `,
76
+ suggestion: import_css.css`
77
+ margin-bottom: 12px;
78
+ `,
79
+ suggestContent: import_css.css`
80
+ display: inline-flex;
81
+ border: 2px solid #E7E7E7;
82
+ border-radius: 8px;
83
+ `,
84
+ userMsg: import_css.css`
85
+ display: flex;
86
+ justify-content: flex-end;
87
+ margin-bottom: 24px;
88
+ `,
89
+ card: import_css.css`
90
+ padding: 12px 16px;
91
+ background: #d5e3ff;
92
+ border-radius: 12px;
93
+ max-width: 80%;
94
+ white-space: pre-line;
95
+ word-break: break-all;
96
+ `,
97
+ botMsg: import_css.css`
98
+ margin-bottom: 12px;
99
+ `,
100
+ fnCall: import_css.css`
101
+ display: flex;
102
+ align-items: center;
103
+ gap: 8px;
104
+ padding: 8px 11px;
105
+ border-radius: 24px;
106
+ line-height: 16px;
107
+ border: 1px solid #e7e7e7;
108
+ cursor: pointer;
109
+ `,
110
+ confirm: import_css.css`
111
+ padding: 12px;
112
+ border-radius: 12px;
113
+ border: 1px solid #e7e7e7;
114
+ `,
115
+ footer: import_css.css`
116
+ /* senderWrap and tip moved to top-level keys so they are
117
+ accessible as styles.senderWrap and styles.tip in the component */
118
+ `,
119
+ sender: import_css.css`
120
+ width: 100%;
121
+ display: flex;
122
+ align-items: center;
123
+ gap: 8px;
124
+ padding: 8px 8px 8px 12px;
125
+ border: 1px solid #e7e7e7;
126
+ border-radius: 24px;
127
+
128
+ /* .input moved to top-level key so component can use styles.input */
129
+ `,
130
+ senderWrap: import_css.css`
131
+ display: flex;
132
+ align-items: center;
133
+ justify-content: space-between;
134
+ gap: 8px;
135
+ `,
136
+ tip: import_css.css`
137
+ padding: 4px;
138
+ font-size: 12px;
139
+ text-align: center;
140
+ color: rgba(0, 0, 0, 0.4);
141
+ `,
142
+ input: import_css.css`
143
+ padding: 0;
144
+ margin: 5px 0;
145
+ line-height: 22px;
146
+ font-size: 15px;
147
+ border-radius: 0;
148
+ border: none;
149
+
150
+ &:focus {
151
+ box-shadow: none;
152
+ }
153
+ `
154
+ }));
155
+ var styles_default = useStyles;
156
+ // Annotate the CommonJS export names for ESM import in node:
157
+ 0 && (module.exports = {
158
+ useStyles
159
+ });
160
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/components/XAdkChatbot/styles.tsx"],
4
+ "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"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAoB;AACpB,oBAAgC;AAEzB,IAAM,gBAAY,+BAAgB,OAAO;AAAA,EAC9C,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA+BT,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAeN,UAAU;AAAA;AAAA;AAAA,EAIV,YAAY;AAAA;AAAA;AAAA,EAIZ,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA,EAMhB,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA,EAMT,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASN,QAAQ;AAAA;AAAA;AAAA,EAIR,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWR,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA,EAQT,QAAQ;AAAA;AAAA;AAAA;AAAA,EAKR,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYR,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOZ,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOL,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYT,EAAE;AAEF,IAAO,iBAAQ;",
6
+ "names": []
7
+ }
@@ -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;