@ai-group/chat-sdk 3.5.5 → 3.5.7

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 (655) hide show
  1. package/dist/cjs/assets/add-chat.svg +13 -0
  2. package/dist/cjs/assets/arrow-down-blue.png +0 -0
  3. package/dist/cjs/assets/arrow-down.png +0 -0
  4. package/dist/cjs/assets/arrow-up.png +0 -0
  5. package/dist/cjs/assets/chatKnowledge.png +0 -0
  6. package/dist/cjs/assets/completed-black.png +0 -0
  7. package/dist/cjs/assets/completed.png +0 -0
  8. package/dist/cjs/assets/document-black.png +0 -0
  9. package/dist/cjs/assets/document.png +0 -0
  10. package/dist/cjs/assets/document.svg +16 -0
  11. package/dist/cjs/assets/empty.png +0 -0
  12. package/dist/cjs/assets/flash-open.svg +14 -0
  13. package/dist/cjs/assets/group.png +0 -0
  14. package/dist/cjs/assets/logo.png +0 -0
  15. package/dist/cjs/assets/qa-black.png +0 -0
  16. package/dist/cjs/assets/qa.png +0 -0
  17. package/dist/cjs/assets/skillNo-black.png +0 -0
  18. package/dist/cjs/assets/skillNo.png +0 -0
  19. package/dist/cjs/assets/svg/AddChatIcon.d.ts +3 -0
  20. package/dist/cjs/assets/svg/AddChatIcon.js +31 -0
  21. package/dist/cjs/assets/svg/AddChatIcon.js.map +7 -0
  22. package/dist/cjs/assets/think.png +0 -0
  23. package/dist/cjs/assets/tools-black.png +0 -0
  24. package/dist/cjs/assets/tools.png +0 -0
  25. package/dist/cjs/assets/user.png +0 -0
  26. package/dist/cjs/client/base.d.ts +9 -0
  27. package/dist/cjs/client/base.js +18 -0
  28. package/dist/cjs/client/base.js.map +7 -0
  29. package/dist/cjs/client/restClient.d.ts +0 -0
  30. package/dist/cjs/client/restClient.js +1 -0
  31. package/dist/cjs/client/restClient.js.map +7 -0
  32. package/dist/cjs/client/wsClient.d.ts +0 -0
  33. package/dist/cjs/client/wsClient.js +1 -0
  34. package/dist/cjs/client/wsClient.js.map +7 -0
  35. package/dist/cjs/components/DislikeFeedback.d.ts +8 -0
  36. package/dist/cjs/components/DislikeFeedback.js +113 -0
  37. package/dist/cjs/components/DislikeFeedback.js.map +7 -0
  38. package/dist/cjs/components/FeedbackTags.d.ts +7 -0
  39. package/dist/cjs/components/FeedbackTags.js +52 -0
  40. package/dist/cjs/components/FeedbackTags.js.map +7 -0
  41. package/dist/cjs/components/FileGallery/index.d.ts +34 -0
  42. package/dist/cjs/components/FileGallery/index.js +324 -0
  43. package/dist/cjs/components/FileGallery/index.js.map +7 -0
  44. package/dist/cjs/components/FileGallery/styles.d.ts +49 -0
  45. package/dist/cjs/components/FileGallery/styles.js +194 -0
  46. package/dist/cjs/components/FileGallery/styles.js.map +7 -0
  47. package/dist/cjs/components/FolderTree/DirectoryTree.d.ts +34 -0
  48. package/dist/cjs/components/FolderTree/DirectoryTree.js +288 -0
  49. package/dist/cjs/components/FolderTree/DirectoryTree.js.map +7 -0
  50. package/dist/cjs/components/FolderTree/FilePreview.d.ts +17 -0
  51. package/dist/cjs/components/FolderTree/FilePreview.js +163 -0
  52. package/dist/cjs/components/FolderTree/FilePreview.js.map +7 -0
  53. package/dist/cjs/components/FolderTree/index.d.ts +5 -0
  54. package/dist/cjs/components/FolderTree/index.js +351 -0
  55. package/dist/cjs/components/FolderTree/index.js.map +7 -0
  56. package/dist/cjs/components/FolderTree/styles.d.ts +50 -0
  57. package/dist/cjs/components/FolderTree/styles.js +185 -0
  58. package/dist/cjs/components/FolderTree/styles.js.map +7 -0
  59. package/dist/cjs/components/FolderTree/types.d.ts +165 -0
  60. package/dist/cjs/components/FolderTree/types.js +18 -0
  61. package/dist/cjs/components/FolderTree/types.js.map +7 -0
  62. package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/index.d.ts +4 -0
  63. package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/index.js +217 -0
  64. package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/index.js.map +7 -0
  65. package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/styles.d.ts +41 -0
  66. package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/styles.js +70 -0
  67. package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/styles.js.map +7 -0
  68. package/dist/cjs/components/XAdkChatbot/components/MarkdownRender/index.d.ts +10 -0
  69. package/dist/cjs/components/XAdkChatbot/components/MarkdownRender/index.js +186 -0
  70. package/dist/cjs/components/XAdkChatbot/components/MarkdownRender/index.js.map +7 -0
  71. package/dist/cjs/components/XAdkChatbot/components/MarkdownRender/styles.d.ts +38 -0
  72. package/dist/cjs/components/XAdkChatbot/components/MarkdownRender/styles.js +119 -0
  73. package/dist/cjs/components/XAdkChatbot/components/MarkdownRender/styles.js.map +7 -0
  74. package/dist/cjs/components/XAdkChatbot/components/ThinkRender/index.d.ts +8 -0
  75. package/dist/cjs/components/XAdkChatbot/components/ThinkRender/index.js +64 -0
  76. package/dist/cjs/components/XAdkChatbot/components/ThinkRender/index.js.map +7 -0
  77. package/dist/cjs/components/XAdkChatbot/index.d.ts +14 -0
  78. package/dist/cjs/components/XAdkChatbot/index.js +527 -0
  79. package/dist/cjs/components/XAdkChatbot/index.js.map +7 -0
  80. package/dist/cjs/components/XAdkChatbot/styles.d.ts +62 -0
  81. package/dist/cjs/components/XAdkChatbot/styles.js +234 -0
  82. package/dist/cjs/components/XAdkChatbot/styles.js.map +7 -0
  83. package/dist/cjs/components/XAdkProvider/compound/Chatbot.d.ts +30 -0
  84. package/dist/cjs/components/XAdkProvider/compound/Chatbot.js +64 -0
  85. package/dist/cjs/components/XAdkProvider/compound/Chatbot.js.map +7 -0
  86. package/dist/cjs/components/XAdkProvider/compound/DefaultLayout.d.ts +33 -0
  87. package/dist/cjs/components/XAdkProvider/compound/DefaultLayout.js +245 -0
  88. package/dist/cjs/components/XAdkProvider/compound/DefaultLayout.js.map +7 -0
  89. package/dist/cjs/components/XAdkProvider/compound/DislikeFeedBack.d.ts +8 -0
  90. package/dist/cjs/components/XAdkProvider/compound/DislikeFeedBack.js +117 -0
  91. package/dist/cjs/components/XAdkProvider/compound/DislikeFeedBack.js.map +7 -0
  92. package/dist/cjs/components/XAdkProvider/compound/FeedbackTags.d.ts +7 -0
  93. package/dist/cjs/components/XAdkProvider/compound/FeedbackTags.js +64 -0
  94. package/dist/cjs/components/XAdkProvider/compound/FeedbackTags.js.map +7 -0
  95. package/dist/cjs/components/XAdkProvider/compound/Header.d.ts +25 -0
  96. package/dist/cjs/components/XAdkProvider/compound/Header.js +70 -0
  97. package/dist/cjs/components/XAdkProvider/compound/Header.js.map +7 -0
  98. package/dist/cjs/components/XAdkProvider/compound/Messages.d.ts +26 -0
  99. package/dist/cjs/components/XAdkProvider/compound/Messages.js +159 -0
  100. package/dist/cjs/components/XAdkProvider/compound/Messages.js.map +7 -0
  101. package/dist/cjs/components/XAdkProvider/compound/Sender.d.ts +27 -0
  102. package/dist/cjs/components/XAdkProvider/compound/Sender.js +58 -0
  103. package/dist/cjs/components/XAdkProvider/compound/Sender.js.map +7 -0
  104. package/dist/cjs/components/XAdkProvider/compound/Sidebar.d.ts +24 -0
  105. package/dist/cjs/components/XAdkProvider/compound/Sidebar.js +151 -0
  106. package/dist/cjs/components/XAdkProvider/compound/Sidebar.js.map +7 -0
  107. package/dist/cjs/components/XAdkProvider/compound/Welcome.d.ts +6 -0
  108. package/dist/cjs/components/XAdkProvider/compound/Welcome.js +60 -0
  109. package/dist/cjs/components/XAdkProvider/compound/Welcome.js.map +7 -0
  110. package/dist/cjs/components/XAdkProvider/compound/index.d.ts +17 -0
  111. package/dist/cjs/components/XAdkProvider/compound/index.js +55 -0
  112. package/dist/cjs/components/XAdkProvider/compound/index.js.map +7 -0
  113. package/dist/cjs/components/XAdkProvider/compound/styles.d.ts +37 -0
  114. package/dist/cjs/components/XAdkProvider/compound/styles.js +55 -0
  115. package/dist/cjs/components/XAdkProvider/compound/styles.js.map +7 -0
  116. package/dist/cjs/components/XAdkProvider/context/ChatActionContext.d.ts +41 -0
  117. package/dist/cjs/components/XAdkProvider/context/ChatActionContext.js +40 -0
  118. package/dist/cjs/components/XAdkProvider/context/ChatActionContext.js.map +7 -0
  119. package/dist/cjs/components/XAdkProvider/context/ChatStateContext.d.ts +44 -0
  120. package/dist/cjs/components/XAdkProvider/context/ChatStateContext.js +42 -0
  121. package/dist/cjs/components/XAdkProvider/context/ChatStateContext.js.map +7 -0
  122. package/dist/cjs/components/XAdkProvider/context/SessionContext.d.ts +29 -0
  123. package/dist/cjs/components/XAdkProvider/context/SessionContext.js +40 -0
  124. package/dist/cjs/components/XAdkProvider/context/SessionContext.js.map +7 -0
  125. package/dist/cjs/components/XAdkProvider/context/index.d.ts +7 -0
  126. package/dist/cjs/components/XAdkProvider/context/index.js +28 -0
  127. package/dist/cjs/components/XAdkProvider/context/index.js.map +7 -0
  128. package/dist/cjs/components/XAdkProvider/index.d.ts +55 -0
  129. package/dist/cjs/components/XAdkProvider/index.js +263 -0
  130. package/dist/cjs/components/XAdkProvider/index.js.map +7 -0
  131. package/dist/cjs/components/XAdkProvider/styles.d.ts +38 -0
  132. package/dist/cjs/components/XAdkProvider/styles.js +51 -0
  133. package/dist/cjs/components/XAdkProvider/styles.js.map +7 -0
  134. package/dist/cjs/components/XAdkSender/Switch.d.ts +16 -0
  135. package/dist/cjs/components/XAdkSender/Switch.js +95 -0
  136. package/dist/cjs/components/XAdkSender/Switch.js.map +7 -0
  137. package/dist/cjs/components/XAdkSender/index.d.ts +9 -0
  138. package/dist/cjs/components/XAdkSender/index.js +582 -0
  139. package/dist/cjs/components/XAdkSender/index.js.map +7 -0
  140. package/dist/cjs/components/XAdkSender/styles.d.ts +47 -0
  141. package/dist/cjs/components/XAdkSender/styles.js +224 -0
  142. package/dist/cjs/components/XAdkSender/styles.js.map +7 -0
  143. package/dist/cjs/components/XAdkThoughtChain/index.d.ts +4 -0
  144. package/dist/cjs/components/XAdkThoughtChain/index.js +189 -0
  145. package/dist/cjs/components/XAdkThoughtChain/index.js.map +7 -0
  146. package/dist/cjs/components/XAdkThoughtChain/styles.d.ts +60 -0
  147. package/dist/cjs/components/XAdkThoughtChain/styles.js +206 -0
  148. package/dist/cjs/components/XAdkThoughtChain/styles.js.map +7 -0
  149. package/dist/cjs/components/XAiChatbot/index.d.ts +10 -0
  150. package/dist/cjs/components/XAiChatbot/index.js +564 -0
  151. package/dist/cjs/components/XAiChatbot/index.js.map +7 -0
  152. package/dist/cjs/components/XAiChatbot/styles.d.ts +68 -0
  153. package/dist/cjs/components/XAiChatbot/styles.js +386 -0
  154. package/dist/cjs/components/XAiChatbot/styles.js.map +7 -0
  155. package/dist/cjs/components/XAiConversations/index.d.ts +4 -0
  156. package/dist/cjs/components/XAiConversations/index.js +140 -0
  157. package/dist/cjs/components/XAiConversations/index.js.map +7 -0
  158. package/dist/cjs/components/XAiConversations/styles.d.ts +50 -0
  159. package/dist/cjs/components/XAiConversations/styles.js +198 -0
  160. package/dist/cjs/components/XAiConversations/styles.js.map +7 -0
  161. package/dist/cjs/components/XAiJsonView/index.d.ts +8 -0
  162. package/dist/cjs/components/XAiJsonView/index.js +81 -0
  163. package/dist/cjs/components/XAiJsonView/index.js.map +7 -0
  164. package/dist/cjs/components/XAiJsonView/styles.d.ts +39 -0
  165. package/dist/cjs/components/XAiJsonView/styles.js +58 -0
  166. package/dist/cjs/components/XAiJsonView/styles.js.map +7 -0
  167. package/dist/cjs/components/XAiProvider/demo.styles.d.ts +37 -0
  168. package/dist/cjs/components/XAiProvider/demo.styles.js +37 -0
  169. package/dist/cjs/components/XAiProvider/demo.styles.js.map +7 -0
  170. package/dist/cjs/components/XAiProvider/index.d.ts +4 -0
  171. package/dist/cjs/components/XAiProvider/index.js +385 -0
  172. package/dist/cjs/components/XAiProvider/index.js.map +7 -0
  173. package/dist/cjs/components/XAiSDK.d.ts +10 -0
  174. package/dist/cjs/components/XAiSDK.js +53 -0
  175. package/dist/cjs/components/XAiSDK.js.map +7 -0
  176. package/dist/cjs/components/XAiSender/index.d.ts +4 -0
  177. package/dist/cjs/components/XAiSender/index.js +228 -0
  178. package/dist/cjs/components/XAiSender/index.js.map +7 -0
  179. package/dist/cjs/components/XAiSender/styles.d.ts +44 -0
  180. package/dist/cjs/components/XAiSender/styles.js +157 -0
  181. package/dist/cjs/components/XAiSender/styles.js.map +7 -0
  182. package/dist/cjs/constants/index.d.ts +3 -0
  183. package/dist/cjs/constants/index.js +36 -0
  184. package/dist/cjs/constants/index.js.map +7 -0
  185. package/dist/cjs/context/AiProviderContext.d.ts +15 -0
  186. package/dist/cjs/context/AiProviderContext.js +74 -0
  187. package/dist/cjs/context/AiProviderContext.js.map +7 -0
  188. package/dist/cjs/context/ThemeContext.d.ts +20 -0
  189. package/dist/cjs/context/ThemeContext.js +37 -0
  190. package/dist/cjs/context/ThemeContext.js.map +7 -0
  191. package/dist/cjs/hooks/useADKChat.d.ts +41 -0
  192. package/dist/cjs/hooks/useADKChat.js +1027 -0
  193. package/dist/cjs/hooks/useADKChat.js.map +7 -0
  194. package/dist/cjs/hooks/useAgentGenerator.d.ts +94 -0
  195. package/dist/cjs/hooks/useAgentGenerator.js +804 -0
  196. package/dist/cjs/hooks/useAgentGenerator.js.map +7 -0
  197. package/dist/cjs/hooks/useEventStreamRequest.d.ts +30 -0
  198. package/dist/cjs/hooks/useEventStreamRequest.js +191 -0
  199. package/dist/cjs/hooks/useEventStreamRequest.js.map +7 -0
  200. package/dist/cjs/hooks/useProviderContext.d.ts +34 -0
  201. package/dist/cjs/hooks/useProviderContext.js +105 -0
  202. package/dist/cjs/hooks/useProviderContext.js.map +7 -0
  203. package/dist/cjs/hooks/useXAiSDK.d.ts +14 -0
  204. package/dist/cjs/hooks/useXAiSDK.js +76 -0
  205. package/dist/cjs/hooks/useXAiSDK.js.map +7 -0
  206. package/dist/cjs/index.d.ts +30 -0
  207. package/dist/cjs/index.js +123 -0
  208. package/dist/cjs/index.js.map +7 -0
  209. package/dist/cjs/presets/xGroupAdk.d.ts +20 -0
  210. package/dist/cjs/presets/xGroupAdk.js +130 -0
  211. package/dist/cjs/presets/xGroupAdk.js.map +7 -0
  212. package/dist/cjs/services/api.d.ts +162 -0
  213. package/dist/cjs/services/api.js +101 -0
  214. package/dist/cjs/services/api.js.map +7 -0
  215. package/dist/cjs/styles/common.d.ts +73 -0
  216. package/dist/cjs/styles/common.js +174 -0
  217. package/dist/cjs/styles/common.js.map +7 -0
  218. package/dist/cjs/styles/markdown.d.ts +3 -0
  219. package/dist/cjs/styles/markdown.js +185 -0
  220. package/dist/cjs/styles/markdown.js.map +7 -0
  221. package/dist/cjs/types/ChatHook.d.ts +92 -0
  222. package/dist/cjs/types/ChatHook.js +18 -0
  223. package/dist/cjs/types/ChatHook.js.map +7 -0
  224. package/dist/cjs/types/ChatStrategies.d.ts +45 -0
  225. package/dist/cjs/types/ChatStrategies.js +18 -0
  226. package/dist/cjs/types/ChatStrategies.js.map +7 -0
  227. package/dist/cjs/types/FileGallery.d.ts +36 -0
  228. package/dist/cjs/types/FileGallery.js +18 -0
  229. package/dist/cjs/types/FileGallery.js.map +7 -0
  230. package/dist/cjs/types/FunctionCallRender.d.ts +35 -0
  231. package/dist/cjs/types/FunctionCallRender.js +32 -0
  232. package/dist/cjs/types/FunctionCallRender.js.map +7 -0
  233. package/dist/cjs/types/XAdkChatbot.d.ts +348 -0
  234. package/dist/cjs/types/XAdkChatbot.js +18 -0
  235. package/dist/cjs/types/XAdkChatbot.js.map +7 -0
  236. package/dist/cjs/types/XAdkProvider.d.ts +224 -0
  237. package/dist/cjs/types/XAdkProvider.js +34 -0
  238. package/dist/cjs/types/XAdkProvider.js.map +7 -0
  239. package/dist/cjs/types/XAdkSender.d.ts +114 -0
  240. package/dist/cjs/types/XAdkSender.js +18 -0
  241. package/dist/cjs/types/XAdkSender.js.map +7 -0
  242. package/dist/cjs/types/XAdkThoughtChain.d.ts +35 -0
  243. package/dist/cjs/types/XAdkThoughtChain.js +18 -0
  244. package/dist/cjs/types/XAdkThoughtChain.js.map +7 -0
  245. package/dist/cjs/types/XAiChatbot.d.ts +158 -0
  246. package/dist/cjs/types/XAiChatbot.js +18 -0
  247. package/dist/cjs/types/XAiChatbot.js.map +7 -0
  248. package/dist/cjs/types/XAiConversations.d.ts +22 -0
  249. package/dist/cjs/types/XAiConversations.js +18 -0
  250. package/dist/cjs/types/XAiConversations.js.map +7 -0
  251. package/dist/cjs/types/XAiMessage.d.ts +126 -0
  252. package/dist/cjs/types/XAiMessage.js +55 -0
  253. package/dist/cjs/types/XAiMessage.js.map +7 -0
  254. package/dist/cjs/types/XAiProvider.d.ts +315 -0
  255. package/dist/cjs/types/XAiProvider.js +78 -0
  256. package/dist/cjs/types/XAiProvider.js.map +7 -0
  257. package/dist/cjs/types/XAiSender.d.ts +29 -0
  258. package/dist/cjs/types/XAiSender.js +18 -0
  259. package/dist/cjs/types/XAiSender.js.map +7 -0
  260. package/dist/cjs/types/common.d.ts +6 -0
  261. package/dist/cjs/types/common.js +18 -0
  262. package/dist/cjs/types/common.js.map +7 -0
  263. package/dist/cjs/types/index.d.ts +13 -0
  264. package/dist/cjs/types/index.js +48 -0
  265. package/dist/cjs/types/index.js.map +7 -0
  266. package/dist/cjs/types/mdx.d.ts +23 -0
  267. package/dist/cjs/types/node.d.ts +10 -0
  268. package/dist/cjs/types/node.js +18 -0
  269. package/dist/cjs/types/node.js.map +7 -0
  270. package/dist/cjs/utils/chat.d.ts +34 -0
  271. package/dist/cjs/utils/chat.js +1 -0
  272. package/dist/cjs/utils/chat.js.map +7 -0
  273. package/dist/cjs/utils/file.d.ts +2 -0
  274. package/dist/cjs/utils/file.js +33 -0
  275. package/dist/cjs/utils/file.js.map +7 -0
  276. package/dist/cjs/utils/index.d.ts +4 -0
  277. package/dist/cjs/utils/index.js +59 -0
  278. package/dist/cjs/utils/index.js.map +7 -0
  279. package/dist/cjs/utils/parseAgentMessage.d.ts +81 -0
  280. package/dist/cjs/utils/parseAgentMessage.js +180 -0
  281. package/dist/cjs/utils/parseAgentMessage.js.map +7 -0
  282. package/dist/cjs/utils/providerManager.d.ts +23 -0
  283. package/dist/cjs/utils/providerManager.js +73 -0
  284. package/dist/cjs/utils/providerManager.js.map +7 -0
  285. package/dist/cjs/utils/request.d.ts +78 -0
  286. package/dist/cjs/utils/request.example.d.ts +39 -0
  287. package/dist/cjs/utils/request.example.js +211 -0
  288. package/dist/cjs/utils/request.example.js.map +7 -0
  289. package/dist/cjs/utils/request.js +231 -0
  290. package/dist/cjs/utils/request.js.map +7 -0
  291. package/dist/cjs/utils/umdEntry.d.ts +170 -0
  292. package/dist/cjs/utils/umdEntry.js +354 -0
  293. package/dist/cjs/utils/umdEntry.js.map +7 -0
  294. package/dist/cjs/utils/workflowNode.d.ts +2 -0
  295. package/dist/cjs/utils/workflowNode.js +169 -0
  296. package/dist/cjs/utils/workflowNode.js.map +7 -0
  297. package/dist/esm/assets/add-chat.svg +13 -0
  298. package/dist/esm/assets/arrow-down-blue.png +0 -0
  299. package/dist/esm/assets/arrow-down.png +0 -0
  300. package/dist/esm/assets/arrow-up.png +0 -0
  301. package/dist/esm/assets/chatKnowledge.png +0 -0
  302. package/dist/esm/assets/completed-black.png +0 -0
  303. package/dist/esm/assets/completed.png +0 -0
  304. package/dist/esm/assets/document-black.png +0 -0
  305. package/dist/esm/assets/document.png +0 -0
  306. package/dist/esm/assets/document.svg +16 -0
  307. package/dist/esm/assets/empty.png +0 -0
  308. package/dist/esm/assets/flash-open.svg +14 -0
  309. package/dist/esm/assets/group.png +0 -0
  310. package/dist/esm/assets/logo.png +0 -0
  311. package/dist/esm/assets/qa-black.png +0 -0
  312. package/dist/esm/assets/qa.png +0 -0
  313. package/dist/esm/assets/skillNo-black.png +0 -0
  314. package/dist/esm/assets/skillNo.png +0 -0
  315. package/dist/esm/assets/svg/AddChatIcon.d.ts +3 -0
  316. package/dist/esm/assets/svg/AddChatIcon.js +40 -0
  317. package/dist/esm/assets/svg/AddChatIcon.js.map +1 -0
  318. package/dist/esm/assets/think.png +0 -0
  319. package/dist/esm/assets/tools-black.png +0 -0
  320. package/dist/esm/assets/tools.png +0 -0
  321. package/dist/esm/assets/user.png +0 -0
  322. package/dist/esm/client/base.d.ts +9 -0
  323. package/dist/esm/client/base.js +2 -0
  324. package/dist/esm/client/base.js.map +1 -0
  325. package/dist/esm/client/restClient.d.ts +0 -0
  326. package/dist/esm/client/restClient.js +2 -0
  327. package/dist/esm/client/restClient.js.map +1 -0
  328. package/dist/esm/client/wsClient.d.ts +0 -0
  329. package/dist/esm/client/wsClient.js +2 -0
  330. package/dist/esm/client/wsClient.js.map +1 -0
  331. package/dist/esm/components/DislikeFeedback.d.ts +8 -0
  332. package/dist/esm/components/DislikeFeedback.js +127 -0
  333. package/dist/esm/components/DislikeFeedback.js.map +1 -0
  334. package/dist/esm/components/FeedbackTags.d.ts +7 -0
  335. package/dist/esm/components/FeedbackTags.js +34 -0
  336. package/dist/esm/components/FeedbackTags.js.map +1 -0
  337. package/dist/esm/components/FileGallery/index.d.ts +34 -0
  338. package/dist/esm/components/FileGallery/index.js +464 -0
  339. package/dist/esm/components/FileGallery/index.js.map +1 -0
  340. package/dist/esm/components/FileGallery/styles.d.ts +49 -0
  341. package/dist/esm/components/FileGallery/styles.js +23 -0
  342. package/dist/esm/components/FileGallery/styles.js.map +1 -0
  343. package/dist/esm/components/FolderTree/DirectoryTree.d.ts +34 -0
  344. package/dist/esm/components/FolderTree/DirectoryTree.js +248 -0
  345. package/dist/esm/components/FolderTree/DirectoryTree.js.map +1 -0
  346. package/dist/esm/components/FolderTree/FilePreview.d.ts +17 -0
  347. package/dist/esm/components/FolderTree/FilePreview.js +160 -0
  348. package/dist/esm/components/FolderTree/FilePreview.js.map +1 -0
  349. package/dist/esm/components/FolderTree/index.d.ts +5 -0
  350. package/dist/esm/components/FolderTree/index.js +393 -0
  351. package/dist/esm/components/FolderTree/index.js.map +1 -0
  352. package/dist/esm/components/FolderTree/styles.d.ts +50 -0
  353. package/dist/esm/components/FolderTree/styles.js +24 -0
  354. package/dist/esm/components/FolderTree/styles.js.map +1 -0
  355. package/dist/esm/components/FolderTree/types.d.ts +165 -0
  356. package/dist/esm/components/FolderTree/types.js +2 -0
  357. package/dist/esm/components/FolderTree/types.js.map +1 -0
  358. package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/index.d.ts +4 -0
  359. package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/index.js +208 -0
  360. package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/index.js.map +1 -0
  361. package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/styles.d.ts +41 -0
  362. package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/styles.js +15 -0
  363. package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/styles.js.map +1 -0
  364. package/dist/esm/components/XAdkChatbot/components/MarkdownRender/index.d.ts +10 -0
  365. package/dist/esm/components/XAdkChatbot/components/MarkdownRender/index.js +172 -0
  366. package/dist/esm/components/XAdkChatbot/components/MarkdownRender/index.js.map +1 -0
  367. package/dist/esm/components/XAdkChatbot/components/MarkdownRender/styles.d.ts +38 -0
  368. package/dist/esm/components/XAdkChatbot/components/MarkdownRender/styles.js +12 -0
  369. package/dist/esm/components/XAdkChatbot/components/MarkdownRender/styles.js.map +1 -0
  370. package/dist/esm/components/XAdkChatbot/components/ThinkRender/index.d.ts +8 -0
  371. package/dist/esm/components/XAdkChatbot/components/ThinkRender/index.js +42 -0
  372. package/dist/esm/components/XAdkChatbot/components/ThinkRender/index.js.map +1 -0
  373. package/dist/esm/components/XAdkChatbot/index.d.ts +14 -0
  374. package/dist/esm/components/XAdkChatbot/index.js +611 -0
  375. package/dist/esm/components/XAdkChatbot/index.js.map +1 -0
  376. package/dist/esm/components/XAdkChatbot/styles.d.ts +62 -0
  377. package/dist/esm/components/XAdkChatbot/styles.js +37 -0
  378. package/dist/esm/components/XAdkChatbot/styles.js.map +1 -0
  379. package/dist/esm/components/XAdkProvider/compound/Chatbot.d.ts +30 -0
  380. package/dist/esm/components/XAdkProvider/compound/Chatbot.js +47 -0
  381. package/dist/esm/components/XAdkProvider/compound/Chatbot.js.map +1 -0
  382. package/dist/esm/components/XAdkProvider/compound/DefaultLayout.d.ts +33 -0
  383. package/dist/esm/components/XAdkProvider/compound/DefaultLayout.js +190 -0
  384. package/dist/esm/components/XAdkProvider/compound/DefaultLayout.js.map +1 -0
  385. package/dist/esm/components/XAdkProvider/compound/DislikeFeedBack.d.ts +8 -0
  386. package/dist/esm/components/XAdkProvider/compound/DislikeFeedBack.js +122 -0
  387. package/dist/esm/components/XAdkProvider/compound/DislikeFeedBack.js.map +1 -0
  388. package/dist/esm/components/XAdkProvider/compound/FeedbackTags.d.ts +7 -0
  389. package/dist/esm/components/XAdkProvider/compound/FeedbackTags.js +34 -0
  390. package/dist/esm/components/XAdkProvider/compound/FeedbackTags.js.map +1 -0
  391. package/dist/esm/components/XAdkProvider/compound/Header.d.ts +25 -0
  392. package/dist/esm/components/XAdkProvider/compound/Header.js +79 -0
  393. package/dist/esm/components/XAdkProvider/compound/Header.js.map +1 -0
  394. package/dist/esm/components/XAdkProvider/compound/Messages.d.ts +26 -0
  395. package/dist/esm/components/XAdkProvider/compound/Messages.js +179 -0
  396. package/dist/esm/components/XAdkProvider/compound/Messages.js.map +1 -0
  397. package/dist/esm/components/XAdkProvider/compound/Sender.d.ts +27 -0
  398. package/dist/esm/components/XAdkProvider/compound/Sender.js +44 -0
  399. package/dist/esm/components/XAdkProvider/compound/Sender.js.map +1 -0
  400. package/dist/esm/components/XAdkProvider/compound/Sidebar.d.ts +24 -0
  401. package/dist/esm/components/XAdkProvider/compound/Sidebar.js +142 -0
  402. package/dist/esm/components/XAdkProvider/compound/Sidebar.js.map +1 -0
  403. package/dist/esm/components/XAdkProvider/compound/Welcome.d.ts +6 -0
  404. package/dist/esm/components/XAdkProvider/compound/Welcome.js +36 -0
  405. package/dist/esm/components/XAdkProvider/compound/Welcome.js.map +1 -0
  406. package/dist/esm/components/XAdkProvider/compound/index.d.ts +17 -0
  407. package/dist/esm/components/XAdkProvider/compound/index.js +13 -0
  408. package/dist/esm/components/XAdkProvider/compound/index.js.map +1 -0
  409. package/dist/esm/components/XAdkProvider/compound/styles.d.ts +37 -0
  410. package/dist/esm/components/XAdkProvider/compound/styles.js +11 -0
  411. package/dist/esm/components/XAdkProvider/compound/styles.js.map +1 -0
  412. package/dist/esm/components/XAdkProvider/context/ChatActionContext.d.ts +41 -0
  413. package/dist/esm/components/XAdkProvider/context/ChatActionContext.js +23 -0
  414. package/dist/esm/components/XAdkProvider/context/ChatActionContext.js.map +1 -0
  415. package/dist/esm/components/XAdkProvider/context/ChatStateContext.d.ts +44 -0
  416. package/dist/esm/components/XAdkProvider/context/ChatStateContext.js +23 -0
  417. package/dist/esm/components/XAdkProvider/context/ChatStateContext.js.map +1 -0
  418. package/dist/esm/components/XAdkProvider/context/SessionContext.d.ts +29 -0
  419. package/dist/esm/components/XAdkProvider/context/SessionContext.js +22 -0
  420. package/dist/esm/components/XAdkProvider/context/SessionContext.js.map +1 -0
  421. package/dist/esm/components/XAdkProvider/context/index.d.ts +7 -0
  422. package/dist/esm/components/XAdkProvider/context/index.js +9 -0
  423. package/dist/esm/components/XAdkProvider/context/index.js.map +1 -0
  424. package/dist/esm/components/XAdkProvider/index.d.ts +55 -0
  425. package/dist/esm/components/XAdkProvider/index.js +264 -0
  426. package/dist/esm/components/XAdkProvider/index.js.map +1 -0
  427. package/dist/esm/components/XAdkProvider/styles.d.ts +38 -0
  428. package/dist/esm/components/XAdkProvider/styles.js +13 -0
  429. package/dist/esm/components/XAdkProvider/styles.js.map +1 -0
  430. package/dist/esm/components/XAdkSender/Switch.d.ts +16 -0
  431. package/dist/esm/components/XAdkSender/Switch.js +53 -0
  432. package/dist/esm/components/XAdkSender/Switch.js.map +1 -0
  433. package/dist/esm/components/XAdkSender/index.d.ts +9 -0
  434. package/dist/esm/components/XAdkSender/index.js +677 -0
  435. package/dist/esm/components/XAdkSender/index.js.map +1 -0
  436. package/dist/esm/components/XAdkSender/styles.d.ts +47 -0
  437. package/dist/esm/components/XAdkSender/styles.js +33 -0
  438. package/dist/esm/components/XAdkSender/styles.js.map +1 -0
  439. package/dist/esm/components/XAdkThoughtChain/index.d.ts +4 -0
  440. package/dist/esm/components/XAdkThoughtChain/index.js +201 -0
  441. package/dist/esm/components/XAdkThoughtChain/index.js.map +1 -0
  442. package/dist/esm/components/XAdkThoughtChain/styles.d.ts +60 -0
  443. package/dist/esm/components/XAdkThoughtChain/styles.js +41 -0
  444. package/dist/esm/components/XAdkThoughtChain/styles.js.map +1 -0
  445. package/dist/esm/components/XAiChatbot/index.d.ts +10 -0
  446. package/dist/esm/components/XAiChatbot/index.js +588 -0
  447. package/dist/esm/components/XAiChatbot/index.js.map +1 -0
  448. package/dist/esm/components/XAiChatbot/styles.d.ts +68 -0
  449. package/dist/esm/components/XAiChatbot/styles.js +49 -0
  450. package/dist/esm/components/XAiChatbot/styles.js.map +1 -0
  451. package/dist/esm/components/XAiConversations/index.d.ts +4 -0
  452. package/dist/esm/components/XAiConversations/index.js +157 -0
  453. package/dist/esm/components/XAiConversations/index.js.map +1 -0
  454. package/dist/esm/components/XAiConversations/styles.d.ts +50 -0
  455. package/dist/esm/components/XAiConversations/styles.js +39 -0
  456. package/dist/esm/components/XAiConversations/styles.js.map +1 -0
  457. package/dist/esm/components/XAiJsonView/index.d.ts +8 -0
  458. package/dist/esm/components/XAiJsonView/index.js +44 -0
  459. package/dist/esm/components/XAiJsonView/index.js.map +1 -0
  460. package/dist/esm/components/XAiJsonView/styles.d.ts +39 -0
  461. package/dist/esm/components/XAiJsonView/styles.js +19 -0
  462. package/dist/esm/components/XAiJsonView/styles.js.map +1 -0
  463. package/dist/esm/components/XAiProvider/demo.styles.d.ts +37 -0
  464. package/dist/esm/components/XAiProvider/demo.styles.js +12 -0
  465. package/dist/esm/components/XAiProvider/demo.styles.js.map +1 -0
  466. package/dist/esm/components/XAiProvider/index.d.ts +4 -0
  467. package/dist/esm/components/XAiProvider/index.js +492 -0
  468. package/dist/esm/components/XAiProvider/index.js.map +1 -0
  469. package/dist/esm/components/XAiSDK.d.ts +10 -0
  470. package/dist/esm/components/XAiSDK.js +29 -0
  471. package/dist/esm/components/XAiSDK.js.map +1 -0
  472. package/dist/esm/components/XAiSender/index.d.ts +4 -0
  473. package/dist/esm/components/XAiSender/index.js +248 -0
  474. package/dist/esm/components/XAiSender/index.js.map +1 -0
  475. package/dist/esm/components/XAiSender/styles.d.ts +44 -0
  476. package/dist/esm/components/XAiSender/styles.js +19 -0
  477. package/dist/esm/components/XAiSender/styles.js.map +1 -0
  478. package/dist/esm/constants/index.d.ts +3 -0
  479. package/dist/esm/constants/index.js +9 -0
  480. package/dist/esm/constants/index.js.map +1 -0
  481. package/dist/esm/context/AiProviderContext.d.ts +15 -0
  482. package/dist/esm/context/AiProviderContext.js +63 -0
  483. package/dist/esm/context/AiProviderContext.js.map +1 -0
  484. package/dist/esm/context/ThemeContext.d.ts +20 -0
  485. package/dist/esm/context/ThemeContext.js +8 -0
  486. package/dist/esm/context/ThemeContext.js.map +1 -0
  487. package/dist/esm/hooks/useADKChat.d.ts +41 -0
  488. package/dist/esm/hooks/useADKChat.js +1373 -0
  489. package/dist/esm/hooks/useADKChat.js.map +1 -0
  490. package/dist/esm/hooks/useAgentGenerator.d.ts +94 -0
  491. package/dist/esm/hooks/useAgentGenerator.js +1240 -0
  492. package/dist/esm/hooks/useAgentGenerator.js.map +1 -0
  493. package/dist/esm/hooks/useEventStreamRequest.d.ts +30 -0
  494. package/dist/esm/hooks/useEventStreamRequest.js +232 -0
  495. package/dist/esm/hooks/useEventStreamRequest.js.map +1 -0
  496. package/dist/esm/hooks/useProviderContext.d.ts +34 -0
  497. package/dist/esm/hooks/useProviderContext.js +115 -0
  498. package/dist/esm/hooks/useProviderContext.js.map +1 -0
  499. package/dist/esm/hooks/useXAiSDK.d.ts +14 -0
  500. package/dist/esm/hooks/useXAiSDK.js +49 -0
  501. package/dist/esm/hooks/useXAiSDK.js.map +1 -0
  502. package/dist/esm/index.d.ts +30 -0
  503. package/dist/esm/index.js +42 -0
  504. package/dist/esm/index.js.map +1 -0
  505. package/dist/esm/presets/xGroupAdk.d.ts +20 -0
  506. package/dist/esm/presets/xGroupAdk.js +122 -0
  507. package/dist/esm/presets/xGroupAdk.js.map +1 -0
  508. package/dist/esm/services/api.d.ts +162 -0
  509. package/dist/esm/services/api.js +223 -0
  510. package/dist/esm/services/api.js.map +1 -0
  511. package/dist/esm/styles/common.d.ts +73 -0
  512. package/dist/esm/styles/common.js +113 -0
  513. package/dist/esm/styles/common.js.map +1 -0
  514. package/dist/esm/styles/markdown.d.ts +3 -0
  515. package/dist/esm/styles/markdown.js +12 -0
  516. package/dist/esm/styles/markdown.js.map +1 -0
  517. package/dist/esm/types/ChatHook.d.ts +92 -0
  518. package/dist/esm/types/ChatHook.js +2 -0
  519. package/dist/esm/types/ChatHook.js.map +1 -0
  520. package/dist/esm/types/ChatStrategies.d.ts +45 -0
  521. package/dist/esm/types/ChatStrategies.js +2 -0
  522. package/dist/esm/types/ChatStrategies.js.map +1 -0
  523. package/dist/esm/types/FileGallery.d.ts +36 -0
  524. package/dist/esm/types/FileGallery.js +2 -0
  525. package/dist/esm/types/FileGallery.js.map +1 -0
  526. package/dist/esm/types/FunctionCallRender.d.ts +35 -0
  527. package/dist/esm/types/FunctionCallRender.js +14 -0
  528. package/dist/esm/types/FunctionCallRender.js.map +1 -0
  529. package/dist/esm/types/XAdkChatbot.d.ts +348 -0
  530. package/dist/esm/types/XAdkChatbot.js +2 -0
  531. package/dist/esm/types/XAdkChatbot.js.map +1 -0
  532. package/dist/esm/types/XAdkProvider.d.ts +224 -0
  533. package/dist/esm/types/XAdkProvider.js +33 -0
  534. package/dist/esm/types/XAdkProvider.js.map +1 -0
  535. package/dist/esm/types/XAdkSender.d.ts +114 -0
  536. package/dist/esm/types/XAdkSender.js +2 -0
  537. package/dist/esm/types/XAdkSender.js.map +1 -0
  538. package/dist/esm/types/XAdkThoughtChain.d.ts +35 -0
  539. package/dist/esm/types/XAdkThoughtChain.js +2 -0
  540. package/dist/esm/types/XAdkThoughtChain.js.map +1 -0
  541. package/dist/esm/types/XAiChatbot.d.ts +158 -0
  542. package/dist/esm/types/XAiChatbot.js +2 -0
  543. package/dist/esm/types/XAiChatbot.js.map +1 -0
  544. package/dist/esm/types/XAiConversations.d.ts +22 -0
  545. package/dist/esm/types/XAiConversations.js +2 -0
  546. package/dist/esm/types/XAiConversations.js.map +1 -0
  547. package/dist/esm/types/XAiMessage.d.ts +126 -0
  548. package/dist/esm/types/XAiMessage.js +65 -0
  549. package/dist/esm/types/XAiMessage.js.map +1 -0
  550. package/dist/esm/types/XAiProvider.d.ts +315 -0
  551. package/dist/esm/types/XAiProvider.js +106 -0
  552. package/dist/esm/types/XAiProvider.js.map +1 -0
  553. package/dist/esm/types/XAiSender.d.ts +29 -0
  554. package/dist/esm/types/XAiSender.js +2 -0
  555. package/dist/esm/types/XAiSender.js.map +1 -0
  556. package/dist/esm/types/common.d.ts +6 -0
  557. package/dist/esm/types/common.js +2 -0
  558. package/dist/esm/types/common.js.map +1 -0
  559. package/dist/esm/types/index.d.ts +13 -0
  560. package/dist/esm/types/index.js +14 -0
  561. package/dist/esm/types/index.js.map +1 -0
  562. package/dist/esm/types/mdx.d.ts +23 -0
  563. package/dist/esm/types/node.d.ts +10 -0
  564. package/dist/esm/types/node.js +2 -0
  565. package/dist/esm/types/node.js.map +1 -0
  566. package/dist/esm/utils/chat.d.ts +34 -0
  567. package/dist/esm/utils/chat.js +976 -0
  568. package/dist/esm/utils/chat.js.map +1 -0
  569. package/dist/esm/utils/file.d.ts +2 -0
  570. package/dist/esm/utils/file.js +10 -0
  571. package/dist/esm/utils/file.js.map +1 -0
  572. package/dist/esm/utils/index.d.ts +4 -0
  573. package/dist/esm/utils/index.js +26 -0
  574. package/dist/esm/utils/index.js.map +1 -0
  575. package/dist/esm/utils/parseAgentMessage.d.ts +81 -0
  576. package/dist/esm/utils/parseAgentMessage.js +286 -0
  577. package/dist/esm/utils/parseAgentMessage.js.map +1 -0
  578. package/dist/esm/utils/providerManager.d.ts +23 -0
  579. package/dist/esm/utils/providerManager.js +70 -0
  580. package/dist/esm/utils/providerManager.js.map +1 -0
  581. package/dist/esm/utils/request.d.ts +78 -0
  582. package/dist/esm/utils/request.example.d.ts +39 -0
  583. package/dist/esm/utils/request.example.js +379 -0
  584. package/dist/esm/utils/request.example.js.map +1 -0
  585. package/dist/esm/utils/request.js +491 -0
  586. package/dist/esm/utils/request.js.map +1 -0
  587. package/dist/esm/utils/umdEntry.d.ts +170 -0
  588. package/dist/esm/utils/umdEntry.js +439 -0
  589. package/dist/esm/utils/umdEntry.js.map +1 -0
  590. package/dist/esm/utils/workflowNode.d.ts +2 -0
  591. package/dist/esm/utils/workflowNode.js +141 -0
  592. package/dist/esm/utils/workflowNode.js.map +1 -0
  593. package/dist/umd/chat-sdk.min.css +1 -0
  594. package/dist/umd/chat-sdk.min.js +1 -0
  595. package/dist/umd/static/KaTeX_AMS-Regular.1608a09b.woff +0 -0
  596. package/dist/umd/static/KaTeX_AMS-Regular.4aafdb68.ttf +0 -0
  597. package/dist/umd/static/KaTeX_AMS-Regular.a79f1c31.woff2 +0 -0
  598. package/dist/umd/static/KaTeX_Caligraphic-Bold.b6770918.woff +0 -0
  599. package/dist/umd/static/KaTeX_Caligraphic-Bold.cce5b8ec.ttf +0 -0
  600. package/dist/umd/static/KaTeX_Caligraphic-Bold.ec17d132.woff2 +0 -0
  601. package/dist/umd/static/KaTeX_Caligraphic-Regular.07ef19e7.ttf +0 -0
  602. package/dist/umd/static/KaTeX_Caligraphic-Regular.55fac258.woff2 +0 -0
  603. package/dist/umd/static/KaTeX_Caligraphic-Regular.dad44a7f.woff +0 -0
  604. package/dist/umd/static/KaTeX_Fraktur-Bold.9f256b85.woff +0 -0
  605. package/dist/umd/static/KaTeX_Fraktur-Bold.b18f59e1.ttf +0 -0
  606. package/dist/umd/static/KaTeX_Fraktur-Bold.d42a5579.woff2 +0 -0
  607. package/dist/umd/static/KaTeX_Fraktur-Regular.7c187121.woff +0 -0
  608. package/dist/umd/static/KaTeX_Fraktur-Regular.d3c882a6.woff2 +0 -0
  609. package/dist/umd/static/KaTeX_Fraktur-Regular.ed38e79f.ttf +0 -0
  610. package/dist/umd/static/KaTeX_Main-Bold.b74a1a8b.ttf +0 -0
  611. package/dist/umd/static/KaTeX_Main-Bold.c3fb5ac2.woff2 +0 -0
  612. package/dist/umd/static/KaTeX_Main-Bold.d181c465.woff +0 -0
  613. package/dist/umd/static/KaTeX_Main-BoldItalic.6f2bb1df.woff2 +0 -0
  614. package/dist/umd/static/KaTeX_Main-BoldItalic.70d8b0a5.ttf +0 -0
  615. package/dist/umd/static/KaTeX_Main-BoldItalic.e3f82f9d.woff +0 -0
  616. package/dist/umd/static/KaTeX_Main-Italic.47373d1e.ttf +0 -0
  617. package/dist/umd/static/KaTeX_Main-Italic.8916142b.woff2 +0 -0
  618. package/dist/umd/static/KaTeX_Main-Italic.9024d815.woff +0 -0
  619. package/dist/umd/static/KaTeX_Main-Regular.0462f03b.woff2 +0 -0
  620. package/dist/umd/static/KaTeX_Main-Regular.7f51fe03.woff +0 -0
  621. package/dist/umd/static/KaTeX_Main-Regular.b7f8fe9b.ttf +0 -0
  622. package/dist/umd/static/KaTeX_Math-BoldItalic.572d331f.woff2 +0 -0
  623. package/dist/umd/static/KaTeX_Math-BoldItalic.a879cf83.ttf +0 -0
  624. package/dist/umd/static/KaTeX_Math-BoldItalic.f1035d8d.woff +0 -0
  625. package/dist/umd/static/KaTeX_Math-Italic.5295ba48.woff +0 -0
  626. package/dist/umd/static/KaTeX_Math-Italic.939bc644.ttf +0 -0
  627. package/dist/umd/static/KaTeX_Math-Italic.f28c23ac.woff2 +0 -0
  628. package/dist/umd/static/KaTeX_SansSerif-Bold.8c5b5494.woff2 +0 -0
  629. package/dist/umd/static/KaTeX_SansSerif-Bold.94e1e8dc.ttf +0 -0
  630. package/dist/umd/static/KaTeX_SansSerif-Bold.bf59d231.woff +0 -0
  631. package/dist/umd/static/KaTeX_SansSerif-Italic.3b1e59b3.woff2 +0 -0
  632. package/dist/umd/static/KaTeX_SansSerif-Italic.7c9bc82b.woff +0 -0
  633. package/dist/umd/static/KaTeX_SansSerif-Italic.b4c20c84.ttf +0 -0
  634. package/dist/umd/static/KaTeX_SansSerif-Regular.74048478.woff +0 -0
  635. package/dist/umd/static/KaTeX_SansSerif-Regular.ba21ed5f.woff2 +0 -0
  636. package/dist/umd/static/KaTeX_SansSerif-Regular.d4d7ba48.ttf +0 -0
  637. package/dist/umd/static/KaTeX_Script-Regular.03e9641d.woff2 +0 -0
  638. package/dist/umd/static/KaTeX_Script-Regular.07505710.woff +0 -0
  639. package/dist/umd/static/KaTeX_Script-Regular.fe9cbbe1.ttf +0 -0
  640. package/dist/umd/static/KaTeX_Size1-Regular.e1e279cb.woff +0 -0
  641. package/dist/umd/static/KaTeX_Size1-Regular.eae34984.woff2 +0 -0
  642. package/dist/umd/static/KaTeX_Size1-Regular.fabc004a.ttf +0 -0
  643. package/dist/umd/static/KaTeX_Size2-Regular.57727022.woff +0 -0
  644. package/dist/umd/static/KaTeX_Size2-Regular.5916a24f.woff2 +0 -0
  645. package/dist/umd/static/KaTeX_Size2-Regular.d6b476ec.ttf +0 -0
  646. package/dist/umd/static/KaTeX_Size3-Regular.9acaf01c.woff +0 -0
  647. package/dist/umd/static/KaTeX_Size3-Regular.a144ef58.ttf +0 -0
  648. package/dist/umd/static/KaTeX_Size3-Regular.b4230e7e.woff2 +0 -0
  649. package/dist/umd/static/KaTeX_Size4-Regular.10d95fd3.woff2 +0 -0
  650. package/dist/umd/static/KaTeX_Size4-Regular.7a996c9d.woff +0 -0
  651. package/dist/umd/static/KaTeX_Size4-Regular.fbccdabe.ttf +0 -0
  652. package/dist/umd/static/KaTeX_Typewriter-Regular.6258592b.woff +0 -0
  653. package/dist/umd/static/KaTeX_Typewriter-Regular.a8709e36.woff2 +0 -0
  654. package/dist/umd/static/KaTeX_Typewriter-Regular.d97aaf4a.ttf +0 -0
  655. package/package.json +10 -10
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/hooks/useAgentGenerator.ts"],
4
+ "sourcesContent": ["/* eslint-disable no-use-before-define */\n/* eslint-disable class-methods-use-this */\nimport { useState, useEffect, useMemo, useCallback, useRef } from 'react';\nimport { v4 as uuidV4 } from 'uuid';\nimport { useEventStreamRequest } from '@/hooks/useEventStreamRequest';\nimport { MessageRole, MessageStatus, TextMessage, SuggestionMessage, Messages } from '@/types/XAiMessage';\nimport { type Error, ErrorCode, type SendContent, type Success, SuccessCode, type SessionData } from '@/types';\nimport { request } from '@/utils/request';\nimport { safeJsonParse } from '@/utils/index';\nimport { SESSION_PAGE_SIZE, API_SUCCESS_CODE } from '@/constants';\nimport { fetchAppConfig, fetchSessionList, fetchSessionDetail, closeSession, updateSessionTitle } from '@/services/api';\nimport { getNodeTemplate } from '@/utils/workflowNode';\n// 图标导入\nimport documentIcon from '@/assets/document.png';\nimport completedIcon from '@/assets/completed.png';\nimport completedExpandIcon from '@/assets/completed-black.png';\nimport documentExpandIcon from '@/assets/document-black.png';\nimport qaIcon from '@/assets/qa.png';\nimport qaExpandIcon from '@/assets/qa-black.png';\nimport skillNoIcon from '@/assets/skillNo.png';\nimport skillNoExpandIcon from '@/assets/skillNo-black.png';\nimport toolIcon from '@/assets/tools.png';\nimport toolExpandIcon from '@/assets/tools-black.png';\n\n// ==================== 类型定义 ====================\nexport type ContentType = 'TEXT' | 'IMAGE' | 'FILE' | 'JSON';\n\nexport interface ImageUrl {\n url: string;\n name: string;\n}\n\nexport interface FileUrl {\n url: string;\n fileName: string;\n suffix: string;\n}\n\nexport interface Content {\n text?: string;\n imageUrl?: ImageUrl;\n fileUrl?: FileUrl;\n}\n\nexport interface ContentDef {\n description: string;\n contentType: ContentType;\n content: Content;\n}\n\nexport type Contents = ContentDef[];\n\nexport enum ActionType {\n recallKnowledgeStart = 'RECALL_KNOWLEDGE_START',\n recallKnowledgeEnd = 'RECALL_KNOWLEDGE_END',\n invokeToolStart = 'INVOKE_AGENT_TOOL_START',\n invokeToolEnd = 'INVOKE_AGENT_TOOL_END',\n reasoning = 'REASONING',\n reasoningStart = 'REASONING_START',\n reasoningEnd = 'REASONING_END',\n componentStart = 'COMPONENT_START',\n componentStream = 'COMPONENT_STREAM',\n componentEnd = 'COMPONENT_END',\n suggest = 'FOLLOW_UP',\n response = 'RESPONSE',\n finish = 'FINISHED',\n}\n\nexport enum ProcessStatus {\n start = 'START',\n end = 'END',\n}\n\nexport enum ActionAvailability {\n disabled = 'disabled',\n enabled = 'enabled',\n remote = 'remote',\n}\n\nexport type ThinkStep = any;\n\nexport interface Action {\n name: string;\n description: string;\n jsonSchema: string;\n available?: ActionAvailability;\n}\n\nexport interface BaseFields {\n textSpeed?: number;\n onChatDone?: () => void;\n}\n\nexport interface UseAgentGeneratorProps {\n url: string;\n token: string;\n config: any;\n textSpeed?: number;\n onError?: (error: Error) => void;\n onSuccess?: (data: Success) => void;\n onMessage?: (content: string, data: Messages) => void;\n}\n\n// ==================== 消息处理器 ====================\nclass MessageProcessor {\n private textSpeed: number;\n\n constructor(textSpeed = 60) {\n this.textSpeed = textSpeed;\n }\n\n // 获取知识图标\n private getKnowledgeIcons(knowledgeType: string) {\n return knowledgeType === 'DOCUMENT'\n ? { icon: documentIcon, expandIcon: documentExpandIcon }\n : { icon: qaIcon, expandIcon: qaExpandIcon };\n }\n\n // 获取工具图标\n private getToolIcons(toolType: string) {\n return toolType === 'SKILL'\n ? { icon: skillNoIcon, expandIcon: skillNoExpandIcon }\n : { icon: toolIcon, expandIcon: toolExpandIcon };\n }\n\n // 获取工作流图标(暂时不做区分)\n private getWorkflowIcon() {\n return { icon: skillNoIcon, expandIcon: skillNoExpandIcon };\n }\n\n // 更新工具执行事件\n private updateExecution(\n messages: Messages[],\n messageIndex: number,\n uniqueId: string,\n cost: number,\n name?: string,\n ) {\n const msg = messages[messageIndex] as TextMessage;\n if (msg?.execute) {\n const execution = msg.execute.find((item) => item.id === uniqueId);\n if (execution) {\n execution.extra.cost = cost ? (cost / 1000).toFixed(2) : 0;\n if (name) execution.name = name;\n }\n }\n }\n\n // 查找最后一个待处理的AI消息\n private findLastPendingAIMessage(messages: Messages[]): [number, TextMessage | null] {\n for (let i = messages.length - 1; i >= 0; i--) {\n const msg = messages[i];\n if (msg.role === MessageRole.assistant\n && msg.type === 'TextMessage'\n && (msg.status === 'init' || msg.status === 'pending')) {\n return [i, msg as TextMessage];\n }\n }\n return [-1, null];\n }\n\n // 创建新的AI消息\n private createNewAIMessage(): TextMessage {\n return {\n id: uuidV4(),\n type: 'TextMessage',\n createdAt: new Date(),\n role: MessageRole.assistant,\n content: { text: '' },\n execute: [],\n thinks: '',\n status: MessageStatus.init,\n };\n }\n\n // 确保存在待处理的AI消息\n private ensureAIMessageExists(messages: Messages[]): [Messages[], number, TextMessage] {\n const [index, existingMsg] = this.findLastPendingAIMessage(messages);\n\n if (index !== -1 && existingMsg) {\n return [[...messages], index, { ...existingMsg }];\n }\n\n const newMessage = this.createNewAIMessage();\n const newMessages = [...messages, newMessage];\n return [newMessages, newMessages.length - 1, newMessage];\n }\n\n // 处理建议\n handleSuggestion(messages: Messages[], data: any): Messages[] {\n const { content } = data;\n const newMessages = [...messages];\n const suggestIndex = newMessages.findIndex((item) => item.type === 'SuggestionMessage');\n\n if (suggestIndex === -1) {\n const newSuggestion: SuggestionMessage = {\n id: uuidV4(),\n type: 'SuggestionMessage',\n createdAt: new Date(),\n status: MessageStatus.done,\n role: MessageRole.suggestion,\n content: [{ key: uuidV4(), description: content }],\n };\n newMessages.push(newSuggestion);\n } else {\n const suggestion = newMessages[suggestIndex] as SuggestionMessage;\n suggestion?.content?.push({\n key: uuidV4(),\n description: content,\n });\n }\n\n return newMessages;\n }\n\n // 处理思考过程\n handleReasoning(messages: Messages[], data: any): Messages[] {\n const { content } = data;\n const [newMessages, index, aiMsg] = this.ensureAIMessageExists(messages);\n\n // 确保消息状态正确\n const updatedMsg: Messages = {\n ...aiMsg,\n thinks: (aiMsg.thinks || '') + content,\n status: aiMsg.status === MessageStatus.init ? MessageStatus.pending : aiMsg.status,\n };\n\n const updatedMessages = [...newMessages];\n updatedMessages[index] = updatedMsg;\n\n return updatedMessages;\n }\n\n // 处理思考过程结束\n handleReasoningEnd(messages: Messages[]): Messages[] {\n const [newMessages, index, aiMsg] = this.ensureAIMessageExists(messages);\n\n // 确保消息状态正确\n const updatedMsg: Messages = {\n ...aiMsg,\n thinks: `${aiMsg.thinks || ''}\\n`,\n status: aiMsg.status === MessageStatus.init ? MessageStatus.pending : aiMsg.status,\n };\n\n const updatedMessages = [...newMessages];\n updatedMessages[index] = updatedMsg;\n\n return updatedMessages;\n }\n\n // 处理知识库调用开始\n handleRecallKnowledgeStart(messages: Messages[], data: any): Messages[] {\n const [newMessages, index, aiMsg] = this.ensureAIMessageExists(messages);\n const { uniqueId = uuidV4() } = data || {};\n const { args } = data?.data || {};\n\n aiMsg.execute = aiMsg.execute || [];\n\n aiMsg.execute.push({\n id: uniqueId,\n createdAt: new Date(),\n type: 'ActionExecutionMessage',\n name: '开始搜索知识库',\n arguments: args,\n extra: {\n ...data,\n icon: documentIcon,\n expandIcon: documentExpandIcon,\n },\n });\n\n newMessages[index] = aiMsg;\n return newMessages;\n }\n\n // 处理知识库调用结束\n handleRecallKnowledgeEnd(messages: Messages[], data: any): Messages[] {\n const [index, _aiMsg] = this.findLastPendingAIMessage(messages);\n if (index === -1) return messages;\n const { uniqueId = uuidV4(), cost } = data || {};\n\n const newMessages = [...messages];\n this.updateExecution(newMessages, index, uniqueId, cost, '已搜索知识库');\n return newMessages;\n }\n\n // 处理工具调用开始\n handleInvokeToolStart(messages: Messages[], data: any): Messages[] {\n const [newMessages, index, aiMsg] = this.ensureAIMessageExists(messages);\n const { uniqueId = uuidV4() } = data || {};\n const { args, toolType } = data?.data || {};\n\n aiMsg.execute = aiMsg.execute || [];\n const icons = this.getToolIcons(toolType);\n\n aiMsg.execute.push({\n id: uniqueId,\n createdAt: new Date(),\n type: 'ActionExecutionMessage',\n name: toolType === 'SKILL' ? '已调用工作流' : '已调用工具',\n arguments: args,\n extra: {\n ...data,\n ...icons,\n },\n });\n\n newMessages[index] = aiMsg;\n return newMessages;\n }\n\n // 处理工具调用结束\n handleInvokeToolEnd(messages: Messages[], data: any): Messages[] {\n const [index, _aiMsg] = this.findLastPendingAIMessage(messages);\n const { uniqueId = uuidV4() } = data || {};\n const { toolType } = data?.data || {};\n if (index === -1) return messages;\n\n const newMessages = [...messages];\n this.updateExecution(newMessages, index, uniqueId, data.cost, toolType === 'SKILL' ? '已调用工作流组件' : '已调用工具');\n return newMessages;\n }\n\n // 处理工作流组件开始\n handleComponentStart(messages: Messages[], data: any): Messages[] {\n const [newMessages, index, aiMsg] = this.ensureAIMessageExists(messages);\n const { content } = data || {};\n const { nodeId, args, componentType } = content || {};\n const { name } = getNodeTemplate(componentType);\n aiMsg?.execute?.push({\n id: nodeId || uuidV4(),\n createdAt: new Date(),\n type: 'ActionExecutionMessage',\n name: name ? `开始调用${name}组件` : '开始调用工作流组件',\n arguments: args,\n extra: {\n ...data,\n ...this.getWorkflowIcon(),\n },\n });\n\n newMessages[index] = aiMsg;\n return newMessages;\n }\n\n // 处理工作流组件流消息\n handleComponentStream(messages: Messages[], data: any): Messages[] {\n const [newMessages, index, aiMsg] = this.ensureAIMessageExists(messages);\n const { nodeId = uuidV4, content } = data || {};\n const { processData } = content || {};\n aiMsg.raw = data.raw;\n aiMsg.stepContent = aiMsg.stepContent || [];\n aiMsg.stepContent.push({\n id: nodeId,\n content: processData,\n });\n\n // 消息状态改为接收中\n if (aiMsg.status === MessageStatus.init) {\n aiMsg.status = MessageStatus.pending;\n }\n\n newMessages[index] = aiMsg;\n return newMessages;\n }\n\n // 处理工作流组件结束\n handleComponentEnd(messages: Messages[], data: any): Messages[] {\n const [index, _aiMsg] = this.findLastPendingAIMessage(messages);\n const { content } = data || {};\n const { nodeId, componentType } = content || {};\n const { name } = getNodeTemplate(componentType);\n if (index === -1) return messages;\n const newMessages = [...messages];\n this.updateExecution(newMessages, index, nodeId, data.cost, name ? `已调用完成${name}组件` : '已调用工作流组件');\n return newMessages;\n }\n\n // 处理响应正文\n handleResponse(messages: Messages[], data: any): Messages[] {\n const [newMessages, index, aiMsg] = this.ensureAIMessageExists(messages);\n const { contentType, content, success, errorMsg } = data;\n if (success) {\n aiMsg.raw = data.raw;\n // 消息状态改为接收中\n if (aiMsg.status === MessageStatus.init) {\n aiMsg.status = MessageStatus.pending;\n }\n // 文本类型数据\n if (contentType === 'TEXT' && 'text' in aiMsg.content) {\n aiMsg.content.text += content;\n }\n\n // JSON 格式数据\n if (contentType === 'JSON') {\n aiMsg.content.text += JSON.stringify(content);\n }\n } else {\n aiMsg.status = MessageStatus.failed;\n aiMsg.content.text = `<span style=\"color: red;\">❌ ${errorMsg}</span>`;\n }\n\n newMessages[index] = aiMsg;\n return newMessages;\n }\n\n // 处理完成\n handleFinish(messages: Messages[], data: any): Messages[] {\n const [index, _aiMsg] = this.findLastPendingAIMessage(messages);\n const { data: { uniqueId = uuidV4() } = {}, cost, needExecuteDetail } = data || {};\n if (index === -1) return messages;\n\n const newMessages = [...messages];\n const msg = newMessages[index] as TextMessage;\n if (needExecuteDetail) {\n msg.execute = msg.execute || [];\n msg.execute.push({\n id: uniqueId || uuidV4(),\n createdAt: new Date(),\n type: 'ActionExecutionMessage',\n name: '运行完毕',\n extra: {\n ...data,\n cost: cost ? (cost / 1000).toFixed(2) : 0,\n icon: completedIcon,\n expandIcon: completedExpandIcon,\n },\n });\n }\n\n msg.status = MessageStatus.done;\n return newMessages;\n }\n\n // 处理响应数据\n processResponse(messages: Messages[], responseData: any): Messages[] {\n if (!responseData?.data?.outputs) return messages;\n let response = responseData.data.outputs;\n if (typeof response === 'string') {\n response = safeJsonParse(response, {\n action: ActionType.response,\n data: {\n contentType: 'TEXT',\n content: '解析响应数据时出错,请重试',\n success: false,\n errorMsg: '响应数据格式错误',\n },\n });\n }\n\n const { action, data = {} } = response;\n\n switch (action) {\n case ActionType.suggest:\n return this.handleSuggestion(messages, data);\n\n case ActionType.reasoning:\n return this.handleReasoning(messages, data);\n\n case ActionType.reasoningEnd:\n return this.handleReasoningEnd(messages);\n\n case ActionType.componentStart:\n return this.handleComponentStart(messages, data);\n\n case ActionType.componentStream:\n return this.handleComponentStream(messages, data);\n\n case ActionType.componentEnd:\n return this.handleComponentEnd(messages, data);\n\n case ActionType.recallKnowledgeStart:\n return this.handleRecallKnowledgeStart(messages, data);\n\n case ActionType.recallKnowledgeEnd:\n return this.handleRecallKnowledgeEnd(messages, data);\n\n case ActionType.invokeToolStart:\n return this.handleInvokeToolStart(messages, data);\n\n case ActionType.invokeToolEnd:\n return this.handleInvokeToolEnd(messages, data);\n\n case ActionType.response:\n return this.handleResponse(messages, data);\n\n case ActionType.finish:\n return this.handleFinish(messages, data);\n\n default:\n return messages;\n }\n }\n}\n\nconst useAgentGenerator = (params: UseAgentGeneratorProps) => {\n const {\n url,\n token,\n config,\n onError,\n onMessage,\n onSuccess,\n textSpeed = 55,\n ...rest\n } = params;\n\n // 聊天记录\n const [messages, setMessages] = useState<Messages[]>([]);\n // 聊天记录分页设置\n // const [messagePagination, setMessagePagination] = useState({ total: 0, pageNum: 1, pageSize: 999 });\n // 会话记录\n const [sessionList, setSessionList] = useState<SessionData[]>([]);\n // 会话请求是否加载中\n // const [sessionLoading, setSessionLoading] = useState<boolean>(false);\n // 会话分页设置\n const [sessionPagination, setSessionPagination] = useState({ total: 0, pageNum: 1, pageSize: SESSION_PAGE_SIZE });\n // 当前会话\n const [currentSessionId, setCurrentSessionId] = useState<string>('');\n // 应用 配置\n const [appInfo, setAppInfo] = useState<any>(null);\n // 请求 配置\n const requestInfo = useRef<{ requestId?: string; sensitiveWords?: string[] }>({});\n\n const { appNo } = config || {};\n\n // 消息处理器\n const messageProcessor = useMemo(() => new MessageProcessor(textSpeed), [textSpeed]);\n\n // 初始化时获取配置\n useEffect(() => {\n if (url && config) {\n const initConfig = async () => {\n try {\n const { data, result } = await fetchAppConfig({ url, ...config });\n if (result.code === API_SUCCESS_CODE) {\n setAppInfo(data);\n\n // 成功回调\n onSuccess?.({\n code: SuccessCode.APP_CONFIG_INIT_SUCCESS,\n message: '初始化配置成功',\n });\n } else {\n onError?.({\n code: (result.code as ErrorCode) || ErrorCode.APP_NOT_FOUND,\n message: result.message || '获取应用配置失败',\n });\n }\n } catch (error) {\n onError?.({\n code: ErrorCode.API_ERROR,\n message: '获取应用配置失败',\n });\n }\n };\n initConfig();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [url, config]);\n\n const { start, loading, responseData, stop } = useEventStreamRequest({\n streaming: true,\n textSpeed,\n onClose: () => {\n // close的时机有可能在setMessages之前,所以需要延迟一下\n setTimeout(() => {\n if (requestInfo.current?.sensitiveWords && requestInfo.current?.requestId) {\n request.post(url);\n }\n }, 500);\n },\n onOpen(res) {\n console.log('res-----open:', res);\n },\n });\n\n // 数据流处理\n useEffect(() => {\n if (!responseData) return;\n\n setMessages((prev) => messageProcessor.processResponse(prev, responseData));\n }, [responseData, messageProcessor]);\n\n // 添加对话(非交互触发)\n const setMessage = useCallback(async (messageType: string, content: any) => {\n switch (messageType) {\n case 'prologue': {\n setMessages((prev) => {\n const prologueIndex = prev.findIndex((item) => item.extra?.prologue);\n\n if (prologueIndex === -1) {\n const newMessage: TextMessage = {\n type: 'TextMessage',\n id: uuidV4(),\n createdAt: new Date(),\n role: MessageRole.assistant,\n status: MessageStatus.done,\n content: { text: content },\n extra: { prologue: true, noFooter: true },\n };\n return [newMessage, ...prev];\n }\n\n return prev.map((item) => (item.extra?.prologue && item.content && 'text' in item.content\n ? { ...item, content: { text: content } } as any\n : item));\n });\n break;\n }\n\n case 'suggest': {\n setMessages((prev) => {\n const suggestIndex = prev.findIndex((item) => item.type === 'SuggestionMessage');\n const prologueIndex = prev.findIndex((item) => item.extra?.prologue);\n\n const newSuggestion: SuggestionMessage = {\n id: uuidV4(),\n type: 'SuggestionMessage',\n createdAt: new Date(),\n status: MessageStatus.done,\n role: MessageRole.suggestion,\n content,\n };\n\n if (suggestIndex === -1) {\n const newMessages = [...prev];\n const insertIndex = prologueIndex === -1 ? 0 : prologueIndex + 1;\n newMessages.splice(insertIndex, 0, newSuggestion);\n return newMessages;\n }\n\n return prev.map((item) => (item.type === 'SuggestionMessage'\n ? { ...item, content }\n : item));\n });\n break;\n }\n\n default:\n console.warn(`Unknown message type: ${messageType}`);\n }\n }, []);\n\n // 简单对话\n const chat = useCallback(async (content: SendContent, extra?: any, insert = true) => {\n if (insert) {\n const newMessage: TextMessage = {\n type: 'TextMessage',\n id: uuidV4(),\n createdAt: new Date(),\n role: MessageRole.user,\n status: MessageStatus.done,\n extra,\n content,\n };\n\n setMessages((prev) => {\n const newMessages = prev.filter((item) => item.type !== 'SuggestionMessage');\n newMessages.push(newMessage);\n return newMessages;\n });\n }\n\n const requestBody: any = {\n appParams: {\n inputs_msg: content.text,\n },\n sessionId: currentSessionId,\n };\n\n start(\n `${url}/api/gateway-web/openApi/v1/aizt/app/${appNo}/sendMsgStreaming`,\n requestBody,\n {\n Authorization: `Bearer ${token}`,\n },\n );\n }, [appNo, currentSessionId, start, token, url]);\n\n // 重新生成方法\n const reChat = useCallback(() => {\n setMessages((prev) => {\n const newMessages = [...prev];\n\n // 删除最新 AI 消息\n const lastAIIndex = newMessages?.findLastIndex(\n (m) => m.role === MessageRole.assistant && m.type === 'TextMessage'\n );\n if (lastAIIndex !== -1) {\n newMessages.splice(lastAIIndex, 1);\n }\n\n // 删除建议消息\n const suggestIndex = newMessages.findIndex((item) => item.type === 'SuggestionMessage');\n if (suggestIndex !== -1) {\n newMessages.splice(suggestIndex, 1);\n }\n\n // 找到最后一条用户消息重新发送\n const lastUserMsg = newMessages.findLast(\n (m) => m.role === MessageRole.user && m.type === 'TextMessage',\n ) as TextMessage | undefined;\n\n if (lastUserMsg?.content?.text) {\n setTimeout(() => {\n chat(lastUserMsg.content, lastUserMsg.extra, false);\n }, 0);\n }\n\n return newMessages;\n });\n }, [chat]);\n\n // 停止对话\n const stopChat = () => {\n stop();\n setMessages((prev) => prev.map((m) => {\n // 所有进行中的消息变更为结束\n if (m.status === MessageStatus.pending || m.status === MessageStatus.init) {\n const newMsg = { ...m, status: MessageStatus.done };\n if (m.type === 'TextMessage' && m.status === MessageStatus.init) {\n (newMsg as TextMessage).content.text = '<span style=\"color: #cbcbcb;\">用户已取消</span>';\n }\n return newMsg;\n }\n return m;\n }));\n };\n\n // 初始化历史记录\n const formatMessages = (data: any, init = false) => {\n setMessages((prev) => {\n const initMessagesList: Messages[] = [];\n data.forEach((item: any) => {\n const { content, messageTime, role } = item || {};\n\n if (role === 'USER') {\n const newMessage: Messages = {\n type: 'TextMessage',\n id: uuidV4(),\n createdAt: messageTime,\n role: MessageRole.user,\n status: MessageStatus.done,\n content: {\n text: content,\n },\n };\n\n initMessagesList.push(newMessage);\n } else if (role === 'AI') {\n const newMessage: TextMessage = {\n id: uuidV4(),\n type: 'TextMessage',\n createdAt: messageTime,\n role: MessageRole.assistant,\n content: { text: content },\n execute: [],\n status: MessageStatus.done,\n isLike: item.isLike,\n raw: item.raw,\n };\n\n initMessagesList.push(newMessage);\n }\n });\n\n if (init) {\n return [...initMessagesList];\n }\n return [...prev, ...initMessagesList];\n });\n };\n\n // 初始化开场白\n const initPrologue = async () => {\n const { onboardingInfo = {} } = appInfo;\n // eslint-disable-next-line camelcase\n const { suggested_questions = [], prologue = '' } = onboardingInfo || {};\n\n // 初始化开场白\n if (prologue) {\n setMessage('prologue', prologue);\n } else {\n setMessages((prev) => prev.filter((item) => !item.extra?.prologue));\n }\n\n // 过滤空内容\n const formatSuggests = suggested_questions.filter((item: string) => item);\n\n if (formatSuggests.length > 0) {\n const suggestMessages = formatSuggests.map((item: string, index: number) => ({\n key: index + 1,\n description: item,\n }));\n // 页面为空时展示开场白预设问题\n const hasMessages = messages.some((item) => (!item.extra?.prologue && item.type !== 'SuggestionMessage'));\n if (!hasMessages) {\n setMessage('suggest', suggestMessages);\n }\n } else {\n setMessages((prev) => prev.filter((item) => !(item.type === 'SuggestionMessage')));\n }\n };\n\n // 获取聊天记录\n const initAppConversations = async (fetchDetail = false) => {\n try {\n const { data = [], pagination, result } = await fetchSessionList({\n url,\n appNo,\n token,\n pageNum: sessionPagination.pageNum,\n pageSize: sessionPagination.pageSize,\n });\n\n if (result?.code === API_SUCCESS_CODE) {\n if (data.length > 0) {\n const formatSessions = data.map((item) => {\n return {\n key: item.sessionId,\n label: item.title || '新对话',\n timestamp: new Date(item.startTime).getTime(),\n messages: [],\n meta: {\n ...item,\n },\n };\n });\n\n setSessionList(formatSessions);\n // 设置分页信息\n setSessionPagination({ pageNum: sessionPagination.pageNum, pageSize: sessionPagination.pageSize, total: pagination?.total || 0 });\n const { sessionId } = data?.[0];\n fetchDetail && setCurrentSession(sessionId);\n } else {\n // 页面报错 初始化\n setSessionList([]);\n setCurrentSessionId(uuidV4());\n initPrologue();\n }\n // 成功回调\n onSuccess?.({\n code: SuccessCode.APP_MESSAGES_INIT_SUCCESS,\n message: '初始化聊天记录成功',\n });\n } else {\n initPrologue();\n }\n } catch {\n //\n }\n };\n\n // 设置当前会话详情\n const setCurrentSession = async (sessionId: string) => {\n if (sessionId) {\n if (sessionId === currentSessionId) {\n return;\n }\n setCurrentSessionId(sessionId); // 设置当前会话 id;\n const { data, result } = await fetchSessionDetail({\n url,\n appNo,\n sessionId,\n token,\n });\n\n if (result?.code === API_SUCCESS_CODE) {\n const sessionsData = data?.reduce((acc: any[], cur) => {\n const sessionMessages = Array.isArray(cur.sessionMessages) ? cur.sessionMessages : [];\n const msgs = sessionMessages.map((msg: any) => ({\n ...msg,\n raw: cur,\n isLike: cur?.isLike,\n }));\n return [...acc, ...msgs];\n }, []);\n\n if (sessionsData.length > 0) {\n formatMessages(sessionsData, true);\n }\n }\n } else {\n // 兼容 无 session异常\n setCurrentSessionId(uuidV4());\n }\n };\n\n // 删除会话\n const deleteSession = async (sessionId: string) => {\n if (!sessionId) return;\n const { result } = await closeSession({\n url,\n appNo,\n sessionId,\n token,\n });\n if (result?.code === API_SUCCESS_CODE) {\n // 删除成功后,重新获取会话列表\n initAppConversations(false);\n // 如果删除的是当前会话,则创建新的会话\n if (sessionId === currentSessionId) {\n createNewChat();\n }\n }\n };\n\n // 更新会话名称\n const updateSession = async (sessionId: string, title: string) => {\n if (!sessionId && !title) return;\n const { result } = await updateSessionTitle({\n url,\n appNo,\n title,\n sessionId,\n token,\n });\n if (result?.code === API_SUCCESS_CODE) {\n // 编辑成功后,重新获取会话列表\n initAppConversations(false);\n }\n };\n\n // 生成新对话\n const createNewChat = () => {\n stopChat(); // 停止聊天\n setMessages([]); // 清空所有消息\n initPrologue(); // 初始化开场白和预置问题\n setCurrentSessionId(uuidV4()); // 设置会话 id\n };\n\n // 初始化应用\n useEffect(() => {\n if (appInfo) {\n // 初始化历史数据\n initAppConversations(true);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [appInfo]);\n\n return {\n appInfo,\n messages,\n loading,\n content: responseData.content,\n sessionList,\n currentSessionId,\n sessionPagination,\n initAppConversations,\n reChat,\n chat,\n createNewChat,\n setCurrentSessionId,\n setCurrentSession,\n updateSession,\n deleteSession,\n setMessage,\n setMessages,\n stopChat,\n initPrologue,\n };\n};\n\nexport default useAgentGenerator;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,mBAAkE;AAClE,kBAA6B;AAC7B,mCAAsC;AACtC,wBAAqF;AACrF,mBAAqG;AACrG,qBAAwB;AACxB,mBAA8B;AAC9B,uBAAoD;AACpD,iBAAuG;AACvG,0BAAgC;AAEhC,sBAAyB;AACzB,uBAA0B;AAC1B,6BAAgC;AAChC,4BAA+B;AAC/B,gBAAmB;AACnB,sBAAyB;AACzB,qBAAwB;AACxB,2BAA8B;AAC9B,mBAAqB;AACrB,yBAA2B;AA8BpB,IAAK,aAAL,kBAAKA,gBAAL;AACL,EAAAA,YAAA,0BAAuB;AACvB,EAAAA,YAAA,wBAAqB;AACrB,EAAAA,YAAA,qBAAkB;AAClB,EAAAA,YAAA,mBAAgB;AAChB,EAAAA,YAAA,eAAY;AACZ,EAAAA,YAAA,oBAAiB;AACjB,EAAAA,YAAA,kBAAe;AACf,EAAAA,YAAA,oBAAiB;AACjB,EAAAA,YAAA,qBAAkB;AAClB,EAAAA,YAAA,kBAAe;AACf,EAAAA,YAAA,aAAU;AACV,EAAAA,YAAA,cAAW;AACX,EAAAA,YAAA,YAAS;AAbC,SAAAA;AAAA,GAAA;AAgBL,IAAK,gBAAL,kBAAKC,mBAAL;AACL,EAAAA,eAAA,WAAQ;AACR,EAAAA,eAAA,SAAM;AAFI,SAAAA;AAAA,GAAA;AAKL,IAAK,qBAAL,kBAAKC,wBAAL;AACL,EAAAA,oBAAA,cAAW;AACX,EAAAA,oBAAA,aAAU;AACV,EAAAA,oBAAA,YAAS;AAHC,SAAAA;AAAA,GAAA;AA+BZ,IAAM,mBAAN,MAAuB;AAAA,EAGrB,YAAY,YAAY,IAAI;AAC1B,SAAK,YAAY;AAAA,EACnB;AAAA;AAAA,EAGQ,kBAAkB,eAAuB;AAC/C,WAAO,kBAAkB,aACrB,EAAE,MAAM,gBAAAC,SAAc,YAAY,sBAAAC,QAAmB,IACrD,EAAE,MAAM,UAAAC,SAAQ,YAAY,gBAAAC,QAAa;AAAA,EAC/C;AAAA;AAAA,EAGQ,aAAa,UAAkB;AACrC,WAAO,aAAa,UAChB,EAAE,MAAM,eAAAC,SAAa,YAAY,qBAAAC,QAAkB,IACnD,EAAE,MAAM,aAAAC,SAAU,YAAY,mBAAAC,QAAe;AAAA,EACnD;AAAA;AAAA,EAGQ,kBAAkB;AACxB,WAAO,EAAE,MAAM,eAAAH,SAAa,YAAY,qBAAAC,QAAkB;AAAA,EAC5D;AAAA;AAAA,EAGQ,gBACN,UACA,cACA,UACA,MACA,MACA;AACA,UAAM,MAAM,SAAS,YAAY;AACjC,QAAI,2BAAK,SAAS;AAChB,YAAM,YAAY,IAAI,QAAQ,KAAK,CAAC,SAAS,KAAK,OAAO,QAAQ;AACjE,UAAI,WAAW;AACb,kBAAU,MAAM,OAAO,QAAQ,OAAO,KAAM,QAAQ,CAAC,IAAI;AACzD,YAAI;AAAM,oBAAU,OAAO;AAAA,MAC7B;AAAA,IACF;AAAA,EACF;AAAA;AAAA,EAGQ,yBAAyB,UAAoD;AACnF,aAAS,IAAI,SAAS,SAAS,GAAG,KAAK,GAAG,KAAK;AAC7C,YAAM,MAAM,SAAS,CAAC;AACtB,UAAI,IAAI,SAAS,8BAAY,aACtB,IAAI,SAAS,kBACZ,IAAI,WAAW,UAAU,IAAI,WAAW,YAAY;AAC1D,eAAO,CAAC,GAAG,GAAkB;AAAA,MAC/B;AAAA,IACF;AACA,WAAO,CAAC,IAAI,IAAI;AAAA,EAClB;AAAA;AAAA,EAGQ,qBAAkC;AACxC,WAAO;AAAA,MACL,QAAI,YAAAG,IAAO;AAAA,MACX,MAAM;AAAA,MACN,WAAW,oBAAI,KAAK;AAAA,MACpB,MAAM,8BAAY;AAAA,MAClB,SAAS,EAAE,MAAM,GAAG;AAAA,MACpB,SAAS,CAAC;AAAA,MACV,QAAQ;AAAA,MACR,QAAQ,gCAAc;AAAA,IACxB;AAAA,EACF;AAAA;AAAA,EAGQ,sBAAsB,UAAyD;AACrF,UAAM,CAAC,OAAO,WAAW,IAAI,KAAK,yBAAyB,QAAQ;AAEnE,QAAI,UAAU,MAAM,aAAa;AAC/B,aAAO,CAAC,CAAC,GAAG,QAAQ,GAAG,OAAO,EAAE,GAAG,YAAY,CAAC;AAAA,IAClD;AAEA,UAAM,aAAa,KAAK,mBAAmB;AAC3C,UAAM,cAAc,CAAC,GAAG,UAAU,UAAU;AAC5C,WAAO,CAAC,aAAa,YAAY,SAAS,GAAG,UAAU;AAAA,EACzD;AAAA;AAAA,EAGA,iBAAiB,UAAsB,MAAuB;AA7LhE;AA8LI,UAAM,EAAE,QAAQ,IAAI;AACpB,UAAM,cAAc,CAAC,GAAG,QAAQ;AAChC,UAAM,eAAe,YAAY,UAAU,CAAC,SAAS,KAAK,SAAS,mBAAmB;AAEtF,QAAI,iBAAiB,IAAI;AACvB,YAAM,gBAAmC;AAAA,QACvC,QAAI,YAAAA,IAAO;AAAA,QACX,MAAM;AAAA,QACN,WAAW,oBAAI,KAAK;AAAA,QACpB,QAAQ,gCAAc;AAAA,QACtB,MAAM,8BAAY;AAAA,QAClB,SAAS,CAAC,EAAE,SAAK,YAAAA,IAAO,GAAG,aAAa,QAAQ,CAAC;AAAA,MACnD;AACA,kBAAY,KAAK,aAAa;AAAA,IAChC,OAAO;AACL,YAAM,aAAa,YAAY,YAAY;AAC3C,qDAAY,YAAZ,mBAAqB,KAAK;AAAA,QACxB,SAAK,YAAAA,IAAO;AAAA,QACZ,aAAa;AAAA,MACf;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AAAA;AAAA,EAGA,gBAAgB,UAAsB,MAAuB;AAC3D,UAAM,EAAE,QAAQ,IAAI;AACpB,UAAM,CAAC,aAAa,OAAO,KAAK,IAAI,KAAK,sBAAsB,QAAQ;AAGvE,UAAM,aAAuB;AAAA,MAC3B,GAAG;AAAA,MACH,SAAS,MAAM,UAAU,MAAM;AAAA,MAC/B,QAAQ,MAAM,WAAW,gCAAc,OAAO,gCAAc,UAAU,MAAM;AAAA,IAC9E;AAEA,UAAM,kBAAkB,CAAC,GAAG,WAAW;AACvC,oBAAgB,KAAK,IAAI;AAEzB,WAAO;AAAA,EACT;AAAA;AAAA,EAGA,mBAAmB,UAAkC;AACnD,UAAM,CAAC,aAAa,OAAO,KAAK,IAAI,KAAK,sBAAsB,QAAQ;AAGvE,UAAM,aAAuB;AAAA,MAC3B,GAAG;AAAA,MACH,QAAQ,GAAG,MAAM,UAAU;AAAA;AAAA,MAC3B,QAAQ,MAAM,WAAW,gCAAc,OAAO,gCAAc,UAAU,MAAM;AAAA,IAC9E;AAEA,UAAM,kBAAkB,CAAC,GAAG,WAAW;AACvC,oBAAgB,KAAK,IAAI;AAEzB,WAAO;AAAA,EACT;AAAA;AAAA,EAGA,2BAA2B,UAAsB,MAAuB;AACtE,UAAM,CAAC,aAAa,OAAO,KAAK,IAAI,KAAK,sBAAsB,QAAQ;AACvE,UAAM,EAAE,eAAW,YAAAA,IAAO,EAAE,IAAI,QAAQ,CAAC;AACzC,UAAM,EAAE,KAAK,KAAI,6BAAM,SAAQ,CAAC;AAEhC,UAAM,UAAU,MAAM,WAAW,CAAC;AAElC,UAAM,QAAQ,KAAK;AAAA,MACjB,IAAI;AAAA,MACJ,WAAW,oBAAI,KAAK;AAAA,MACpB,MAAM;AAAA,MACN,MAAM;AAAA,MACN,WAAW;AAAA,MACX,OAAO;AAAA,QACL,GAAG;AAAA,QACH,MAAM,gBAAAR;AAAA,QACN,YAAY,sBAAAC;AAAA,MACd;AAAA,IACF,CAAC;AAED,gBAAY,KAAK,IAAI;AACrB,WAAO;AAAA,EACT;AAAA;AAAA,EAGA,yBAAyB,UAAsB,MAAuB;AACpE,UAAM,CAAC,OAAO,MAAM,IAAI,KAAK,yBAAyB,QAAQ;AAC9D,QAAI,UAAU;AAAI,aAAO;AACzB,UAAM,EAAE,eAAW,YAAAO,IAAO,GAAG,KAAK,IAAI,QAAQ,CAAC;AAE/C,UAAM,cAAc,CAAC,GAAG,QAAQ;AAChC,SAAK,gBAAgB,aAAa,OAAO,UAAU,MAAM,QAAQ;AACjE,WAAO;AAAA,EACT;AAAA;AAAA,EAGA,sBAAsB,UAAsB,MAAuB;AACjE,UAAM,CAAC,aAAa,OAAO,KAAK,IAAI,KAAK,sBAAsB,QAAQ;AACvE,UAAM,EAAE,eAAW,YAAAA,IAAO,EAAE,IAAI,QAAQ,CAAC;AACzC,UAAM,EAAE,MAAM,SAAS,KAAI,6BAAM,SAAQ,CAAC;AAE1C,UAAM,UAAU,MAAM,WAAW,CAAC;AAClC,UAAM,QAAQ,KAAK,aAAa,QAAQ;AAExC,UAAM,QAAQ,KAAK;AAAA,MACjB,IAAI;AAAA,MACJ,WAAW,oBAAI,KAAK;AAAA,MACpB,MAAM;AAAA,MACN,MAAM,aAAa,UAAU,WAAW;AAAA,MACxC,WAAW;AAAA,MACX,OAAO;AAAA,QACL,GAAG;AAAA,QACH,GAAG;AAAA,MACL;AAAA,IACF,CAAC;AAED,gBAAY,KAAK,IAAI;AACrB,WAAO;AAAA,EACT;AAAA;AAAA,EAGA,oBAAoB,UAAsB,MAAuB;AAC/D,UAAM,CAAC,OAAO,MAAM,IAAI,KAAK,yBAAyB,QAAQ;AAC9D,UAAM,EAAE,eAAW,YAAAA,IAAO,EAAE,IAAI,QAAQ,CAAC;AACzC,UAAM,EAAE,SAAS,KAAI,6BAAM,SAAQ,CAAC;AACpC,QAAI,UAAU;AAAI,aAAO;AAEzB,UAAM,cAAc,CAAC,GAAG,QAAQ;AAChC,SAAK,gBAAgB,aAAa,OAAO,UAAU,KAAK,MAAM,aAAa,UAAU,aAAa,OAAO;AACzG,WAAO;AAAA,EACT;AAAA;AAAA,EAGA,qBAAqB,UAAsB,MAAuB;AApUpE;AAqUI,UAAM,CAAC,aAAa,OAAO,KAAK,IAAI,KAAK,sBAAsB,QAAQ;AACvE,UAAM,EAAE,QAAQ,IAAI,QAAQ,CAAC;AAC7B,UAAM,EAAE,QAAQ,MAAM,cAAc,IAAI,WAAW,CAAC;AACpD,UAAM,EAAE,KAAK,QAAI,qCAAgB,aAAa;AAC9C,yCAAO,YAAP,mBAAgB,KAAK;AAAA,MACnB,IAAI,cAAU,YAAAA,IAAO;AAAA,MACrB,WAAW,oBAAI,KAAK;AAAA,MACpB,MAAM;AAAA,MACN,MAAM,OAAO,OAAO,WAAW;AAAA,MAC/B,WAAW;AAAA,MACX,OAAO;AAAA,QACL,GAAG;AAAA,QACH,GAAG,KAAK,gBAAgB;AAAA,MAC1B;AAAA,IACF;AAEA,gBAAY,KAAK,IAAI;AACrB,WAAO;AAAA,EACT;AAAA;AAAA,EAGA,sBAAsB,UAAsB,MAAuB;AACjE,UAAM,CAAC,aAAa,OAAO,KAAK,IAAI,KAAK,sBAAsB,QAAQ;AACvE,UAAM,EAAE,SAAS,YAAAA,IAAQ,QAAQ,IAAI,QAAQ,CAAC;AAC9C,UAAM,EAAE,YAAY,IAAI,WAAW,CAAC;AACpC,UAAM,MAAM,KAAK;AACjB,UAAM,cAAc,MAAM,eAAe,CAAC;AAC1C,UAAM,YAAY,KAAK;AAAA,MACrB,IAAI;AAAA,MACJ,SAAS;AAAA,IACX,CAAC;AAGD,QAAI,MAAM,WAAW,gCAAc,MAAM;AACvC,YAAM,SAAS,gCAAc;AAAA,IAC/B;AAEA,gBAAY,KAAK,IAAI;AACrB,WAAO;AAAA,EACT;AAAA;AAAA,EAGA,mBAAmB,UAAsB,MAAuB;AAC9D,UAAM,CAAC,OAAO,MAAM,IAAI,KAAK,yBAAyB,QAAQ;AAC9D,UAAM,EAAE,QAAQ,IAAI,QAAQ,CAAC;AAC7B,UAAM,EAAE,QAAQ,cAAc,IAAI,WAAW,CAAC;AAC9C,UAAM,EAAE,KAAK,QAAI,qCAAgB,aAAa;AAC9C,QAAI,UAAU;AAAI,aAAO;AACzB,UAAM,cAAc,CAAC,GAAG,QAAQ;AAChC,SAAK,gBAAgB,aAAa,OAAO,QAAQ,KAAK,MAAM,OAAO,QAAQ,WAAW,UAAU;AAChG,WAAO;AAAA,EACT;AAAA;AAAA,EAGA,eAAe,UAAsB,MAAuB;AAC1D,UAAM,CAAC,aAAa,OAAO,KAAK,IAAI,KAAK,sBAAsB,QAAQ;AACvE,UAAM,EAAE,aAAa,SAAS,SAAS,SAAS,IAAI;AACpD,QAAI,SAAS;AACX,YAAM,MAAM,KAAK;AAEjB,UAAI,MAAM,WAAW,gCAAc,MAAM;AACvC,cAAM,SAAS,gCAAc;AAAA,MAC/B;AAEA,UAAI,gBAAgB,UAAU,UAAU,MAAM,SAAS;AACrD,cAAM,QAAQ,QAAQ;AAAA,MACxB;AAGA,UAAI,gBAAgB,QAAQ;AAC1B,cAAM,QAAQ,QAAQ,KAAK,UAAU,OAAO;AAAA,MAC9C;AAAA,IACF,OAAO;AACL,YAAM,SAAS,gCAAc;AAC7B,YAAM,QAAQ,OAAO,+BAA+B;AAAA,IACtD;AAEA,gBAAY,KAAK,IAAI;AACrB,WAAO;AAAA,EACT;AAAA;AAAA,EAGA,aAAa,UAAsB,MAAuB;AACxD,UAAM,CAAC,OAAO,MAAM,IAAI,KAAK,yBAAyB,QAAQ;AAC9D,UAAM,EAAE,MAAM,EAAE,eAAW,YAAAA,IAAO,EAAE,IAAI,CAAC,GAAG,MAAM,kBAAkB,IAAI,QAAQ,CAAC;AACjF,QAAI,UAAU;AAAI,aAAO;AAEzB,UAAM,cAAc,CAAC,GAAG,QAAQ;AAChC,UAAM,MAAM,YAAY,KAAK;AAC7B,QAAI,mBAAmB;AACrB,UAAI,UAAU,IAAI,WAAW,CAAC;AAC9B,UAAI,QAAQ,KAAK;AAAA,QACf,IAAI,gBAAY,YAAAA,IAAO;AAAA,QACvB,WAAW,oBAAI,KAAK;AAAA,QACpB,MAAM;AAAA,QACN,MAAM;AAAA,QACN,OAAO;AAAA,UACL,GAAG;AAAA,UACH,MAAM,QAAQ,OAAO,KAAM,QAAQ,CAAC,IAAI;AAAA,UACxC,MAAM,iBAAAC;AAAA,UACN,YAAY,uBAAAC;AAAA,QACd;AAAA,MACF,CAAC;AAAA,IACH;AAEA,QAAI,SAAS,gCAAc;AAC3B,WAAO;AAAA,EACT;AAAA;AAAA,EAGA,gBAAgB,UAAsB,cAA+B;AAnbvE;AAobI,QAAI,GAAC,kDAAc,SAAd,mBAAoB;AAAS,aAAO;AACzC,QAAI,WAAW,aAAa,KAAK;AACjC,QAAI,OAAO,aAAa,UAAU;AAChC,qBAAW,4BAAc,UAAU;AAAA,QACjC,QAAQ;AAAA,QACR,MAAM;AAAA,UACJ,aAAa;AAAA,UACb,SAAS;AAAA,UACT,SAAS;AAAA,UACT,UAAU;AAAA,QACZ;AAAA,MACF,CAAC;AAAA,IACH;AAEA,UAAM,EAAE,QAAQ,OAAO,CAAC,EAAE,IAAI;AAE9B,YAAQ,QAAQ;AAAA,MACd,KAAK;AACH,eAAO,KAAK,iBAAiB,UAAU,IAAI;AAAA,MAE7C,KAAK;AACH,eAAO,KAAK,gBAAgB,UAAU,IAAI;AAAA,MAE5C,KAAK;AACH,eAAO,KAAK,mBAAmB,QAAQ;AAAA,MAEzC,KAAK;AACH,eAAO,KAAK,qBAAqB,UAAU,IAAI;AAAA,MAEjD,KAAK;AACH,eAAO,KAAK,sBAAsB,UAAU,IAAI;AAAA,MAElD,KAAK;AACH,eAAO,KAAK,mBAAmB,UAAU,IAAI;AAAA,MAE/C,KAAK;AACH,eAAO,KAAK,2BAA2B,UAAU,IAAI;AAAA,MAEvD,KAAK;AACH,eAAO,KAAK,yBAAyB,UAAU,IAAI;AAAA,MAErD,KAAK;AACH,eAAO,KAAK,sBAAsB,UAAU,IAAI;AAAA,MAElD,KAAK;AACH,eAAO,KAAK,oBAAoB,UAAU,IAAI;AAAA,MAEhD,KAAK;AACH,eAAO,KAAK,eAAe,UAAU,IAAI;AAAA,MAE3C,KAAK;AACH,eAAO,KAAK,aAAa,UAAU,IAAI;AAAA,MAEzC;AACE,eAAO;AAAA,IACX;AAAA,EACF;AACF;AAEA,IAAM,oBAAoB,CAAC,WAAmC;AAC5D,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,YAAY;AAAA,IACZ,GAAG;AAAA,EACL,IAAI;AAGJ,QAAM,CAAC,UAAU,WAAW,QAAI,uBAAqB,CAAC,CAAC;AAIvD,QAAM,CAAC,aAAa,cAAc,QAAI,uBAAwB,CAAC,CAAC;AAIhE,QAAM,CAAC,mBAAmB,oBAAoB,QAAI,uBAAS,EAAE,OAAO,GAAG,SAAS,GAAG,UAAU,mCAAkB,CAAC;AAEhH,QAAM,CAAC,kBAAkB,mBAAmB,QAAI,uBAAiB,EAAE;AAEnE,QAAM,CAAC,SAAS,UAAU,QAAI,uBAAc,IAAI;AAEhD,QAAM,kBAAc,qBAA0D,CAAC,CAAC;AAEhF,QAAM,EAAE,MAAM,IAAI,UAAU,CAAC;AAG7B,QAAM,uBAAmB,sBAAQ,MAAM,IAAI,iBAAiB,SAAS,GAAG,CAAC,SAAS,CAAC;AAGnF,8BAAU,MAAM;AACd,QAAI,OAAO,QAAQ;AACjB,YAAM,aAAa,YAAY;AAC7B,YAAI;AACF,gBAAM,EAAE,MAAM,OAAO,IAAI,UAAM,2BAAe,EAAE,KAAK,GAAG,OAAO,CAAC;AAChE,cAAI,OAAO,SAAS,mCAAkB;AACpC,uBAAW,IAAI;AAGf,mDAAY;AAAA,cACV,MAAM,yBAAY;AAAA,cAClB,SAAS;AAAA,YACX;AAAA,UACF,OAAO;AACL,+CAAU;AAAA,cACR,MAAO,OAAO,QAAsB,uBAAU;AAAA,cAC9C,SAAS,OAAO,WAAW;AAAA,YAC7B;AAAA,UACF;AAAA,QACF,SAAS,OAAP;AACA,6CAAU;AAAA,YACR,MAAM,uBAAU;AAAA,YAChB,SAAS;AAAA,UACX;AAAA,QACF;AAAA,MACF;AACA,iBAAW;AAAA,IACb;AAAA,EAEF,GAAG,CAAC,KAAK,MAAM,CAAC;AAEhB,QAAM,EAAE,OAAO,SAAS,cAAc,KAAK,QAAI,oDAAsB;AAAA,IACnE,WAAW;AAAA,IACX;AAAA,IACA,SAAS,MAAM;AAEb,iBAAW,MAAM;AAtjBvB;AAujBQ,cAAI,iBAAY,YAAZ,mBAAqB,qBAAkB,iBAAY,YAAZ,mBAAqB,YAAW;AACzE,iCAAQ,KAAK,GAAG;AAAA,QAClB;AAAA,MACF,GAAG,GAAG;AAAA,IACR;AAAA,IACA,OAAO,KAAK;AACV,cAAQ,IAAI,iBAAiB,GAAG;AAAA,IAClC;AAAA,EACF,CAAC;AAGD,8BAAU,MAAM;AACd,QAAI,CAAC;AAAc;AAEnB,gBAAY,CAAC,SAAS,iBAAiB,gBAAgB,MAAM,YAAY,CAAC;AAAA,EAC5E,GAAG,CAAC,cAAc,gBAAgB,CAAC;AAGnC,QAAM,iBAAa,0BAAY,OAAO,aAAqB,YAAiB;AAC1E,YAAQ,aAAa;AAAA,MACnB,KAAK,YAAY;AACf,oBAAY,CAAC,SAAS;AACpB,gBAAM,gBAAgB,KAAK,UAAU,CAAC,SAAM;AA7kBtD;AA6kByD,8BAAK,UAAL,mBAAY;AAAA,WAAQ;AAEnE,cAAI,kBAAkB,IAAI;AACxB,kBAAM,aAA0B;AAAA,cAC9B,MAAM;AAAA,cACN,QAAI,YAAAF,IAAO;AAAA,cACX,WAAW,oBAAI,KAAK;AAAA,cACpB,MAAM,8BAAY;AAAA,cAClB,QAAQ,gCAAc;AAAA,cACtB,SAAS,EAAE,MAAM,QAAQ;AAAA,cACzB,OAAO,EAAE,UAAU,MAAM,UAAU,KAAK;AAAA,YAC1C;AACA,mBAAO,CAAC,YAAY,GAAG,IAAI;AAAA,UAC7B;AAEA,iBAAO,KAAK,IAAI,CAAC,SAAM;AA5lBjC;AA4lBqC,+BAAK,UAAL,mBAAY,aAAY,KAAK,WAAW,UAAU,KAAK,UAC9E,EAAE,GAAG,MAAM,SAAS,EAAE,MAAM,QAAQ,EAAE,IACtC;AAAA,WAAK;AAAA,QACX,CAAC;AACD;AAAA,MACF;AAAA,MAEA,KAAK,WAAW;AACd,oBAAY,CAAC,SAAS;AACpB,gBAAM,eAAe,KAAK,UAAU,CAAC,SAAS,KAAK,SAAS,mBAAmB;AAC/E,gBAAM,gBAAgB,KAAK,UAAU,CAAC,SAAM;AAtmBtD;AAsmByD,8BAAK,UAAL,mBAAY;AAAA,WAAQ;AAEnE,gBAAM,gBAAmC;AAAA,YACvC,QAAI,YAAAA,IAAO;AAAA,YACX,MAAM;AAAA,YACN,WAAW,oBAAI,KAAK;AAAA,YACpB,QAAQ,gCAAc;AAAA,YACtB,MAAM,8BAAY;AAAA,YAClB;AAAA,UACF;AAEA,cAAI,iBAAiB,IAAI;AACvB,kBAAM,cAAc,CAAC,GAAG,IAAI;AAC5B,kBAAM,cAAc,kBAAkB,KAAK,IAAI,gBAAgB;AAC/D,wBAAY,OAAO,aAAa,GAAG,aAAa;AAChD,mBAAO;AAAA,UACT;AAEA,iBAAO,KAAK,IAAI,CAAC,SAAU,KAAK,SAAS,sBACrC,EAAE,GAAG,MAAM,QAAQ,IACnB,IAAK;AAAA,QACX,CAAC;AACD;AAAA,MACF;AAAA,MAEA;AACE,gBAAQ,KAAK,yBAAyB,aAAa;AAAA,IACvD;AAAA,EACF,GAAG,CAAC,CAAC;AAGL,QAAM,WAAO,0BAAY,OAAO,SAAsB,OAAa,SAAS,SAAS;AACnF,QAAI,QAAQ;AACV,YAAM,aAA0B;AAAA,QAC9B,MAAM;AAAA,QACN,QAAI,YAAAA,IAAO;AAAA,QACX,WAAW,oBAAI,KAAK;AAAA,QACpB,MAAM,8BAAY;AAAA,QAClB,QAAQ,gCAAc;AAAA,QACtB;AAAA,QACA;AAAA,MACF;AAEA,kBAAY,CAAC,SAAS;AACpB,cAAM,cAAc,KAAK,OAAO,CAAC,SAAS,KAAK,SAAS,mBAAmB;AAC3E,oBAAY,KAAK,UAAU;AAC3B,eAAO;AAAA,MACT,CAAC;AAAA,IACH;AAEA,UAAM,cAAmB;AAAA,MACvB,WAAW;AAAA,QACT,YAAY,QAAQ;AAAA,MACtB;AAAA,MACA,WAAW;AAAA,IACb;AAEA;AAAA,MACE,GAAG,2CAA2C;AAAA,MAC9C;AAAA,MACA;AAAA,QACE,eAAe,UAAU;AAAA,MAC3B;AAAA,IACF;AAAA,EACF,GAAG,CAAC,OAAO,kBAAkB,OAAO,OAAO,GAAG,CAAC;AAG/C,QAAM,aAAS,0BAAY,MAAM;AAC/B,gBAAY,CAAC,SAAS;AA1qB1B;AA2qBM,YAAM,cAAc,CAAC,GAAG,IAAI;AAG5B,YAAM,cAAc,2CAAa;AAAA,QAC/B,CAAC,MAAM,EAAE,SAAS,8BAAY,aAAa,EAAE,SAAS;AAAA;AAExD,UAAI,gBAAgB,IAAI;AACtB,oBAAY,OAAO,aAAa,CAAC;AAAA,MACnC;AAGA,YAAM,eAAe,YAAY,UAAU,CAAC,SAAS,KAAK,SAAS,mBAAmB;AACtF,UAAI,iBAAiB,IAAI;AACvB,oBAAY,OAAO,cAAc,CAAC;AAAA,MACpC;AAGA,YAAM,cAAc,YAAY;AAAA,QAC9B,CAAC,MAAM,EAAE,SAAS,8BAAY,QAAQ,EAAE,SAAS;AAAA,MACnD;AAEA,WAAI,gDAAa,YAAb,mBAAsB,MAAM;AAC9B,mBAAW,MAAM;AACf,eAAK,YAAY,SAAS,YAAY,OAAO,KAAK;AAAA,QACpD,GAAG,CAAC;AAAA,MACN;AAEA,aAAO;AAAA,IACT,CAAC;AAAA,EACH,GAAG,CAAC,IAAI,CAAC;AAGT,QAAM,WAAW,MAAM;AACrB,SAAK;AACL,gBAAY,CAAC,SAAS,KAAK,IAAI,CAAC,MAAM;AAEpC,UAAI,EAAE,WAAW,gCAAc,WAAW,EAAE,WAAW,gCAAc,MAAM;AACzE,cAAM,SAAS,EAAE,GAAG,GAAG,QAAQ,gCAAc,KAAK;AAClD,YAAI,EAAE,SAAS,iBAAiB,EAAE,WAAW,gCAAc,MAAM;AAC/D,UAAC,OAAuB,QAAQ,OAAO;AAAA,QACzC;AACA,eAAO;AAAA,MACT;AACA,aAAO;AAAA,IACT,CAAC,CAAC;AAAA,EACJ;AAGA,QAAM,iBAAiB,CAAC,MAAW,OAAO,UAAU;AAClD,gBAAY,CAAC,SAAS;AACpB,YAAM,mBAA+B,CAAC;AACtC,WAAK,QAAQ,CAAC,SAAc;AAC1B,cAAM,EAAE,SAAS,aAAa,KAAK,IAAI,QAAQ,CAAC;AAEhD,YAAI,SAAS,QAAQ;AACnB,gBAAM,aAAuB;AAAA,YAC3B,MAAM;AAAA,YACN,QAAI,YAAAA,IAAO;AAAA,YACX,WAAW;AAAA,YACX,MAAM,8BAAY;AAAA,YAClB,QAAQ,gCAAc;AAAA,YACtB,SAAS;AAAA,cACP,MAAM;AAAA,YACR;AAAA,UACF;AAEA,2BAAiB,KAAK,UAAU;AAAA,QAClC,WAAW,SAAS,MAAM;AACxB,gBAAM,aAA0B;AAAA,YAC9B,QAAI,YAAAA,IAAO;AAAA,YACX,MAAM;AAAA,YACN,WAAW;AAAA,YACX,MAAM,8BAAY;AAAA,YAClB,SAAS,EAAE,MAAM,QAAQ;AAAA,YACzB,SAAS,CAAC;AAAA,YACV,QAAQ,gCAAc;AAAA,YACtB,QAAQ,KAAK;AAAA,YACb,KAAK,KAAK;AAAA,UACZ;AAEA,2BAAiB,KAAK,UAAU;AAAA,QAClC;AAAA,MACF,CAAC;AAED,UAAI,MAAM;AACR,eAAO,CAAC,GAAG,gBAAgB;AAAA,MAC7B;AACA,aAAO,CAAC,GAAG,MAAM,GAAG,gBAAgB;AAAA,IACtC,CAAC;AAAA,EACH;AAGA,QAAM,eAAe,YAAY;AAC/B,UAAM,EAAE,iBAAiB,CAAC,EAAE,IAAI;AAEhC,UAAM,EAAE,sBAAsB,CAAC,GAAG,WAAW,GAAG,IAAI,kBAAkB,CAAC;AAGvE,QAAI,UAAU;AACZ,iBAAW,YAAY,QAAQ;AAAA,IACjC,OAAO;AACL,kBAAY,CAAC,SAAS,KAAK,OAAO,CAAC,SAAM;AAhxB/C;AAgxBkD,kBAAC,UAAK,UAAL,mBAAY;AAAA,OAAQ,CAAC;AAAA,IACpE;AAGA,UAAM,iBAAiB,oBAAoB,OAAO,CAAC,SAAiB,IAAI;AAExE,QAAI,eAAe,SAAS,GAAG;AAC7B,YAAM,kBAAkB,eAAe,IAAI,CAAC,MAAc,WAAmB;AAAA,QAC3E,KAAK,QAAQ;AAAA,QACb,aAAa;AAAA,MACf,EAAE;AAEF,YAAM,cAAc,SAAS,KAAK,CAAC,SAAM;AA5xB/C;AA4xBmD,kBAAC,UAAK,UAAL,mBAAY,aAAY,KAAK,SAAS;AAAA,OAAoB;AACxG,UAAI,CAAC,aAAa;AAChB,mBAAW,WAAW,eAAe;AAAA,MACvC;AAAA,IACF,OAAO;AACL,kBAAY,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,EAAE,KAAK,SAAS,oBAAoB,CAAC;AAAA,IACnF;AAAA,EACF;AAGA,QAAM,uBAAuB,OAAO,cAAc,UAAU;AAC1D,QAAI;AACF,YAAM,EAAE,OAAO,CAAC,GAAG,YAAY,OAAO,IAAI,UAAM,6BAAiB;AAAA,QAC/D;AAAA,QACA;AAAA,QACA;AAAA,QACA,SAAS,kBAAkB;AAAA,QAC3B,UAAU,kBAAkB;AAAA,MAC9B,CAAC;AAED,WAAI,iCAAQ,UAAS,mCAAkB;AACrC,YAAI,KAAK,SAAS,GAAG;AACnB,gBAAM,iBAAiB,KAAK,IAAI,CAAC,SAAS;AACxC,mBAAO;AAAA,cACL,KAAK,KAAK;AAAA,cACV,OAAO,KAAK,SAAS;AAAA,cACrB,WAAW,IAAI,KAAK,KAAK,SAAS,EAAE,QAAQ;AAAA,cAC5C,UAAU,CAAC;AAAA,cACX,MAAM;AAAA,gBACJ,GAAG;AAAA,cACL;AAAA,YACF;AAAA,UACF,CAAC;AAED,yBAAe,cAAc;AAE7B,+BAAqB,EAAE,SAAS,kBAAkB,SAAS,UAAU,kBAAkB,UAAU,QAAO,yCAAY,UAAS,EAAE,CAAC;AAChI,gBAAM,EAAE,UAAU,IAAI,6BAAO;AAC7B,yBAAe,kBAAkB,SAAS;AAAA,QAC5C,OAAO;AAEL,yBAAe,CAAC,CAAC;AACjB,kCAAoB,YAAAA,IAAO,CAAC;AAC5B,uBAAa;AAAA,QACf;AAEA,+CAAY;AAAA,UACV,MAAM,yBAAY;AAAA,UAClB,SAAS;AAAA,QACX;AAAA,MACF,OAAO;AACL,qBAAa;AAAA,MACf;AAAA,IACF,QAAE;AAAA,IAEF;AAAA,EACF;AAGA,QAAM,oBAAoB,OAAO,cAAsB;AACrD,QAAI,WAAW;AACb,UAAI,cAAc,kBAAkB;AAClC;AAAA,MACF;AACA,0BAAoB,SAAS;AAC7B,YAAM,EAAE,MAAM,OAAO,IAAI,UAAM,+BAAmB;AAAA,QAChD;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,CAAC;AAED,WAAI,iCAAQ,UAAS,mCAAkB;AACrC,cAAM,eAAe,6BAAM,OAAO,CAAC,KAAY,QAAQ;AACrD,gBAAM,kBAAkB,MAAM,QAAQ,IAAI,eAAe,IAAI,IAAI,kBAAkB,CAAC;AACpF,gBAAM,OAAO,gBAAgB,IAAI,CAAC,SAAc;AAAA,YAC9C,GAAG;AAAA,YACH,KAAK;AAAA,YACL,QAAQ,2BAAK;AAAA,UACf,EAAE;AACF,iBAAO,CAAC,GAAG,KAAK,GAAG,IAAI;AAAA,QACzB,GAAG,CAAC;AAEJ,YAAI,aAAa,SAAS,GAAG;AAC3B,yBAAe,cAAc,IAAI;AAAA,QACnC;AAAA,MACF;AAAA,IACF,OAAO;AAEL,8BAAoB,YAAAA,IAAO,CAAC;AAAA,IAC9B;AAAA,EACF;AAGA,QAAM,gBAAgB,OAAO,cAAsB;AACjD,QAAI,CAAC;AAAW;AAChB,UAAM,EAAE,OAAO,IAAI,UAAM,yBAAa;AAAA,MACpC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AACD,SAAI,iCAAQ,UAAS,mCAAkB;AAErC,2BAAqB,KAAK;AAE1B,UAAI,cAAc,kBAAkB;AAClC,sBAAc;AAAA,MAChB;AAAA,IACF;AAAA,EACF;AAGA,QAAM,gBAAgB,OAAO,WAAmB,UAAkB;AAChE,QAAI,CAAC,aAAa,CAAC;AAAO;AAC1B,UAAM,EAAE,OAAO,IAAI,UAAM,+BAAmB;AAAA,MAC1C;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AACD,SAAI,iCAAQ,UAAS,mCAAkB;AAErC,2BAAqB,KAAK;AAAA,IAC5B;AAAA,EACF;AAGA,QAAM,gBAAgB,MAAM;AAC1B,aAAS;AACT,gBAAY,CAAC,CAAC;AACd,iBAAa;AACb,4BAAoB,YAAAA,IAAO,CAAC;AAAA,EAC9B;AAGA,8BAAU,MAAM;AACd,QAAI,SAAS;AAEX,2BAAqB,IAAI;AAAA,IAC3B;AAAA,EAEF,GAAG,CAAC,OAAO,CAAC;AAEZ,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA,SAAS,aAAa;AAAA,IACtB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAEA,IAAO,4BAAQ;",
6
+ "names": ["ActionType", "ProcessStatus", "ActionAvailability", "documentIcon", "documentExpandIcon", "qaIcon", "qaExpandIcon", "skillNoIcon", "skillNoExpandIcon", "toolIcon", "toolExpandIcon", "uuidV4", "completedIcon", "completedExpandIcon"]
7
+ }
@@ -0,0 +1,30 @@
1
+ interface IResponseData {
2
+ code: string;
3
+ httpCode?: number;
4
+ data: string | {
5
+ message: string;
6
+ };
7
+ message: string;
8
+ content: string;
9
+ requestId: string;
10
+ sessionId: string;
11
+ error?: boolean;
12
+ success?: boolean;
13
+ }
14
+ interface UseEventStreamProps {
15
+ streaming: boolean;
16
+ options?: RequestInit;
17
+ onOpen?: (response: Response) => void;
18
+ onError?: (error: Error) => void;
19
+ onClose?: () => void;
20
+ textSpeed?: number;
21
+ }
22
+ interface UseEventStreamReturn {
23
+ responseData: IResponseData | Record<any, any>;
24
+ loading: boolean;
25
+ start: (url: string, values?: any, headers?: Record<string, string>) => void;
26
+ stop: () => void;
27
+ onError?: (error: Error) => void;
28
+ }
29
+ export declare const useEventStreamRequest: ({ onOpen, onError, streaming, onClose, textSpeed, }: UseEventStreamProps) => UseEventStreamReturn;
30
+ export default useEventStreamRequest;
@@ -0,0 +1,191 @@
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/hooks/useEventStreamRequest.ts
20
+ var useEventStreamRequest_exports = {};
21
+ __export(useEventStreamRequest_exports, {
22
+ default: () => useEventStreamRequest_default,
23
+ useEventStreamRequest: () => useEventStreamRequest
24
+ });
25
+ module.exports = __toCommonJS(useEventStreamRequest_exports);
26
+ var import_react = require("react");
27
+ var import_fetch_event_source = require("@microsoft/fetch-event-source");
28
+ var import_antd = require("antd");
29
+ var import_XAiMessage = require("../types/XAiMessage");
30
+ var import_utils = require("../utils/index");
31
+ var import_constants = require("../constants/index");
32
+ var import_request = require("../utils/request");
33
+ var useEventStreamRequest = ({
34
+ onOpen = () => {
35
+ },
36
+ onError = () => {
37
+ },
38
+ streaming = true,
39
+ onClose = () => {
40
+ },
41
+ textSpeed = 60
42
+ }) => {
43
+ const contentCacheRef = (0, import_react.useRef)([]);
44
+ const streamStatusRef = (0, import_react.useRef)(0);
45
+ const [loading, setLoading] = (0, import_react.useState)(false);
46
+ const loadingRef = (0, import_react.useRef)(loading);
47
+ const [responseData, setResponseData] = (0, import_react.useState)({ content: "" });
48
+ const controllerRef = (0, import_react.useRef)(null);
49
+ const stop = () => {
50
+ var _a;
51
+ (_a = controllerRef.current) == null ? void 0 : _a.abort();
52
+ contentCacheRef.current = [];
53
+ setLoading(false);
54
+ };
55
+ const start = async (url, values, headers = {}) => {
56
+ const prefixUrl = url;
57
+ setResponseData({});
58
+ setLoading(true);
59
+ controllerRef.current = new AbortController();
60
+ const params = {
61
+ ...values
62
+ };
63
+ const { signal } = controllerRef.current;
64
+ if (streaming) {
65
+ (0, import_fetch_event_source.fetchEventSource)(prefixUrl, {
66
+ method: "POST",
67
+ openWhenHidden: true,
68
+ headers: {
69
+ "Content-Type": "application/json",
70
+ "Cache-Control": "no-cache",
71
+ stream: "true",
72
+ ...headers
73
+ },
74
+ signal,
75
+ body: JSON.stringify(params),
76
+ async onopen(response) {
77
+ streamStatusRef.current = 1;
78
+ if (response.ok && response.headers.get("content-type") === import_fetch_event_source.EventStreamContentType) {
79
+ onOpen == null ? void 0 : onOpen(response);
80
+ } else {
81
+ if (response.status === 401) {
82
+ import_antd.message.error("用户未登录,即将前往登录……");
83
+ return;
84
+ }
85
+ if (response.status === 500) {
86
+ import_antd.message.error("服务器错误,请稍后重试。");
87
+ } else if (response.status > 500) {
88
+ import_antd.message.error("网络不给力,请稍后重试。");
89
+ }
90
+ if (response.status >= 500) {
91
+ setResponseData((prevResponseData) => {
92
+ return {
93
+ ...prevResponseData,
94
+ content: "网络不给力,请稍后重试~~~~~",
95
+ requestId: "",
96
+ role: import_XAiMessage.MessageRole.assistant,
97
+ httpCode: response.status,
98
+ error: true,
99
+ code: ""
100
+ };
101
+ });
102
+ }
103
+ onError == null ? void 0 : onError(new Error(`Unexpected response status: ${response.status}`));
104
+ }
105
+ },
106
+ onmessage: (event) => {
107
+ var _a, _b;
108
+ const eventData = (0, import_utils.safeJsonParse)(event.data, {});
109
+ if (!(eventData == null ? void 0 : eventData.data) && !(eventData == null ? void 0 : eventData.content))
110
+ return;
111
+ if (((_a = eventData == null ? void 0 : eventData.result) == null ? void 0 : _a.code) !== import_constants.API_SUCCESS_CODE) {
112
+ setResponseData({
113
+ ...eventData,
114
+ code: eventData.code,
115
+ content: eventData.message || "网络不给力,请稍后重试~~",
116
+ requestId: eventData.requestId,
117
+ role: import_XAiMessage.MessageRole.assistant,
118
+ httpCode: 200,
119
+ error: true
120
+ });
121
+ stop();
122
+ return;
123
+ }
124
+ (_b = contentCacheRef.current) == null ? void 0 : _b.push(eventData);
125
+ },
126
+ onerror: (error) => {
127
+ streamStatusRef.current = 2;
128
+ setLoading(false);
129
+ onError == null ? void 0 : onError(error);
130
+ },
131
+ onclose: () => {
132
+ streamStatusRef.current = 2;
133
+ onClose();
134
+ }
135
+ });
136
+ } else {
137
+ try {
138
+ const response = await import_request.request.post(url, params);
139
+ setResponseData(response);
140
+ setLoading(false);
141
+ } catch (error) {
142
+ onError == null ? void 0 : onError(error);
143
+ setLoading(false);
144
+ }
145
+ }
146
+ };
147
+ (0, import_react.useEffect)(() => {
148
+ loadingRef.current = loading;
149
+ }, [loading]);
150
+ (0, import_react.useEffect)(() => {
151
+ const timer = setInterval(() => {
152
+ var _a, _b;
153
+ if (((_a = contentCacheRef.current) == null ? void 0 : _a.length) > 0) {
154
+ const eventData = (_b = contentCacheRef.current) == null ? void 0 : _b.shift();
155
+ const newData = eventData == null ? void 0 : eventData.data;
156
+ setResponseData((prevResponseData) => {
157
+ const prevContent = prevResponseData.content ?? "";
158
+ return {
159
+ ...eventData,
160
+ code: eventData == null ? void 0 : eventData.code,
161
+ content: `${prevContent}${newData}`,
162
+ requestId: eventData == null ? void 0 : eventData.requestId,
163
+ role: import_XAiMessage.MessageRole.assistant
164
+ };
165
+ });
166
+ } else if (streamStatusRef.current === 2 && loadingRef.current) {
167
+ streamStatusRef.current = 0;
168
+ setLoading(false);
169
+ }
170
+ }, textSpeed);
171
+ return () => clearInterval(timer);
172
+ }, []);
173
+ (0, import_react.useEffect)(() => {
174
+ return () => {
175
+ stop();
176
+ };
177
+ }, []);
178
+ return {
179
+ responseData,
180
+ loading,
181
+ start,
182
+ stop,
183
+ onError
184
+ };
185
+ };
186
+ var useEventStreamRequest_default = useEventStreamRequest;
187
+ // Annotate the CommonJS export names for ESM import in node:
188
+ 0 && (module.exports = {
189
+ useEventStreamRequest
190
+ });
191
+ //# sourceMappingURL=useEventStreamRequest.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/hooks/useEventStreamRequest.ts"],
4
+ "sourcesContent": ["import { useState, useEffect, useRef } from 'react';\nimport { fetchEventSource, EventStreamContentType } from '@microsoft/fetch-event-source';\nimport { message } from 'antd';\nimport { MessageRole } from '@/types/XAiMessage';\nimport { safeJsonParse } from '@/utils/index';\nimport { API_SUCCESS_CODE } from '@/constants/index';\nimport { request } from '@/utils/request';\n\ninterface IResponseData {\n code: string;\n httpCode?: number;\n data: string | { message: string };\n message: string;\n content: string;\n requestId: string;\n sessionId: string;\n error?: boolean;\n success?: boolean;\n}\ninterface UseEventStreamProps {\n streaming: boolean;\n options?: RequestInit;\n onOpen?: (response: Response) => void;\n onError?: (error: Error) => void;\n onClose?: () => void;\n textSpeed?: number;\n}\n\ninterface UseEventStreamReturn {\n responseData: IResponseData | Record<any, any>;\n loading: boolean;\n start: (url: string, values?: any, headers?: Record<string, string>) => void;\n stop: () => void;\n onError?: (error: Error) => void;\n}\n\nexport const useEventStreamRequest = ({\n onOpen = () => {},\n onError = () => {},\n streaming = true,\n onClose = () => {},\n textSpeed = 60,\n}: UseEventStreamProps): UseEventStreamReturn => {\n // 使用 useRef 作为临时缓存区,降低 setState 频率\n const contentCacheRef = useRef<IResponseData[]>([]); // 存放当前完整文本\n const streamStatusRef = useRef<number>(0); // 流式接收状态 0: 未开始 1: 进行中 2: 结束\n const [loading, setLoading] = useState<boolean>(false);\n const loadingRef = useRef(loading);\n const [responseData, setResponseData] = useState<IResponseData | Record<any, any>>({ content: '' });\n const controllerRef = useRef<AbortController | null>(null);\n\n // 停止接收请求\n const stop = () => {\n controllerRef.current?.abort();\n contentCacheRef.current = []; // 立即清空缓存区\n setLoading(false);\n };\n\n const start = async (url: string, values?: any, headers = {}) => {\n const prefixUrl = url;\n setResponseData({});\n setLoading(true);\n controllerRef.current = new AbortController();\n const params = {\n ...values,\n };\n\n const { signal } = controllerRef.current;\n\n if (streaming) {\n fetchEventSource(prefixUrl, {\n method: 'POST',\n openWhenHidden: true,\n headers: {\n 'Content-Type': 'application/json',\n 'Cache-Control': 'no-cache',\n stream: 'true',\n ...headers,\n },\n signal,\n body: JSON.stringify(params),\n async onopen(response) {\n streamStatusRef.current = 1;\n if (response.ok && response.headers.get('content-type') === EventStreamContentType) {\n onOpen?.(response);\n } else {\n if (response.status === 401) {\n message.error('用户未登录,即将前往登录……');\n // todo 需要修改\n return;\n } if (response.status === 500) {\n message.error('服务器错误,请稍后重试。'); // 使用Antd的message组件给出提示\n } else if (response.status > 500) {\n message.error('网络不给力,请稍后重试。');\n }\n if (response.status >= 500) {\n setResponseData((prevResponseData: IResponseData) => {\n return {\n ...prevResponseData,\n content: '网络不给力,请稍后重试~~~~~',\n requestId: '',\n role: MessageRole.assistant,\n httpCode: response.status,\n error: true,\n code: '',\n };\n });\n }\n onError?.(new Error(`Unexpected response status: ${response.status}`));\n }\n },\n onmessage: (event: { data: string }) => {\n // 解析事件数据\n const eventData = safeJsonParse(event.data, {});\n // 空消息处理\n if (!eventData?.data && !eventData?.content) return;\n // 如果请求失败,则停止请求\n if (eventData?.result?.code !== API_SUCCESS_CODE) {\n setResponseData({\n ...eventData,\n code: eventData.code,\n content: eventData.message || '网络不给力,请稍后重试~~',\n requestId: eventData.requestId,\n role: MessageRole.assistant,\n httpCode: 200,\n error: true,\n });\n stop();\n return;\n }\n // 推送内容到缓存区,后续通过Interval定时器,将缓存区内容设置到响应数据中\n contentCacheRef.current?.push(eventData);\n },\n onerror: (error: Error) => {\n streamStatusRef.current = 2;\n setLoading(false);\n onError?.(error);\n },\n onclose: () => {\n streamStatusRef.current = 2;\n onClose();\n },\n });\n } else {\n try {\n const response = await request.post(url, params);\n setResponseData(response);\n setLoading(false);\n } catch (error: any) {\n onError?.(error);\n setLoading(false);\n }\n }\n };\n\n useEffect(() => {\n loadingRef.current = loading;\n }, [loading]);\n\n // 初始化定时器 将缓存区有新内容时设置到响应数据中\n useEffect(() => {\n const timer = setInterval(() => {\n if (contentCacheRef.current?.length > 0) {\n // 如果缓存区有新内容,则设置到响应数据中\n const eventData = contentCacheRef.current?.shift();\n const newData = eventData?.data;\n setResponseData((prevResponseData: IResponseData) => {\n const prevContent = prevResponseData.content ?? '';\n return {\n ...eventData,\n code: eventData?.code,\n content: `${prevContent}${newData}`,\n requestId: eventData?.requestId,\n role: MessageRole.assistant,\n };\n });\n } else if (streamStatusRef.current === 2 && loadingRef.current) {\n streamStatusRef.current = 0;\n setLoading(false);\n }\n }, textSpeed); // 渲染间隔\n\n return () => clearInterval(timer);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n return () => {\n stop();\n };\n }, []);\n\n return {\n responseData,\n loading,\n start,\n stop,\n onError,\n };\n};\n\nexport default useEventStreamRequest;\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,34 @@
1
+ import type { XAiContextType } from "../context/AiProviderContext";
2
+ import type { SendContent } from "../types";
3
+ export interface UseProviderContextOptions<T> {
4
+ props: T;
5
+ providerProps?: (keyof XAiContextType)[];
6
+ mergeLogic?: (props: T, context: XAiContextType | undefined) => T;
7
+ }
8
+ export interface UseProviderContextReturn<T> {
9
+ mergedProps: T;
10
+ isInProvider: boolean;
11
+ context: XAiContextType | undefined;
12
+ getProviderValue: <K extends keyof XAiContextType>(key: K) => XAiContextType[K] | undefined;
13
+ }
14
+ export type MethodCaller<T extends any[] = any[], R = any> = (...args: T) => R;
15
+ export interface ProviderMethods {
16
+ isInProvider: boolean;
17
+ sendMessage: MethodCaller<[SendContent], void>;
18
+ stopGeneration: MethodCaller<[], void>;
19
+ clearMessages: MethodCaller<[], void>;
20
+ regenerateLastMessage: MethodCaller<[string], void>;
21
+ }
22
+ /**
23
+ * 通用的 Provider 上下文 Hook
24
+ * 用于判断组件是否在 XAiProvider 中,并合并相关属性
25
+ */
26
+ export declare const useProviderContext: <T extends Record<string, any>>(options: UseProviderContextOptions<T>) => UseProviderContextReturn<T>;
27
+ /**
28
+ * 专门为 XAiChatbot 设计的 Hook
29
+ */
30
+ export declare const useChatbotContext: (componentProps: any) => UseProviderContextReturn<any>;
31
+ /**
32
+ * 通用的 Provider 方法调用 Hook
33
+ */
34
+ export declare const useProviderMethods: () => ProviderMethods;
@@ -0,0 +1,105 @@
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/hooks/useProviderContext.ts
20
+ var useProviderContext_exports = {};
21
+ __export(useProviderContext_exports, {
22
+ useChatbotContext: () => useChatbotContext,
23
+ useProviderContext: () => useProviderContext,
24
+ useProviderMethods: () => useProviderMethods
25
+ });
26
+ module.exports = __toCommonJS(useProviderContext_exports);
27
+ var import_AiProviderContext = require("../context/AiProviderContext");
28
+ var useProviderContext = (options) => {
29
+ const { props, providerProps, mergeLogic } = options;
30
+ const context = (0, import_AiProviderContext.useXAi)();
31
+ const isInProvider = !!(context == null ? void 0 : context.isInProvider);
32
+ let mergedProps;
33
+ if (mergeLogic) {
34
+ mergedProps = mergeLogic(props, context);
35
+ } else if (context && isInProvider) {
36
+ mergedProps = { ...props, ...context };
37
+ } else {
38
+ mergedProps = props;
39
+ }
40
+ const getProviderValue = (key) => {
41
+ return context == null ? void 0 : context[key];
42
+ };
43
+ return {
44
+ mergedProps,
45
+ isInProvider,
46
+ context,
47
+ getProviderValue
48
+ };
49
+ };
50
+ var useChatbotContext = (componentProps) => {
51
+ return useProviderContext({
52
+ props: componentProps,
53
+ mergeLogic: (props, context) => {
54
+ if (!(context == null ? void 0 : context.isInProvider)) {
55
+ return props;
56
+ }
57
+ const { messages: contextMessages, loading: contextLoading, ...restContext } = context;
58
+ return {
59
+ ...props,
60
+ ...restContext,
61
+ // 优先使用 Provider 的状态,如果没有则使用 props
62
+ messages: contextMessages || props.messages || [],
63
+ loading: contextLoading || props.loading || false,
64
+ // 确保 onSend 等回调函数也被合并
65
+ onSend: context.onSend || props.onSend,
66
+ onClear: context.onClear || props.onClear,
67
+ onStop: context.onStop || props.onStop,
68
+ onSuggestMessageClick: context.onSuggestMessageClick || props.onSuggestMessageClick,
69
+ onMessagesActionsCallback: context.onMessagesActionsCallback || props.onMessagesActionsCallback
70
+ };
71
+ }
72
+ });
73
+ };
74
+ var useProviderMethods = () => {
75
+ const context = (0, import_AiProviderContext.useXAi)();
76
+ const callMethod = (methodName, ...args) => {
77
+ if ((context == null ? void 0 : context.isInProvider) && typeof context[methodName] === "function") {
78
+ return context[methodName](...args);
79
+ }
80
+ return void 0;
81
+ };
82
+ const createMethodCaller = (providerMethod, argsTransformer) => {
83
+ return (...args) => {
84
+ if ((context == null ? void 0 : context.isInProvider) && typeof context[providerMethod] === "function") {
85
+ const transformedArgs = argsTransformer ? argsTransformer(args) : args;
86
+ return context[providerMethod](...transformedArgs);
87
+ }
88
+ return void 0;
89
+ };
90
+ };
91
+ return {
92
+ isInProvider: !!(context == null ? void 0 : context.isInProvider),
93
+ sendMessage: createMethodCaller("onSend"),
94
+ stopGeneration: createMethodCaller("onStop"),
95
+ clearMessages: createMethodCaller("onClear"),
96
+ regenerateLastMessage: createMethodCaller("onSend")
97
+ };
98
+ };
99
+ // Annotate the CommonJS export names for ESM import in node:
100
+ 0 && (module.exports = {
101
+ useChatbotContext,
102
+ useProviderContext,
103
+ useProviderMethods
104
+ });
105
+ //# sourceMappingURL=useProviderContext.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/hooks/useProviderContext.ts"],
4
+ "sourcesContent": ["import { useXAi } from '@/context/AiProviderContext';\nimport type { XAiContextType } from '@/context/AiProviderContext';\nimport type { SendContent } from '@/types';\n\nexport interface UseProviderContextOptions<T> {\n // 组件自身的 props\n props: T;\n // 需要从 Provider 中获取的属性\n providerProps?: (keyof XAiContextType)[];\n // 自定义合并逻辑\n mergeLogic?: (props: T, context: XAiContextType | undefined) => T;\n}\n\nexport interface UseProviderContextReturn<T> {\n // 合并后的 props\n mergedProps: T;\n // 是否在 Provider 中\n isInProvider: boolean;\n // Provider 上下文\n context: XAiContextType | undefined;\n // 从 Provider 中获取特定属性\n getProviderValue: <K extends keyof XAiContextType>(key: K) => XAiContextType[K] | undefined;\n}\n\n// 定义方法调用器的类型\nexport type MethodCaller<T extends any[] = any[], R = any> = (...args: T) => R;\n\n// 定义 Provider 方法的类型\nexport interface ProviderMethods {\n isInProvider: boolean;\n sendMessage: MethodCaller<[SendContent], void>;\n stopGeneration: MethodCaller<[], void>;\n clearMessages: MethodCaller<[], void>;\n regenerateLastMessage: MethodCaller<[string], void>;\n}\n\n/**\n * 通用的 Provider 上下文 Hook\n * 用于判断组件是否在 XAiProvider 中,并合并相关属性\n */\nexport const useProviderContext = <T extends Record<string, any>>(\n options: UseProviderContextOptions<T>,\n): UseProviderContextReturn<T> => {\n const { props, providerProps, mergeLogic } = options;\n\n // 获取 Provider 上下文\n const context = useXAi();\n\n // 判断是否在 Provider 中\n const isInProvider = !!context?.isInProvider;\n\n // 合并 props 和 context\n let mergedProps: T;\n if (mergeLogic) {\n mergedProps = mergeLogic(props, context);\n } else if (context && isInProvider) {\n mergedProps = { ...props, ...context };\n } else {\n mergedProps = props;\n }\n\n // 获取 Provider 中的特定值\n const getProviderValue = <K extends keyof XAiContextType>(key: K): XAiContextType[K] | undefined => {\n return context?.[key];\n };\n\n return {\n mergedProps,\n isInProvider,\n context,\n getProviderValue,\n };\n};\n\n/**\n * 专门为 XAiChatbot 设计的 Hook\n */\nexport const useChatbotContext = (componentProps: any) => {\n return useProviderContext({\n props: componentProps,\n mergeLogic: (props, context) => {\n if (!context?.isInProvider) {\n return props;\n }\n\n // 智能合并逻辑 - 合并所有 Provider 提供的属性\n const { messages: contextMessages, loading: contextLoading, ...restContext } = context;\n return {\n ...props,\n ...restContext,\n // 优先使用 Provider 的状态,如果没有则使用 props\n messages: contextMessages || props.messages || [],\n loading: contextLoading || props.loading || false,\n // 确保 onSend 等回调函数也被合并\n onSend: context.onSend || props.onSend,\n onClear: context.onClear || props.onClear,\n onStop: context.onStop || props.onStop,\n onSuggestMessageClick: context.onSuggestMessageClick || props.onSuggestMessageClick,\n onMessagesActionsCallback: context.onMessagesActionsCallback || props.onMessagesActionsCallback,\n };\n },\n });\n};\n\n/**\n * 通用的 Provider 方法调用 Hook\n */\nexport const useProviderMethods = (): ProviderMethods => {\n const context = useXAi();\n\n const callMethod = (methodName: keyof XAiContextType, ...args: any[]) => {\n if (context?.isInProvider && typeof context[methodName] === 'function') {\n return (context[methodName] as Function)(...args);\n }\n return undefined;\n };\n\n // 创建统一的方法调用器,支持参数转换\n const createMethodCaller = (\n providerMethod: string,\n argsTransformer?: (args: any[]) => any[],\n ): MethodCaller => {\n return (...args: any[]) => {\n // 如果 Provider 方法存在,直接调用并返回\n if (context?.isInProvider && typeof context[providerMethod as keyof XAiContextType] === 'function') {\n const transformedArgs = argsTransformer ? argsTransformer(args) : args;\n return (context[providerMethod as keyof XAiContextType] as Function)(...transformedArgs);\n }\n return undefined;\n };\n };\n\n return {\n isInProvider: !!context?.isInProvider,\n sendMessage: createMethodCaller('onSend'),\n stopGeneration: createMethodCaller('onStop'),\n clearMessages: createMethodCaller('onClear'),\n regenerateLastMessage: createMethodCaller('onSend'),\n };\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,+BAAuB;AAwChB,IAAM,qBAAqB,CAChC,YACgC;AAChC,QAAM,EAAE,OAAO,eAAe,WAAW,IAAI;AAG7C,QAAM,cAAU,iCAAO;AAGvB,QAAM,eAAe,CAAC,EAAC,mCAAS;AAGhC,MAAI;AACJ,MAAI,YAAY;AACd,kBAAc,WAAW,OAAO,OAAO;AAAA,EACzC,WAAW,WAAW,cAAc;AAClC,kBAAc,EAAE,GAAG,OAAO,GAAG,QAAQ;AAAA,EACvC,OAAO;AACL,kBAAc;AAAA,EAChB;AAGA,QAAM,mBAAmB,CAAiC,QAA0C;AAClG,WAAO,mCAAU;AAAA,EACnB;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAKO,IAAM,oBAAoB,CAAC,mBAAwB;AACxD,SAAO,mBAAmB;AAAA,IACxB,OAAO;AAAA,IACP,YAAY,CAAC,OAAO,YAAY;AAC9B,UAAI,EAAC,mCAAS,eAAc;AAC1B,eAAO;AAAA,MACT;AAGA,YAAM,EAAE,UAAU,iBAAiB,SAAS,gBAAgB,GAAG,YAAY,IAAI;AAC/E,aAAO;AAAA,QACL,GAAG;AAAA,QACH,GAAG;AAAA;AAAA,QAEH,UAAU,mBAAmB,MAAM,YAAY,CAAC;AAAA,QAChD,SAAS,kBAAkB,MAAM,WAAW;AAAA;AAAA,QAE5C,QAAQ,QAAQ,UAAU,MAAM;AAAA,QAChC,SAAS,QAAQ,WAAW,MAAM;AAAA,QAClC,QAAQ,QAAQ,UAAU,MAAM;AAAA,QAChC,uBAAuB,QAAQ,yBAAyB,MAAM;AAAA,QAC9D,2BAA2B,QAAQ,6BAA6B,MAAM;AAAA,MACxE;AAAA,IACF;AAAA,EACF,CAAC;AACH;AAKO,IAAM,qBAAqB,MAAuB;AACvD,QAAM,cAAU,iCAAO;AAEvB,QAAM,aAAa,CAAC,eAAqC,SAAgB;AACvE,SAAI,mCAAS,iBAAgB,OAAO,QAAQ,UAAU,MAAM,YAAY;AACtE,aAAQ,QAAQ,UAAU,EAAe,GAAG,IAAI;AAAA,IAClD;AACA,WAAO;AAAA,EACT;AAGA,QAAM,qBAAqB,CACzB,gBACA,oBACiB;AACjB,WAAO,IAAI,SAAgB;AAEzB,WAAI,mCAAS,iBAAgB,OAAO,QAAQ,cAAsC,MAAM,YAAY;AAClG,cAAM,kBAAkB,kBAAkB,gBAAgB,IAAI,IAAI;AAClE,eAAQ,QAAQ,cAAsC,EAAe,GAAG,eAAe;AAAA,MACzF;AACA,aAAO;AAAA,IACT;AAAA,EACF;AAEA,SAAO;AAAA,IACL,cAAc,CAAC,EAAC,mCAAS;AAAA,IACzB,aAAa,mBAAmB,QAAQ;AAAA,IACxC,gBAAgB,mBAAmB,QAAQ;AAAA,IAC3C,eAAe,mBAAmB,SAAS;AAAA,IAC3C,uBAAuB,mBAAmB,QAAQ;AAAA,EACpD;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import { XAiProviderProps } from "../types/XAiProvider";
3
+ export interface UseXAiSDKOptions extends XAiProviderProps {
4
+ containerId?: string;
5
+ width?: string | number;
6
+ height?: string | number;
7
+ className?: string;
8
+ style?: React.CSSProperties;
9
+ }
10
+ export declare const useXAiSDK: (options: UseXAiSDKOptions) => {
11
+ containerRef: React.RefObject<HTMLDivElement | null>;
12
+ render: () => import("react/jsx-runtime").JSX.Element;
13
+ };
14
+ export default useXAiSDK;
@@ -0,0 +1,76 @@
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/hooks/useXAiSDK.tsx
30
+ var useXAiSDK_exports = {};
31
+ __export(useXAiSDK_exports, {
32
+ default: () => useXAiSDK_default,
33
+ useXAiSDK: () => useXAiSDK
34
+ });
35
+ module.exports = __toCommonJS(useXAiSDK_exports);
36
+ var import_react = require("react");
37
+ var import_XAiProvider = __toESM(require("../components/XAiProvider"));
38
+ var import_XAiChatbot = __toESM(require("../components/XAiChatbot"));
39
+ var import_jsx_runtime = require("react/jsx-runtime");
40
+ var useXAiSDK = (options) => {
41
+ const containerRef = (0, import_react.useRef)(null);
42
+ const {
43
+ containerId = "xai-chatbot-container",
44
+ width = "400px",
45
+ height = "600px",
46
+ className,
47
+ style,
48
+ ...providerProps
49
+ } = options;
50
+ (0, import_react.useEffect)(() => {
51
+ if (containerRef.current) {
52
+ const container = containerRef.current;
53
+ if (!container.querySelector(".xai-chatbot-wrapper")) {
54
+ const wrapper = document.createElement("div");
55
+ wrapper.className = "xai-chatbot-wrapper";
56
+ wrapper.style.width = typeof width === "number" ? `${width}px` : width;
57
+ wrapper.style.height = typeof height === "number" ? `${height}px` : height;
58
+ if (className)
59
+ wrapper.className += ` ${className}`;
60
+ if (style)
61
+ Object.assign(wrapper.style, style);
62
+ container.appendChild(wrapper);
63
+ }
64
+ }
65
+ }, [containerId, width, height, className, style]);
66
+ return {
67
+ containerRef,
68
+ render: () => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { ref: containerRef, id: containerId, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_XAiProvider.default, { ...providerProps, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_XAiChatbot.default, {}) }) })
69
+ };
70
+ };
71
+ var useXAiSDK_default = useXAiSDK;
72
+ // Annotate the CommonJS export names for ESM import in node:
73
+ 0 && (module.exports = {
74
+ useXAiSDK
75
+ });
76
+ //# sourceMappingURL=useXAiSDK.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/hooks/useXAiSDK.tsx"],
4
+ "sourcesContent": ["import React, { useEffect, useRef } from 'react';\nimport { XAiProviderProps } from '@/types/XAiProvider';\nimport XAiProvider from '@/components/XAiProvider';\nimport XAiChatbot from '@/components/XAiChatbot';\n\nexport interface UseXAiSDKOptions extends XAiProviderProps {\n containerId?: string;\n width?: string | number;\n height?: string | number;\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport const useXAiSDK = (options: UseXAiSDKOptions) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const {\n containerId = 'xai-chatbot-container',\n width = '400px',\n height = '600px',\n className,\n style,\n ...providerProps\n } = options;\n\n useEffect(() => {\n if (containerRef.current) {\n // 确保容器存在\n const container = containerRef.current;\n if (!container.querySelector('.xai-chatbot-wrapper')) {\n // 创建包装器\n const wrapper = document.createElement('div');\n wrapper.className = 'xai-chatbot-wrapper';\n wrapper.style.width = typeof width === 'number' ? `${width}px` : width;\n wrapper.style.height = typeof height === 'number' ? `${height}px` : height;\n if (className) wrapper.className += ` ${className}`;\n if (style) Object.assign(wrapper.style, style);\n \n container.appendChild(wrapper);\n }\n }\n }, [containerId, width, height, className, style]);\n\n return {\n containerRef,\n render: () => (\n <div ref={containerRef} id={containerId}>\n <XAiProvider {...providerProps}>\n <XAiChatbot />\n </XAiProvider>\n </div>\n ),\n };\n};\n\nexport default useXAiSDK; "],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAyC;AAEzC,yBAAwB;AACxB,wBAAuB;AA4Cb;AAlCH,IAAM,YAAY,CAAC,YAA8B;AACtD,QAAM,mBAAe,qBAAuB,IAAI;AAChD,QAAM;AAAA,IACJ,cAAc;AAAA,IACd,QAAQ;AAAA,IACR,SAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,IAAI;AAEJ,8BAAU,MAAM;AACd,QAAI,aAAa,SAAS;AAExB,YAAM,YAAY,aAAa;AAC/B,UAAI,CAAC,UAAU,cAAc,sBAAsB,GAAG;AAEpD,cAAM,UAAU,SAAS,cAAc,KAAK;AAC5C,gBAAQ,YAAY;AACpB,gBAAQ,MAAM,QAAQ,OAAO,UAAU,WAAW,GAAG,YAAY;AACjE,gBAAQ,MAAM,SAAS,OAAO,WAAW,WAAW,GAAG,aAAa;AACpE,YAAI;AAAW,kBAAQ,aAAa,IAAI;AACxC,YAAI;AAAO,iBAAO,OAAO,QAAQ,OAAO,KAAK;AAE7C,kBAAU,YAAY,OAAO;AAAA,MAC/B;AAAA,IACF;AAAA,EACF,GAAG,CAAC,aAAa,OAAO,QAAQ,WAAW,KAAK,CAAC;AAEjD,SAAO;AAAA,IACL;AAAA,IACA,QAAQ,MACN,4CAAC,SAAI,KAAK,cAAc,IAAI,aAC1B,sDAAC,mBAAAA,SAAA,EAAa,GAAG,eACf,sDAAC,kBAAAC,SAAA,EAAW,GACd,GACF;AAAA,EAEJ;AACF;AAEA,IAAO,oBAAQ;",
6
+ "names": ["XAiProvider", "XAiChatbot"]
7
+ }