@ai-group/chat-sdk 2.1.13 → 3.0.1-alpha.2

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 (277) hide show
  1. package/dist/cjs/components/XAdkChatbot/XAdkChatbot.stories.d.ts +9 -2
  2. package/dist/cjs/components/XAdkChatbot/XAdkChatbot.stories.js +564 -10
  3. package/dist/cjs/components/XAdkChatbot/XAdkChatbot.stories.js.map +2 -2
  4. package/dist/cjs/components/XAdkChatbot/components/FileGallery/index.d.ts +12 -0
  5. package/dist/cjs/components/XAdkChatbot/components/FileGallery/index.js +92 -0
  6. package/dist/cjs/components/XAdkChatbot/components/FileGallery/index.js.map +7 -0
  7. package/dist/cjs/components/XAdkChatbot/components/FileGallery/styles.d.ts +44 -0
  8. package/dist/cjs/components/XAdkChatbot/components/FileGallery/styles.js +137 -0
  9. package/dist/cjs/components/XAdkChatbot/components/FileGallery/styles.js.map +7 -0
  10. package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/index.d.ts +1 -1
  11. package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/index.js +41 -5
  12. package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/index.js.map +2 -2
  13. package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/styles.d.ts +1 -0
  14. package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/styles.js +14 -3
  15. package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/styles.js.map +2 -2
  16. package/dist/cjs/components/XAdkChatbot/index.d.ts +11 -1
  17. package/dist/cjs/components/XAdkChatbot/index.js +294 -108
  18. package/dist/cjs/components/XAdkChatbot/index.js.map +3 -3
  19. package/dist/cjs/components/XAdkChatbot/styles.d.ts +10 -0
  20. package/dist/cjs/components/XAdkChatbot/styles.js +67 -3
  21. package/dist/cjs/components/XAdkChatbot/styles.js.map +2 -2
  22. package/dist/cjs/components/XAdkProvider/XAdkProvider.stories.d.ts +10 -0
  23. package/dist/cjs/components/XAdkProvider/XAdkProvider.stories.js +394 -0
  24. package/dist/cjs/components/XAdkProvider/XAdkProvider.stories.js.map +7 -0
  25. package/dist/cjs/components/XAdkProvider/compound/Chatbot.d.ts +30 -0
  26. package/dist/cjs/components/XAdkProvider/compound/Chatbot.js +64 -0
  27. package/dist/cjs/components/XAdkProvider/compound/Chatbot.js.map +7 -0
  28. package/dist/cjs/components/XAdkProvider/compound/DefaultLayout.d.ts +26 -0
  29. package/dist/cjs/components/XAdkProvider/compound/DefaultLayout.js +199 -0
  30. package/dist/cjs/components/XAdkProvider/compound/DefaultLayout.js.map +7 -0
  31. package/dist/cjs/components/XAdkProvider/compound/DislikeFeedBack.d.ts +8 -0
  32. package/dist/cjs/components/XAdkProvider/compound/DislikeFeedBack.js +117 -0
  33. package/dist/cjs/components/XAdkProvider/compound/DislikeFeedBack.js.map +7 -0
  34. package/dist/cjs/components/XAdkProvider/compound/FeedbackTags.d.ts +7 -0
  35. package/dist/cjs/components/XAdkProvider/compound/FeedbackTags.js +64 -0
  36. package/dist/cjs/components/XAdkProvider/compound/FeedbackTags.js.map +7 -0
  37. package/dist/cjs/components/XAdkProvider/compound/Header.d.ts +25 -0
  38. package/dist/cjs/components/XAdkProvider/compound/Header.js +70 -0
  39. package/dist/cjs/components/XAdkProvider/compound/Header.js.map +7 -0
  40. package/dist/cjs/components/XAdkProvider/compound/Messages.d.ts +17 -0
  41. package/dist/cjs/components/XAdkProvider/compound/Messages.js +70 -0
  42. package/dist/cjs/components/XAdkProvider/compound/Messages.js.map +7 -0
  43. package/dist/cjs/components/XAdkProvider/compound/Sender.d.ts +27 -0
  44. package/dist/cjs/components/XAdkProvider/compound/Sender.js +55 -0
  45. package/dist/cjs/components/XAdkProvider/compound/Sender.js.map +7 -0
  46. package/dist/cjs/components/XAdkProvider/compound/Sidebar.d.ts +24 -0
  47. package/dist/cjs/components/XAdkProvider/compound/Sidebar.js +151 -0
  48. package/dist/cjs/components/XAdkProvider/compound/Sidebar.js.map +7 -0
  49. package/dist/cjs/components/XAdkProvider/compound/Welcome.d.ts +6 -0
  50. package/dist/cjs/components/XAdkProvider/compound/Welcome.js +60 -0
  51. package/dist/cjs/components/XAdkProvider/compound/Welcome.js.map +7 -0
  52. package/dist/cjs/components/XAdkProvider/compound/index.d.ts +17 -0
  53. package/dist/cjs/components/XAdkProvider/compound/index.js +55 -0
  54. package/dist/cjs/components/XAdkProvider/compound/index.js.map +7 -0
  55. package/dist/cjs/components/XAdkProvider/compound/styles.d.ts +36 -0
  56. package/dist/cjs/components/XAdkProvider/compound/styles.js +49 -0
  57. package/dist/cjs/components/XAdkProvider/compound/styles.js.map +7 -0
  58. package/dist/cjs/components/XAdkProvider/context/ChatActionContext.d.ts +30 -0
  59. package/dist/cjs/components/XAdkProvider/context/ChatActionContext.js +40 -0
  60. package/dist/cjs/components/XAdkProvider/context/ChatActionContext.js.map +7 -0
  61. package/dist/cjs/components/XAdkProvider/context/ChatStateContext.d.ts +35 -0
  62. package/dist/cjs/components/XAdkProvider/context/ChatStateContext.js +42 -0
  63. package/dist/cjs/components/XAdkProvider/context/ChatStateContext.js.map +7 -0
  64. package/dist/cjs/components/XAdkProvider/context/SessionContext.d.ts +29 -0
  65. package/dist/cjs/components/XAdkProvider/context/SessionContext.js +40 -0
  66. package/dist/cjs/components/XAdkProvider/context/SessionContext.js.map +7 -0
  67. package/dist/cjs/components/XAdkProvider/context/index.d.ts +7 -0
  68. package/dist/cjs/components/XAdkProvider/context/index.js +28 -0
  69. package/dist/cjs/components/XAdkProvider/context/index.js.map +7 -0
  70. package/dist/cjs/components/XAdkProvider/index.d.ts +55 -0
  71. package/dist/cjs/components/XAdkProvider/index.js +221 -0
  72. package/dist/cjs/components/XAdkProvider/index.js.map +7 -0
  73. package/dist/cjs/components/{XAdkWebProvider → XAdkProvider}/styles.js +2 -1
  74. package/dist/cjs/components/XAdkProvider/styles.js.map +7 -0
  75. package/dist/cjs/components/XAdkSender/FileGallery.d.ts +8 -0
  76. package/dist/cjs/components/XAdkSender/FileGallery.js +381 -0
  77. package/dist/cjs/components/XAdkSender/FileGallery.js.map +7 -0
  78. package/dist/cjs/components/XAdkSender/index.js +95 -81
  79. package/dist/cjs/components/XAdkSender/index.js.map +3 -3
  80. package/dist/cjs/components/XAdkSender/styles.d.ts +0 -9
  81. package/dist/cjs/components/XAdkSender/styles.js +21 -150
  82. package/dist/cjs/components/XAdkSender/styles.js.map +2 -2
  83. package/dist/cjs/components/XAiConversations/index.js +1 -1
  84. package/dist/cjs/components/XAiConversations/index.js.map +2 -2
  85. package/dist/cjs/components/XAiConversations/styles.js +5 -0
  86. package/dist/cjs/components/XAiConversations/styles.js.map +2 -2
  87. package/dist/cjs/components/XAiThoughtChain/XAiThoughtChain.stories.d.ts +6 -0
  88. package/dist/cjs/components/XAiThoughtChain/XAiThoughtChain.stories.js +180 -0
  89. package/dist/cjs/components/XAiThoughtChain/XAiThoughtChain.stories.js.map +7 -0
  90. package/dist/cjs/components/XAiThoughtChain/index.d.ts +4 -0
  91. package/dist/cjs/components/XAiThoughtChain/index.js +155 -0
  92. package/dist/cjs/components/XAiThoughtChain/index.js.map +7 -0
  93. package/dist/cjs/components/XAiThoughtChain/styles.d.ts +60 -0
  94. package/dist/cjs/components/XAiThoughtChain/styles.js +195 -0
  95. package/dist/cjs/components/XAiThoughtChain/styles.js.map +7 -0
  96. package/dist/cjs/hooks/useADKChat.d.ts +9 -3
  97. package/dist/cjs/hooks/useADKChat.js +246 -182
  98. package/dist/cjs/hooks/useADKChat.js.map +2 -2
  99. package/dist/cjs/index.d.ts +25 -9
  100. package/dist/cjs/index.js +37 -0
  101. package/dist/cjs/index.js.map +3 -3
  102. package/dist/cjs/styles/common.js +1 -1
  103. package/dist/cjs/styles/common.js.map +2 -2
  104. package/dist/cjs/types/ChatHook.d.ts +81 -0
  105. package/dist/cjs/types/ChatHook.js +18 -0
  106. package/dist/cjs/types/ChatHook.js.map +7 -0
  107. package/dist/cjs/types/XAdkChatbot.d.ts +80 -15
  108. package/dist/cjs/types/XAdkChatbot.js.map +1 -1
  109. package/dist/cjs/types/XAdkProvider.d.ts +10 -27
  110. package/dist/cjs/types/XAdkProvider.js.map +2 -2
  111. package/dist/cjs/types/XAdkSender.d.ts +18 -0
  112. package/dist/cjs/types/XAdkSender.js.map +1 -1
  113. package/dist/cjs/types/XAiConversations.d.ts +4 -2
  114. package/dist/cjs/types/XAiConversations.js.map +1 -1
  115. package/dist/cjs/types/XAiThoughtChain.d.ts +25 -0
  116. package/dist/cjs/types/XAiThoughtChain.js +18 -0
  117. package/dist/cjs/types/XAiThoughtChain.js.map +7 -0
  118. package/dist/cjs/types/index.d.ts +9 -8
  119. package/dist/cjs/types/index.js +2 -0
  120. package/dist/cjs/types/index.js.map +2 -2
  121. package/dist/cjs/utils/index.d.ts +2 -0
  122. package/dist/cjs/utils/index.js +11 -1
  123. package/dist/cjs/utils/index.js.map +2 -2
  124. package/dist/cjs/utils/parseAgentMessage.d.ts +81 -0
  125. package/dist/cjs/utils/parseAgentMessage.js +180 -0
  126. package/dist/cjs/utils/parseAgentMessage.js.map +7 -0
  127. package/dist/cjs/utils/umdEntry.d.ts +91 -0
  128. package/dist/cjs/utils/umdEntry.js +108 -6
  129. package/dist/cjs/utils/umdEntry.js.map +3 -3
  130. package/dist/esm/components/XAdkChatbot/XAdkChatbot.stories.d.ts +9 -2
  131. package/dist/esm/components/XAdkChatbot/XAdkChatbot.stories.js +485 -8
  132. package/dist/esm/components/XAdkChatbot/XAdkChatbot.stories.js.map +1 -1
  133. package/dist/esm/components/XAdkChatbot/components/FileGallery/index.d.ts +12 -0
  134. package/dist/esm/components/XAdkChatbot/components/FileGallery/index.js +104 -0
  135. package/dist/esm/components/XAdkChatbot/components/FileGallery/index.js.map +1 -0
  136. package/dist/esm/components/XAdkChatbot/components/FileGallery/styles.d.ts +44 -0
  137. package/dist/esm/components/XAdkChatbot/components/FileGallery/styles.js +20 -0
  138. package/dist/esm/components/XAdkChatbot/components/FileGallery/styles.js.map +1 -0
  139. package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/index.d.ts +1 -1
  140. package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/index.js +17 -15
  141. package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/index.js.map +1 -1
  142. package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/styles.d.ts +1 -0
  143. package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/styles.js +7 -6
  144. package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/styles.js.map +1 -1
  145. package/dist/esm/components/XAdkChatbot/index.d.ts +11 -1
  146. package/dist/esm/components/XAdkChatbot/index.js +392 -174
  147. package/dist/esm/components/XAdkChatbot/index.js.map +1 -1
  148. package/dist/esm/components/XAdkChatbot/styles.d.ts +10 -0
  149. package/dist/esm/components/XAdkChatbot/styles.js +23 -12
  150. package/dist/esm/components/XAdkChatbot/styles.js.map +1 -1
  151. package/dist/esm/components/XAdkProvider/XAdkProvider.stories.d.ts +10 -0
  152. package/dist/esm/components/XAdkProvider/XAdkProvider.stories.js +338 -0
  153. package/dist/esm/components/XAdkProvider/XAdkProvider.stories.js.map +1 -0
  154. package/dist/esm/components/XAdkProvider/compound/Chatbot.d.ts +30 -0
  155. package/dist/esm/components/XAdkProvider/compound/Chatbot.js +47 -0
  156. package/dist/esm/components/XAdkProvider/compound/Chatbot.js.map +1 -0
  157. package/dist/esm/components/XAdkProvider/compound/DefaultLayout.d.ts +26 -0
  158. package/dist/esm/components/XAdkProvider/compound/DefaultLayout.js +142 -0
  159. package/dist/esm/components/XAdkProvider/compound/DefaultLayout.js.map +1 -0
  160. package/dist/esm/components/XAdkProvider/compound/DislikeFeedBack.d.ts +8 -0
  161. package/dist/esm/components/XAdkProvider/compound/DislikeFeedBack.js +122 -0
  162. package/dist/esm/components/XAdkProvider/compound/DislikeFeedBack.js.map +1 -0
  163. package/dist/esm/components/XAdkProvider/compound/FeedbackTags.d.ts +7 -0
  164. package/dist/esm/components/XAdkProvider/compound/FeedbackTags.js +34 -0
  165. package/dist/esm/components/XAdkProvider/compound/FeedbackTags.js.map +1 -0
  166. package/dist/esm/components/XAdkProvider/compound/Header.d.ts +25 -0
  167. package/dist/esm/components/XAdkProvider/compound/Header.js +79 -0
  168. package/dist/esm/components/XAdkProvider/compound/Header.js.map +1 -0
  169. package/dist/esm/components/XAdkProvider/compound/Messages.d.ts +17 -0
  170. package/dist/esm/components/XAdkProvider/compound/Messages.js +53 -0
  171. package/dist/esm/components/XAdkProvider/compound/Messages.js.map +1 -0
  172. package/dist/esm/components/XAdkProvider/compound/Sender.d.ts +27 -0
  173. package/dist/esm/components/XAdkProvider/compound/Sender.js +41 -0
  174. package/dist/esm/components/XAdkProvider/compound/Sender.js.map +1 -0
  175. package/dist/esm/components/XAdkProvider/compound/Sidebar.d.ts +24 -0
  176. package/dist/esm/components/XAdkProvider/compound/Sidebar.js +142 -0
  177. package/dist/esm/components/XAdkProvider/compound/Sidebar.js.map +1 -0
  178. package/dist/esm/components/XAdkProvider/compound/Welcome.d.ts +6 -0
  179. package/dist/esm/components/XAdkProvider/compound/Welcome.js +36 -0
  180. package/dist/esm/components/XAdkProvider/compound/Welcome.js.map +1 -0
  181. package/dist/esm/components/XAdkProvider/compound/index.d.ts +17 -0
  182. package/dist/esm/components/XAdkProvider/compound/index.js +13 -0
  183. package/dist/esm/components/XAdkProvider/compound/index.js.map +1 -0
  184. package/dist/esm/components/XAdkProvider/compound/styles.d.ts +36 -0
  185. package/dist/esm/components/XAdkProvider/compound/styles.js +10 -0
  186. package/dist/esm/components/XAdkProvider/compound/styles.js.map +1 -0
  187. package/dist/esm/components/XAdkProvider/context/ChatActionContext.d.ts +30 -0
  188. package/dist/esm/components/XAdkProvider/context/ChatActionContext.js +23 -0
  189. package/dist/esm/components/XAdkProvider/context/ChatActionContext.js.map +1 -0
  190. package/dist/esm/components/XAdkProvider/context/ChatStateContext.d.ts +35 -0
  191. package/dist/esm/components/XAdkProvider/context/ChatStateContext.js +23 -0
  192. package/dist/esm/components/XAdkProvider/context/ChatStateContext.js.map +1 -0
  193. package/dist/esm/components/XAdkProvider/context/SessionContext.d.ts +29 -0
  194. package/dist/esm/components/XAdkProvider/context/SessionContext.js +22 -0
  195. package/dist/esm/components/XAdkProvider/context/SessionContext.js.map +1 -0
  196. package/dist/esm/components/XAdkProvider/context/index.d.ts +7 -0
  197. package/dist/esm/components/XAdkProvider/context/index.js +9 -0
  198. package/dist/esm/components/XAdkProvider/context/index.js.map +1 -0
  199. package/dist/esm/components/XAdkProvider/index.d.ts +55 -0
  200. package/dist/esm/components/XAdkProvider/index.js +220 -0
  201. package/dist/esm/components/XAdkProvider/index.js.map +1 -0
  202. package/dist/esm/components/{XAdkWebProvider → XAdkProvider}/styles.js +2 -2
  203. package/dist/esm/components/XAdkProvider/styles.js.map +1 -0
  204. package/dist/esm/components/XAdkSender/FileGallery.d.ts +8 -0
  205. package/dist/esm/components/XAdkSender/FileGallery.js +236 -0
  206. package/dist/esm/components/XAdkSender/FileGallery.js.map +1 -0
  207. package/dist/esm/components/XAdkSender/index.js +92 -109
  208. package/dist/esm/components/XAdkSender/index.js.map +1 -1
  209. package/dist/esm/components/XAdkSender/styles.d.ts +0 -9
  210. package/dist/esm/components/XAdkSender/styles.js +14 -31
  211. package/dist/esm/components/XAdkSender/styles.js.map +1 -1
  212. package/dist/esm/components/XAiConversations/index.js +1 -1
  213. package/dist/esm/components/XAiConversations/index.js.map +1 -1
  214. package/dist/esm/components/XAiConversations/styles.js +2 -2
  215. package/dist/esm/components/XAiConversations/styles.js.map +1 -1
  216. package/dist/esm/components/XAiThoughtChain/XAiThoughtChain.stories.d.ts +6 -0
  217. package/dist/esm/components/XAiThoughtChain/XAiThoughtChain.stories.js +159 -0
  218. package/dist/esm/components/XAiThoughtChain/XAiThoughtChain.stories.js.map +1 -0
  219. package/dist/esm/components/XAiThoughtChain/index.d.ts +4 -0
  220. package/dist/esm/components/XAiThoughtChain/index.js +180 -0
  221. package/dist/esm/components/XAiThoughtChain/index.js.map +1 -0
  222. package/dist/esm/components/XAiThoughtChain/styles.d.ts +60 -0
  223. package/dist/esm/components/XAiThoughtChain/styles.js +40 -0
  224. package/dist/esm/components/XAiThoughtChain/styles.js.map +1 -0
  225. package/dist/esm/hooks/useADKChat.d.ts +9 -3
  226. package/dist/esm/hooks/useADKChat.js +75 -54
  227. package/dist/esm/hooks/useADKChat.js.map +1 -1
  228. package/dist/esm/index.d.ts +25 -9
  229. package/dist/esm/index.js +28 -2
  230. package/dist/esm/index.js.map +1 -1
  231. package/dist/esm/styles/common.js +11 -11
  232. package/dist/esm/styles/common.js.map +1 -1
  233. package/dist/esm/types/ChatHook.d.ts +81 -0
  234. package/dist/esm/types/ChatHook.js +2 -0
  235. package/dist/esm/types/ChatHook.js.map +1 -0
  236. package/dist/esm/types/XAdkChatbot.d.ts +80 -15
  237. package/dist/esm/types/XAdkChatbot.js.map +1 -1
  238. package/dist/esm/types/XAdkProvider.d.ts +10 -27
  239. package/dist/esm/types/XAdkProvider.js.map +1 -1
  240. package/dist/esm/types/XAdkSender.d.ts +18 -0
  241. package/dist/esm/types/XAdkSender.js.map +1 -1
  242. package/dist/esm/types/XAiConversations.d.ts +4 -2
  243. package/dist/esm/types/XAiConversations.js.map +1 -1
  244. package/dist/esm/types/XAiThoughtChain.d.ts +25 -0
  245. package/dist/esm/types/XAiThoughtChain.js +2 -0
  246. package/dist/esm/types/XAiThoughtChain.js.map +1 -0
  247. package/dist/esm/types/index.d.ts +9 -8
  248. package/dist/esm/types/index.js +1 -0
  249. package/dist/esm/types/index.js.map +1 -1
  250. package/dist/esm/utils/index.d.ts +2 -0
  251. package/dist/esm/utils/index.js +7 -0
  252. package/dist/esm/utils/index.js.map +1 -1
  253. package/dist/esm/utils/parseAgentMessage.d.ts +81 -0
  254. package/dist/esm/utils/parseAgentMessage.js +286 -0
  255. package/dist/esm/utils/parseAgentMessage.js.map +1 -0
  256. package/dist/esm/utils/umdEntry.d.ts +91 -0
  257. package/dist/esm/utils/umdEntry.js +154 -16
  258. package/dist/esm/utils/umdEntry.js.map +1 -1
  259. package/dist/umd/chat-sdk.min.css +1 -1
  260. package/dist/umd/chat-sdk.min.js +1 -1
  261. package/package.json +20 -11
  262. package/dist/cjs/components/XAdkWebProvider/XAdkWebProvider.stories.d.ts +0 -7
  263. package/dist/cjs/components/XAdkWebProvider/XAdkWebProvider.stories.js +0 -160
  264. package/dist/cjs/components/XAdkWebProvider/XAdkWebProvider.stories.js.map +0 -7
  265. package/dist/cjs/components/XAdkWebProvider/index.d.ts +0 -4
  266. package/dist/cjs/components/XAdkWebProvider/index.js +0 -372
  267. package/dist/cjs/components/XAdkWebProvider/index.js.map +0 -7
  268. package/dist/cjs/components/XAdkWebProvider/styles.js.map +0 -7
  269. package/dist/esm/components/XAdkWebProvider/XAdkWebProvider.stories.d.ts +0 -7
  270. package/dist/esm/components/XAdkWebProvider/XAdkWebProvider.stories.js +0 -158
  271. package/dist/esm/components/XAdkWebProvider/XAdkWebProvider.stories.js.map +0 -1
  272. package/dist/esm/components/XAdkWebProvider/index.d.ts +0 -4
  273. package/dist/esm/components/XAdkWebProvider/index.js +0 -480
  274. package/dist/esm/components/XAdkWebProvider/index.js.map +0 -1
  275. package/dist/esm/components/XAdkWebProvider/styles.js.map +0 -1
  276. /package/dist/cjs/components/{XAdkWebProvider → XAdkProvider}/styles.d.ts +0 -0
  277. /package/dist/esm/components/{XAdkWebProvider → XAdkProvider}/styles.d.ts +0 -0
@@ -1,241 +1,459 @@
1
- import _createForOfIteratorHelper from "@babel/runtime/helpers/esm/createForOfIteratorHelper";
2
- import React, { useMemo, useCallback, useEffect, useRef } from 'react';
3
- import { Button } from 'antd';
4
- import { SwapRightOutlined } from '@ant-design/icons';
1
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
+ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
3
+ import React, { useMemo, useCallback, useEffect, useRef } from "react";
4
+ import { Button, Flex, Tooltip, message as antdMessage } from "antd";
5
+ import clsx from "clsx";
6
+ import { SwapRightOutlined, ReloadOutlined, CopyOutlined, InfoCircleOutlined, CheckCircleFilled } from "@ant-design/icons";
7
+ import copy from "copy-to-clipboard";
5
8
  import { useStyles } from "./styles";
6
9
  import MarkdownRender from "./components/MarkdownRender";
7
10
  import FunctionCallRender from "./components/FunctionCallRender";
8
- import ThinkRender from "./components/ThinkRender";
9
- import XAdkSender from "../XAdkSender";
11
+ import FileGallery from "./components/FileGallery";
12
+ import XAiThoughtChain from "../XAiThoughtChain";
13
+ import { parseAgentMessage } from "../../utils";
10
14
  import { jsx as _jsx } from "react/jsx-runtime";
11
15
  import { jsxs as _jsxs } from "react/jsx-runtime";
12
- var scrollThreshold = 10; // 滚动阈值
16
+ var scrollThreshold = 10;
13
17
 
18
+ /**
19
+ * XAdkChatbot - 增强版聊天组件
20
+ *
21
+ * 新增功能:
22
+ * - ✅ 自动消息分组 (enableGrouping)
23
+ * - ✅ 自动解析思维链 (enableProcessParsing)
24
+ * - ✅ 文件展示 (FileGallery)
25
+ * - ✅ 操作栏 (重试/复制/日志)
26
+ * - ✅ 欢迎页面 (agentName/agentIcon/description)
27
+ */
14
28
  var XAdkChatbot = function XAdkChatbot(_ref) {
15
- var _ref$allowUpload = _ref.allowUpload,
16
- allowUpload = _ref$allowUpload === void 0 ? false : _ref$allowUpload,
17
- _ref$uploadRequest = _ref.uploadRequest,
18
- uploadRequest = _ref$uploadRequest === void 0 ? function () {} : _ref$uploadRequest,
19
- _ref$loading = _ref.loading,
29
+ var _ref$loading = _ref.loading,
20
30
  loading = _ref$loading === void 0 ? false : _ref$loading,
21
31
  prologue = _ref.prologue,
22
32
  suggestions = _ref.suggestions,
23
33
  messages = _ref.messages,
24
- _ref$initialized = _ref.initialized,
25
- initialized = _ref$initialized === void 0 ? true : _ref$initialized,
26
- footer = _ref.footer,
27
34
  showFnCallDetail = _ref.showFnCallDetail,
28
- _ref$clearBtnShow = _ref.clearBtnShow,
29
- clearBtnShow = _ref$clearBtnShow === void 0 ? true : _ref$clearBtnShow,
30
35
  onConfirm = _ref.onConfirm,
31
- onSubmit = _ref.onSubmit,
32
36
  onSuggest = _ref.onSuggest,
33
- onStop = _ref.onStop,
34
- onClear = _ref.onClear;
37
+ showRetry = _ref.showRetry,
38
+ showCopy = _ref.showCopy,
39
+ showLog = _ref.showLog,
40
+ onRetry = _ref.onRetry,
41
+ onCopy = _ref.onCopy,
42
+ onShowLog = _ref.onShowLog,
43
+ actions = _ref.actions,
44
+ className = _ref.className,
45
+ style = _ref.style,
46
+ _ref$enableGrouping = _ref.enableGrouping,
47
+ enableGrouping = _ref$enableGrouping === void 0 ? true : _ref$enableGrouping,
48
+ _ref$enableProcessPar = _ref.enableProcessParsing,
49
+ enableProcessParsing = _ref$enableProcessPar === void 0 ? true : _ref$enableProcessPar,
50
+ parseOptions = _ref.parseOptions;
35
51
  var styles = useStyles();
36
52
  var listRef = useRef(null);
37
53
  var lastScrollTopRef = useRef(0);
38
54
  var userHasScrolledRef = useRef(false);
39
55
  var messagesEndRef = useRef(null);
56
+
57
+ // 滚动到底部
40
58
  useEffect(function () {
41
59
  var _messagesEndRef$curre;
42
60
  if (!loading) return;
43
61
  if (userHasScrolledRef.current) return;
44
62
  (_messagesEndRef$curre = messagesEndRef.current) === null || _messagesEndRef$curre === void 0 || _messagesEndRef$curre.scrollIntoView({
45
- behavior: 'smooth'
63
+ behavior: "smooth"
46
64
  });
47
65
  }, [loading, messages]);
48
66
 
49
- // 处理滚动事件 - 检测用户是否手动滚动
67
+ // 处理滚动事件
50
68
  var handleScroll = useCallback(function () {
51
69
  var el = listRef.current;
52
70
  if (!el) return;
53
71
  var currentTop = el.scrollTop;
54
- // 如果向上滚动,说明是手动干预
55
72
  if (currentTop < lastScrollTopRef.current) {
56
73
  userHasScrolledRef.current = true;
57
74
  }
58
- // 如果向下并且已经到了底部,则恢复自动
59
75
  var isAtBottom = Math.abs(el.scrollHeight - currentTop - el.clientHeight) <= scrollThreshold;
60
76
  if (isAtBottom) {
61
77
  userHasScrolledRef.current = false;
62
78
  }
63
-
64
- // 更新上次位置
65
79
  lastScrollTopRef.current = currentTop;
66
80
  }, []);
67
-
68
- // 监听滚动事件
69
81
  useEffect(function () {
70
82
  var listElement = listRef.current;
71
83
  if (!listElement) return;
72
- listElement.addEventListener('scroll', handleScroll);
84
+ listElement.addEventListener("scroll", handleScroll);
73
85
  return function () {
74
- listElement.removeEventListener('scroll', handleScroll);
86
+ listElement.removeEventListener("scroll", handleScroll);
75
87
  };
76
- }, []);
88
+ }, [handleScroll]);
77
89
 
78
- // 发送消息
79
- var handleSubmit = function handleSubmit(_ref2) {
80
- var text = _ref2.text,
81
- files = _ref2.files;
82
- if (loading) return;
83
- if (!(text !== null && text !== void 0 && text.trim())) return;
84
- onSubmit === null || onSubmit === void 0 || onSubmit({
85
- text: text,
86
- files: files
87
- });
88
- // 滚动
89
- queueMicrotask(function () {
90
- var _messagesEndRef$curre2;
91
- (_messagesEndRef$curre2 = messagesEndRef.current) === null || _messagesEndRef$curre2 === void 0 || _messagesEndRef$curre2.scrollIntoView({
92
- behavior: 'instant'
90
+ // ========== 消息分组逻辑 ==========
91
+ var chatGroups = useMemo(function () {
92
+ if (!enableGrouping) {
93
+ // 不分组,每条消息独立
94
+ return messages.map(function (msg) {
95
+ var _msg$isLike;
96
+ return {
97
+ id: msg.id,
98
+ role: msg.role,
99
+ msgs: [msg],
100
+ invocationId: msg.invocationId,
101
+ allFiles: msg.fileData || [],
102
+ isLike: (_msg$isLike = msg.isLike) !== null && _msg$isLike !== void 0 ? _msg$isLike : 0
103
+ };
93
104
  });
94
- });
95
- // 重置用户滚动状态
96
- setTimeout(function () {
97
- userHasScrolledRef.current = false;
98
- }, 0);
99
- };
100
- var lastIndex = messages.length - 1;
101
- var lastMessageMap = useMemo(function () {
102
- var map = new Map();
103
- var _iterator = _createForOfIteratorHelper(messages),
104
- _step;
105
- try {
106
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
107
- var msg = _step.value;
108
- if (msg.role === 'bot' && msg.invocationId) {
109
- map.set(msg.invocationId, msg.id);
105
+ }
106
+ var groups = [];
107
+ messages.forEach(function (msg) {
108
+ // 过滤 followup 消息
109
+ if (msg.role === "followup") return;
110
+ var isRealUserQuery = msg.role === "user" && !msg.functionResponse && !msg.functionCall;
111
+ var lastGroup = groups[groups.length - 1];
112
+ var isLastGroupAgent = (lastGroup === null || lastGroup === void 0 ? void 0 : lastGroup.role) === "bot";
113
+ if (isLastGroupAgent && !isRealUserQuery) {
114
+ // 合并到上一个 bot 分组
115
+ lastGroup.msgs.push(msg);
116
+ if (msg.invocationId) lastGroup.invocationId = msg.invocationId;
117
+ // 更新 isLike: 取最新的非0值,或保持当前值
118
+ if (msg.isLike && msg.isLike !== 0) {
119
+ lastGroup.isLike = msg.isLike;
110
120
  }
121
+ } else {
122
+ var _msg$isLike2;
123
+ // 创建新分组
124
+ groups.push({
125
+ id: msg.id || "group-".concat(groups.length),
126
+ role: isRealUserQuery ? "user" : "bot",
127
+ msgs: [msg],
128
+ invocationId: msg.invocationId,
129
+ allFiles: [],
130
+ isLike: (_msg$isLike2 = msg.isLike) !== null && _msg$isLike2 !== void 0 ? _msg$isLike2 : 0
131
+ });
111
132
  }
112
- } catch (err) {
113
- _iterator.e(err);
114
- } finally {
115
- _iterator.f();
116
- }
117
- return map;
118
- }, [messages]);
119
- return /*#__PURE__*/_jsxs("div", {
120
- className: styles.wrapper,
121
- children: [/*#__PURE__*/_jsxs("div", {
122
- className: styles.list,
123
- ref: listRef,
124
- children: [/*#__PURE__*/_jsx("div", {
125
- className: styles.prologue,
126
- children: prologue
127
- }), messages.map(function (msg, i) {
128
- if (msg.role === 'user') {
133
+ });
134
+
135
+ // 合并文件
136
+ groups.forEach(function (g) {
137
+ g.allFiles = g.msgs.reduce(function (acc, m) {
138
+ return [].concat(_toConsumableArray(acc), _toConsumableArray(m.fileData || []));
139
+ }, []);
140
+ });
141
+ return groups;
142
+ }, [messages, enableGrouping]);
143
+
144
+ // ========== 渲染 Bot 消息组 ==========
145
+ var renderBotGroup = useCallback(function (group, isLastGroup) {
146
+ var msgs = group.msgs,
147
+ allFiles = group.allFiles;
148
+ if (!enableProcessParsing) {
149
+ // 不解析 process,简单渲染
150
+ return /*#__PURE__*/_jsx("div", {
151
+ className: styles.botMsg,
152
+ children: msgs.map(function (msg, i) {
129
153
  if (msg.text) {
130
- return /*#__PURE__*/_jsx("div", {
131
- className: styles.userMsg,
132
- children: /*#__PURE__*/_jsx("div", {
133
- className: styles.card,
134
- children: msg.text
135
- })
154
+ return /*#__PURE__*/_jsx(MarkdownRender, {
155
+ text: msg.text
136
156
  }, "".concat(msg.id, "-").concat(i));
137
157
  }
138
- if (msg.functionResponse) {
139
- return /*#__PURE__*/_jsx("div", {
140
- className: styles.userMsg,
141
- children: /*#__PURE__*/_jsx(FunctionCallRender, {
142
- msg: msg,
143
- showDetail: showFnCallDetail
144
- })
158
+ if (msg.functionCall) {
159
+ return /*#__PURE__*/_jsx(FunctionCallRender, {
160
+ msg: msg,
161
+ showDetail: showFnCallDetail,
162
+ onConfirm: onConfirm
145
163
  }, "".concat(msg.id, "-").concat(i));
146
164
  }
147
165
  return null;
166
+ })
167
+ }, group.id);
168
+ }
169
+
170
+ // ========== 解析 Process 内容 ==========
171
+
172
+ // 1. 合并工具调用
173
+ var mergedToolMap = new Map();
174
+ msgs.forEach(function (msg) {
175
+ if (msg.functionCall) {
176
+ var callId = msg.functionCall.id || "";
177
+ if (!mergedToolMap.has(callId)) {
178
+ mergedToolMap.set(callId, _objectSpread({}, msg));
179
+ } else {
180
+ var _mergedToolMap$get;
181
+ mergedToolMap.set(callId, _objectSpread(_objectSpread({}, (_mergedToolMap$get = mergedToolMap.get(callId)) !== null && _mergedToolMap$get !== void 0 ? _mergedToolMap$get : {}), msg));
148
182
  }
149
- var isLast = i === lastIndex;
150
- var isLoading = isLast && loading;
151
- var isLastBotMsg = lastMessageMap.get((msg === null || msg === void 0 ? void 0 : msg.invocationId) || '') === msg.id;
152
- if (msg.text) {
153
- if (msg.thought) {
154
- return /*#__PURE__*/_jsxs("div", {
155
- className: styles.botMsg,
156
- children: [/*#__PURE__*/_jsx(ThinkRender, {
157
- msg: msg,
158
- loading: isLoading
159
- }), !isLoading && (footer === null || footer === void 0 ? void 0 : footer({
160
- message: msg,
161
- isLastMsg: isLast,
162
- isLastBotMsg: isLastBotMsg
163
- }))]
164
- }, "".concat(msg.id, "-").concat(i));
183
+ } else if (msg.functionResponse) {
184
+ var _callId = msg.functionResponse.id || "";
185
+ if (mergedToolMap.has(_callId)) {
186
+ var tool = mergedToolMap.get(_callId);
187
+ if (tool) tool.functionResponse = msg.functionResponse;
188
+ } else {
189
+ mergedToolMap.set(_callId, _objectSpread(_objectSpread({}, msg), {}, {
190
+ functionCall: {
191
+ id: _callId,
192
+ name: msg.functionResponse.name || "Unknown",
193
+ args: {}
194
+ }
195
+ }));
196
+ }
197
+ }
198
+ });
199
+
200
+ // 2. 解析文本消息中的 process 内容
201
+
202
+ var nodes = [];
203
+ var currentProcessItems = [];
204
+ var processedToolIds = new Set();
205
+ var flushProcessItems = function flushProcessItems() {
206
+ if (currentProcessItems.length > 0) {
207
+ nodes.push({
208
+ type: "process",
209
+ items: _toConsumableArray(currentProcessItems),
210
+ key: "process-".concat(nodes.length)
211
+ });
212
+ currentProcessItems = [];
213
+ }
214
+ };
215
+ msgs.forEach(function (msg) {
216
+ // 处理工具调用
217
+ if (msg.functionCall) {
218
+ var callId = msg.functionCall.id || "";
219
+ if (!processedToolIds.has(callId)) {
220
+ var mergedMsg = mergedToolMap.get(callId);
221
+ if (mergedMsg) {
222
+ currentProcessItems.push({
223
+ type: "tool",
224
+ key: "tool-".concat(callId),
225
+ content: "",
226
+ msg: mergedMsg
227
+ });
228
+ processedToolIds.add(callId);
165
229
  }
166
- return /*#__PURE__*/_jsxs("div", {
167
- className: styles.botMsg,
168
- children: [/*#__PURE__*/_jsx(MarkdownRender, {
169
- text: msg.text
170
- }), !isLoading && (footer === null || footer === void 0 ? void 0 : footer({
171
- message: msg,
172
- isLastMsg: isLast,
173
- isLastBotMsg: isLastBotMsg
174
- }))]
175
- }, "".concat(msg.id, "-").concat(i));
176
230
  }
177
- var fnCall = msg.functionCall;
178
- if (fnCall) {
179
- return /*#__PURE__*/_jsxs("div", {
180
- className: styles.botMsg,
181
- children: [/*#__PURE__*/_jsx(FunctionCallRender, {
182
- msg: msg,
183
- showDetail: showFnCallDetail,
184
- onConfirm: onConfirm
185
- }), !isLoading && (footer === null || footer === void 0 ? void 0 : footer({
186
- message: msg,
187
- isLastMsg: isLast,
188
- isLastBotMsg: isLastBotMsg
189
- }))]
190
- }, "".concat(msg.id, "-").concat(i));
231
+ }
232
+ // 处理文本消息
233
+ else if (msg.text && !msg.functionResponse) {
234
+ var parts = parseAgentMessage(msg.text, parseOptions);
235
+ parts.forEach(function (part, partIdx) {
236
+ // process 内容放入 currentProcessItems
237
+ if (["planning", "replanning", "reasoning", "action_log", "process_text"].includes(part.type)) {
238
+ var titleMap = {
239
+ planning: "任务规划",
240
+ replanning: "重新规划",
241
+ reasoning: "推理分析",
242
+ action_log: "行动记录",
243
+ process_text: "过程分析"
244
+ };
245
+ currentProcessItems.push({
246
+ type: "text",
247
+ key: "".concat(msg.id, "-").concat(partIdx),
248
+ content: part.content,
249
+ title: titleMap[part.type] || "分析"
250
+ });
251
+ }
252
+ // 普通文本内容
253
+ else {
254
+ flushProcessItems();
255
+ if (part.content.trim()) {
256
+ var lastNode = nodes[nodes.length - 1];
257
+ if ((lastNode === null || lastNode === void 0 ? void 0 : lastNode.type) === "text") {
258
+ // 合并到上一个文本节点
259
+ lastNode.content += "\n\n" + part.content;
260
+ } else {
261
+ nodes.push({
262
+ type: "text",
263
+ content: part.content,
264
+ key: "text-".concat(msg.id, "-").concat(partIdx)
265
+ });
266
+ }
267
+ }
268
+ }
269
+ });
270
+ }
271
+ });
272
+
273
+ // 最后flush一次
274
+ flushProcessItems();
275
+
276
+ // 3. 准备操作栏数据
277
+ var fullTextToCopy = msgs.filter(function (m) {
278
+ return !m.functionCall && !m.functionResponse;
279
+ }).map(function (m) {
280
+ return m.text || "";
281
+ }).join("");
282
+ var lastBotMsg = msgs[msgs.length - 1];
283
+ var hasProcess = nodes.some(function (n) {
284
+ return n.type === "process";
285
+ });
286
+ var isGroupLoading = loading && isLastGroup;
287
+
288
+ // 4. 渲染
289
+ return /*#__PURE__*/_jsxs("div", {
290
+ className: styles.botMsg,
291
+ children: [nodes.map(function (node, idx) {
292
+ if (node.type === "process") {
293
+ return /*#__PURE__*/_jsx(XAiThoughtChain, {
294
+ loading: isGroupLoading,
295
+ title: "\u601D\u7EF4\u94FE\u5DF2\u5B8C\u6210",
296
+ items: node.items,
297
+ showFnCallDetail: showFnCallDetail,
298
+ onConfirm: onConfirm,
299
+ defaultOpen: isGroupLoading
300
+ }, node.key);
191
301
  }
302
+
303
+ // 文本节点
304
+ var showBadge = hasProcess && nodes.findIndex(function (n) {
305
+ return n.type === "text";
306
+ }) === idx;
307
+ return /*#__PURE__*/_jsxs("div", {
308
+ children: [showBadge && /*#__PURE__*/_jsxs("div", {
309
+ className: styles.successBadge,
310
+ children: [/*#__PURE__*/_jsx(CheckCircleFilled, {}), " \u5DF2\u5B8C\u6210\u6240\u6709\u89C4\u5212\u4EFB\u52A1"]
311
+ }), /*#__PURE__*/_jsx(MarkdownRender, {
312
+ text: node.content
313
+ })]
314
+ }, node.key);
315
+ }), allFiles.length > 0 && /*#__PURE__*/_jsxs("div", {
316
+ className: styles.fileSection,
317
+ children: [/*#__PURE__*/_jsx("div", {
318
+ className: styles.fileHeader,
319
+ children: /*#__PURE__*/_jsxs("span", {
320
+ children: ["\u751F\u6210\u6587\u4EF6 (", allFiles.length, ")"]
321
+ })
322
+ }), /*#__PURE__*/_jsx(FileGallery, {
323
+ files: allFiles,
324
+ align: "left"
325
+ })]
326
+ }), !isGroupLoading && (actions ? actions({
327
+ message: group,
328
+ isLastBotMsg: isLastGroup
329
+ }) : (showRetry || showCopy || showLog) && /*#__PURE__*/_jsx("div", {
330
+ className: styles.metaFooter,
331
+ children: /*#__PURE__*/_jsxs(Flex, {
332
+ gap: 16,
333
+ className: styles.actionIcons,
334
+ children: [showRetry && /*#__PURE__*/_jsx(Tooltip, {
335
+ title: "\u91CD\u65B0\u751F\u6210",
336
+ children: /*#__PURE__*/_jsx(ReloadOutlined, {
337
+ onClick: onRetry
338
+ })
339
+ }), showCopy && /*#__PURE__*/_jsx(Tooltip, {
340
+ title: "\u590D\u5236\u5185\u5BB9",
341
+ children: /*#__PURE__*/_jsx(CopyOutlined, {
342
+ onClick: function onClick() {
343
+ copy(fullTextToCopy);
344
+ antdMessage.success("复制成功");
345
+ onCopy === null || onCopy === void 0 || onCopy(fullTextToCopy);
346
+ }
347
+ })
348
+ }), showLog && (lastBotMsg === null || lastBotMsg === void 0 ? void 0 : lastBotMsg.invocationId) && /*#__PURE__*/_jsx(Tooltip, {
349
+ title: "\u67E5\u770B\u65E5\u5FD7",
350
+ children: /*#__PURE__*/_jsx(InfoCircleOutlined, {
351
+ onClick: function onClick() {
352
+ return onShowLog === null || onShowLog === void 0 ? void 0 : onShowLog(lastBotMsg.invocationId, lastBotMsg.timestamp);
353
+ }
354
+ })
355
+ })]
356
+ })
357
+ }))]
358
+ }, group.id);
359
+ }, [enableProcessParsing, parseOptions, showFnCallDetail, onConfirm, loading, showRetry, showCopy, showLog, onRetry, onCopy, onShowLog, styles]);
360
+
361
+ // ========== 渲染用户消息组 ==========
362
+ var renderUserGroup = useCallback(function (group) {
363
+ return /*#__PURE__*/_jsx("div", {
364
+ className: styles.userMsg,
365
+ children: group.msgs.map(function (m, i) {
366
+ return /*#__PURE__*/_jsxs("div", {
367
+ children: [m.fileData && m.fileData.length > 0 && /*#__PURE__*/_jsx(FileGallery, {
368
+ files: m.fileData,
369
+ align: "right"
370
+ }), m.text && /*#__PURE__*/_jsx("div", {
371
+ className: styles.card,
372
+ children: m.text
373
+ })]
374
+ }, m.id || i);
375
+ })
376
+ }, group.id);
377
+ }, [styles]);
378
+
379
+ // ========== 欢迎页面 ==========
380
+ // const isEmpty =
381
+ // messages.length === 0 &&
382
+ // !prologue &&
383
+ // (!suggestions || suggestions.length === 0);
384
+
385
+ // const renderWelcome = () => {
386
+ // if (!isEmpty) return null;
387
+
388
+ // return (
389
+ // <>
390
+ // {welcome ?? (
391
+ // <div className={styles.welcomeWrapper}>
392
+ // {agentIcon && (
393
+ // <img src={agentIcon} alt="icon" className={styles.welcomeIcon} />
394
+ // )}
395
+ // {agentName && (
396
+ // <div className={styles.welcomeTitle}>{agentName}</div>
397
+ // )}
398
+ // {description && (
399
+ // <div className={styles.welcomeDesc}>{description}</div>
400
+ // )}
401
+ // </div>
402
+ // )}
403
+ // </>
404
+ // );
405
+ // };
406
+
407
+ // ========== 渲染建议问题 ==========
408
+ var renderSuggestions = function renderSuggestions() {
409
+ if (!suggestions || suggestions.length === 0) return null;
410
+ return /*#__PURE__*/_jsx("div", {
411
+ className: styles.suggestionWrapper,
412
+ children: suggestions.map(function (item) {
192
413
  return /*#__PURE__*/_jsx("div", {
193
- className: styles.botMsg,
194
- children: !isLoading && (footer === null || footer === void 0 ? void 0 : footer({
195
- message: msg,
196
- isLastMsg: isLast,
197
- isLastBotMsg: isLastBotMsg
198
- }))
199
- }, "".concat(msg.id, "-").concat(i));
200
- }), /*#__PURE__*/_jsx("div", {
201
- children: suggestions === null || suggestions === void 0 ? void 0 : suggestions.map(function (item) {
202
- return /*#__PURE__*/_jsx("div", {
203
- className: styles.suggestion,
204
- children: /*#__PURE__*/_jsx("div", {
205
- className: styles.suggestContent,
206
- children: /*#__PURE__*/_jsx(Button, {
207
- type: "text",
208
- icon: /*#__PURE__*/_jsx(SwapRightOutlined, {}),
209
- iconPosition: "end",
210
- onClick: function onClick() {
211
- if (!item) return;
212
- onSuggest === null || onSuggest === void 0 || onSuggest(item);
213
- },
214
- style: {
215
- whiteSpace: 'normal',
216
- height: 'auto',
217
- wordWrap: 'break-word',
218
- textAlign: 'left',
219
- padding: '4px 15px',
220
- lineHeight: '1.5'
221
- },
222
- children: item
223
- })
414
+ className: styles.suggestion,
415
+ children: /*#__PURE__*/_jsx("div", {
416
+ className: styles.suggestContent,
417
+ children: /*#__PURE__*/_jsx(Button, {
418
+ type: "text",
419
+ icon: /*#__PURE__*/_jsx(SwapRightOutlined, {}),
420
+ iconPosition: "end",
421
+ onClick: function onClick() {
422
+ if (!item) return;
423
+ onSuggest === null || onSuggest === void 0 || onSuggest(item);
424
+ },
425
+ style: {
426
+ whiteSpace: "normal",
427
+ height: "auto",
428
+ wordWrap: "break-word",
429
+ textAlign: "left",
430
+ padding: "4px 15px",
431
+ lineHeight: "1.5"
432
+ },
433
+ children: item
224
434
  })
225
- }, item);
435
+ })
436
+ }, item);
437
+ })
438
+ });
439
+ };
440
+ return /*#__PURE__*/_jsx("div", {
441
+ className: clsx(styles.wrapper, className),
442
+ style: style,
443
+ children: /*#__PURE__*/_jsxs("div", {
444
+ className: styles.list,
445
+ ref: listRef,
446
+ children: [prologue && /*#__PURE__*/_jsx("div", {
447
+ className: styles.prologue,
448
+ children: /*#__PURE__*/_jsx(MarkdownRender, {
449
+ text: prologue
226
450
  })
227
- }), /*#__PURE__*/_jsx("div", {
451
+ }), chatGroups.map(function (group, idx) {
452
+ return group.role === "user" ? renderUserGroup(group) : renderBotGroup(group, idx === chatGroups.length - 1);
453
+ }), renderSuggestions(), /*#__PURE__*/_jsx("div", {
228
454
  ref: messagesEndRef
229
455
  })]
230
- }), /*#__PURE__*/_jsx(XAdkSender, {
231
- allowUpload: allowUpload,
232
- uploadRequest: uploadRequest,
233
- loading: loading,
234
- clearBtnShow: clearBtnShow,
235
- onSubmit: handleSubmit,
236
- onClear: onClear,
237
- onStop: onStop
238
- })]
456
+ })
239
457
  });
240
458
  };
241
459
  export default XAdkChatbot;