@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,6 +1,18 @@
1
- /// <reference types="react" />
2
- import { type XAdkSenderProps } from './XAdkSender';
3
- import { type SendContent } from './XAiSender';
1
+ import { JSX } from "react";
2
+ import { type XAdkSenderProps } from "./XAdkSender";
3
+ import { type SendContent } from "./XAiSender";
4
+ /**
5
+ * 消息分组接口
6
+ */
7
+ export interface ChatGroup {
8
+ id: string;
9
+ role: "user" | "bot";
10
+ msgs: IMessage[];
11
+ invocationId?: string;
12
+ allFiles: any[];
13
+ /** 点赞状态: 1=赞, -1=踩, 0=未反馈 */
14
+ isLike?: number;
15
+ }
4
16
  export interface IInvocation {
5
17
  id: string;
6
18
  name: string;
@@ -69,11 +81,11 @@ export interface FileData {
69
81
  fileUri: string;
70
82
  }
71
83
  export interface ExecutableCode {
72
- language: 'UNKNOWN' | 'PYTHON';
84
+ language: "UNKNOWN" | "PYTHON";
73
85
  code: string;
74
86
  }
75
87
  export interface CodeExecutionResult {
76
- outcome: 'UNKNOWN' | 'OK' | 'FAILED' | 'DEADLINE_EXCEEDED';
88
+ outcome: "UNKNOWN" | "OK" | "FAILED" | "DEADLINE_EXCEEDED";
77
89
  output: string;
78
90
  }
79
91
  export interface Part {
@@ -153,7 +165,7 @@ export interface IMessage {
153
165
  eventId?: string;
154
166
  /** 消息发起人:智能体名称、user */
155
167
  author?: string;
156
- role: 'bot' | 'user';
168
+ role: "bot" | "user";
157
169
  /** 时间戳 */
158
170
  timestamp?: number;
159
171
  isLoading?: boolean;
@@ -181,8 +193,16 @@ export interface IMessage {
181
193
  invocationIndex?: any;
182
194
  finalResponsePartIndex?: any;
183
195
  toolUseIndex?: any;
196
+ /** 是否赞/踩 */
197
+ isLike?: number;
184
198
  }
185
- export interface XAdkChatbotProps extends XAdkSenderProps {
199
+ export type ActionProps = (data: {
200
+ message: ChatGroup;
201
+ isLastBotMsg: boolean;
202
+ }) => JSX.Element | null;
203
+ export interface XAdkChatbotProps extends Partial<XAdkSenderProps> {
204
+ className?: string;
205
+ style?: React.CSSProperties;
186
206
  loading?: boolean;
187
207
  /** 消息列表 */
188
208
  messages: IMessage[];
@@ -190,18 +210,12 @@ export interface XAdkChatbotProps extends XAdkSenderProps {
190
210
  prologue?: string;
191
211
  /** 建议回复 */
192
212
  suggestions?: string[];
213
+ /** 欢迎页面 */
214
+ welcome?: React.ReactNode;
193
215
  /** 显示函数调用详情 */
194
216
  showFnCallDetail?: boolean;
195
- /** 是否显示清除聊天记录按钮 */
196
- clearBtnShow?: boolean;
197
217
  /** 是否初始化 */
198
218
  initialized?: boolean;
199
- /** 底部插槽 */
200
- footer?: (props: {
201
- message: IMessage;
202
- isLastBotMsg: boolean;
203
- isLastMsg: boolean;
204
- }) => React.ReactNode;
205
219
  /** 提交回调 */
206
220
  onSubmit?: ({ text, files }: SendContent) => void;
207
221
  /** 函数调用确认回调 */
@@ -212,4 +226,55 @@ export interface XAdkChatbotProps extends XAdkSenderProps {
212
226
  onClear?: () => void;
213
227
  /** 建议回复回调 */
214
228
  onSuggest?: (text: string) => void;
229
+ /** Agent 名称 (欢迎页面) */
230
+ agentName?: string;
231
+ /** Agent 图标 (欢迎页面) */
232
+ agentIcon?: string;
233
+ /** Agent 描述 (欢迎页面) */
234
+ description?: string;
235
+ /** 是否显示重试按钮 */
236
+ showRetry?: boolean;
237
+ /** 是否显示复制按钮 */
238
+ showCopy?: boolean;
239
+ /** 是否显示日志按钮 */
240
+ showLog?: boolean;
241
+ /** 重试回调 */
242
+ onRetry?: () => void;
243
+ /** 复制回调 */
244
+ onCopy?: (text: string) => void;
245
+ /** 查看日志回调 */
246
+ onShowLog?: (invocationId: string, timestamp?: number) => void;
247
+ /** 是否启用消息分组 (默认 true) */
248
+ enableGrouping?: boolean;
249
+ /** 是否自动解析 process 内容并展示思维链 (默认 true) */
250
+ enableProcessParsing?: boolean;
251
+ /** 消息功能区 */
252
+ actions?: ActionProps;
253
+ /**
254
+ * Process 解析选项
255
+ * @example
256
+ * // 业务项目格式 (注释模式)
257
+ * parseOptions={{ mode: 'comment' }}
258
+ *
259
+ * @example
260
+ * // 自定义格式
261
+ * parseOptions={{
262
+ * mode: 'custom',
263
+ * customPatterns: [
264
+ * { regex: /\[REASONING\]([\s\S]*?)\[\/REASONING\]/g, type: 'reasoning' }
265
+ * ]
266
+ * }}
267
+ */
268
+ parseOptions?: {
269
+ mode?: "xml" | "comment" | "custom";
270
+ customPatterns?: Array<{
271
+ regex: RegExp;
272
+ type: string;
273
+ }>;
274
+ finalMarker?: string;
275
+ };
276
+ /** 是否禁用输入 */
277
+ disabled?: boolean;
278
+ /** 是否流式响应 */
279
+ stream?: boolean;
215
280
  }
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../src/types/XAdkChatbot.ts"],"sourcesContent":["import { type XAdkSenderProps } from './XAdkSender';\nimport { type SendContent } from './XAiSender';\n\nexport interface IInvocation {\n id: string;\n name: string;\n spanId: string;\n traceId: string;\n parentSpanId: string;\n startTime: number;\n endTime: number;\n sessionId: string;\n invocationId: string;\n duration: number;\n attributes: Record<string, string>;\n botName: string;\n workspaceNo: string;\n status: number;\n agentName: string;\n agentNo: string;\n agentVersionNo: string;\n userId: string;\n}\n\nexport interface AgentRunRequest {\n stream?: boolean;\n sessionId: string | undefined;\n content: {\n parts: Array<{\n text?: string;\n functionResponse?: {\n id?: string;\n name?: string;\n response?: any;\n };\n }>;\n role: string;\n };\n files?: Array<{\n fileName: string;\n fileId?: string;\n tempUrl: string;\n type?: string;\n mimeType: string;\n }>\n stateDelta?: any;\n}\nexport interface Blob {\n displayName?: string;\n mimeType?: string;\n data: string;\n}\n\nexport interface FunctionCall {\n id?: string;\n name: string;\n args: {[key: string]: any};\n}\n\nexport interface FunctionResponse {\n id?: string;\n name: string;\n response: {[key: string]: any};\n}\n\nexport interface FileData {\n displayName: string;\n mimeType: string;\n fileUri: string;\n}\n\nexport interface ExecutableCode {\n language: 'UNKNOWN'|'PYTHON';\n code: string;\n}\n\nexport interface CodeExecutionResult {\n outcome: 'UNKNOWN'|'OK'|'FAILED'|'DEADLINE_EXCEEDED';\n output: string;\n}\n\nexport interface Part {\n text?: string;\n inlineData?: Blob;\n functionCall?: FunctionCall;\n functionResponse?: FunctionResponse;\n thought?: boolean;\n fileData?: FileData;\n executableCode?: ExecutableCode;\n codeExecutionResult?: CodeExecutionResult;\n errorMessage?: string;\n}\n\nexport interface GenAiContent {\n role: string;\n parts: Part[];\n}\n\nexport interface LlmRequest {\n contents: GenAiContent[];\n}\n\nexport interface LlmResponse {\n partial?: boolean;\n content: GenAiContent;\n error?: string;\n errorMessage?: string;\n errorCode?: string;\n longRunningToolIds?: string[];\n}\n\nexport interface EventActions {\n message?: string;\n artifactDelta?: any;\n functionCall?: FunctionCall;\n functionResponse?: FunctionResponse;\n finishReason?: string;\n}\n\nexport interface Event extends LlmResponse {\n id?: string;\n author?: string;\n invocationId?: string;\n actions?: EventActions;\n longRunningToolIds?: string[];\n branch?: string;\n timestamp?: number;\n evalStatus?: any;\n failedMetric?: any;\n evalScore?: any;\n evalThreshold?: any;\n groundingMetadata?: {\n searchEntryPoint?: {\n renderedContent?: any;\n };\n };\n isLike?: number;\n sessionId?: string;\n}\n\nexport interface SessionState {\n [key: string]: unknown;\n}\n\nexport interface Session {\n id?: string;\n appName?: string;\n userId?: string;\n state?: SessionState;\n events?: Event[];\n lastUpdateTime?: number;\n}\n\nexport interface TimeTick {\n position: number;\n label: string;\n}\n\nexport interface IMessage {\n /** 前端生成的唯一标识 */\n id: string;\n /** 单次请求的唯一标识 */\n invocationId?: string;\n /** 单个Event的唯一标识,一个event里有可能有多个parts的消息 */\n eventId?: string;\n /** 消息发起人:智能体名称、user */\n author?: string;\n role: 'bot' | 'user';\n /** 时间戳 */\n timestamp?: number;\n isLoading?: boolean;\n /** 函数调用 */\n functionCall?: FunctionCall;\n /** 函数调用结果 */\n functionResponse?: FunctionResponse;\n /** 文件上传 */\n inlineData?: Blob;\n /** 文本消息 */\n text?: string;\n /** 文件信息 */\n fileData?: FileData[];\n /** 思考 */\n thought?: boolean;\n executableCode?: ExecutableCode;\n codeExecutionResult?: CodeExecutionResult;\n renderedContent?: any;\n /** 原始数据 */\n raw?: any;\n // 下面暂时没有用到\n evalStatus?: any;\n failedMetric?: any;\n evalScore?: any;\n evalThreshold?: any;\n invocationIndex?: any;\n finalResponsePartIndex?: any;\n toolUseIndex?: any;\n}\n\nexport interface XAdkChatbotProps extends XAdkSenderProps {\n // 加载状态\n loading?: boolean;\n /** 消息列表 */\n messages: IMessage[];\n /** 开场白 */\n prologue?: string;\n /** 建议回复 */\n suggestions?: string[];\n /** 显示函数调用详情 */\n showFnCallDetail?: boolean;\n /** 是否显示清除聊天记录按钮 */\n clearBtnShow?: boolean;\n /** 是否初始化 */\n initialized?: boolean;\n /** 底部插槽 */\n footer?: (props: { message: IMessage; isLastBotMsg: boolean; isLastMsg: boolean; }) => React.ReactNode;\n /** 提交回调 */\n onSubmit?: ({ text, files }: SendContent) => void;\n /** 函数调用确认回调 */\n onConfirm?: (fnCall: FunctionCall, confirmed: boolean) => void;\n /** 停止回调 */\n onStop?: () => void;\n /** 清除回调 */\n onClear?: () => void;\n /** 建议回复回调 */\n onSuggest?: (text: string) => void;\n}"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["../../../src/types/XAdkChatbot.ts"],"sourcesContent":["import { JSX, ReactNode } from \"react\";\nimport { type XAdkSenderProps } from \"./XAdkSender\";\nimport { type SendContent } from \"./XAiSender\";\n\n/**\n * 消息分组接口\n */\nexport interface ChatGroup {\n id: string;\n role: \"user\" | \"bot\";\n msgs: IMessage[];\n invocationId?: string;\n allFiles: any[];\n /** 点赞状态: 1=赞, -1=踩, 0=未反馈 */\n isLike?: number;\n}\n\nexport interface IInvocation {\n id: string;\n name: string;\n spanId: string;\n traceId: string;\n parentSpanId: string;\n startTime: number;\n endTime: number;\n sessionId: string;\n invocationId: string;\n duration: number;\n attributes: Record<string, string>;\n botName: string;\n workspaceNo: string;\n status: number;\n agentName: string;\n agentNo: string;\n agentVersionNo: string;\n userId: string;\n}\n\nexport interface AgentRunRequest {\n stream?: boolean;\n sessionId: string | undefined;\n content: {\n parts: Array<{\n text?: string;\n functionResponse?: {\n id?: string;\n name?: string;\n response?: any;\n };\n }>;\n role: string;\n };\n files?: Array<{\n fileName: string;\n fileId?: string;\n tempUrl: string;\n type?: string;\n mimeType: string;\n }>;\n stateDelta?: any;\n}\nexport interface Blob {\n displayName?: string;\n mimeType?: string;\n data: string;\n}\n\nexport interface FunctionCall {\n id?: string;\n name: string;\n args: { [key: string]: any };\n}\n\nexport interface FunctionResponse {\n id?: string;\n name: string;\n response: { [key: string]: any };\n}\n\nexport interface FileData {\n displayName: string;\n mimeType: string;\n fileUri: string;\n}\n\nexport interface ExecutableCode {\n language: \"UNKNOWN\" | \"PYTHON\";\n code: string;\n}\n\nexport interface CodeExecutionResult {\n outcome: \"UNKNOWN\" | \"OK\" | \"FAILED\" | \"DEADLINE_EXCEEDED\";\n output: string;\n}\n\nexport interface Part {\n text?: string;\n inlineData?: Blob;\n functionCall?: FunctionCall;\n functionResponse?: FunctionResponse;\n thought?: boolean;\n fileData?: FileData;\n executableCode?: ExecutableCode;\n codeExecutionResult?: CodeExecutionResult;\n errorMessage?: string;\n}\n\nexport interface GenAiContent {\n role: string;\n parts: Part[];\n}\n\nexport interface LlmRequest {\n contents: GenAiContent[];\n}\n\nexport interface LlmResponse {\n partial?: boolean;\n content: GenAiContent;\n error?: string;\n errorMessage?: string;\n errorCode?: string;\n longRunningToolIds?: string[];\n}\n\nexport interface EventActions {\n message?: string;\n artifactDelta?: any;\n functionCall?: FunctionCall;\n functionResponse?: FunctionResponse;\n finishReason?: string;\n}\n\nexport interface Event extends LlmResponse {\n id?: string;\n author?: string;\n invocationId?: string;\n actions?: EventActions;\n longRunningToolIds?: string[];\n branch?: string;\n timestamp?: number;\n evalStatus?: any;\n failedMetric?: any;\n evalScore?: any;\n evalThreshold?: any;\n groundingMetadata?: {\n searchEntryPoint?: {\n renderedContent?: any;\n };\n };\n isLike?: number;\n sessionId?: string;\n}\n\nexport interface SessionState {\n [key: string]: unknown;\n}\n\nexport interface Session {\n id?: string;\n appName?: string;\n userId?: string;\n state?: SessionState;\n events?: Event[];\n lastUpdateTime?: number;\n}\n\nexport interface TimeTick {\n position: number;\n label: string;\n}\n\nexport interface IMessage {\n /** 前端生成的唯一标识 */\n id: string;\n /** 单次请求的唯一标识 */\n invocationId?: string;\n /** 单个Event的唯一标识,一个event里有可能有多个parts的消息 */\n eventId?: string;\n /** 消息发起人:智能体名称、user */\n author?: string;\n role: \"bot\" | \"user\";\n /** 时间戳 */\n timestamp?: number;\n isLoading?: boolean;\n /** 函数调用 */\n functionCall?: FunctionCall;\n /** 函数调用结果 */\n functionResponse?: FunctionResponse;\n /** 文件上传 */\n inlineData?: Blob;\n /** 文本消息 */\n text?: string;\n /** 文件信息 */\n fileData?: FileData[];\n /** 思考 */\n thought?: boolean;\n executableCode?: ExecutableCode;\n codeExecutionResult?: CodeExecutionResult;\n renderedContent?: any;\n /** 原始数据 */\n raw?: any;\n // 下面暂时没有用到\n evalStatus?: any;\n failedMetric?: any;\n evalScore?: any;\n evalThreshold?: any;\n invocationIndex?: any;\n finalResponsePartIndex?: any;\n toolUseIndex?: any;\n /** 是否赞/踩 */\n isLike?: number;\n}\n\nexport type ActionProps = (data: {\n message: ChatGroup;\n isLastBotMsg: boolean;\n}) => JSX.Element | null;\n\nexport interface XAdkChatbotProps extends Partial<XAdkSenderProps> {\n className?: string;\n style?: React.CSSProperties;\n // 加载状态\n loading?: boolean;\n /** 消息列表 */\n messages: IMessage[];\n /** 开场白 */\n prologue?: string;\n /** 建议回复 */\n suggestions?: string[];\n /** 欢迎页面 */\n welcome?: React.ReactNode;\n /** 显示函数调用详情 */\n showFnCallDetail?: boolean;\n /** 是否初始化 */\n initialized?: boolean;\n /** 提交回调 */\n onSubmit?: ({ text, files }: SendContent) => void;\n /** 函数调用确认回调 */\n onConfirm?: (fnCall: FunctionCall, confirmed: boolean) => void;\n /** 停止回调 */\n onStop?: () => void;\n /** 清除回调 */\n onClear?: () => void;\n /** 建议回复回调 */\n onSuggest?: (text: string) => void;\n\n // ========== 新增功能 ==========\n\n /** Agent 名称 (欢迎页面) */\n agentName?: string;\n /** Agent 图标 (欢迎页面) */\n agentIcon?: string;\n /** Agent 描述 (欢迎页面) */\n description?: string;\n\n /** 是否显示重试按钮 */\n showRetry?: boolean;\n /** 是否显示复制按钮 */\n showCopy?: boolean;\n /** 是否显示日志按钮 */\n showLog?: boolean;\n\n /** 重试回调 */\n onRetry?: () => void;\n /** 复制回调 */\n onCopy?: (text: string) => void;\n /** 查看日志回调 */\n onShowLog?: (invocationId: string, timestamp?: number) => void;\n\n /** 是否启用消息分组 (默认 true) */\n enableGrouping?: boolean;\n\n /** 是否自动解析 process 内容并展示思维链 (默认 true) */\n enableProcessParsing?: boolean;\n\n /** 消息功能区 */\n actions?: ActionProps;\n\n /**\n * Process 解析选项\n * @example\n * // 业务项目格式 (注释模式)\n * parseOptions={{ mode: 'comment' }}\n *\n * @example\n * // 自定义格式\n * parseOptions={{\n * mode: 'custom',\n * customPatterns: [\n * { regex: /\\[REASONING\\]([\\s\\S]*?)\\[\\/REASONING\\]/g, type: 'reasoning' }\n * ]\n * }}\n */\n parseOptions?: {\n mode?: \"xml\" | \"comment\" | \"custom\";\n customPatterns?: Array<{ regex: RegExp; type: string }>;\n finalMarker?: string;\n };\n\n /** 是否禁用输入 */\n disabled?: boolean;\n\n /** 是否流式响应 */\n stream?: boolean;\n}\n"],"mappings":""}
@@ -1,11 +1,17 @@
1
- import { ReactNode } from 'react';
1
+ import { ReactNode } from "react";
2
2
  import { IMessage, Success, Event, Error, SendContent, ThemeType } from "./";
3
3
  export interface DebugOptions {
4
4
  url: string;
5
5
  sessionId?: string;
6
6
  config: any;
7
7
  token: string;
8
- type?: 'agentDebug' | 'appDebug';
8
+ type?: "agentDebug" | "appDebug";
9
+ /**
10
+ * 是否启用 Hook
11
+ * 当使用自定义 chatData 时,应设置为 false 以避免内部 Hook 初始化
12
+ * @default true
13
+ */
14
+ enabled?: boolean;
9
15
  onError?: (error: Error) => void;
10
16
  onSuccess?: (data: Success) => void;
11
17
  onStream?: (data: Event) => void;
@@ -99,7 +105,7 @@ export interface XAdkProviderProps {
99
105
  /**
100
106
  * AI 服务基础地址
101
107
  */
102
- url?: string;
108
+ url: string;
103
109
  /**
104
110
  * 认证 token
105
111
  */
@@ -112,25 +118,6 @@ export interface XAdkProviderProps {
112
118
  * Provider 唯一标识
113
119
  */
114
120
  providerId?: string;
115
- /**
116
- * 获取应用信息
117
- * @type {() => any}
118
- * @version 1.0.0
119
- */
120
- getData: () => any;
121
- /**
122
- * 发送聊天消息
123
- * @param content - 消息内容
124
- * @type {(content: string) => void}
125
- * @version 1.0.0
126
- */
127
- chat: (content: SendContent) => void;
128
- /**
129
- * 停止聊天
130
- * @type {() => void}
131
- * @version 1.0.0
132
- */
133
- stop: () => void;
134
121
  /**
135
122
  * 消息成功回调
136
123
  */
@@ -152,11 +139,7 @@ export interface XAdkProviderProps {
152
139
  */
153
140
  onEvent?: (event: handleEvent) => void;
154
141
  /**
155
- * 自定义插槽渲染函数
156
- */
157
- footer?: (args: FooterRenderArgs) => ReactNode;
158
- /**
159
- * React 子元素
142
+ * React 子元素 - 支持 Compound Components
160
143
  */
161
144
  children?: ReactNode;
162
145
  }
@@ -1 +1 @@
1
- {"version":3,"names":["EventCode"],"sources":["../../../src/types/XAdkProvider.ts"],"sourcesContent":["import { ReactNode } from 'react';\nimport { IMessage, Success, Event, Error, SendContent, ThemeType } from '@/types';\n\n\nexport interface DebugOptions {\n url: string\n sessionId?: string;\n config: any;\n token: string;\n type?: 'agentDebug' | 'appDebug';\n onError?: (error: Error) => void;\n onSuccess?: (data: Success) => void;\n onStream?: (data: Event) => void;\n onMessage?: (content: string, data: IMessage) => void;\n}\n\n/**\n * 事件状态码枚举\n * @enum {string}\n * @version 1.0.0\n */\nexport enum EventCode {\n /** 切换会话 */\n SESSION_SWITCH = 'SESSION_SWITCH',\n /** 开启新会话 */\n SESSION_CREATE = 'SESSION_CREATE',\n}\n\n\nexport type handleEvent = {\n code: EventCode;\n message: string;\n data?: any;\n}\n/**\n * renderFooter insert 参数说明\n */\nexport interface FooterRenderArgs {\n message: IMessage;\n isLastBotMsg: boolean;\n isLastMsg: boolean;\n}\n\n/**\n * Provider 可通过 ref 暴露的方法句柄\n */\nexport interface XAdkProviderHandle {\n startChat: (content: SendContent) => void;\n stopChat: () => void;\n clearChat: () => void;\n deleteSession: (id: string) => void;\n updateSession: (id: string, title: string) => void;\n getAppInfo: () => any;\n getMessages: () => IMessage[];\n getSessions: () => any[];\n setMessages: (msgs: IMessage[]) => void;\n setCurrentSessionDetail: (id: string) => void;\n}\n\n/**\n * config.chatProps 中的配置\n */\nexport interface ChatConfig {\n /**\n * 是否展示清空按钮\n * @type {boolean}\n * @default false\n */\n clearBtnShow?: boolean;\n /**\n * 是否展示输入框\n * @type {boolean}\n * @default true\n */\n inputShow?: boolean;\n /**\n * 打字机效果速度(单位:毫秒)\n * @type {number}\n * @default 60\n * @version 1.0.0\n */\n textSpeed?: number;\n}\n\n/**\n * Provider config 整体配置结构\n */\nexport interface XAdkProviderConfig {\n session?: {\n showSessionList?: boolean;\n };\n /**\n * 初始化后是否默认展示第一条会话内容\n * @type {boolean}\n * @default false\n */\n showFirstSession?: boolean;\n allowUpload?: boolean;\n appNo?: string;\n chatProps?: ChatConfig;\n debug?: boolean;\n}\n\n/**\n * XAdkProvider Props\n */\nexport interface XAdkProviderProps {\n /**\n * AI 服务基础地址\n */\n url?: string;\n /**\n * 认证 token\n */\n token: string;\n /**\n * 组件功能配置\n */\n config?: XAdkProviderConfig;\n /**\n * Provider 唯一标识\n */\n providerId?: string;\n /**\n * 获取应用信息\n * @type {() => any}\n * @version 1.0.0\n */\n getData: () => any;\n\n /**\n * 发送聊天消息\n * @param content - 消息内容\n * @type {(content: string) => void}\n * @version 1.0.0\n */\n chat: (content: SendContent) => void;\n /**\n * 停止聊天\n * @type {() => void}\n * @version 1.0.0\n */\n stop: () => void;\n /**\n * 消息成功回调\n */\n onSuccess?: (success: any) => void;\n /**\n * 流式消息回调\n */\n onStream?: (data: Event) => void;\n /**\n * 错误回调\n */\n onError?: (err: any) => void;\n /**\n * 每条消息回调\n */\n onMessage?: (content: string, data: IMessage) => void;\n /**\n * 事件回调\n */\n onEvent?: (event: handleEvent) => void;\n /**\n * 自定义插槽渲染函数\n */\n footer?: (args: FooterRenderArgs) => ReactNode;\n /**\n * React 子元素\n */\n children?: ReactNode;\n}\n\n// XAiSDKProps 继承 XAdkProviderProps\nexport interface XAdkSDKProps extends XAdkProviderProps {\n /**\n * 主题类型\n * @type {ThemeType}\n * @default 'default'\n * @version 1.0.0\n */\n theme?: ThemeType;\n\n /**\n * 组件属性配置\n * @type {object}\n * @default undefined\n * @version 1.0.0\n */\n componentProps?: {\n /**\n * 组件ID\n * @type {string}\n * @default undefined\n * @version 1.0.0\n */\n id?: string;\n /** 支持任意 CSS 属性 */\n [key: string]: any;\n };\n}"],"mappings":"AAgBA;AACA;AACA;AACA;AACA;AACA,WAAaA,SAAS,0BAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAAA,OAATA,SAAS;AAAA;;AAatB;AACA;AACA;;AAOA;AACA;AACA;;AAcA;AACA;AACA;;AAuBA;AACA;AACA;;AAiBA;AACA;AACA;;AAoEA"}
1
+ {"version":3,"names":["EventCode"],"sources":["../../../src/types/XAdkProvider.ts"],"sourcesContent":["import { ReactNode } from \"react\";\nimport {\n IMessage,\n Success,\n Event,\n Error,\n SendContent,\n ThemeType,\n} from \"@/types\";\n\nexport interface DebugOptions {\n url: string;\n sessionId?: string;\n config: any;\n token: string;\n type?: \"agentDebug\" | \"appDebug\";\n /**\n * 是否启用 Hook\n * 当使用自定义 chatData 时,应设置为 false 以避免内部 Hook 初始化\n * @default true\n */\n enabled?: boolean;\n onError?: (error: Error) => void;\n onSuccess?: (data: Success) => void;\n onStream?: (data: Event) => void;\n onMessage?: (content: string, data: IMessage) => void;\n}\n\n/**\n * 事件状态码枚举\n * @enum {string}\n * @version 1.0.0\n */\nexport enum EventCode {\n /** 切换会话 */\n SESSION_SWITCH = \"SESSION_SWITCH\",\n /** 开启新会话 */\n SESSION_CREATE = \"SESSION_CREATE\",\n}\n\nexport type handleEvent = {\n code: EventCode;\n message: string;\n data?: any;\n};\n/**\n * renderFooter insert 参数说明\n */\nexport interface FooterRenderArgs {\n message: IMessage;\n isLastBotMsg: boolean;\n isLastMsg: boolean;\n}\n\n/**\n * Provider 可通过 ref 暴露的方法句柄\n */\nexport interface XAdkProviderHandle {\n startChat: (content: SendContent) => void;\n stopChat: () => void;\n clearChat: () => void;\n deleteSession: (id: string) => void;\n updateSession: (id: string, title: string) => void;\n getAppInfo: () => any;\n getMessages: () => IMessage[];\n getSessions: () => any[];\n setMessages: (msgs: IMessage[]) => void;\n setCurrentSessionDetail: (id: string) => void;\n}\n\n/**\n * config.chatProps 中的配置\n */\nexport interface ChatConfig {\n /**\n * 是否展示清空按钮\n * @type {boolean}\n * @default false\n */\n clearBtnShow?: boolean;\n /**\n * 是否展示输入框\n * @type {boolean}\n * @default true\n */\n inputShow?: boolean;\n /**\n * 打字机效果速度(单位:毫秒)\n * @type {number}\n * @default 60\n * @version 1.0.0\n */\n textSpeed?: number;\n}\n\n/**\n * Provider config 整体配置结构\n */\nexport interface XAdkProviderConfig {\n session?: {\n showSessionList?: boolean;\n };\n /**\n * 初始化后是否默认展示第一条会话内容\n * @type {boolean}\n * @default false\n */\n showFirstSession?: boolean;\n allowUpload?: boolean;\n appNo?: string;\n chatProps?: ChatConfig;\n debug?: boolean;\n}\n\n/**\n * XAdkProvider Props\n */\nexport interface XAdkProviderProps {\n /**\n * AI 服务基础地址\n */\n url: string;\n /**\n * 认证 token\n */\n token: string;\n /**\n * 组件功能配置\n */\n config?: XAdkProviderConfig;\n /**\n * Provider 唯一标识\n */\n providerId?: string;\n /**\n * 消息成功回调\n */\n onSuccess?: (success: any) => void;\n /**\n * 流式消息回调\n */\n onStream?: (data: Event) => void;\n /**\n * 错误回调\n */\n onError?: (err: any) => void;\n /**\n * 每条消息回调\n */\n onMessage?: (content: string, data: IMessage) => void;\n /**\n * 事件回调\n */\n onEvent?: (event: handleEvent) => void;\n /**\n * React 子元素 - 支持 Compound Components\n */\n children?: ReactNode;\n}\n\n// XAiSDKProps 继承 XAdkProviderProps\nexport interface XAdkSDKProps extends XAdkProviderProps {\n /**\n * 主题类型\n * @type {ThemeType}\n * @default 'default'\n * @version 1.0.0\n */\n theme?: ThemeType;\n\n /**\n * 组件属性配置\n * @type {object}\n * @default undefined\n * @version 1.0.0\n */\n componentProps?: {\n /**\n * 组件ID\n * @type {string}\n * @default undefined\n * @version 1.0.0\n */\n id?: string;\n /** 支持任意 CSS 属性 */\n [key: string]: any;\n };\n}\n"],"mappings":"AA4BA;AACA;AACA;AACA;AACA;AACA,WAAYA,SAAS,0BAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAAA,OAATA,SAAS;AAAA;;AAYrB;AACA;AACA;;AAOA;AACA;AACA;;AAcA;AACA;AACA;;AAuBA;AACA;AACA;;AAiBA;AACA;AACA;;AA4CA"}
@@ -1,3 +1,4 @@
1
+ import React from 'react';
1
2
  interface uploadRequestProps {
2
3
  (options: {
3
4
  file: File;
@@ -29,10 +30,19 @@ export interface LocalFile {
29
30
  response?: any;
30
31
  errorMessage?: string;
31
32
  }
33
+ export interface ActionsComponents {
34
+ SendButton: React.ComponentType<any>;
35
+ UploadButton: React.ComponentType<any>;
36
+ ClearButton: React.ComponentType<any>;
37
+ }
38
+ export type SlotRenderFunction = (oriNode: React.ReactNode, info: {
39
+ components: ActionsComponents;
40
+ }) => React.ReactNode | false;
32
41
  export interface XAdkSenderProps {
33
42
  clearBtnShow?: boolean;
34
43
  allowUpload?: boolean;
35
44
  loading?: boolean;
45
+ disabled?: boolean;
36
46
  onClear?: () => void;
37
47
  onChange?: (value: string) => void;
38
48
  onSubmit?: (data: {
@@ -45,5 +55,13 @@ export interface XAdkSenderProps {
45
55
  allowedFileTypes?: string[];
46
56
  maxFiles?: number;
47
57
  onFilesChange?: (files: ServerFile[]) => void;
58
+ /** 后缀内容,默认展示操作按钮,设为 false 时不显示 */
59
+ suffix?: React.ReactNode | false | SlotRenderFunction;
60
+ /** 头部面板 */
61
+ header?: React.ReactNode | false | SlotRenderFunction;
62
+ /** 前缀内容 */
63
+ prefix?: React.ReactNode | false | SlotRenderFunction;
64
+ /** 底部内容 */
65
+ footer?: React.ReactNode | false | SlotRenderFunction;
48
66
  }
49
67
  export {};
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../src/types/XAdkSender.ts"],"sourcesContent":["// types/XAdkSender.ts\ninterface uploadRequestProps {\n (options: {\n file: File;\n onProgress?: (e: { percent: number }) => void;\n onSuccess?: (response: any) => void;\n onError?: (error: Error) => void;\n }): Promise<void> | void;\n}\n\nexport interface ServerFile {\n fileName: string;\n fileId: number;\n tempUrl: string;\n type: string;\n mimeType: string; \n}\n\nexport interface LocalFile {\n id: string;\n uid: string;\n name: string;\n file: File;\n size: number;\n type: string;\n progress: number;\n status: 'pending' | 'uploading' | 'success' | 'error';\n // 服务器返回字段\n fileId?: number;\n tempUrl?: string;\n response?: any;\n errorMessage?: string; // 上传错误信息\n}\n\nexport interface XAdkSenderProps {\n clearBtnShow?: boolean;\n allowUpload?: boolean;\n loading?: boolean;\n onClear?: () => void;\n onChange?: (value: string) => void;\n onSubmit?: (data: {\n text: string;\n files: ServerFile[];\n }) => void;\n onStop?: () => void;\n \n // 上传相关配置\n uploadRequest?: uploadRequestProps;\n maxFileSize?: number; // 最大文件大小(MB)\n allowedFileTypes?: string[]; // 允许的文件类型\n maxFiles?: number; // 最大文件数量\n \n // 文件状态回调\n onFilesChange?: (files: ServerFile[]) => void;\n}"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["../../../src/types/XAdkSender.ts"],"sourcesContent":["// types/XAdkSender.ts\nimport React from 'react';\n\ninterface uploadRequestProps {\n (options: {\n file: File;\n onProgress?: (e: { percent: number }) => void;\n onSuccess?: (response: any) => void;\n onError?: (error: Error) => void;\n }): Promise<void> | void;\n}\n\nexport interface ServerFile {\n fileName: string;\n fileId: number;\n tempUrl: string;\n type: string;\n mimeType: string;\n}\n\nexport interface LocalFile {\n id: string;\n uid: string;\n name: string;\n file: File;\n size: number;\n type: string;\n progress: number;\n status: 'pending' | 'uploading' | 'success' | 'error';\n // 服务器返回字段\n fileId?: number;\n tempUrl?: string;\n response?: any;\n errorMessage?: string; // 上传错误信息\n}\n\nexport interface ActionsComponents {\n SendButton: React.ComponentType<any>;\n UploadButton: React.ComponentType<any>;\n ClearButton: React.ComponentType<any>;\n}\n\nexport type SlotRenderFunction = (\n oriNode: React.ReactNode,\n info: { components: ActionsComponents }\n) => React.ReactNode | false;\n\nexport interface XAdkSenderProps {\n clearBtnShow?: boolean;\n allowUpload?: boolean;\n loading?: boolean;\n disabled?: boolean; // 只读状态\n onClear?: () => void;\n onChange?: (value: string) => void;\n onSubmit?: (data: {\n text: string;\n files: ServerFile[];\n }) => void;\n onStop?: () => void;\n\n // 上传相关配置\n uploadRequest?: uploadRequestProps;\n maxFileSize?: number; // 最大文件大小(MB)\n allowedFileTypes?: string[]; // 允许的文件类型\n maxFiles?: number; // 最大文件数量\n\n // 文件状态回调\n onFilesChange?: (files: ServerFile[]) => void;\n\n // 插槽功能\n /** 后缀内容,默认展示操作按钮,设为 false 时不显示 */\n suffix?: React.ReactNode | false | SlotRenderFunction;\n /** 头部面板 */\n header?: React.ReactNode | false | SlotRenderFunction;\n /** 前缀内容 */\n prefix?: React.ReactNode | false | SlotRenderFunction;\n /** 底部内容 */\n footer?: React.ReactNode | false | SlotRenderFunction;\n}"],"mappings":""}
@@ -1,5 +1,6 @@
1
- import { type ConversationsProps, type ConversationItemType } from '@ant-design/x';
2
- type OmitItems = Omit<ConversationsProps, 'items'>;
1
+ import { type ConversationsProps, type ConversationItemType } from "@ant-design/x";
2
+ import React from "react";
3
+ type OmitItems = Omit<ConversationsProps, "items">;
3
4
  export interface SessionData extends ConversationItemType {
4
5
  meta?: any;
5
6
  }
@@ -16,5 +17,6 @@ export interface XAiConversationsProps extends OmitItems {
16
17
  loadMoreSession?: () => void;
17
18
  /** 点击生成新对话回调 */
18
19
  onNewChat?: () => void;
20
+ style?: React.CSSProperties;
19
21
  }
20
22
  export {};
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../src/types/XAiConversations.ts"],"sourcesContent":["import { type ConversationsProps, type ConversationItemType } from '@ant-design/x';\n\ntype OmitItems = Omit<ConversationsProps, 'items'>;\n\nexport interface SessionData extends ConversationItemType {\n meta?: any;\n}\n\nexport interface XAiConversationsProps extends OmitItems {\n /** 配色 */\n color?: string;\n /** 侧边栏展示形式,若为 true 则为抽屉式展示 */\n isNarrow?: boolean;\n /** 会话列表,替换原来的 items 字段 */\n sessionList?: SessionData[];\n /** session总数,当设置该值时,会增加自动加载逻辑 */\n sessionTotal?: number;\n /** 加载更多函数 */\n loadMoreSession?: () => void;\n /** 点击生成新对话回调 */\n onNewChat?: () => void;\n}\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["../../../src/types/XAiConversations.ts"],"sourcesContent":["import {\n type ConversationsProps,\n type ConversationItemType,\n} from \"@ant-design/x\";\nimport React from \"react\";\n\ntype OmitItems = Omit<ConversationsProps, \"items\">;\n\nexport interface SessionData extends ConversationItemType {\n meta?: any;\n}\n\nexport interface XAiConversationsProps extends OmitItems {\n /** 配色 */\n color?: string;\n /** 侧边栏展示形式,若为 true 则为抽屉式展示 */\n isNarrow?: boolean;\n /** 会话列表,替换原来的 items 字段 */\n sessionList?: SessionData[];\n /** session总数,当设置该值时,会增加自动加载逻辑 */\n sessionTotal?: number;\n /** 加载更多函数 */\n loadMoreSession?: () => void;\n /** 点击生成新对话回调 */\n onNewChat?: () => void;\n style?: React.CSSProperties;\n}\n"],"mappings":""}
@@ -0,0 +1,25 @@
1
+ import React from "react";
2
+ import { IMessage } from "./XAdkChatbot";
3
+ export interface XAiThoughtChainProps {
4
+ defaultOpen?: boolean;
5
+ loading?: boolean;
6
+ title?: string;
7
+ items: ThoughtChainItemType[];
8
+ showFnCallDetail?: boolean;
9
+ onConfirm?: (fnCall: any, confirmed: boolean) => void;
10
+ }
11
+ export interface TimelineItemProps {
12
+ icon: React.ReactNode;
13
+ title: React.ReactNode;
14
+ children: React.ReactNode;
15
+ collapsible?: boolean;
16
+ defaultOpen?: boolean;
17
+ }
18
+ export interface ThoughtChainItemType {
19
+ type: "tool" | "text";
20
+ key: string;
21
+ content: string;
22
+ title?: React.ReactNode;
23
+ collapsible?: boolean;
24
+ msg?: IMessage;
25
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=XAiThoughtChain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["../../../src/types/XAiThoughtChain.ts"],"sourcesContent":["import React from \"react\";\nimport { IMessage } from \"./XAdkChatbot\";\n\nexport interface XAiThoughtChainProps {\n defaultOpen?: boolean;\n loading?: boolean;\n title?: string;\n items: ThoughtChainItemType[];\n showFnCallDetail?: boolean; // 是否可查看调用方法入参\n onConfirm?: (fnCall: any, confirmed: boolean) => void;\n}\n\nexport interface TimelineItemProps {\n icon: React.ReactNode;\n title: React.ReactNode;\n children: React.ReactNode;\n collapsible?: boolean; // 是否可展示\n defaultOpen?: boolean; // 是否默认展开\n}\n\nexport interface ThoughtChainItemType {\n type: \"tool\" | \"text\"; // 思维节点类型,目前仅支持 tool | text\n key: string; // 思维节点唯一标识符\n content: string; // 思维节点内容\n title?: React.ReactNode; // 思维节点标题\n collapsible?: boolean; // 思维节点是否可折叠\n msg?: IMessage; // 思维节点信息,tool 类型必传\n}\n"],"mappings":""}
@@ -1,8 +1,9 @@
1
- export * from './XAiChatbot';
2
- export * from './XAiMessage';
3
- export * from './XAiProvider';
4
- export * from './XAiSender';
5
- export * from './XAiConversations';
6
- export * from './XAdkProvider';
7
- export * from './XAdkChatbot';
8
- export * from './common';
1
+ export * from "./XAiChatbot";
2
+ export * from "./XAiMessage";
3
+ export * from "./XAiProvider";
4
+ export * from "./XAiSender";
5
+ export * from "./XAiConversations";
6
+ export * from "./XAdkProvider";
7
+ export * from "./XAdkChatbot";
8
+ export * from "./XAiThoughtChain";
9
+ export * from "./common";
@@ -5,5 +5,6 @@ export * from "./XAiSender";
5
5
  export * from "./XAiConversations";
6
6
  export * from "./XAdkProvider";
7
7
  export * from "./XAdkChatbot";
8
+ export * from "./XAiThoughtChain";
8
9
  export * from "./common";
9
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../src/types/index.ts"],"sourcesContent":["export * from './XAiChatbot';\nexport * from './XAiMessage';\nexport * from './XAiProvider';\nexport * from './XAiSender';\nexport * from './XAiConversations';\nexport * from './XAdkProvider';\nexport * from './XAdkChatbot';\nexport * from './common';"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}
1
+ {"version":3,"names":[],"sources":["../../../src/types/index.ts"],"sourcesContent":["export * from \"./XAiChatbot\";\nexport * from \"./XAiMessage\";\nexport * from \"./XAiProvider\";\nexport * from \"./XAiSender\";\nexport * from \"./XAiConversations\";\nexport * from \"./XAdkProvider\";\nexport * from \"./XAdkChatbot\";\nexport * from \"./XAiThoughtChain\";\nexport * from \"./common\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}
@@ -1,2 +1,4 @@
1
1
  export declare const safeJsonParse: <T = any>(str?: string, defaultValue?: any) => T;
2
2
  export declare const safeJsonStringify: <T = any>(obj?: T, defaultValue?: any) => string;
3
+ export declare function cleanProcessText(text: string): string;
4
+ export * from './parseAgentMessage';
@@ -16,4 +16,11 @@ export var safeJsonStringify = function safeJsonStringify(obj) {
16
16
  return defaultValue;
17
17
  }
18
18
  };
19
+ export function cleanProcessText(text) {
20
+ if (!text) return "";
21
+ return text.replace(/\/\*(PLANNING|REPLANNING|REASONING|ACTION|FINAL_ANSWER)\*\//g, "").trim();
22
+ }
23
+
24
+ // 导出新的解析工具
25
+ export * from "./parseAgentMessage";
19
26
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["safeJsonParse","str","defaultValue","arguments","length","undefined","JSON","parse","error","safeJsonStringify","obj","stringify"],"sources":["../../../src/utils/index.ts"],"sourcesContent":["export const safeJsonParse = <T = any>(str?: string, defaultValue: any = {}): T => {\n if (!str) return defaultValue as T;\n try {\n return JSON.parse(str) || defaultValue;\n } catch (error) {\n return defaultValue as T;\n }\n};\n\nexport const safeJsonStringify = <T = any>(obj?: T, defaultValue: any = {}): string => {\n if (!obj) return defaultValue as string;\n try {\n return JSON.stringify(obj) || defaultValue;\n } catch (error) {\n return defaultValue as string;\n }\n};\n"],"mappings":"AAAA,OAAO,IAAMA,aAAa,GAAG,SAAhBA,aAAaA,CAAaC,GAAY,EAAgC;EAAA,IAA9BC,YAAiB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACzE,IAAI,CAACF,GAAG,EAAE,OAAOC,YAAY;EAC7B,IAAI;IACF,OAAOI,IAAI,CAACC,KAAK,CAACN,GAAG,CAAC,IAAIC,YAAY;EACxC,CAAC,CAAC,OAAOM,KAAK,EAAE;IACd,OAAON,YAAY;EACrB;AACF,CAAC;AAED,OAAO,IAAMO,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAaC,GAAO,EAAqC;EAAA,IAAnCR,YAAiB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACxE,IAAI,CAACO,GAAG,EAAE,OAAOR,YAAY;EAC7B,IAAI;IACF,OAAOI,IAAI,CAACK,SAAS,CAACD,GAAG,CAAC,IAAIR,YAAY;EAC5C,CAAC,CAAC,OAAOM,KAAK,EAAE;IACd,OAAON,YAAY;EACrB;AACF,CAAC"}
1
+ {"version":3,"names":["safeJsonParse","str","defaultValue","arguments","length","undefined","JSON","parse","error","safeJsonStringify","obj","stringify","cleanProcessText","text","replace","trim"],"sources":["../../../src/utils/index.ts"],"sourcesContent":["export const safeJsonParse = <T = any>(\n str?: string,\n defaultValue: any = {},\n): T => {\n if (!str) return defaultValue as T;\n try {\n return JSON.parse(str) || defaultValue;\n } catch (error) {\n return defaultValue as T;\n }\n};\n\nexport const safeJsonStringify = <T = any>(\n obj?: T,\n defaultValue: any = {},\n): string => {\n if (!obj) return defaultValue as string;\n try {\n return JSON.stringify(obj) || defaultValue;\n } catch (error) {\n return defaultValue as string;\n }\n};\n\nexport function cleanProcessText(text: string): string {\n if (!text) return \"\";\n return text\n .replace(/\\/\\*(PLANNING|REPLANNING|REASONING|ACTION|FINAL_ANSWER)\\*\\//g, \"\")\n .trim();\n}\n\n// 导出新的解析工具\nexport * from './parseAgentMessage';\n"],"mappings":"AAAA,OAAO,IAAMA,aAAa,GAAG,SAAhBA,aAAaA,CACxBC,GAAY,EAEN;EAAA,IADNC,YAAiB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAEtB,IAAI,CAACF,GAAG,EAAE,OAAOC,YAAY;EAC7B,IAAI;IACF,OAAOI,IAAI,CAACC,KAAK,CAACN,GAAG,CAAC,IAAIC,YAAY;EACxC,CAAC,CAAC,OAAOM,KAAK,EAAE;IACd,OAAON,YAAY;EACrB;AACF,CAAC;AAED,OAAO,IAAMO,iBAAiB,GAAG,SAApBA,iBAAiBA,CAC5BC,GAAO,EAEI;EAAA,IADXR,YAAiB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAEtB,IAAI,CAACO,GAAG,EAAE,OAAOR,YAAY;EAC7B,IAAI;IACF,OAAOI,IAAI,CAACK,SAAS,CAACD,GAAG,CAAC,IAAIR,YAAY;EAC5C,CAAC,CAAC,OAAOM,KAAK,EAAE;IACd,OAAON,YAAY;EACrB;AACF,CAAC;AAED,OAAO,SAASU,gBAAgBA,CAACC,IAAY,EAAU;EACrD,IAAI,CAACA,IAAI,EAAE,OAAO,EAAE;EACpB,OAAOA,IAAI,CACRC,OAAO,CAAC,8DAA8D,EAAE,EAAE,CAAC,CAC3EC,IAAI,CAAC,CAAC;AACX;;AAEA;AACA"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * 解析后的消息片段类型
3
+ */
4
+ export interface ParsedPart {
5
+ type: 'text' | 'planning' | 'replanning' | 'reasoning' | 'action_log' | 'final_result' | 'process_text';
6
+ content: string;
7
+ }
8
+ /**
9
+ * 解析规则配置
10
+ */
11
+ export interface ParseAgentMessageOptions {
12
+ /**
13
+ * 解析模式
14
+ * - 'xml': XML 标签模式 <reasoning>...</reasoning>
15
+ * - 'comment': 注释标签模式 /*REASONING*\/
16
+ * - 'custom': 自定义正则模式
17
+ */
18
+ mode?: 'xml' | 'comment' | 'custom';
19
+ /**
20
+ * 自定义正则规则 (mode='custom' 时使用)
21
+ * @example
22
+ * [
23
+ * { regex: /\[REASONING\]([\s\S]*?)\[\/REASONING\]/g, type: 'reasoning' },
24
+ * { regex: /\[PLANNING\]([\s\S]*?)\[\/PLANNING\]/g, type: 'planning' }
25
+ * ]
26
+ */
27
+ customPatterns?: Array<{
28
+ regex: RegExp;
29
+ type: ParsedPart['type'];
30
+ }>;
31
+ /**
32
+ * 最终答案标记 (comment 模式使用)
33
+ * @default '/*FINAL_ANSWER*\/'
34
+ */
35
+ finalMarker?: string;
36
+ }
37
+ /**
38
+ * 清理 process 文本
39
+ * - 移除多余的换行
40
+ * - 移除 JSON 代码块标记
41
+ */
42
+ export declare function cleanProcessText(text: string): string;
43
+ /**
44
+ * 解析 Agent 消息 (支持多种格式)
45
+ *
46
+ * @param text 原始消息文本
47
+ * @param options 解析选项
48
+ * @returns 解析后的消息片段数组
49
+ *
50
+ * @example
51
+ * // XML 模式 (默认)
52
+ * const parts1 = parseAgentMessage(`
53
+ * <reasoning>分析用户需求...</reasoning>
54
+ * 最终回复内容
55
+ * `);
56
+ *
57
+ * @example
58
+ * // 注释模式 (业务项目格式)
59
+ * const parts2 = parseAgentMessage(`
60
+ * /*REASONING*\/分析用户需求...
61
+ * /*FINAL_ANSWER*\/最终回复内容
62
+ * `, { mode: 'comment' });
63
+ *
64
+ * @example
65
+ * // 自定义模式
66
+ * const parts3 = parseAgentMessage(text, {
67
+ * mode: 'custom',
68
+ * customPatterns: [
69
+ * { regex: /\[REASONING\]([\s\S]*?)\[\/REASONING\]/g, type: 'reasoning' }
70
+ * ]
71
+ * });
72
+ */
73
+ export declare function parseAgentMessage(text: string, options?: ParseAgentMessageOptions): ParsedPart[];
74
+ /**
75
+ * 检查是否包含 process 内容
76
+ */
77
+ export declare function hasProcessContent(parts: ParsedPart[]): boolean;
78
+ /**
79
+ * 获取纯文本内容(不包含 process 标签)
80
+ */
81
+ export declare function getPlainText(parts: ParsedPart[]): string;