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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (277) hide show
  1. package/dist/cjs/components/XAdkChatbot/XAdkChatbot.stories.d.ts +9 -2
  2. package/dist/cjs/components/XAdkChatbot/XAdkChatbot.stories.js +564 -10
  3. package/dist/cjs/components/XAdkChatbot/XAdkChatbot.stories.js.map +2 -2
  4. package/dist/cjs/components/XAdkChatbot/components/FileGallery/index.d.ts +12 -0
  5. package/dist/cjs/components/XAdkChatbot/components/FileGallery/index.js +92 -0
  6. package/dist/cjs/components/XAdkChatbot/components/FileGallery/index.js.map +7 -0
  7. package/dist/cjs/components/XAdkChatbot/components/FileGallery/styles.d.ts +44 -0
  8. package/dist/cjs/components/XAdkChatbot/components/FileGallery/styles.js +137 -0
  9. package/dist/cjs/components/XAdkChatbot/components/FileGallery/styles.js.map +7 -0
  10. package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/index.d.ts +1 -1
  11. package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/index.js +41 -5
  12. package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/index.js.map +2 -2
  13. package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/styles.d.ts +1 -0
  14. package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/styles.js +14 -3
  15. package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/styles.js.map +2 -2
  16. package/dist/cjs/components/XAdkChatbot/index.d.ts +11 -1
  17. package/dist/cjs/components/XAdkChatbot/index.js +294 -108
  18. package/dist/cjs/components/XAdkChatbot/index.js.map +3 -3
  19. package/dist/cjs/components/XAdkChatbot/styles.d.ts +10 -0
  20. package/dist/cjs/components/XAdkChatbot/styles.js +67 -3
  21. package/dist/cjs/components/XAdkChatbot/styles.js.map +2 -2
  22. package/dist/cjs/components/XAdkProvider/XAdkProvider.stories.d.ts +10 -0
  23. package/dist/cjs/components/XAdkProvider/XAdkProvider.stories.js +394 -0
  24. package/dist/cjs/components/XAdkProvider/XAdkProvider.stories.js.map +7 -0
  25. package/dist/cjs/components/XAdkProvider/compound/Chatbot.d.ts +30 -0
  26. package/dist/cjs/components/XAdkProvider/compound/Chatbot.js +64 -0
  27. package/dist/cjs/components/XAdkProvider/compound/Chatbot.js.map +7 -0
  28. package/dist/cjs/components/XAdkProvider/compound/DefaultLayout.d.ts +26 -0
  29. package/dist/cjs/components/XAdkProvider/compound/DefaultLayout.js +199 -0
  30. package/dist/cjs/components/XAdkProvider/compound/DefaultLayout.js.map +7 -0
  31. package/dist/cjs/components/XAdkProvider/compound/DislikeFeedBack.d.ts +8 -0
  32. package/dist/cjs/components/XAdkProvider/compound/DislikeFeedBack.js +117 -0
  33. package/dist/cjs/components/XAdkProvider/compound/DislikeFeedBack.js.map +7 -0
  34. package/dist/cjs/components/XAdkProvider/compound/FeedbackTags.d.ts +7 -0
  35. package/dist/cjs/components/XAdkProvider/compound/FeedbackTags.js +64 -0
  36. package/dist/cjs/components/XAdkProvider/compound/FeedbackTags.js.map +7 -0
  37. package/dist/cjs/components/XAdkProvider/compound/Header.d.ts +25 -0
  38. package/dist/cjs/components/XAdkProvider/compound/Header.js +70 -0
  39. package/dist/cjs/components/XAdkProvider/compound/Header.js.map +7 -0
  40. package/dist/cjs/components/XAdkProvider/compound/Messages.d.ts +17 -0
  41. package/dist/cjs/components/XAdkProvider/compound/Messages.js +70 -0
  42. package/dist/cjs/components/XAdkProvider/compound/Messages.js.map +7 -0
  43. package/dist/cjs/components/XAdkProvider/compound/Sender.d.ts +27 -0
  44. package/dist/cjs/components/XAdkProvider/compound/Sender.js +55 -0
  45. package/dist/cjs/components/XAdkProvider/compound/Sender.js.map +7 -0
  46. package/dist/cjs/components/XAdkProvider/compound/Sidebar.d.ts +24 -0
  47. package/dist/cjs/components/XAdkProvider/compound/Sidebar.js +151 -0
  48. package/dist/cjs/components/XAdkProvider/compound/Sidebar.js.map +7 -0
  49. package/dist/cjs/components/XAdkProvider/compound/Welcome.d.ts +6 -0
  50. package/dist/cjs/components/XAdkProvider/compound/Welcome.js +60 -0
  51. package/dist/cjs/components/XAdkProvider/compound/Welcome.js.map +7 -0
  52. package/dist/cjs/components/XAdkProvider/compound/index.d.ts +17 -0
  53. package/dist/cjs/components/XAdkProvider/compound/index.js +55 -0
  54. package/dist/cjs/components/XAdkProvider/compound/index.js.map +7 -0
  55. package/dist/cjs/components/XAdkProvider/compound/styles.d.ts +36 -0
  56. package/dist/cjs/components/XAdkProvider/compound/styles.js +49 -0
  57. package/dist/cjs/components/XAdkProvider/compound/styles.js.map +7 -0
  58. package/dist/cjs/components/XAdkProvider/context/ChatActionContext.d.ts +30 -0
  59. package/dist/cjs/components/XAdkProvider/context/ChatActionContext.js +40 -0
  60. package/dist/cjs/components/XAdkProvider/context/ChatActionContext.js.map +7 -0
  61. package/dist/cjs/components/XAdkProvider/context/ChatStateContext.d.ts +35 -0
  62. package/dist/cjs/components/XAdkProvider/context/ChatStateContext.js +42 -0
  63. package/dist/cjs/components/XAdkProvider/context/ChatStateContext.js.map +7 -0
  64. package/dist/cjs/components/XAdkProvider/context/SessionContext.d.ts +29 -0
  65. package/dist/cjs/components/XAdkProvider/context/SessionContext.js +40 -0
  66. package/dist/cjs/components/XAdkProvider/context/SessionContext.js.map +7 -0
  67. package/dist/cjs/components/XAdkProvider/context/index.d.ts +7 -0
  68. package/dist/cjs/components/XAdkProvider/context/index.js +28 -0
  69. package/dist/cjs/components/XAdkProvider/context/index.js.map +7 -0
  70. package/dist/cjs/components/XAdkProvider/index.d.ts +55 -0
  71. package/dist/cjs/components/XAdkProvider/index.js +221 -0
  72. package/dist/cjs/components/XAdkProvider/index.js.map +7 -0
  73. package/dist/cjs/components/{XAdkWebProvider → XAdkProvider}/styles.js +2 -1
  74. package/dist/cjs/components/XAdkProvider/styles.js.map +7 -0
  75. package/dist/cjs/components/XAdkSender/FileGallery.d.ts +8 -0
  76. package/dist/cjs/components/XAdkSender/FileGallery.js +381 -0
  77. package/dist/cjs/components/XAdkSender/FileGallery.js.map +7 -0
  78. package/dist/cjs/components/XAdkSender/index.js +95 -81
  79. package/dist/cjs/components/XAdkSender/index.js.map +3 -3
  80. package/dist/cjs/components/XAdkSender/styles.d.ts +0 -9
  81. package/dist/cjs/components/XAdkSender/styles.js +21 -150
  82. package/dist/cjs/components/XAdkSender/styles.js.map +2 -2
  83. package/dist/cjs/components/XAiConversations/index.js +1 -1
  84. package/dist/cjs/components/XAiConversations/index.js.map +2 -2
  85. package/dist/cjs/components/XAiConversations/styles.js +5 -0
  86. package/dist/cjs/components/XAiConversations/styles.js.map +2 -2
  87. package/dist/cjs/components/XAiThoughtChain/XAiThoughtChain.stories.d.ts +6 -0
  88. package/dist/cjs/components/XAiThoughtChain/XAiThoughtChain.stories.js +180 -0
  89. package/dist/cjs/components/XAiThoughtChain/XAiThoughtChain.stories.js.map +7 -0
  90. package/dist/cjs/components/XAiThoughtChain/index.d.ts +4 -0
  91. package/dist/cjs/components/XAiThoughtChain/index.js +155 -0
  92. package/dist/cjs/components/XAiThoughtChain/index.js.map +7 -0
  93. package/dist/cjs/components/XAiThoughtChain/styles.d.ts +60 -0
  94. package/dist/cjs/components/XAiThoughtChain/styles.js +195 -0
  95. package/dist/cjs/components/XAiThoughtChain/styles.js.map +7 -0
  96. package/dist/cjs/hooks/useADKChat.d.ts +9 -3
  97. package/dist/cjs/hooks/useADKChat.js +246 -182
  98. package/dist/cjs/hooks/useADKChat.js.map +2 -2
  99. package/dist/cjs/index.d.ts +25 -9
  100. package/dist/cjs/index.js +37 -0
  101. package/dist/cjs/index.js.map +3 -3
  102. package/dist/cjs/styles/common.js +1 -1
  103. package/dist/cjs/styles/common.js.map +2 -2
  104. package/dist/cjs/types/ChatHook.d.ts +81 -0
  105. package/dist/cjs/types/ChatHook.js +18 -0
  106. package/dist/cjs/types/ChatHook.js.map +7 -0
  107. package/dist/cjs/types/XAdkChatbot.d.ts +80 -15
  108. package/dist/cjs/types/XAdkChatbot.js.map +1 -1
  109. package/dist/cjs/types/XAdkProvider.d.ts +10 -27
  110. package/dist/cjs/types/XAdkProvider.js.map +2 -2
  111. package/dist/cjs/types/XAdkSender.d.ts +18 -0
  112. package/dist/cjs/types/XAdkSender.js.map +1 -1
  113. package/dist/cjs/types/XAiConversations.d.ts +4 -2
  114. package/dist/cjs/types/XAiConversations.js.map +1 -1
  115. package/dist/cjs/types/XAiThoughtChain.d.ts +25 -0
  116. package/dist/cjs/types/XAiThoughtChain.js +18 -0
  117. package/dist/cjs/types/XAiThoughtChain.js.map +7 -0
  118. package/dist/cjs/types/index.d.ts +9 -8
  119. package/dist/cjs/types/index.js +2 -0
  120. package/dist/cjs/types/index.js.map +2 -2
  121. package/dist/cjs/utils/index.d.ts +2 -0
  122. package/dist/cjs/utils/index.js +11 -1
  123. package/dist/cjs/utils/index.js.map +2 -2
  124. package/dist/cjs/utils/parseAgentMessage.d.ts +81 -0
  125. package/dist/cjs/utils/parseAgentMessage.js +180 -0
  126. package/dist/cjs/utils/parseAgentMessage.js.map +7 -0
  127. package/dist/cjs/utils/umdEntry.d.ts +91 -0
  128. package/dist/cjs/utils/umdEntry.js +108 -6
  129. package/dist/cjs/utils/umdEntry.js.map +3 -3
  130. package/dist/esm/components/XAdkChatbot/XAdkChatbot.stories.d.ts +9 -2
  131. package/dist/esm/components/XAdkChatbot/XAdkChatbot.stories.js +485 -8
  132. package/dist/esm/components/XAdkChatbot/XAdkChatbot.stories.js.map +1 -1
  133. package/dist/esm/components/XAdkChatbot/components/FileGallery/index.d.ts +12 -0
  134. package/dist/esm/components/XAdkChatbot/components/FileGallery/index.js +104 -0
  135. package/dist/esm/components/XAdkChatbot/components/FileGallery/index.js.map +1 -0
  136. package/dist/esm/components/XAdkChatbot/components/FileGallery/styles.d.ts +44 -0
  137. package/dist/esm/components/XAdkChatbot/components/FileGallery/styles.js +20 -0
  138. package/dist/esm/components/XAdkChatbot/components/FileGallery/styles.js.map +1 -0
  139. package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/index.d.ts +1 -1
  140. package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/index.js +17 -15
  141. package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/index.js.map +1 -1
  142. package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/styles.d.ts +1 -0
  143. package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/styles.js +7 -6
  144. package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/styles.js.map +1 -1
  145. package/dist/esm/components/XAdkChatbot/index.d.ts +11 -1
  146. package/dist/esm/components/XAdkChatbot/index.js +392 -174
  147. package/dist/esm/components/XAdkChatbot/index.js.map +1 -1
  148. package/dist/esm/components/XAdkChatbot/styles.d.ts +10 -0
  149. package/dist/esm/components/XAdkChatbot/styles.js +23 -12
  150. package/dist/esm/components/XAdkChatbot/styles.js.map +1 -1
  151. package/dist/esm/components/XAdkProvider/XAdkProvider.stories.d.ts +10 -0
  152. package/dist/esm/components/XAdkProvider/XAdkProvider.stories.js +338 -0
  153. package/dist/esm/components/XAdkProvider/XAdkProvider.stories.js.map +1 -0
  154. package/dist/esm/components/XAdkProvider/compound/Chatbot.d.ts +30 -0
  155. package/dist/esm/components/XAdkProvider/compound/Chatbot.js +47 -0
  156. package/dist/esm/components/XAdkProvider/compound/Chatbot.js.map +1 -0
  157. package/dist/esm/components/XAdkProvider/compound/DefaultLayout.d.ts +26 -0
  158. package/dist/esm/components/XAdkProvider/compound/DefaultLayout.js +142 -0
  159. package/dist/esm/components/XAdkProvider/compound/DefaultLayout.js.map +1 -0
  160. package/dist/esm/components/XAdkProvider/compound/DislikeFeedBack.d.ts +8 -0
  161. package/dist/esm/components/XAdkProvider/compound/DislikeFeedBack.js +122 -0
  162. package/dist/esm/components/XAdkProvider/compound/DislikeFeedBack.js.map +1 -0
  163. package/dist/esm/components/XAdkProvider/compound/FeedbackTags.d.ts +7 -0
  164. package/dist/esm/components/XAdkProvider/compound/FeedbackTags.js +34 -0
  165. package/dist/esm/components/XAdkProvider/compound/FeedbackTags.js.map +1 -0
  166. package/dist/esm/components/XAdkProvider/compound/Header.d.ts +25 -0
  167. package/dist/esm/components/XAdkProvider/compound/Header.js +79 -0
  168. package/dist/esm/components/XAdkProvider/compound/Header.js.map +1 -0
  169. package/dist/esm/components/XAdkProvider/compound/Messages.d.ts +17 -0
  170. package/dist/esm/components/XAdkProvider/compound/Messages.js +53 -0
  171. package/dist/esm/components/XAdkProvider/compound/Messages.js.map +1 -0
  172. package/dist/esm/components/XAdkProvider/compound/Sender.d.ts +27 -0
  173. package/dist/esm/components/XAdkProvider/compound/Sender.js +41 -0
  174. package/dist/esm/components/XAdkProvider/compound/Sender.js.map +1 -0
  175. package/dist/esm/components/XAdkProvider/compound/Sidebar.d.ts +24 -0
  176. package/dist/esm/components/XAdkProvider/compound/Sidebar.js +142 -0
  177. package/dist/esm/components/XAdkProvider/compound/Sidebar.js.map +1 -0
  178. package/dist/esm/components/XAdkProvider/compound/Welcome.d.ts +6 -0
  179. package/dist/esm/components/XAdkProvider/compound/Welcome.js +36 -0
  180. package/dist/esm/components/XAdkProvider/compound/Welcome.js.map +1 -0
  181. package/dist/esm/components/XAdkProvider/compound/index.d.ts +17 -0
  182. package/dist/esm/components/XAdkProvider/compound/index.js +13 -0
  183. package/dist/esm/components/XAdkProvider/compound/index.js.map +1 -0
  184. package/dist/esm/components/XAdkProvider/compound/styles.d.ts +36 -0
  185. package/dist/esm/components/XAdkProvider/compound/styles.js +10 -0
  186. package/dist/esm/components/XAdkProvider/compound/styles.js.map +1 -0
  187. package/dist/esm/components/XAdkProvider/context/ChatActionContext.d.ts +30 -0
  188. package/dist/esm/components/XAdkProvider/context/ChatActionContext.js +23 -0
  189. package/dist/esm/components/XAdkProvider/context/ChatActionContext.js.map +1 -0
  190. package/dist/esm/components/XAdkProvider/context/ChatStateContext.d.ts +35 -0
  191. package/dist/esm/components/XAdkProvider/context/ChatStateContext.js +23 -0
  192. package/dist/esm/components/XAdkProvider/context/ChatStateContext.js.map +1 -0
  193. package/dist/esm/components/XAdkProvider/context/SessionContext.d.ts +29 -0
  194. package/dist/esm/components/XAdkProvider/context/SessionContext.js +22 -0
  195. package/dist/esm/components/XAdkProvider/context/SessionContext.js.map +1 -0
  196. package/dist/esm/components/XAdkProvider/context/index.d.ts +7 -0
  197. package/dist/esm/components/XAdkProvider/context/index.js +9 -0
  198. package/dist/esm/components/XAdkProvider/context/index.js.map +1 -0
  199. package/dist/esm/components/XAdkProvider/index.d.ts +55 -0
  200. package/dist/esm/components/XAdkProvider/index.js +220 -0
  201. package/dist/esm/components/XAdkProvider/index.js.map +1 -0
  202. package/dist/esm/components/{XAdkWebProvider → XAdkProvider}/styles.js +2 -2
  203. package/dist/esm/components/XAdkProvider/styles.js.map +1 -0
  204. package/dist/esm/components/XAdkSender/FileGallery.d.ts +8 -0
  205. package/dist/esm/components/XAdkSender/FileGallery.js +236 -0
  206. package/dist/esm/components/XAdkSender/FileGallery.js.map +1 -0
  207. package/dist/esm/components/XAdkSender/index.js +92 -109
  208. package/dist/esm/components/XAdkSender/index.js.map +1 -1
  209. package/dist/esm/components/XAdkSender/styles.d.ts +0 -9
  210. package/dist/esm/components/XAdkSender/styles.js +14 -31
  211. package/dist/esm/components/XAdkSender/styles.js.map +1 -1
  212. package/dist/esm/components/XAiConversations/index.js +1 -1
  213. package/dist/esm/components/XAiConversations/index.js.map +1 -1
  214. package/dist/esm/components/XAiConversations/styles.js +2 -2
  215. package/dist/esm/components/XAiConversations/styles.js.map +1 -1
  216. package/dist/esm/components/XAiThoughtChain/XAiThoughtChain.stories.d.ts +6 -0
  217. package/dist/esm/components/XAiThoughtChain/XAiThoughtChain.stories.js +159 -0
  218. package/dist/esm/components/XAiThoughtChain/XAiThoughtChain.stories.js.map +1 -0
  219. package/dist/esm/components/XAiThoughtChain/index.d.ts +4 -0
  220. package/dist/esm/components/XAiThoughtChain/index.js +180 -0
  221. package/dist/esm/components/XAiThoughtChain/index.js.map +1 -0
  222. package/dist/esm/components/XAiThoughtChain/styles.d.ts +60 -0
  223. package/dist/esm/components/XAiThoughtChain/styles.js +40 -0
  224. package/dist/esm/components/XAiThoughtChain/styles.js.map +1 -0
  225. package/dist/esm/hooks/useADKChat.d.ts +9 -3
  226. package/dist/esm/hooks/useADKChat.js +75 -54
  227. package/dist/esm/hooks/useADKChat.js.map +1 -1
  228. package/dist/esm/index.d.ts +25 -9
  229. package/dist/esm/index.js +28 -2
  230. package/dist/esm/index.js.map +1 -1
  231. package/dist/esm/styles/common.js +11 -11
  232. package/dist/esm/styles/common.js.map +1 -1
  233. package/dist/esm/types/ChatHook.d.ts +81 -0
  234. package/dist/esm/types/ChatHook.js +2 -0
  235. package/dist/esm/types/ChatHook.js.map +1 -0
  236. package/dist/esm/types/XAdkChatbot.d.ts +80 -15
  237. package/dist/esm/types/XAdkChatbot.js.map +1 -1
  238. package/dist/esm/types/XAdkProvider.d.ts +10 -27
  239. package/dist/esm/types/XAdkProvider.js.map +1 -1
  240. package/dist/esm/types/XAdkSender.d.ts +18 -0
  241. package/dist/esm/types/XAdkSender.js.map +1 -1
  242. package/dist/esm/types/XAiConversations.d.ts +4 -2
  243. package/dist/esm/types/XAiConversations.js.map +1 -1
  244. package/dist/esm/types/XAiThoughtChain.d.ts +25 -0
  245. package/dist/esm/types/XAiThoughtChain.js +2 -0
  246. package/dist/esm/types/XAiThoughtChain.js.map +1 -0
  247. package/dist/esm/types/index.d.ts +9 -8
  248. package/dist/esm/types/index.js +1 -0
  249. package/dist/esm/types/index.js.map +1 -1
  250. package/dist/esm/utils/index.d.ts +2 -0
  251. package/dist/esm/utils/index.js +7 -0
  252. package/dist/esm/utils/index.js.map +1 -1
  253. package/dist/esm/utils/parseAgentMessage.d.ts +81 -0
  254. package/dist/esm/utils/parseAgentMessage.js +286 -0
  255. package/dist/esm/utils/parseAgentMessage.js.map +1 -0
  256. package/dist/esm/utils/umdEntry.d.ts +91 -0
  257. package/dist/esm/utils/umdEntry.js +154 -16
  258. package/dist/esm/utils/umdEntry.js.map +1 -1
  259. package/dist/umd/chat-sdk.min.css +1 -1
  260. package/dist/umd/chat-sdk.min.js +1 -1
  261. package/package.json +20 -11
  262. package/dist/cjs/components/XAdkWebProvider/XAdkWebProvider.stories.d.ts +0 -7
  263. package/dist/cjs/components/XAdkWebProvider/XAdkWebProvider.stories.js +0 -160
  264. package/dist/cjs/components/XAdkWebProvider/XAdkWebProvider.stories.js.map +0 -7
  265. package/dist/cjs/components/XAdkWebProvider/index.d.ts +0 -4
  266. package/dist/cjs/components/XAdkWebProvider/index.js +0 -372
  267. package/dist/cjs/components/XAdkWebProvider/index.js.map +0 -7
  268. package/dist/cjs/components/XAdkWebProvider/styles.js.map +0 -7
  269. package/dist/esm/components/XAdkWebProvider/XAdkWebProvider.stories.d.ts +0 -7
  270. package/dist/esm/components/XAdkWebProvider/XAdkWebProvider.stories.js +0 -158
  271. package/dist/esm/components/XAdkWebProvider/XAdkWebProvider.stories.js.map +0 -1
  272. package/dist/esm/components/XAdkWebProvider/index.d.ts +0 -4
  273. package/dist/esm/components/XAdkWebProvider/index.js +0 -480
  274. package/dist/esm/components/XAdkWebProvider/index.js.map +0 -1
  275. package/dist/esm/components/XAdkWebProvider/styles.js.map +0 -1
  276. /package/dist/cjs/components/{XAdkWebProvider → XAdkProvider}/styles.d.ts +0 -0
  277. /package/dist/esm/components/{XAdkWebProvider → XAdkProvider}/styles.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useCallback","useMemo","useRef","useState","fetchEventSource","EventStreamContentType","message","v4","SESSION_PAGE_SIZE","API_SUCCESS_CODE","SuccessCode","ErrorCode","fetchAppConfig","fetchSessionList","fetchSessionDetail","closeSession","updateSessionTitle","safeJsonParse","combineTextParts","parts","result","combinedTextPart","_iterator","_createForOfIteratorHelper","_step","s","n","done","part","value","text","thought","_objectSpread","push","undefined","err","e","f","useADKChat","_ref","url","token","_ref$config","config","_ref$type","type","onError","onMessage","onSuccess","onStream","_useState","_useState2","_slicedToArray","loading","setLoading","ctrl","_ref2","appNo","showFirstSession","_useState3","_useState4","appInfo","setAppInfo","_useState5","_useState6","initialized","setInitialized","_useState7","_useState8","sessionList","setSessionList","_useState9","_useState10","currentSessionId","setCurrentSessionId","_useState11","total","pageNum","pageSize","_useState12","sessionPagination","setSessionPagination","_useState13","_useState14","prologue","setPrologue","_useState15","_useState16","suggestedQuestions","setSuggestedQuestions","_useState17","_useState18","messages","setMessages","mergedMessages","fnResMap","forEach","msg","functionResponse","_msg$functionResponse","id","map","functionCall","_msg$functionCall","textMsgRef","eventDataRef","Map","insertMessage","prev","lastMessage","length","isLoading","concat","_toConsumableArray","slice","insertSuggestedQuestions","suggested_questions","arguments","insertPrologue","updateMessage","m","storeEvents","event","_event$actions","title","actions","artifactDelta","name","executableCode","_part$executableCode$","code","codeExecutionResult","outcome","errorMessage","updatedEvent","newEventData","current","set","storeMessage","role","author","invocationId","eventId","timestamp","inlineData","displayName","data","mimeType","_event$groundingMetad","groundingMetadata","searchEntryPoint","renderedContent","fileData","Object","keys","processPart","_event$groundingMetad2","newChunk","newMessage","partial","processFollowupPart","_event$content","content","processErrorMessage","chunkJson","processActionArtifact","sendMessageRequest","values","Promise","resolve","abort","AbortController","requestUrl","method","signal","body","JSON","stringify","openWhenHidden","headers","stream","Authorization","onopen","response","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","next","ok","get","status","stop","onmessage","error","warning","_iterator2","_step2","onclose","_textMsgRef$current","onerror","console","startChat","_ref4","_callee2","_ref3","_ref3$text","_ref3$files","files","_callee2$","_context2","abrupt","trim","temp","file","_file$response","_file$response2","fileUri","fileUrl","sessionId","_file$response3","_file$response4","_file$response5","_file$response6","_file$response7","fileName","fileId","tempUrl","fileType","initAppConversations","_x","apply","reChat","newMessages","lastAIIndex","findLastIndex","splice","lastUserMessage","findLast","_lastUserMessage$text","_lastUserMessage$file","confirmFnCall","fnCall","confirmed","suggestChat","stopChat","_ctrl$current","clearChat","_appInfo$onboardingIn","_appInfo$onboardingIn2","newSessionId","onboardingInfo","formatMessages","isReplace","mapped","item","Array","isArray","toLowerCase","filter","p","Boolean","raw","functionCallMsg","find","_msg$functionCall2","_part$functionRespons","setCurrentSessionDetail","_ref5","_callee3","_yield$fetchSessionDe","_appInfo$onboardingIn3","_appInfo$onboardingIn4","_callee3$","_context3","sent","_x2","_ref6","_callee4","fetchDetail","_yield$fetchSessionLi","_yield$fetchSessionLi2","pagination","formatSessions","_data$","_appInfo$onboardingIn5","_appInfo$onboardingIn6","_args4","_callee4$","_context4","key","label","Date","startTime","getTime","meta","APP_MESSAGES_INIT_SUCCESS","t0","finish","deleteSession","_ref7","_callee5","_yield$closeSession","_callee5$","_context5","_x3","updateSession","_ref8","_callee6","_yield$updateSessionT","_callee6$","_context6","_x4","_x5","initConfig","_ref9","_callee7","_yield$fetchAppConfig","_callee7$","_context7","APP_CONFIG_INIT_SUCCESS","APP_NOT_FOUND","API_ERROR","suggestions"],"sources":["../../../src/hooks/useADKChat.ts"],"sourcesContent":["import { useEffect, useCallback, useMemo, useRef, useState } from 'react';\nimport { fetchEventSource, EventStreamContentType } from '@microsoft/fetch-event-source';\nimport { message } from 'antd';\nimport { v4 } from 'uuid';\nimport { SESSION_PAGE_SIZE, API_SUCCESS_CODE } from '@/constants';\nimport {\n SuccessCode,\n ErrorCode,\n DebugOptions,\n FunctionCall,\n SendContent,\n SessionData,\n AgentRunRequest,\n Event,\n FunctionResponse,\n IMessage,\n Part,\n} from '@/types';\nimport {\n fetchAppConfig,\n fetchSessionList,\n fetchSessionDetail,\n closeSession,\n updateSessionTitle,\n type ChatConfig\n} from '@/services/api';\nimport { safeJsonParse } from '@/utils';\n\nconst combineTextParts = (parts: Part[]) => {\n const result: Part[] = [];\n let combinedTextPart: Part|undefined;\n\n // eslint-disable-next-line no-restricted-syntax\n for (const part of parts) {\n if (part.text) {\n // 如果没有 combined 或 combined 思考类型跟当前 part 不同,则创建新的合并引用\n if (!combinedTextPart || combinedTextPart.thought !== part.thought) {\n combinedTextPart = { ...part };\n result.push(combinedTextPart);\n } else {\n combinedTextPart.text += part.text;\n }\n } else {\n combinedTextPart = undefined;\n result.push(part);\n }\n }\n return result;\n};\n\nfunction useADKChat({\n url,\n token,\n config = {},\n type = 'agentDebug',\n onError,\n onMessage,\n onSuccess,\n onStream,\n}: DebugOptions) {\n const [loading, setLoading] = useState(false);\n const ctrl = useRef<AbortController | null>(null);\n // 应用配置\n const { appNo, showFirstSession } = config || {};\n const [appInfo, setAppInfo] = useState<ChatConfig | null>(null);\n // 初始化完成\n const [initialized, setInitialized] = useState(false);\n // 会话记录\n const [sessionList, setSessionList] = useState<SessionData[]>([]);\n // 当前会话\n const [currentSessionId, setCurrentSessionId] = useState<string>('');\n // 会话分页设置\n const [sessionPagination, setSessionPagination] = useState({ total: 0, pageNum: 1, pageSize: SESSION_PAGE_SIZE });\n // 开场白\n const [prologue, setPrologue] = useState<string>('');\n // 建议问题\n const [suggestedQuestions, setSuggestedQuestions] = useState<string[]>([]);\n const [messages, setMessages] = useState<IMessage[]>([]);\n const mergedMessages = useMemo(() => {\n const fnResMap: Record<string, FunctionResponse> = {};\n messages.forEach((msg) => {\n if (msg.functionResponse) {\n fnResMap[msg?.functionResponse?.id || ''] = msg.functionResponse;\n }\n });\n return messages.map((msg) => {\n if (msg.functionCall) {\n return {\n ...msg,\n functionResponse: fnResMap[msg?.functionCall?.id || ''],\n };\n }\n return msg;\n });\n }, [messages]);\n const textMsgRef = useRef<IMessage>(null);\n const eventDataRef = useRef<Map<string, any>>(new Map());\n\n // 插入消息\n const insertMessage = useCallback((msg: IMessage) => {\n setMessages((prev) => {\n const lastMessage = prev[prev.length - 1];\n if (lastMessage?.isLoading) {\n return [...prev.slice(0, -1), msg, lastMessage];\n }\n return [...prev, msg];\n });\n }, []);\n\n // 初始化开场白预设置问题\n const insertSuggestedQuestions = (suggested_questions: string[] = []) => {\n if (!suggested_questions?.length) return;\n // 无消息内容 且 有建议问题时\n if (messages.length === 0 && suggested_questions.length) {\n setSuggestedQuestions(suggested_questions);\n };\n };\n\n // 初始化开场白\n const insertPrologue = (prologue: string) => {\n if (prologue) {\n setPrologue(prologue);\n }\n };\n\n // 更新消息\n const updateMessage = useCallback((msg: IMessage) => {\n setMessages((prev) => {\n return prev.map((m) => {\n if (m.id === msg.id) {\n return msg;\n }\n return m;\n });\n });\n }, []);\n\n // 存储事件\n const storeEvents = useCallback((part: Part | null, event: any) => {\n let title = '';\n\n if (part == null && event.actions?.artifactDelta) {\n title += 'eventAction: artifact';\n } else if (part) {\n if (part.text) {\n title += `text:${part.text}`;\n } else if (part.functionCall) {\n title += `functionCall:${part.functionCall.name}`;\n } else if (part.functionResponse) {\n title += `functionResponse:${part.functionResponse.name}`;\n } else if (part.executableCode) {\n title += `executableCode:${part.executableCode.code?.slice(0, 10)}`;\n } else if (part.codeExecutionResult) {\n title += `codeExecutionResult:${part.codeExecutionResult.outcome}`;\n } else if (part.errorMessage) {\n title += `errorMessage:${part.errorMessage}`;\n }\n }\n\n const updatedEvent = { ...event, title };\n\n const newEventData = new Map(eventDataRef.current);\n newEventData.set(event.id, updatedEvent);\n eventDataRef.current = newEventData;\n }, []);\n\n // 存储消息\n const storeMessage = useCallback((\n part: Part | null,\n event: Event,\n role: 'user' | 'bot',\n ) => {\n const msg: IMessage = {\n id: v4(),\n author: event.author,\n invocationId: event.invocationId,\n eventId: event.id,\n timestamp: event.timestamp,\n role,\n };\n\n if (part) {\n if (part.inlineData) {\n msg.inlineData = {\n displayName: part.inlineData.displayName,\n data: part.inlineData.data,\n mimeType: part.inlineData.mimeType,\n };\n } else if (part.text) {\n msg.text = part.text;\n msg.thought = part.thought;\n\n if (event?.groundingMetadata?.searchEntryPoint?.renderedContent) {\n msg.renderedContent = event.groundingMetadata.searchEntryPoint.renderedContent;\n }\n } else if (part.fileData) {\n msg.fileData = [part.fileData];\n } else if (part.functionCall) {\n msg.functionCall = part.functionCall;\n } else if (part.functionResponse) {\n msg.functionResponse = part.functionResponse;\n } else if (part.executableCode) {\n msg.executableCode = part.executableCode;\n } else if (part.codeExecutionResult) {\n msg.codeExecutionResult = part.codeExecutionResult;\n }\n }\n\n if (part && Object.keys(part).length > 0) {\n insertMessage(msg);\n }\n }, [insertMessage]);\n\n // 处理消息部分(关键更新)\n const processPart = useCallback((event: Event, part: Part) => {\n const renderedContent = event.groundingMetadata?.searchEntryPoint?.renderedContent;\n if (part.text) {\n const newChunk = part.text;\n\n if (!textMsgRef.current || textMsgRef.current.thought !== part.thought) {\n const newMessage: IMessage = {\n id: v4(),\n author: event.author,\n invocationId: event.invocationId,\n eventId: event.id,\n timestamp: event.timestamp,\n role: 'bot',\n text: newChunk,\n thought: part.thought,\n };\n\n if (renderedContent) {\n newMessage.renderedContent = renderedContent;\n }\n\n textMsgRef.current = newMessage;\n // 存储原数据\n storeEvents(part, event);\n // 插入消息\n insertMessage(newMessage);\n } else {\n if (event.partial === false) {\n storeEvents(part, event);\n textMsgRef.current = null;\n return;\n }\n if (renderedContent) {\n textMsgRef.current = {\n ...textMsgRef.current,\n renderedContent,\n };\n }\n textMsgRef.current = {\n ...textMsgRef.current,\n text: (textMsgRef.current.text || '') + newChunk,\n };\n updateMessage(textMsgRef.current);\n }\n } else {\n textMsgRef.current = null;\n storeEvents(part, event);\n storeMessage(\n part,\n event,\n 'bot',\n );\n }\n }, [storeEvents, storeMessage, insertMessage, updateMessage]);\n\n // 处理建议类消息\n const processFollowupPart = useCallback((event: Event) => {\n // 获取建议类消息的文本内容\n const part = event?.content?.parts?.[0] || null;\n const text = part?.text || '';\n storeEvents(part, event);\n if (text) {\n setSuggestedQuestions((prev) => [...prev, text]);\n }\n }, [storeEvents, insertMessage]);\n\n // 处理错误消息\n const processErrorMessage = useCallback((chunkJson: any) => {\n storeEvents(null, chunkJson);\n insertMessage({\n id: v4(),\n text: chunkJson.errorMessage,\n role: 'bot',\n });\n }, [storeEvents, insertMessage]);\n\n // 处理动作和制品\n const processActionArtifact = useCallback((event: any) => {\n if (event.actions && event.actions.artifactDelta) {\n storeEvents(null, event);\n storeMessage(null, event, 'bot');\n }\n }, [storeEvents, storeMessage]);\n\n // 发送消息请求\n const sendMessageRequest = useCallback((values: AgentRunRequest) => {\n return new Promise<void>((resolve) => {\n if (ctrl.current) {\n ctrl.current.abort();\n }\n setLoading(true);\n ctrl.current = new AbortController();\n const requestUrl = `${url}/api/gateway-web/openApi/v1/aizt/app/${appNo}/sendMsgStreaming`;\n\n fetchEventSource(requestUrl, {\n method: 'POST',\n signal: ctrl.current.signal,\n body: JSON.stringify(values),\n openWhenHidden: true,\n headers: {\n 'Content-Type': 'application/json',\n 'Cache-Control': 'no-cache',\n stream: 'true',\n Authorization: `Bearer ${token}`,\n },\n async onopen(response) {\n if (response.ok && response.headers.get('content-type') === EventStreamContentType) {\n // everything's good\n } else if (response.status >= 400 && response.status < 500 && response.status !== 429) {\n resolve();\n } else {\n resolve();\n }\n },\n onmessage: (event) => {\n const chunkJson: Event = safeJsonParse(event.data, {});\n if (chunkJson.error) {\n message.warning(chunkJson.error);\n return;\n }\n onStream?.(chunkJson);\n if (chunkJson.content) {\n // 建议类消息单独处理 \n if (chunkJson.content.role === 'followup') {\n processFollowupPart(chunkJson);\n return;\n }\n // eslint-disable-next-line no-restricted-syntax\n for (const part of combineTextParts(chunkJson.content.parts)) {\n processPart(chunkJson, part);\n }\n } else if (chunkJson.errorMessage) {\n processErrorMessage(chunkJson);\n } else if (chunkJson.actions) {\n processActionArtifact(chunkJson);\n }\n },\n onclose: () => {\n setLoading(false);\n if (textMsgRef.current) {\n onMessage?.(textMsgRef.current?.text || '', textMsgRef.current);\n }\n textMsgRef.current = null;\n resolve();\n },\n onerror: (error) => {\n setLoading(false);\n resolve();\n console.error('EventSource failed:', error);\n throw error;\n },\n });\n });\n }, [type, currentSessionId, processActionArtifact, processErrorMessage, processPart]);\n\n // 发送会话\n const startChat = async ({ text = '', files = [], functionResponse }: SendContent) => {\n if (loading) return;\n if (!text.trim() && !functionResponse) return;\n // 清空建议问题\n setSuggestedQuestions([]);\n // 发送消息\n setMessages((prev) => {\n let temp = [...prev];\n // 如果 text 存在\n if (text.trim()) {\n temp.push({\n id: v4(),\n role: 'user',\n text,\n });\n }\n // 如果file 存在\n if (files.length > 0) {\n temp.push({\n id: v4(),\n role: 'user',\n fileData: files.map(file => ({\n displayName: file.name,\n mimeType: file.response?.mimeType,\n fileUri: file.response?.fileUrl,\n })),\n });\n }\n // 如果 functionResponse 存在\n if (functionResponse) {\n temp.push({\n id: v4(),\n role: 'user',\n functionResponse,\n });\n }\n return temp;\n });\n await sendMessageRequest({\n stream: true,\n sessionId: currentSessionId,\n content: {\n role: 'user',\n parts: functionResponse ? [{ functionResponse }] : [{ text }],\n },\n files: files.map(file => ({\n fileName: file.response?.fileName,\n fileId: file.response?.fileId,\n tempUrl: file.response?.fileUrl,\n type: file.response?.fileType,\n mimeType: file.response?.mimeType,\n })),\n });\n // 获取聊天记录\n initAppConversations();\n };\n\n // 重新发送会话\n const reChat = () => {\n if (loading) return;\n if (messages.length === 0) return;\n setMessages((prev) => {\n const newMessages = [...prev];\n // 删除最后一条 AI 消息\n const lastAIIndex = newMessages.findLastIndex(msg => msg.role === 'bot');\n if (lastAIIndex !== -1) {\n newMessages.splice(lastAIIndex, 1);\n }\n // 清空建议问题\n setSuggestedQuestions([]);\n // 重新发送最后一条用户消息\n const lastUserMessage = newMessages.findLast(msg => msg.role === 'user');\n if (lastUserMessage) {\n const { text = '', fileData = [] } = lastUserMessage;\n sendMessageRequest({\n stream: true,\n sessionId: currentSessionId,\n content: {\n role: 'user',\n parts: [{\n text,\n }],\n },\n files: fileData?.map(file => ({\n fileName: file.displayName,\n tempUrl: file.fileUri,\n mimeType: file.mimeType,\n })),\n });\n }\n\n return newMessages;\n })\n };\n\n // 确认函数调用\n const confirmFnCall = (fnCall: FunctionCall, confirmed: boolean) => {\n const functionResponse = {\n id: fnCall.id,\n name: fnCall.name,\n response: { confirmed },\n };\n startChat({ functionResponse });\n };\n\n // 使用建议问题\n const suggestChat = (text: string) => {\n if (loading) return;\n if (!text.trim()) return;\n setSuggestedQuestions([]);\n startChat({ text });\n };\n // 停止会话\n const stopChat = useCallback(() => {\n ctrl.current?.abort();\n setLoading(false);\n textMsgRef.current = null;\n }, [ctrl]);\n\n // 清除/重置会话\n const clearChat = () => {\n const newSessionId = v4();\n setCurrentSessionId(newSessionId);\n // 重置聊天内容\n stopChat();\n setPrologue(appInfo?.onboardingInfo?.prologue || '');\n setMessages([]);\n setSuggestedQuestions(appInfo?.onboardingInfo?.suggested_questions || []);\n };\n\n // 格式化会话记录\n const formatMessages = (messages: any[], isReplace = false) => {\n const mapped: IMessage[] = [];\n messages.forEach((item) => {\n if (!item || !item.content || !Array.isArray(item.content.parts)) return;\n\n const role = (item.content.role || '').toLowerCase() === 'user' ? 'user' : 'bot';\n const parts = Array.isArray(item.content.parts)\n ? item.content.parts.filter((p: any) => {\n if (!p) return false;\n return Boolean(\n p.text || p.inlineData || p.functionCall || p.functionResponse || p.fileData || p.executableCode || p.codeExecutionResult || p.errorMessage\n );\n })\n : [];\n\n if (parts.length === 0) return;\n parts.forEach((part: any) => {\n const msg: IMessage = {\n id: v4(),\n author: item.author,\n invocationId: item.invocationId,\n eventId: item.id,\n timestamp: item.timestamp,\n role,\n raw: item,\n } as IMessage;\n\n if (part.inlineData) {\n msg.inlineData = {\n displayName: part.inlineData.displayName,\n data: part.inlineData.data,\n mimeType: part.inlineData.mimeType,\n } as any;\n }\n if (part.text) {\n msg.text = part.text;\n if (typeof part.thought !== 'undefined') msg.thought = part.thought;\n }\n if (part.functionCall) msg.functionCall = part.functionCall;\n if (part.fileData) {\n msg.inlineData = {\n displayName: part.fileData.displayName || '',\n data: part.fileData.fileUri,\n mimeType: part.fileData.mimeType,\n } as any;\n }\n if (part.executableCode) msg.executableCode = part.executableCode;\n if (part.codeExecutionResult) msg.codeExecutionResult = part.codeExecutionResult;\n if (part.errorMessage) msg.text = part.errorMessage;\n // 补全函数调用结果\n if (part.functionResponse) {\n // 通过 functionCall.id 寻找对应的函数调用消息,在那条消息上添加functionResponse\n const functionCallMsg = mapped.find(msg => msg.functionCall?.id === part.functionResponse?.id);\n if (functionCallMsg) {\n functionCallMsg.functionResponse = part.functionResponse;\n }\n return;\n }\n mapped.push(msg);\n });\n });\n\n setMessages((prev) => (isReplace ? mapped : [...prev, ...mapped]));\n };\n\n\n // 设置当前会话详情\n const setCurrentSessionDetail = async (sessionId: string) => {\n if (sessionId) {\n if (sessionId === currentSessionId) {\n return;\n }\n setCurrentSessionId(sessionId); // 设置当前会话 id;\n const { data, result } = await fetchSessionDetail({\n url,\n appNo,\n sessionId,\n token,\n });\n\n if (result?.code === API_SUCCESS_CODE) {\n setPrologue(appInfo?.onboardingInfo?.prologue || '');\n // 新接口直接返回按 event/item 结构的数组,传入 formatMessages 处理\n if (Array.isArray(data) && data.length > 0) {\n formatMessages(data, true);\n } else {\n setSuggestedQuestions(appInfo?.onboardingInfo?.suggested_questions || []);\n }\n }\n\n } else {\n // 兼容 无 session异常\n setCurrentSessionId(v4());\n }\n };\n\n // 获取聊天记录\n const initAppConversations = async (fetchDetail = false) => {\n try {\n setLoading(true);\n\n const { data = [], pagination, result } = await fetchSessionList({\n url,\n appNo,\n token,\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 if (showFirstSession) {\n fetchDetail && setCurrentSessionDetail(sessionId);\n } else {\n setPrologue(appInfo?.onboardingInfo?.prologue || '');\n setSuggestedQuestions(appInfo?.onboardingInfo?.suggested_questions || []);\n }\n // 成功回调\n if (!initialized) {\n onSuccess?.({\n code: SuccessCode.APP_MESSAGES_INIT_SUCCESS,\n message: '初始化聊天记录成功',\n data: {\n sessionId,\n }\n });\n setInitialized(true);\n }\n } else {\n // 无会话记录时,初始化会话详情\n clearChat();\n }\n } else {\n setSessionList([]);\n setCurrentSessionId(v4());\n setPrologue('');\n setSuggestedQuestions([]);\n }\n } catch {\n //\n } finally {\n setLoading(false);\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();\n // 如果删除的是当前会话,则创建新的会话\n if (sessionId === currentSessionId) {\n clearChat();\n }\n } else {\n message.error('删除会话失败');\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();\n } else {\n message.error('更新会话失败');\n }\n };\n\n // 初始化应用\n const initConfig = async () => {\n try {\n setLoading(true);\n const { data, result } = await fetchAppConfig({ url, appNo });\n if (result.code === API_SUCCESS_CODE) {\n setAppInfo(data);\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 } finally {\n setLoading(false);\n }\n };\n\n // 初始化—获取配置\n useEffect(() => {\n if (url && appNo) {\n initConfig();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [url, appNo]);\n\n // 初始化-聊天记录\n useEffect(() => {\n if (appInfo) {\n initAppConversations(true);\n }\n }, [appInfo]);\n\n return {\n appInfo,\n startChat,\n reChat,\n stopChat,\n clearChat,\n suggestChat,\n confirmFnCall,\n initialized,\n currentSessionId,\n sessionList,\n prologue,\n suggestions: suggestedQuestions,\n loading,\n messages: mergedMessages,\n insertSuggestedQuestions,\n insertPrologue,\n deleteSession,\n updateSession,\n setSuggestedQuestions,\n setCurrentSessionDetail,\n setMessages,\n storeEvents,\n storeMessage,\n };\n}\n\nexport default useADKChat;\n"],"mappings":"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"}
1
+ {"version":3,"names":["useEffect","useCallback","useMemo","useRef","useState","fetchEventSource","EventStreamContentType","message","v4","SESSION_PAGE_SIZE","API_SUCCESS_CODE","SuccessCode","ErrorCode","fetchAppConfig","fetchSessionList","fetchSessionDetail","closeSession","updateSessionTitle","safeJsonParse","combineTextParts","parts","result","combinedTextPart","_iterator","_createForOfIteratorHelper","_step","s","n","done","part","value","text","thought","_objectSpread","push","undefined","err","e","f","useADKChat","_ref","url","token","_ref$config","config","_ref$type","type","_ref$enabled","enabled","onError","onMessage","onSuccess","onStream","_useState","_useState2","_slicedToArray","loading","setLoading","ctrl","_ref2","appNo","showFirstSession","_useState3","_useState4","appInfo","setAppInfo","_useState5","_useState6","initialized","setInitialized","_useState7","_useState8","sessionList","setSessionList","_useState9","_useState10","currentSessionId","setCurrentSessionId","_useState11","total","pageNum","pageSize","_useState12","sessionPagination","setSessionPagination","_useState13","_useState14","prologue","setPrologue","_useState15","_useState16","suggestedQuestions","setSuggestedQuestions","_useState17","_useState18","messages","setMessages","mergedMessages","fnResMap","forEach","msg","functionResponse","_msg$functionResponse","id","map","functionCall","_msg$functionCall","textMsgRef","eventDataRef","Map","insertMessage","prev","lastMessage","length","isLoading","concat","_toConsumableArray","slice","insertSuggestedQuestions","suggested_questions","arguments","insertPrologue","updateMessage","m","storeEvents","event","_event$actions","title","actions","artifactDelta","name","executableCode","_part$executableCode$","code","codeExecutionResult","outcome","errorMessage","updatedEvent","newEventData","current","set","storeMessage","role","author","invocationId","eventId","timestamp","isLike","inlineData","displayName","data","mimeType","_event$groundingMetad","groundingMetadata","searchEntryPoint","renderedContent","fileData","Object","keys","processPart","_event$groundingMetad2","newChunk","newMessage","partial","processFollowupPart","_event$content","content","processErrorMessage","chunkJson","processActionArtifact","sendMessageRequest","values","Promise","resolve","abort","AbortController","requestUrl","method","signal","body","JSON","stringify","openWhenHidden","headers","stream","Authorization","onopen","response","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","next","ok","get","status","stop","onmessage","rawData","sessionId","error","warning","_iterator2","_step2","onclose","_textMsgRef$current","onerror","console","startChat","_ref4","_callee2","_ref3","_ref3$text","_ref3$files","files","_callee2$","_context2","abrupt","trim","temp","file","_file$response","_file$response2","fileUri","fileUrl","_file$response3","_file$response4","_file$response5","_file$response6","_file$response7","fileName","fileId","tempUrl","fileType","initAppConversations","_x","apply","reChat","newMessages","lastAIIndex","findLastIndex","splice","lastUserMessage","findLast","_lastUserMessage$text","_lastUserMessage$file","confirmFnCall","fnCall","confirmed","suggestChat","stopChat","_ctrl$current","clearChat","_appInfo$onboardingIn","_appInfo$onboardingIn2","newSessionId","onboardingInfo","formatMessages","isReplace","mapped","item","Array","isArray","toLowerCase","filter","p","Boolean","raw","functionCallMsg","find","_msg$functionCall2","_part$functionRespons","setCurrentSessionDetail","_ref5","_callee3","_yield$fetchSessionDe","_appInfo$onboardingIn3","_appInfo$onboardingIn4","_callee3$","_context3","sent","_x2","_ref6","_callee4","fetchDetail","_yield$fetchSessionLi","_yield$fetchSessionLi2","pagination","formatSessions","_data$","_appInfo$onboardingIn5","_appInfo$onboardingIn6","_args4","_callee4$","_context4","key","label","Date","startTime","getTime","meta","APP_MESSAGES_INIT_SUCCESS","t0","finish","deleteSession","_ref7","_callee5","_yield$closeSession","_callee5$","_context5","_x3","updateSession","_ref8","_callee6","_yield$updateSessionT","_callee6$","_context6","_x4","_x5","initConfig","_ref9","_callee7","_yield$fetchAppConfig","_callee7$","_context7","APP_CONFIG_INIT_SUCCESS","APP_NOT_FOUND","API_ERROR","suggestions"],"sources":["../../../src/hooks/useADKChat.ts"],"sourcesContent":["import { useEffect, useCallback, useMemo, useRef, useState } from \"react\";\nimport {\n fetchEventSource,\n EventStreamContentType,\n} from \"@microsoft/fetch-event-source\";\nimport { message } from \"antd\";\nimport { v4 } from \"uuid\";\nimport { SESSION_PAGE_SIZE, API_SUCCESS_CODE } from \"@/constants\";\nimport {\n SuccessCode,\n ErrorCode,\n DebugOptions,\n FunctionCall,\n SendContent,\n SessionData,\n AgentRunRequest,\n Event,\n FunctionResponse,\n IMessage,\n Part,\n} from \"@/types\";\nimport {\n fetchAppConfig,\n fetchSessionList,\n fetchSessionDetail,\n closeSession,\n updateSessionTitle,\n type ChatConfig,\n} from \"@/services/api\";\nimport { safeJsonParse } from \"@/utils\";\n\nconst combineTextParts = (parts: Part[]) => {\n const result: Part[] = [];\n let combinedTextPart: Part | undefined;\n\n // eslint-disable-next-line no-restricted-syntax\n for (const part of parts) {\n if (part.text) {\n // 如果没有 combined 或 combined 思考类型跟当前 part 不同,则创建新的合并引用\n if (!combinedTextPart || combinedTextPart.thought !== part.thought) {\n combinedTextPart = { ...part };\n result.push(combinedTextPart);\n } else {\n combinedTextPart.text += part.text;\n }\n } else {\n combinedTextPart = undefined;\n result.push(part);\n }\n }\n return result;\n};\n\nfunction useADKChat({\n url,\n token,\n config = {},\n type = \"agentDebug\",\n enabled = true, // ← 新增: 是否启用 Hook\n onError,\n onMessage,\n onSuccess,\n onStream,\n}: DebugOptions) {\n const [loading, setLoading] = useState(false);\n const ctrl = useRef<AbortController | null>(null);\n // 应用配置\n const { appNo, showFirstSession } = config || {};\n const [appInfo, setAppInfo] = useState<ChatConfig | null>(null);\n // 初始化完成\n const [initialized, setInitialized] = useState(false);\n // 会话记录\n const [sessionList, setSessionList] = useState<SessionData[]>([]);\n // 当前会话\n const [currentSessionId, setCurrentSessionId] = useState<string>(() => v4());\n // 会话分页设置\n const [sessionPagination, setSessionPagination] = useState({\n total: 0,\n pageNum: 1,\n pageSize: SESSION_PAGE_SIZE,\n });\n // 开场白\n const [prologue, setPrologue] = useState<string>(\"\");\n // 建议问题\n const [suggestedQuestions, setSuggestedQuestions] = useState<string[]>([]);\n const [messages, setMessages] = useState<IMessage[]>([]);\n const mergedMessages = useMemo(() => {\n const fnResMap: Record<string, FunctionResponse> = {};\n messages.forEach((msg) => {\n if (msg.functionResponse) {\n fnResMap[msg?.functionResponse?.id || \"\"] = msg.functionResponse;\n }\n });\n return messages.map((msg) => {\n if (msg.functionCall) {\n return {\n ...msg,\n functionResponse: fnResMap[msg?.functionCall?.id || \"\"],\n };\n }\n return msg;\n });\n }, [messages]);\n const textMsgRef = useRef<IMessage>(null);\n const eventDataRef = useRef<Map<string, any>>(new Map());\n\n // 插入消息\n const insertMessage = useCallback((msg: IMessage) => {\n setMessages((prev) => {\n const lastMessage = prev[prev.length - 1];\n if (lastMessage?.isLoading) {\n return [...prev.slice(0, -1), msg, lastMessage];\n }\n return [...prev, msg];\n });\n }, []);\n\n // 初始化开场白预设置问题\n const insertSuggestedQuestions = (suggested_questions: string[] = []) => {\n if (!suggested_questions?.length) return;\n // 无消息内容 且 有建议问题时\n if (messages.length === 0 && suggested_questions.length) {\n setSuggestedQuestions(suggested_questions);\n }\n };\n\n // 初始化开场白\n const insertPrologue = (prologue: string) => {\n if (prologue) {\n setPrologue(prologue);\n }\n };\n\n // 更新消息\n const updateMessage = useCallback((msg: IMessage) => {\n setMessages((prev) => {\n return prev.map((m) => {\n if (m.id === msg.id) {\n return msg;\n }\n return m;\n });\n });\n }, []);\n\n // 存储事件\n const storeEvents = useCallback((part: Part | null, event: any) => {\n let title = \"\";\n\n if (part == null && event.actions?.artifactDelta) {\n title += \"eventAction: artifact\";\n } else if (part) {\n if (part.text) {\n title += `text:${part.text}`;\n } else if (part.functionCall) {\n title += `functionCall:${part.functionCall.name}`;\n } else if (part.functionResponse) {\n title += `functionResponse:${part.functionResponse.name}`;\n } else if (part.executableCode) {\n title += `executableCode:${part.executableCode.code?.slice(0, 10)}`;\n } else if (part.codeExecutionResult) {\n title += `codeExecutionResult:${part.codeExecutionResult.outcome}`;\n } else if (part.errorMessage) {\n title += `errorMessage:${part.errorMessage}`;\n }\n }\n\n const updatedEvent = { ...event, title };\n\n const newEventData = new Map(eventDataRef.current);\n newEventData.set(event.id, updatedEvent);\n eventDataRef.current = newEventData;\n }, []);\n\n // 存储消息\n const storeMessage = useCallback(\n (part: Part | null, event: Event, role: \"user\" | \"bot\") => {\n const msg: IMessage = {\n id: v4(),\n author: event.author,\n invocationId: event.invocationId,\n eventId: event.id,\n timestamp: event.timestamp,\n isLike: event.isLike || 0,\n role,\n };\n\n if (part) {\n if (part.inlineData) {\n msg.inlineData = {\n displayName: part.inlineData.displayName,\n data: part.inlineData.data,\n mimeType: part.inlineData.mimeType,\n };\n } else if (part.text) {\n msg.text = part.text;\n msg.thought = part.thought;\n\n if (event?.groundingMetadata?.searchEntryPoint?.renderedContent) {\n msg.renderedContent =\n event.groundingMetadata.searchEntryPoint.renderedContent;\n }\n } else if (part.fileData) {\n msg.fileData = [part.fileData];\n } else if (part.functionCall) {\n msg.functionCall = part.functionCall;\n } else if (part.functionResponse) {\n msg.functionResponse = part.functionResponse;\n } else if (part.executableCode) {\n msg.executableCode = part.executableCode;\n } else if (part.codeExecutionResult) {\n msg.codeExecutionResult = part.codeExecutionResult;\n }\n }\n\n if (part && Object.keys(part).length > 0) {\n insertMessage(msg);\n }\n },\n [insertMessage],\n );\n\n // 处理消息部分(关键更新)\n const processPart = useCallback(\n (event: Event, part: Part) => {\n const renderedContent =\n event.groundingMetadata?.searchEntryPoint?.renderedContent;\n if (part.text) {\n const newChunk = part.text;\n\n if (\n !textMsgRef.current ||\n textMsgRef.current.thought !== part.thought\n ) {\n const newMessage: IMessage = {\n id: v4(),\n author: event.author,\n invocationId: event.invocationId,\n eventId: event.id,\n timestamp: event.timestamp,\n role: \"bot\",\n text: newChunk,\n isLike: event.isLike || 0,\n thought: part.thought,\n };\n\n if (renderedContent) {\n newMessage.renderedContent = renderedContent;\n }\n\n textMsgRef.current = newMessage;\n // 存储原数据\n storeEvents(part, event);\n // 插入消息\n insertMessage(newMessage);\n } else {\n if (event.partial === false) {\n storeEvents(part, event);\n textMsgRef.current = null;\n return;\n }\n if (renderedContent) {\n textMsgRef.current = {\n ...textMsgRef.current,\n renderedContent,\n };\n }\n textMsgRef.current = {\n ...textMsgRef.current,\n text: (textMsgRef.current.text || \"\") + newChunk,\n };\n updateMessage(textMsgRef.current);\n }\n } else {\n textMsgRef.current = null;\n storeEvents(part, event);\n storeMessage(part, event, \"bot\");\n }\n },\n [storeEvents, storeMessage, insertMessage, updateMessage],\n );\n\n // 处理建议类消息\n const processFollowupPart = useCallback(\n (event: Event) => {\n // 获取建议类消息的文本内容\n const part = event?.content?.parts?.[0] || null;\n const text = part?.text || \"\";\n storeEvents(part, event);\n if (text) {\n setSuggestedQuestions((prev) => [...prev, text]);\n }\n },\n [storeEvents, insertMessage],\n );\n\n // 处理错误消息\n const processErrorMessage = useCallback(\n (chunkJson: any) => {\n storeEvents(null, chunkJson);\n insertMessage({\n id: v4(),\n text: chunkJson.errorMessage,\n role: \"bot\",\n });\n },\n [storeEvents, insertMessage],\n );\n\n // 处理动作和制品\n const processActionArtifact = useCallback(\n (event: any) => {\n if (event.actions && event.actions.artifactDelta) {\n storeEvents(null, event);\n storeMessage(null, event, \"bot\");\n }\n },\n [storeEvents, storeMessage],\n );\n\n // 发送消息请求\n const sendMessageRequest = useCallback(\n (values: AgentRunRequest) => {\n return new Promise<void>((resolve) => {\n if (ctrl.current) {\n ctrl.current.abort();\n }\n setLoading(true);\n ctrl.current = new AbortController();\n const requestUrl = `${url}/api/gateway-web/openApi/v1/aizt/app/${appNo}/sendMsgStreaming`;\n\n fetchEventSource(requestUrl, {\n method: \"POST\",\n signal: ctrl.current.signal,\n body: JSON.stringify(values),\n openWhenHidden: true,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Cache-Control\": \"no-cache\",\n stream: \"true\",\n Authorization: `Bearer ${token}`,\n },\n async onopen(response) {\n if (\n response.ok &&\n response.headers.get(\"content-type\") === EventStreamContentType\n ) {\n // everything's good\n } else if (\n response.status >= 400 &&\n response.status < 500 &&\n response.status !== 429\n ) {\n resolve();\n } else {\n resolve();\n }\n },\n onmessage: (event) => {\n const rawData = safeJsonParse(event.data, {});\n\n // 处理新的数据格式: { data: {...}, result: {...} }\n let chunkJson: Event = rawData;\n if (rawData.data && rawData.result) {\n // 转换为旧格式\n chunkJson = {\n ...rawData.data,\n content: rawData.data, // data 本身就是 content\n invocationId: rawData.result.invocationId,\n sessionId: rawData.result.sessionId,\n id: rawData.result.invocationId,\n };\n }\n\n if (chunkJson.error) {\n message.warning(chunkJson.error);\n return;\n }\n onStream?.(chunkJson);\n if (chunkJson.content) {\n // 建议类消息单独处理\n if (chunkJson.content.role === \"followup\") {\n processFollowupPart(chunkJson);\n return;\n }\n // eslint-disable-next-line no-restricted-syntax\n for (const part of combineTextParts(chunkJson.content.parts)) {\n processPart(chunkJson, part);\n }\n } else if (chunkJson.errorMessage) {\n processErrorMessage(chunkJson);\n } else if (chunkJson.actions) {\n processActionArtifact(chunkJson);\n }\n },\n onclose: () => {\n setLoading(false);\n if (textMsgRef.current) {\n onMessage?.(textMsgRef.current?.text || \"\", textMsgRef.current);\n }\n textMsgRef.current = null;\n resolve();\n },\n onerror: (error) => {\n setLoading(false);\n resolve();\n console.error(\"EventSource failed:\", error);\n throw error;\n },\n });\n });\n },\n [\n type,\n currentSessionId,\n processActionArtifact,\n processErrorMessage,\n processPart,\n ],\n );\n\n // 发送会话\n const startChat = async ({\n text = \"\",\n files = [],\n functionResponse,\n }: SendContent) => {\n if (loading) return;\n if (!text.trim() && !functionResponse) return;\n // 清空建议问题\n setSuggestedQuestions([]);\n // 发送消息\n setMessages((prev) => {\n let temp = [...prev];\n // 如果 text 存在\n if (text.trim()) {\n temp.push({\n id: v4(),\n role: \"user\",\n text,\n });\n }\n // 如果file 存在\n if (files.length > 0) {\n temp.push({\n id: v4(),\n role: \"user\",\n fileData: files.map((file) => ({\n displayName: file.name,\n mimeType: file.response?.mimeType,\n fileUri: file.response?.fileUrl,\n })),\n });\n }\n // 如果 functionResponse 存在\n if (functionResponse) {\n temp.push({\n id: v4(),\n role: \"user\",\n functionResponse,\n });\n }\n return temp;\n });\n await sendMessageRequest({\n stream: true,\n sessionId: currentSessionId,\n content: {\n role: \"user\",\n parts: functionResponse ? [{ functionResponse }] : [{ text }],\n },\n files: files.map((file) => ({\n fileName: file.response?.fileName,\n fileId: file.response?.fileId,\n tempUrl: file.response?.fileUrl,\n type: file.response?.fileType,\n mimeType: file.response?.mimeType,\n })),\n });\n // 获取聊天记录\n initAppConversations();\n };\n\n // 重新发送会话\n const reChat = () => {\n if (loading) return;\n if (messages.length === 0) return;\n setMessages((prev) => {\n const newMessages = [...prev];\n // 删除最后一条 AI 消息\n const lastAIIndex = newMessages.findLastIndex(\n (msg) => msg.role === \"bot\",\n );\n if (lastAIIndex !== -1) {\n newMessages.splice(lastAIIndex, 1);\n }\n // 清空建议问题\n setSuggestedQuestions([]);\n // 重新发送最后一条用户消息\n const lastUserMessage = newMessages.findLast(\n (msg) => msg.role === \"user\",\n );\n if (lastUserMessage) {\n const { text = \"\", fileData = [] } = lastUserMessage;\n sendMessageRequest({\n stream: true,\n sessionId: currentSessionId,\n content: {\n role: \"user\",\n parts: [\n {\n text,\n },\n ],\n },\n files: fileData?.map((file) => ({\n fileName: file.displayName,\n tempUrl: file.fileUri,\n mimeType: file.mimeType,\n })),\n });\n }\n\n return newMessages;\n });\n };\n\n // 确认函数调用\n const confirmFnCall = (fnCall: FunctionCall, confirmed: boolean) => {\n const functionResponse = {\n id: fnCall.id,\n name: fnCall.name,\n response: { confirmed },\n };\n startChat({ functionResponse });\n };\n\n // 使用建议问题\n const suggestChat = (text: string) => {\n if (loading) return;\n if (!text.trim()) return;\n setSuggestedQuestions([]);\n startChat({ text });\n };\n\n // 停止会话\n const stopChat = useCallback(() => {\n ctrl.current?.abort();\n setLoading(false);\n textMsgRef.current = null;\n }, [ctrl]);\n\n // 清除/重置会话\n const clearChat = () => {\n const newSessionId = v4();\n setCurrentSessionId(newSessionId);\n // 重置聊天内容\n stopChat();\n setPrologue(appInfo?.onboardingInfo?.prologue || \"\");\n setMessages([]);\n setSuggestedQuestions(appInfo?.onboardingInfo?.suggested_questions || []);\n };\n\n // 格式化会话记录\n const formatMessages = (messages: any[], isReplace = false) => {\n const mapped: IMessage[] = [];\n messages.forEach((item) => {\n if (!item || !item.content || !Array.isArray(item.content.parts)) return;\n\n const role =\n (item.content.role || \"\").toLowerCase() === \"user\" ? \"user\" : \"bot\";\n const parts = Array.isArray(item.content.parts)\n ? item.content.parts.filter((p: any) => {\n if (!p) return false;\n return Boolean(\n p.text ||\n p.inlineData ||\n p.functionCall ||\n p.functionResponse ||\n p.fileData ||\n p.executableCode ||\n p.codeExecutionResult ||\n p.errorMessage,\n );\n })\n : [];\n\n if (parts.length === 0) return;\n parts.forEach((part: any) => {\n const msg: IMessage = {\n id: v4(),\n author: item.author,\n invocationId: item.invocationId,\n eventId: item.id,\n timestamp: item.timestamp,\n isLike: item.isLike,\n role,\n raw: item,\n } as IMessage;\n\n if (part.inlineData) {\n msg.inlineData = {\n displayName: part.inlineData.displayName,\n data: part.inlineData.data,\n mimeType: part.inlineData.mimeType,\n } as any;\n }\n if (part.text) {\n msg.text = part.text;\n if (typeof part.thought !== \"undefined\") msg.thought = part.thought;\n }\n if (part.functionCall) msg.functionCall = part.functionCall;\n if (part.fileData) {\n msg.inlineData = {\n displayName: part.fileData.displayName || \"\",\n data: part.fileData.fileUri,\n mimeType: part.fileData.mimeType,\n } as any;\n }\n if (part.executableCode) msg.executableCode = part.executableCode;\n if (part.codeExecutionResult)\n msg.codeExecutionResult = part.codeExecutionResult;\n if (part.errorMessage) msg.text = part.errorMessage;\n // 补全函数调用结果\n if (part.functionResponse) {\n // 通过 functionCall.id 寻找对应的函数调用消息,在那条消息上添加functionResponse\n const functionCallMsg = mapped.find(\n (msg) => msg.functionCall?.id === part.functionResponse?.id,\n );\n if (functionCallMsg) {\n functionCallMsg.functionResponse = part.functionResponse;\n }\n return;\n }\n mapped.push(msg);\n });\n });\n\n setMessages((prev) => (isReplace ? mapped : [...prev, ...mapped]));\n };\n\n // 设置当前会话详情\n const setCurrentSessionDetail = async (sessionId: string) => {\n if (sessionId) {\n if (sessionId === currentSessionId) {\n return;\n }\n setCurrentSessionId(sessionId); // 设置当前会话 id;\n const { data, result } = await fetchSessionDetail({\n url,\n appNo,\n sessionId,\n token,\n });\n\n if (result?.code === API_SUCCESS_CODE) {\n setPrologue(appInfo?.onboardingInfo?.prologue || \"\");\n // 新接口直接返回按 event/item 结构的数组,传入 formatMessages 处理\n if (Array.isArray(data) && data.length > 0) {\n formatMessages(data, true);\n } else {\n setSuggestedQuestions(\n appInfo?.onboardingInfo?.suggested_questions || [],\n );\n }\n }\n } else {\n // 兼容 无 session异常\n setCurrentSessionId(v4());\n }\n };\n\n // 获取聊天记录\n const initAppConversations = async (fetchDetail = false) => {\n try {\n setLoading(true);\n\n const {\n data = [],\n pagination,\n result,\n } = await fetchSessionList({\n url,\n appNo,\n token,\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({\n pageNum: sessionPagination.pageNum,\n pageSize: sessionPagination.pageSize,\n total: pagination?.total || 0,\n });\n const { sessionId } = data?.[0];\n if (showFirstSession) {\n fetchDetail && setCurrentSessionDetail(sessionId);\n } else {\n setPrologue(appInfo?.onboardingInfo?.prologue || \"\");\n setSuggestedQuestions(\n appInfo?.onboardingInfo?.suggested_questions || [],\n );\n }\n // 成功回调\n if (!initialized) {\n onSuccess?.({\n code: SuccessCode.APP_MESSAGES_INIT_SUCCESS,\n message: \"初始化聊天记录成功\",\n data: {\n sessionId,\n },\n });\n setInitialized(true);\n }\n } else {\n // 无会话记录时,初始化会话详情\n clearChat();\n }\n } else {\n setSessionList([]);\n setCurrentSessionId(v4());\n setPrologue(\"\");\n setSuggestedQuestions([]);\n }\n } catch {\n //\n } finally {\n setLoading(false);\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();\n // 如果删除的是当前会话,则创建新的会话\n if (sessionId === currentSessionId) {\n clearChat();\n }\n } else {\n message.error(\"删除会话失败\");\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();\n } else {\n message.error(\"更新会话失败\");\n }\n };\n\n // 初始化应用\n const initConfig = async () => {\n try {\n setLoading(true);\n const { data, result } = await fetchAppConfig({ url, appNo });\n if (result.code === API_SUCCESS_CODE) {\n setAppInfo(data);\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 } finally {\n setLoading(false);\n }\n };\n\n // 初始化—获取配置 (仅在启用时)\n useEffect(() => {\n if (enabled && url && appNo) {\n initConfig();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [enabled, url, appNo]);\n\n // 初始化-聊天记录\n useEffect(() => {\n if (appInfo) {\n initAppConversations(true);\n }\n }, [appInfo]);\n\n return {\n appInfo,\n startChat,\n reChat,\n stopChat,\n clearChat,\n suggestChat,\n confirmFnCall,\n initialized,\n currentSessionId,\n sessionList,\n sessionPagination,\n prologue,\n suggestions: suggestedQuestions,\n loading,\n messages: mergedMessages,\n insertSuggestedQuestions,\n insertPrologue,\n deleteSession,\n updateSession,\n setSuggestedQuestions,\n setCurrentSessionDetail,\n setMessages,\n storeEvents,\n storeMessage,\n };\n}\n\nexport default useADKChat;\n"],"mappings":"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"}
@@ -1,9 +1,25 @@
1
- import { useXAi } from './context/AiProviderContext';
2
- import XAiProvider from './components/XAiProvider';
3
- import XAiChatbot from './components/XAiChatbot';
4
- import XAiSDK from './components/XAiSDK';
5
- import XAiSender from './components/XAiSender';
6
- import useXAiSDK from './hooks/useXAiSDK';
7
- import request from './utils/request';
8
- export * from './types';
9
- export { useXAi, XAiProvider, XAiChatbot, XAiSDK, XAiSender, useXAiSDK, request, };
1
+ import { useXAi } from "./context/AiProviderContext";
2
+ import XAiProvider from "./components/XAiProvider";
3
+ import XAiChatbot from "./components/XAiChatbot";
4
+ import XAiSDK from "./components/XAiSDK";
5
+ import XAiSender from "./components/XAiSender";
6
+ import XAiConversations from "./components/XAiConversations";
7
+ import XAiThoughtChain from "./components/XAiThoughtChain";
8
+ import useXAiSDK from "./hooks/useXAiSDK";
9
+ import request from "./utils/request";
10
+ import XAdkProvider from "./components/XAdkProvider";
11
+ import XAdkChatbot from "./components/XAdkChatbot";
12
+ import XAdkSender from "./components/XAdkSender";
13
+ import useADKChat from "./hooks/useADKChat";
14
+ export { useChatState, useChatActions, useSession, } from "./components/XAdkProvider/context";
15
+ export * from "./types";
16
+ export type { ChatHookResult, ChatHookFactory } from "./types/ChatHook";
17
+ export { useXAi, XAiProvider, XAiChatbot, XAiSDK, XAiSender, XAiConversations, useXAiSDK, request, };
18
+ export { XAdkProvider, XAdkChatbot, XAdkSender, XAiThoughtChain, useADKChat };
19
+ export { default as MarkdownRender } from "./components/XAdkChatbot/components/MarkdownRender";
20
+ export { default as FunctionCallRender } from "./components/XAdkChatbot/components/FunctionCallRender";
21
+ export { default as FileGallery } from "./components/XAdkChatbot/components/FileGallery";
22
+ export { default as ThinkRender } from "./components/XAdkChatbot/components/ThinkRender";
23
+ export type { MarkdownRenderProps } from "./components/XAdkChatbot/components/MarkdownRender";
24
+ export type { FunctionCallRenderProps } from "./components/XAdkChatbot/components/FunctionCallRender";
25
+ export type { XAiThoughtChainProps, ThoughtChainItemType, } from "./types/XAiThoughtChain";
package/dist/esm/index.js CHANGED
@@ -2,10 +2,36 @@
2
2
  import { useXAi } from "./context/AiProviderContext";
3
3
  import XAiProvider from "./components/XAiProvider";
4
4
  import XAiChatbot from "./components/XAiChatbot";
5
- import XAiSDK from "./components/XAiSDK"; // test
5
+ import XAiSDK from "./components/XAiSDK";
6
6
  import XAiSender from "./components/XAiSender";
7
+ import XAiConversations from "./components/XAiConversations";
8
+ import XAiThoughtChain from "./components/XAiThoughtChain";
7
9
  import useXAiSDK from "./hooks/useXAiSDK";
8
10
  import request from "./utils/request";
11
+
12
+ // 新的 Compound Components 架构
13
+ import XAdkProvider from "./components/XAdkProvider";
14
+ import XAdkChatbot from "./components/XAdkChatbot";
15
+ import XAdkSender from "./components/XAdkSender";
16
+ import useADKChat from "./hooks/useADKChat";
17
+
18
+ // 导出新的 Context Hooks
19
+ export { useChatState, useChatActions, useSession } from "./components/XAdkProvider/context";
9
20
  export * from "./types";
10
- export { useXAi, XAiProvider, XAiChatbot, XAiSDK, XAiSender, useXAiSDK, request };
21
+
22
+ // 导出自定义 Hook 相关类型
23
+
24
+ // 旧 API - 保持向后兼容
25
+ export { useXAi, XAiProvider, XAiChatbot, XAiSDK, XAiSender, XAiConversations, useXAiSDK, request };
26
+
27
+ // 新 API - 推荐使用
28
+ export { XAdkProvider, XAdkChatbot, XAdkSender, XAiThoughtChain, useADKChat };
29
+
30
+ // 基础组件导出 - 供高级用户和业务侧使用
31
+ export { default as MarkdownRender } from "./components/XAdkChatbot/components/MarkdownRender";
32
+ export { default as FunctionCallRender } from "./components/XAdkChatbot/components/FunctionCallRender";
33
+ export { default as FileGallery } from "./components/XAdkChatbot/components/FileGallery";
34
+ export { default as ThinkRender } from "./components/XAdkChatbot/components/ThinkRender";
35
+
36
+ // 基础组件类型导出
11
37
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useXAi","XAiProvider","XAiChatbot","XAiSDK","XAiSender","useXAiSDK","request"],"sources":["../../src/index.ts"],"sourcesContent":["// index.ts\nimport { useXAi } from './context/AiProviderContext';\nimport XAiProvider from './components/XAiProvider';\nimport XAiChatbot from './components/XAiChatbot';\nimport XAiSDK from './components/XAiSDK'; // test\nimport XAiSender from './components/XAiSender';\nimport useXAiSDK from './hooks/useXAiSDK';\nimport request from './utils/request';\n\nexport * from './types';\n\nexport {\n useXAi,\n XAiProvider,\n XAiChatbot,\n XAiSDK,\n XAiSender,\n useXAiSDK,\n request,\n};\n"],"mappings":"AAAA;AACA,SAASA,MAAM;AACf,OAAOC,WAAW;AAClB,OAAOC,UAAU;AACjB,OAAOC,MAAM,4BAA4B,CAAC;AAC1C,OAAOC,SAAS;AAChB,OAAOC,SAAS;AAChB,OAAOC,OAAO;AAEd;AAEA,SACEN,MAAM,EACNC,WAAW,EACXC,UAAU,EACVC,MAAM,EACNC,SAAS,EACTC,SAAS,EACTC,OAAO"}
1
+ {"version":3,"names":["useXAi","XAiProvider","XAiChatbot","XAiSDK","XAiSender","XAiConversations","XAiThoughtChain","useXAiSDK","request","XAdkProvider","XAdkChatbot","XAdkSender","useADKChat","useChatState","useChatActions","useSession","default","MarkdownRender","FunctionCallRender","FileGallery","ThinkRender"],"sources":["../../src/index.ts"],"sourcesContent":["// index.ts\nimport { useXAi } from \"./context/AiProviderContext\";\nimport XAiProvider from \"./components/XAiProvider\";\nimport XAiChatbot from \"./components/XAiChatbot\";\nimport XAiSDK from \"./components/XAiSDK\";\nimport XAiSender from \"./components/XAiSender\";\nimport XAiConversations from \"./components/XAiConversations\";\nimport XAiThoughtChain from \"./components/XAiThoughtChain\";\nimport useXAiSDK from \"./hooks/useXAiSDK\";\nimport request from \"./utils/request\";\n\n// 新的 Compound Components 架构\nimport XAdkProvider from \"./components/XAdkProvider\";\nimport XAdkChatbot from \"./components/XAdkChatbot\";\nimport XAdkSender from \"./components/XAdkSender\";\nimport useADKChat from \"./hooks/useADKChat\";\n\n// 导出新的 Context Hooks\nexport {\n useChatState,\n useChatActions,\n useSession,\n} from \"./components/XAdkProvider/context\";\n\nexport * from \"./types\";\n\n// 导出自定义 Hook 相关类型\nexport type { ChatHookResult, ChatHookFactory } from \"./types/ChatHook\";\n\n// 旧 API - 保持向后兼容\nexport {\n useXAi,\n XAiProvider,\n XAiChatbot,\n XAiSDK,\n XAiSender,\n XAiConversations,\n useXAiSDK,\n request,\n};\n\n// 新 API - 推荐使用\nexport { XAdkProvider, XAdkChatbot, XAdkSender, XAiThoughtChain, useADKChat };\n\n// 基础组件导出 - 供高级用户和业务侧使用\nexport { default as MarkdownRender } from \"./components/XAdkChatbot/components/MarkdownRender\";\nexport { default as FunctionCallRender } from \"./components/XAdkChatbot/components/FunctionCallRender\";\nexport { default as FileGallery } from \"./components/XAdkChatbot/components/FileGallery\";\nexport { default as ThinkRender } from \"./components/XAdkChatbot/components/ThinkRender\";\n\n// 基础组件类型导出\nexport type { MarkdownRenderProps } from \"./components/XAdkChatbot/components/MarkdownRender\";\nexport type { FunctionCallRenderProps } from \"./components/XAdkChatbot/components/FunctionCallRender\";\nexport type {\n XAiThoughtChainProps,\n ThoughtChainItemType,\n} from \"./types/XAiThoughtChain\";\n"],"mappings":"AAAA;AACA,SAASA,MAAM;AACf,OAAOC,WAAW;AAClB,OAAOC,UAAU;AACjB,OAAOC,MAAM;AACb,OAAOC,SAAS;AAChB,OAAOC,gBAAgB;AACvB,OAAOC,eAAe;AACtB,OAAOC,SAAS;AAChB,OAAOC,OAAO;;AAEd;AACA,OAAOC,YAAY;AACnB,OAAOC,WAAW;AAClB,OAAOC,UAAU;AACjB,OAAOC,UAAU;;AAEjB;AACA,SACEC,YAAY,EACZC,cAAc,EACdC,UAAU;AAGZ;;AAEA;;AAGA;AACA,SACEf,MAAM,EACNC,WAAW,EACXC,UAAU,EACVC,MAAM,EACNC,SAAS,EACTC,gBAAgB,EAChBE,SAAS,EACTC,OAAO;;AAGT;AACA,SAASC,YAAY,EAAEC,WAAW,EAAEC,UAAU,EAAEL,eAAe,EAAEM,UAAU;;AAE3E;AACA,SAASI,OAAO,IAAIC,cAAc;AAClC,SAASD,OAAO,IAAIE,kBAAkB;AACtC,SAASF,OAAO,IAAIG,WAAW;AAC/B,SAASH,OAAO,IAAII,WAAW;;AAE/B"}
@@ -1,16 +1,16 @@
1
1
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
2
  import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
3
3
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22, _templateObject23, _templateObject24, _templateObject25, _templateObject26, _templateObject27, _templateObject28, _templateObject29, _templateObject30, _templateObject31, _templateObject32;
4
- import { css } from '@emotion/css';
5
- export var primaryBlue = '#0078FF'; // 主蓝色
6
- export var lightBlue = '#E6F0FF'; // 浅蓝色气泡背景
7
- export var darkGray = '#333'; // 深灰色文本
8
- export var lightGray = '#888'; // 浅灰文本
9
- export var borderGray = '#ddd'; // 边框灰色
4
+ import { css } from "@emotion/css";
5
+ export var primaryBlue = "#0078FF"; // 主蓝色
6
+ export var lightBlue = "#E6F0FF"; // 浅蓝色气泡背景
7
+ export var darkGray = "#333"; // 深灰色文本
8
+ export var lightGray = "#888"; // 浅灰文本
9
+ export var borderGray = "#ddd"; // 边框灰色
10
10
 
11
11
  // 辅助函数:判断是否为数字,如果是数字则添加 px 单位
12
12
  var addPxIfNumber = function addPxIfNumber(value) {
13
- return typeof value === 'number' ? "".concat(value, "px") : value;
13
+ return typeof value === "number" ? "".concat(value, "px") : value;
14
14
  };
15
15
 
16
16
  // 基础样式集合
@@ -78,15 +78,15 @@ export var basicStyles = {
78
78
  return css(_templateObject24 || (_templateObject24 = _taggedTemplateLiteral(["\n cursor: ", ";\n "])), type);
79
79
  },
80
80
  border: function border(color) {
81
- var width = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '1px';
81
+ var width = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "1px";
82
82
  return css(_templateObject25 || (_templateObject25 = _taggedTemplateLiteral(["\n border: ", " solid ", ";\n "])), width, color);
83
83
  },
84
84
  boxShadow: function boxShadow(shadow) {
85
85
  return css(_templateObject26 || (_templateObject26 = _taggedTemplateLiteral(["\n box-shadow: ", ";\n "])), shadow);
86
86
  },
87
87
  transition: function transition() {
88
- var property = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'all';
89
- var duration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '0.2s';
88
+ var property = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "all";
89
+ var duration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "0.2s";
90
90
  return css(_templateObject27 || (_templateObject27 = _taggedTemplateLiteral(["\n transition: ", " ", " ease;\n "])), property, duration);
91
91
  },
92
92
  overflow: function overflow(type) {
@@ -99,7 +99,7 @@ export var basicStyles = {
99
99
  return css(_templateObject30 || (_templateObject30 = _taggedTemplateLiteral(["\n z-index: ", ";\n "])), index);
100
100
  },
101
101
  flexCenterGap2: css(_templateObject31 || (_templateObject31 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n gap: 8px;\n "]))),
102
- flexCenterGap4: css(_templateObject32 || (_templateObject32 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n gap: 4px;\n color: #7F56D9;\n cursor: pointer;\n &:hover {\n opacity: 0.8;\n }\n "])))
102
+ flexCenterGap4: css(_templateObject32 || (_templateObject32 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n gap: 4px;\n color: #7f56d9;\n cursor: pointer;\n &:hover {\n opacity: 0.8;\n }\n "])))
103
103
  };
104
104
 
105
105
  // 高阶函数:自动合并基础样式
@@ -1 +1 @@
1
- {"version":3,"names":["css","primaryBlue","lightBlue","darkGray","lightGray","borderGray","addPxIfNumber","value","concat","basicStyles","w","width","_templateObject","_taggedTemplateLiteral","h","height","_templateObject2","p","padding","_templateObject3","pb","_templateObject4","pt","_templateObject5","pl","_templateObject6","pr","_templateObject7","m","margin","_templateObject8","mb","_templateObject9","mt","_templateObject10","ml","_templateObject11","mr","_templateObject12","text","size","_templateObject13","weight","_templateObject14","textColor","c","_templateObject15","bg","_templateObject16","rs","radius","_templateObject17","gap","g","_templateObject18","flex","_templateObject19","flexCenter","_templateObject20","flexBetween","_templateObject21","flexColumn","_templateObject22","flex1","_templateObject23","cursor","type","_templateObject24","border","color","arguments","length","undefined","_templateObject25","boxShadow","shadow","_templateObject26","transition","property","duration","_templateObject27","overflow","_templateObject28","position","_templateObject29","zIndex","index","_templateObject30","flexCenterGap2","_templateObject31","flexCenterGap4","_templateObject32","withBasicStyles","useCustomStyles","custom","result","_objectSpread"],"sources":["../../../src/styles/common.ts"],"sourcesContent":["import { css } from '@emotion/css';\n\nexport const primaryBlue = '#0078FF'; // 主蓝色\nexport const lightBlue = '#E6F0FF'; // 浅蓝色气泡背景\nexport const darkGray = '#333'; // 深灰色文本\nexport const lightGray = '#888'; // 浅灰文本\nexport const borderGray = '#ddd'; // 边框灰色\n\n// 辅助函数:判断是否为数字,如果是数字则添加 px 单位\nconst addPxIfNumber = (value: number | string): string => {\n return typeof value === 'number' ? `${value}px` : value;\n};\n\n// 基础样式集合\nexport const basicStyles = {\n w: (width: number | string) => css`\n width: ${addPxIfNumber(width)};\n `,\n h: (height: number | string) => css`\n height: ${addPxIfNumber(height)};\n `,\n p: (padding: string) => css`\n padding: ${padding};\n `,\n pb: (padding: number | string) => css`\n padding-bottom: ${addPxIfNumber(padding)};\n `,\n pt: (padding: number | string) => css`\n padding-top: ${addPxIfNumber(padding)};\n `,\n pl: (padding: number | string) => css`\n padding-left: ${addPxIfNumber(padding)};\n `,\n pr: (padding: number | string) => css`\n padding-right: ${addPxIfNumber(padding)};\n `,\n m: (margin: string) => css`\n margin: ${margin};\n `,\n mb: (margin: number | string) => css`\n margin-bottom: ${addPxIfNumber(margin)};\n `,\n mt: (margin: number | string) => css`\n margin-top: ${addPxIfNumber(margin)};\n `,\n ml: (margin: number | string) => css`\n margin-left: ${addPxIfNumber(margin)};\n `,\n mr: (margin: number | string) => css`\n margin-right: ${addPxIfNumber(margin)};\n `,\n text: (size: number | string) => css`\n font-size: ${addPxIfNumber(size)};\n `,\n weight: (size: number) => css`\n font-weight: ${size};\n `,\n textColor: (c: string) => css`\n color: ${c};\n `,\n bg: (c: string) => css`\n background-color: ${c};\n `,\n rs: (radius: number | string) => css`\n border-radius: ${addPxIfNumber(radius)};\n `,\n gap: (g: number | string) => css`\n gap: ${addPxIfNumber(g)};\n `,\n flex: css`\n display: flex;\n align-items: center;\n `,\n flexCenter: css`\n display: flex;\n align-items: center;\n justify-content: center;\n `,\n flexBetween: css`\n display: flex;\n align-items: center;\n justify-content: space-between;\n `,\n flexColumn: css`\n display: flex;\n flex-direction: column;\n `,\n flex1: css`\n flex: 1;\n `,\n cursor: (type: string) => css`\n cursor: ${type};\n `,\n border: (color: string, width = '1px') => css`\n border: ${width} solid ${color};\n `,\n boxShadow: (shadow: string) => css`\n box-shadow: ${shadow};\n `,\n transition: (property = 'all', duration = '0.2s') => css`\n transition: ${property} ${duration} ease;\n `,\n overflow: (type: string) => css`\n overflow: ${type};\n `,\n position: (type: string) => css`\n position: ${type};\n `,\n zIndex: (index: number) => css`\n z-index: ${index};\n `,\n\n flexCenterGap2: css`\n display: flex;\n align-items: center;\n gap: 8px;\n `,\n\n flexCenterGap4: css`\n display: flex;\n align-items: center;\n gap: 4px;\n color: #7F56D9;\n cursor: pointer;\n &:hover {\n opacity: 0.8;\n }\n `,\n};\n\n// 高阶函数:自动合并基础样式\nexport function withBasicStyles<T extends Record<string, any>>(useCustomStyles: () => T) {\n return () => {\n const custom = useCustomStyles();\n const result = {\n ...basicStyles,\n ...custom, // 组件样式放在后面,优先覆盖基础样式\n };\n return result as T & typeof basicStyles;\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["css","primaryBlue","lightBlue","darkGray","lightGray","borderGray","addPxIfNumber","value","concat","basicStyles","w","width","_templateObject","_taggedTemplateLiteral","h","height","_templateObject2","p","padding","_templateObject3","pb","_templateObject4","pt","_templateObject5","pl","_templateObject6","pr","_templateObject7","m","margin","_templateObject8","mb","_templateObject9","mt","_templateObject10","ml","_templateObject11","mr","_templateObject12","text","size","_templateObject13","weight","_templateObject14","textColor","c","_templateObject15","bg","_templateObject16","rs","radius","_templateObject17","gap","g","_templateObject18","flex","_templateObject19","flexCenter","_templateObject20","flexBetween","_templateObject21","flexColumn","_templateObject22","flex1","_templateObject23","cursor","type","_templateObject24","border","color","arguments","length","undefined","_templateObject25","boxShadow","shadow","_templateObject26","transition","property","duration","_templateObject27","overflow","_templateObject28","position","_templateObject29","zIndex","index","_templateObject30","flexCenterGap2","_templateObject31","flexCenterGap4","_templateObject32","withBasicStyles","useCustomStyles","custom","result","_objectSpread"],"sources":["../../../src/styles/common.ts"],"sourcesContent":["import { css } from \"@emotion/css\";\nimport { AlignRight } from \"lucide-react\";\n\nexport const primaryBlue = \"#0078FF\"; // 主蓝色\nexport const lightBlue = \"#E6F0FF\"; // 浅蓝色气泡背景\nexport const darkGray = \"#333\"; // 深灰色文本\nexport const lightGray = \"#888\"; // 浅灰文本\nexport const borderGray = \"#ddd\"; // 边框灰色\n\n// 辅助函数:判断是否为数字,如果是数字则添加 px 单位\nconst addPxIfNumber = (value: number | string): string => {\n return typeof value === \"number\" ? `${value}px` : value;\n};\n\n// 基础样式集合\nexport const basicStyles = {\n w: (width: number | string) => css`\n width: ${addPxIfNumber(width)};\n `,\n h: (height: number | string) => css`\n height: ${addPxIfNumber(height)};\n `,\n p: (padding: string) => css`\n padding: ${padding};\n `,\n pb: (padding: number | string) => css`\n padding-bottom: ${addPxIfNumber(padding)};\n `,\n pt: (padding: number | string) => css`\n padding-top: ${addPxIfNumber(padding)};\n `,\n pl: (padding: number | string) => css`\n padding-left: ${addPxIfNumber(padding)};\n `,\n pr: (padding: number | string) => css`\n padding-right: ${addPxIfNumber(padding)};\n `,\n m: (margin: string) => css`\n margin: ${margin};\n `,\n mb: (margin: number | string) => css`\n margin-bottom: ${addPxIfNumber(margin)};\n `,\n mt: (margin: number | string) => css`\n margin-top: ${addPxIfNumber(margin)};\n `,\n ml: (margin: number | string) => css`\n margin-left: ${addPxIfNumber(margin)};\n `,\n mr: (margin: number | string) => css`\n margin-right: ${addPxIfNumber(margin)};\n `,\n text: (size: number | string) => css`\n font-size: ${addPxIfNumber(size)};\n `,\n weight: (size: number) => css`\n font-weight: ${size};\n `,\n textColor: (c: string) => css`\n color: ${c};\n `,\n bg: (c: string) => css`\n background-color: ${c};\n `,\n rs: (radius: number | string) => css`\n border-radius: ${addPxIfNumber(radius)};\n `,\n gap: (g: number | string) => css`\n gap: ${addPxIfNumber(g)};\n `,\n flex: css`\n display: flex;\n align-items: center;\n `,\n flexCenter: css`\n display: flex;\n align-items: center;\n justify-content: center;\n `,\n flexBetween: css`\n display: flex;\n align-items: center;\n justify-content: space-between;\n `,\n flexColumn: css`\n display: flex;\n flex-direction: column;\n `,\n flex1: css`\n flex: 1;\n `,\n cursor: (type: string) => css`\n cursor: ${type};\n `,\n border: (color: string, width = \"1px\") => css`\n border: ${width} solid ${color};\n `,\n boxShadow: (shadow: string) => css`\n box-shadow: ${shadow};\n `,\n transition: (property = \"all\", duration = \"0.2s\") => css`\n transition: ${property} ${duration} ease;\n `,\n overflow: (type: string) => css`\n overflow: ${type};\n `,\n position: (type: string) => css`\n position: ${type};\n `,\n zIndex: (index: number) => css`\n z-index: ${index};\n `,\n\n flexCenterGap2: css`\n display: flex;\n align-items: center;\n gap: 8px;\n `,\n\n flexCenterGap4: css`\n display: flex;\n align-items: center;\n gap: 4px;\n color: #7f56d9;\n cursor: pointer;\n &:hover {\n opacity: 0.8;\n }\n `,\n};\n\n// 高阶函数:自动合并基础样式\nexport function withBasicStyles<T extends Record<string, any>>(\n useCustomStyles: () => T,\n) {\n return () => {\n const custom = useCustomStyles();\n const result = {\n ...basicStyles,\n ...custom, // 组件样式放在后面,优先覆盖基础样式\n };\n return result as T & typeof basicStyles;\n };\n}\n"],"mappings":"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"}
@@ -0,0 +1,81 @@
1
+ import { IMessage, SendContent } from './index';
2
+ /**
3
+ * 聊天 Hook 标准接口
4
+ * 所有自定义 Hook 必须实现这个接口
5
+ *
6
+ * @example
7
+ * // 使用内置标准协议
8
+ * <XAdkProvider url="..." token="..." config={...}>
9
+ * <XAdkProvider.DefaultLayout />
10
+ * </XAdkProvider>
11
+ *
12
+ * @example
13
+ * // 使用自定义 Hook (GraphQL)
14
+ * function MyApp() {
15
+ * const chatData = useMyGraphQLChat({ endpoint: '...' });
16
+ * return (
17
+ * <XAdkProvider chatData={chatData}>
18
+ * <XAdkProvider.DefaultLayout />
19
+ * </XAdkProvider>
20
+ * );
21
+ * }
22
+ */
23
+ export interface ChatHookResult {
24
+ /** 消息列表 */
25
+ messages: IMessage[];
26
+ /** 加载状态 */
27
+ loading: boolean;
28
+ /** 当前会话ID */
29
+ currentSessionId: string;
30
+ /** 开场白 */
31
+ prologue: string;
32
+ /** 建议问题列表 */
33
+ suggestions: string[];
34
+ /** 应用信息 */
35
+ appInfo: any | null;
36
+ /** 是否已初始化 */
37
+ initialized: boolean;
38
+ /** 会话列表 */
39
+ sessionList: any[];
40
+ /** 会话分页信息 */
41
+ sessionPagination: {
42
+ total: number;
43
+ pageNum: number;
44
+ pageSize: number;
45
+ };
46
+ /** 发送消息 */
47
+ startChat: (content: SendContent) => void;
48
+ /** 停止当前对话 */
49
+ stopChat: () => void;
50
+ /** 清空当前会话消息 */
51
+ clearChat: () => void;
52
+ /** 重新生成最后一条回复 */
53
+ reChat: () => void;
54
+ /** 发送建议问题 */
55
+ suggestChat: (suggestion: string) => void;
56
+ /** 确认函数调用 */
57
+ confirmFnCall: (response: any) => void;
58
+ /** 删除会话 */
59
+ deleteSession: (id: string) => void;
60
+ /** 更新会话标题 */
61
+ updateSession: (id: string, title: string) => void;
62
+ /** 切换会话 */
63
+ setCurrentSessionDetail: (id: string) => void;
64
+ /** 直接设置消息列表 */
65
+ setMessages: (msgs: IMessage[] | ((prev: IMessage[]) => IMessage[])) => void;
66
+ }
67
+ /**
68
+ * Hook 工厂函数类型
69
+ *
70
+ * @example
71
+ * const useMyCustomChat: ChatHookFactory = (options) => {
72
+ * // 实现自定义协议逻辑
73
+ * return {
74
+ * messages: [...],
75
+ * loading: false,
76
+ * startChat: (content) => { ... },
77
+ * // ... 其他方法
78
+ * };
79
+ * };
80
+ */
81
+ export type ChatHookFactory = (options: any) => ChatHookResult;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ChatHook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["../../../src/types/ChatHook.ts"],"sourcesContent":["import { IMessage, SendContent } from './index';\n\n/**\n * 聊天 Hook 标准接口\n * 所有自定义 Hook 必须实现这个接口\n *\n * @example\n * // 使用内置标准协议\n * <XAdkProvider url=\"...\" token=\"...\" config={...}>\n * <XAdkProvider.DefaultLayout />\n * </XAdkProvider>\n *\n * @example\n * // 使用自定义 Hook (GraphQL)\n * function MyApp() {\n * const chatData = useMyGraphQLChat({ endpoint: '...' });\n * return (\n * <XAdkProvider chatData={chatData}>\n * <XAdkProvider.DefaultLayout />\n * </XAdkProvider>\n * );\n * }\n */\nexport interface ChatHookResult {\n // ========== 状态 ==========\n\n /** 消息列表 */\n messages: IMessage[];\n\n /** 加载状态 */\n loading: boolean;\n\n /** 当前会话ID */\n currentSessionId: string;\n\n /** 开场白 */\n prologue: string;\n\n /** 建议问题列表 */\n suggestions: string[];\n\n /** 应用信息 */\n appInfo: any | null;\n\n /** 是否已初始化 */\n initialized: boolean;\n\n // ========== 会话列表 ==========\n\n /** 会话列表 */\n sessionList: any[];\n\n /** 会话分页信息 */\n sessionPagination: {\n total: number;\n pageNum: number;\n pageSize: number;\n };\n\n // ========== 操作方法 ==========\n\n /** 发送消息 */\n startChat: (content: SendContent) => void;\n\n /** 停止当前对话 */\n stopChat: () => void;\n\n /** 清空当前会话消息 */\n clearChat: () => void;\n\n /** 重新生成最后一条回复 */\n reChat: () => void;\n\n /** 发送建议问题 */\n suggestChat: (suggestion: string) => void;\n\n /** 确认函数调用 */\n confirmFnCall: (response: any) => void;\n\n /** 删除会话 */\n deleteSession: (id: string) => void;\n\n /** 更新会话标题 */\n updateSession: (id: string, title: string) => void;\n\n /** 切换会话 */\n setCurrentSessionDetail: (id: string) => void;\n\n /** 直接设置消息列表 */\n setMessages: (msgs: IMessage[] | ((prev: IMessage[]) => IMessage[])) => void;\n}\n\n/**\n * Hook 工厂函数类型\n *\n * @example\n * const useMyCustomChat: ChatHookFactory = (options) => {\n * // 实现自定义协议逻辑\n * return {\n * messages: [...],\n * loading: false,\n * startChat: (content) => { ... },\n * // ... 其他方法\n * };\n * };\n */\nexport type ChatHookFactory = (options: any) => ChatHookResult;\n"],"mappings":""}