@tdesign-react/chat 1.0.2-alpha.9 → 1.0.3-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 (503) hide show
  1. package/CHANGELOG.md +14 -1
  2. package/README.md +76 -22
  3. package/es/_chunks/dep-076af7c3.js +438 -0
  4. package/es/_chunks/dep-076af7c3.js.map +1 -0
  5. package/es/_chunks/dep-1007ac80.js +205 -0
  6. package/es/_chunks/dep-1007ac80.js.map +1 -0
  7. package/es/_chunks/dep-16520c2b.js +1247 -0
  8. package/es/_chunks/dep-16520c2b.js.map +1 -0
  9. package/es/_chunks/dep-1743bd61.js +438 -0
  10. package/es/_chunks/dep-1743bd61.js.map +1 -0
  11. package/es/_chunks/dep-1ca64fef.js +1247 -0
  12. package/es/_chunks/dep-1ca64fef.js.map +1 -0
  13. package/es/_chunks/dep-24472232.js +839 -0
  14. package/es/_chunks/dep-24472232.js.map +1 -0
  15. package/es/_chunks/dep-3864b369.js +839 -0
  16. package/es/_chunks/dep-3864b369.js.map +1 -0
  17. package/es/_chunks/dep-3e40d789.js +169 -0
  18. package/es/_chunks/dep-3e40d789.js.map +1 -0
  19. package/es/_chunks/dep-4dedfbef.js +438 -0
  20. package/es/_chunks/dep-4dedfbef.js.map +1 -0
  21. package/es/_chunks/dep-56f5e08e.js +448 -0
  22. package/es/_chunks/dep-56f5e08e.js.map +1 -0
  23. package/es/_chunks/dep-5b6b17d0.js +169 -0
  24. package/es/_chunks/dep-5b6b17d0.js.map +1 -0
  25. package/es/_chunks/dep-688e4aaa.js +438 -0
  26. package/es/_chunks/dep-688e4aaa.js.map +1 -0
  27. package/es/_chunks/dep-870f0d35.js +839 -0
  28. package/es/_chunks/dep-870f0d35.js.map +1 -0
  29. package/es/_chunks/dep-96eca06f.js +169 -0
  30. package/es/_chunks/dep-96eca06f.js.map +1 -0
  31. package/es/_chunks/dep-ba3bd553.js +169 -0
  32. package/es/_chunks/dep-ba3bd553.js.map +1 -0
  33. package/es/_chunks/dep-bcb234a1.js +839 -0
  34. package/es/_chunks/dep-bcb234a1.js.map +1 -0
  35. package/es/_chunks/dep-de8ac730.js +1247 -0
  36. package/es/_chunks/dep-de8ac730.js.map +1 -0
  37. package/es/_chunks/dep-e9dbff09.js +1247 -0
  38. package/es/_chunks/dep-e9dbff09.js.map +1 -0
  39. package/es/_chunks/dep-ebc4cf30.js +1247 -0
  40. package/es/_chunks/dep-ebc4cf30.js.map +1 -0
  41. package/es/_chunks/dep-f2051ebd.js +839 -0
  42. package/es/_chunks/dep-f2051ebd.js.map +1 -0
  43. package/es/_chunks/dep-f691a67e.js +438 -0
  44. package/es/_chunks/dep-f691a67e.js.map +1 -0
  45. package/es/_chunks/dep-f8016301.js +169 -0
  46. package/es/_chunks/dep-f8016301.js.map +1 -0
  47. package/es/_util/reactify.js +33 -13
  48. package/es/_util/reactify.js.map +1 -1
  49. package/es/_util/useDynamicStyle.js +1 -1
  50. package/es/attachments/index.js +1 -1
  51. package/es/chat-actionbar/index.js +1 -1
  52. package/es/chat-engine/components/a2ui/A2UIActivityRenderer.d.ts +196 -0
  53. package/es/chat-engine/components/a2ui/A2UIActivityRenderer.js +301 -0
  54. package/es/chat-engine/components/a2ui/A2UIActivityRenderer.js.map +1 -0
  55. package/es/chat-engine/components/a2ui/A2UIComponentRenderer.d.ts +37 -0
  56. package/es/chat-engine/components/a2ui/A2UIComponentRenderer.js +116 -0
  57. package/es/chat-engine/components/a2ui/A2UIComponentRenderer.js.map +1 -0
  58. package/es/chat-engine/components/a2ui/A2UIErrorBoundary.d.ts +42 -0
  59. package/es/chat-engine/components/a2ui/A2UIErrorBoundary.js +113 -0
  60. package/es/chat-engine/components/a2ui/A2UIErrorBoundary.js.map +1 -0
  61. package/es/chat-engine/components/a2ui/A2UISkeleton.d.ts +60 -0
  62. package/es/chat-engine/components/a2ui/A2UISkeleton.js +197 -0
  63. package/es/chat-engine/components/a2ui/A2UISkeleton.js.map +1 -0
  64. package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.d.ts +44 -0
  65. package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.js +139 -0
  66. package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.js.map +1 -0
  67. package/es/chat-engine/components/a2ui/containers/A2UICard.d.ts +22 -0
  68. package/es/chat-engine/components/a2ui/containers/A2UICard.js +82 -0
  69. package/es/chat-engine/components/a2ui/containers/A2UICard.js.map +1 -0
  70. package/es/chat-engine/components/a2ui/containers/A2UIColumn.d.ts +18 -0
  71. package/es/chat-engine/components/a2ui/containers/A2UIColumn.js +81 -0
  72. package/es/chat-engine/components/a2ui/containers/A2UIColumn.js.map +1 -0
  73. package/es/chat-engine/components/a2ui/containers/A2UIList.d.ts +14 -0
  74. package/es/chat-engine/components/a2ui/containers/A2UIList.js +62 -0
  75. package/es/chat-engine/components/a2ui/containers/A2UIList.js.map +1 -0
  76. package/es/chat-engine/components/a2ui/containers/A2UIRow.d.ts +20 -0
  77. package/es/chat-engine/components/a2ui/containers/A2UIRow.js +84 -0
  78. package/es/chat-engine/components/a2ui/containers/A2UIRow.js.map +1 -0
  79. package/es/chat-engine/components/a2ui/containers/A2UITabs.d.ts +14 -0
  80. package/es/chat-engine/components/a2ui/containers/A2UITabs.js +69 -0
  81. package/es/chat-engine/components/a2ui/containers/A2UITabs.js.map +1 -0
  82. package/es/chat-engine/components/a2ui/containers/index.d.ts +8 -0
  83. package/es/chat-engine/components/a2ui/containers/index.js +30 -0
  84. package/es/chat-engine/components/a2ui/containers/index.js.map +1 -0
  85. package/es/chat-engine/components/a2ui/index.d.ts +11 -0
  86. package/es/chat-engine/components/a2ui/index.js +62 -0
  87. package/es/chat-engine/components/a2ui/index.js.map +1 -0
  88. package/es/chat-engine/components/a2ui/primitives/A2UIButton.d.ts +33 -0
  89. package/es/chat-engine/components/a2ui/primitives/A2UIButton.js +80 -0
  90. package/es/chat-engine/components/a2ui/primitives/A2UIButton.js.map +1 -0
  91. package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.d.ts +12 -0
  92. package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.js +43 -0
  93. package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.js.map +1 -0
  94. package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.d.ts +50 -0
  95. package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.js +54 -0
  96. package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.js.map +1 -0
  97. package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.d.ts +13 -0
  98. package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.js +89 -0
  99. package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.js.map +1 -0
  100. package/es/chat-engine/components/a2ui/primitives/A2UIDivider.d.ts +12 -0
  101. package/es/chat-engine/components/a2ui/primitives/A2UIDivider.js +25 -0
  102. package/es/chat-engine/components/a2ui/primitives/A2UIDivider.js.map +1 -0
  103. package/es/chat-engine/components/a2ui/primitives/A2UIIcon.d.ts +13 -0
  104. package/es/chat-engine/components/a2ui/primitives/A2UIIcon.js +138942 -0
  105. package/es/chat-engine/components/a2ui/primitives/A2UIIcon.js.map +1 -0
  106. package/es/chat-engine/components/a2ui/primitives/A2UIImage.d.ts +12 -0
  107. package/es/chat-engine/components/a2ui/primitives/A2UIImage.js +75 -0
  108. package/es/chat-engine/components/a2ui/primitives/A2UIImage.js.map +1 -0
  109. package/es/chat-engine/components/a2ui/primitives/A2UIInput.d.ts +20 -0
  110. package/es/chat-engine/components/a2ui/primitives/A2UIInput.js +63 -0
  111. package/es/chat-engine/components/a2ui/primitives/A2UIInput.js.map +1 -0
  112. package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.d.ts +56 -0
  113. package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.js +64 -0
  114. package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.js.map +1 -0
  115. package/es/chat-engine/components/a2ui/primitives/A2UISlider.d.ts +12 -0
  116. package/es/chat-engine/components/a2ui/primitives/A2UISlider.js +55 -0
  117. package/es/chat-engine/components/a2ui/primitives/A2UISlider.js.map +1 -0
  118. package/es/chat-engine/components/a2ui/primitives/A2UIText.d.ts +12 -0
  119. package/es/chat-engine/components/a2ui/primitives/A2UIText.js +104 -0
  120. package/es/chat-engine/components/a2ui/primitives/A2UIText.js.map +1 -0
  121. package/es/chat-engine/components/a2ui/primitives/A2UITextField.d.ts +12 -0
  122. package/es/chat-engine/components/a2ui/primitives/A2UITextField.js +80 -0
  123. package/es/chat-engine/components/a2ui/primitives/A2UITextField.js.map +1 -0
  124. package/es/chat-engine/components/a2ui/primitives/index.d.ts +15 -0
  125. package/es/chat-engine/components/a2ui/primitives/index.js +39 -0
  126. package/es/chat-engine/components/a2ui/primitives/index.js.map +1 -0
  127. package/es/chat-engine/components/a2ui/registry.d.ts +35 -0
  128. package/es/chat-engine/components/a2ui/registry.js +74 -0
  129. package/es/chat-engine/components/a2ui/registry.js.map +1 -0
  130. package/es/chat-engine/components/activity/index.d.ts +0 -1
  131. package/es/chat-engine/components/activity/index.js +10 -5
  132. package/es/chat-engine/components/activity/index.js.map +1 -1
  133. package/es/chat-engine/components/activity/registry.d.ts +7 -41
  134. package/es/chat-engine/components/activity/registry.js +23 -77
  135. package/es/chat-engine/components/activity/registry.js.map +1 -1
  136. package/es/chat-engine/components/activity/render.d.ts +5 -1
  137. package/es/chat-engine/components/activity/render.js +33 -71
  138. package/es/chat-engine/components/activity/render.js.map +1 -1
  139. package/es/chat-engine/components/activity/types.d.ts +0 -3
  140. package/es/chat-engine/components/activity/types.js +1 -1
  141. package/es/chat-engine/components/index.js +16 -11
  142. package/es/chat-engine/components/index.js.map +1 -1
  143. package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.d.ts +36 -0
  144. package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.js +36 -0
  145. package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.js.map +1 -0
  146. package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.d.ts +46 -0
  147. package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.js +36 -0
  148. package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.js.map +1 -0
  149. package/es/chat-engine/components/json-render/SurfaceStateManager.d.ts +113 -0
  150. package/es/chat-engine/components/json-render/SurfaceStateManager.js +195 -0
  151. package/es/chat-engine/components/json-render/SurfaceStateManager.js.map +1 -0
  152. package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.d.ts +49 -0
  153. package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.js +307 -0
  154. package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.js.map +1 -0
  155. package/es/chat-engine/components/json-render/adapters/a2ui-types.d.ts +96 -0
  156. package/es/chat-engine/components/json-render/adapters/a2ui-types.js +7 -0
  157. package/es/chat-engine/components/json-render/adapters/a2ui-types.js.map +1 -0
  158. package/es/chat-engine/components/json-render/adapters/index.d.ts +7 -0
  159. package/es/chat-engine/components/json-render/adapters/index.js +11 -0
  160. package/es/chat-engine/components/json-render/adapters/index.js.map +1 -0
  161. package/es/chat-engine/components/json-render/catalog/a2ui-binding.d.ts +64 -0
  162. package/es/chat-engine/components/json-render/catalog/a2ui-binding.js +36 -0
  163. package/es/chat-engine/components/json-render/catalog/a2ui-binding.js.map +1 -0
  164. package/es/chat-engine/components/json-render/catalog/a2ui-registry.d.ts +78 -0
  165. package/es/chat-engine/components/json-render/catalog/a2ui-registry.js +36 -0
  166. package/es/chat-engine/components/json-render/catalog/a2ui-registry.js.map +1 -0
  167. package/es/chat-engine/components/json-render/catalog/atomic/button.d.ts +14 -0
  168. package/es/chat-engine/components/json-render/catalog/atomic/button.js +71 -0
  169. package/es/chat-engine/components/json-render/catalog/atomic/button.js.map +1 -0
  170. package/es/chat-engine/components/json-render/catalog/atomic/card.d.ts +11 -0
  171. package/es/chat-engine/components/json-render/catalog/atomic/card.js +57 -0
  172. package/es/chat-engine/components/json-render/catalog/atomic/card.js.map +1 -0
  173. package/es/chat-engine/components/json-render/catalog/atomic/input.d.ts +20 -0
  174. package/es/chat-engine/components/json-render/catalog/atomic/input.js +76 -0
  175. package/es/chat-engine/components/json-render/catalog/atomic/input.js.map +1 -0
  176. package/es/chat-engine/components/json-render/catalog/atomic/layout.d.ts +44 -0
  177. package/es/chat-engine/components/json-render/catalog/atomic/layout.js +129 -0
  178. package/es/chat-engine/components/json-render/catalog/atomic/layout.js.map +1 -0
  179. package/es/chat-engine/components/json-render/catalog/atomic/text.d.ts +11 -0
  180. package/es/chat-engine/components/json-render/catalog/atomic/text.js +31 -0
  181. package/es/chat-engine/components/json-render/catalog/atomic/text.js.map +1 -0
  182. package/es/chat-engine/components/json-render/catalog/button.d.ts +14 -0
  183. package/es/chat-engine/components/json-render/catalog/button.js +71 -0
  184. package/es/chat-engine/components/json-render/catalog/button.js.map +1 -0
  185. package/es/chat-engine/components/json-render/catalog/card.d.ts +11 -0
  186. package/es/chat-engine/components/json-render/catalog/card.js +57 -0
  187. package/es/chat-engine/components/json-render/catalog/card.js.map +1 -0
  188. package/es/chat-engine/components/json-render/catalog/catalog-to-prompt.d.ts +614 -0
  189. package/es/chat-engine/components/json-render/catalog/catalog-to-prompt.js +779 -0
  190. package/es/chat-engine/components/json-render/catalog/catalog-to-prompt.js.map +1 -0
  191. package/es/chat-engine/components/json-render/catalog/index.d.ts +128 -0
  192. package/es/chat-engine/components/json-render/catalog/index.js +36 -0
  193. package/es/chat-engine/components/json-render/catalog/index.js.map +1 -0
  194. package/es/chat-engine/components/json-render/catalog/input.d.ts +20 -0
  195. package/es/chat-engine/components/json-render/catalog/input.js +36 -0
  196. package/es/chat-engine/components/json-render/catalog/input.js.map +1 -0
  197. package/es/chat-engine/components/json-render/catalog/layout.d.ts +44 -0
  198. package/es/chat-engine/components/json-render/catalog/layout.js +129 -0
  199. package/es/chat-engine/components/json-render/catalog/layout.js.map +1 -0
  200. package/es/chat-engine/components/json-render/catalog/text.d.ts +11 -0
  201. package/es/chat-engine/components/json-render/catalog/text.js +31 -0
  202. package/es/chat-engine/components/json-render/catalog/text.js.map +1 -0
  203. package/es/chat-engine/components/json-render/catalog.d.ts +614 -0
  204. package/es/chat-engine/components/json-render/catalog.js +779 -0
  205. package/es/chat-engine/components/json-render/catalog.js.map +1 -0
  206. package/es/chat-engine/components/json-render/config.d.ts +154 -0
  207. package/es/chat-engine/components/json-render/config.js +36 -0
  208. package/es/chat-engine/components/json-render/config.js.map +1 -0
  209. package/es/chat-engine/components/json-render/contexts/actions.d.ts +79 -0
  210. package/es/chat-engine/components/json-render/contexts/actions.js +313 -0
  211. package/es/chat-engine/components/json-render/contexts/actions.js.map +1 -0
  212. package/es/chat-engine/components/json-render/contexts/data.d.ts +137 -0
  213. package/es/chat-engine/components/json-render/contexts/data.js +183 -0
  214. package/es/chat-engine/components/json-render/contexts/data.js.map +1 -0
  215. package/es/chat-engine/components/json-render/contexts/index.d.ts +4 -0
  216. package/es/chat-engine/components/json-render/contexts/index.js +27 -0
  217. package/es/chat-engine/components/json-render/contexts/index.js.map +1 -0
  218. package/es/chat-engine/components/json-render/contexts/store.d.ts +67 -0
  219. package/es/chat-engine/components/json-render/contexts/store.js +104 -0
  220. package/es/chat-engine/components/json-render/contexts/store.js.map +1 -0
  221. package/es/chat-engine/components/json-render/contexts/tree.d.ts +44 -0
  222. package/es/chat-engine/components/json-render/contexts/tree.js +78 -0
  223. package/es/chat-engine/components/json-render/contexts/tree.js.map +1 -0
  224. package/es/chat-engine/components/json-render/contexts/validation.d.ts +59 -0
  225. package/es/chat-engine/components/json-render/contexts/validation.js +159 -0
  226. package/es/chat-engine/components/json-render/contexts/validation.js.map +1 -0
  227. package/es/chat-engine/components/json-render/contexts/visibility.d.ts +39 -0
  228. package/es/chat-engine/components/json-render/contexts/visibility.js +66 -0
  229. package/es/chat-engine/components/json-render/contexts/visibility.js.map +1 -0
  230. package/es/chat-engine/components/json-render/engine.d.ts +58 -0
  231. package/es/chat-engine/components/json-render/engine.js +88 -0
  232. package/es/chat-engine/components/json-render/engine.js.map +1 -0
  233. package/es/chat-engine/components/json-render/index.d.ts +13 -0
  234. package/es/chat-engine/components/json-render/index.js +76 -0
  235. package/es/chat-engine/components/json-render/index.js.map +1 -0
  236. package/es/chat-engine/components/json-render/performance.d.ts +91 -0
  237. package/es/chat-engine/components/json-render/performance.js +135 -0
  238. package/es/chat-engine/components/json-render/performance.js.map +1 -0
  239. package/es/chat-engine/components/json-render/registry/a2ui-binding.d.ts +64 -0
  240. package/es/chat-engine/components/json-render/registry/a2ui-binding.js +76 -0
  241. package/es/chat-engine/components/json-render/registry/a2ui-binding.js.map +1 -0
  242. package/es/chat-engine/components/json-render/registry/a2ui-registry.d.ts +78 -0
  243. package/es/chat-engine/components/json-render/registry/a2ui-registry.js +76 -0
  244. package/es/chat-engine/components/json-render/registry/a2ui-registry.js.map +1 -0
  245. package/es/chat-engine/components/json-render/registry/config.d.ts +142 -0
  246. package/es/chat-engine/components/json-render/registry/config.js +76 -0
  247. package/es/chat-engine/components/json-render/registry/config.js.map +1 -0
  248. package/es/chat-engine/components/json-render/registry/index.d.ts +137 -0
  249. package/es/chat-engine/components/json-render/registry/index.js +76 -0
  250. package/es/chat-engine/components/json-render/registry/index.js.map +1 -0
  251. package/es/chat-engine/components/json-render/renderer/A2UIJsonRenderActivityRenderer.d.ts +35 -0
  252. package/es/chat-engine/components/json-render/renderer/A2UIJsonRenderActivityRenderer.js +271 -0
  253. package/es/chat-engine/components/json-render/renderer/A2UIJsonRenderActivityRenderer.js.map +1 -0
  254. package/es/chat-engine/components/json-render/renderer/JsonRenderActivityRenderer.d.ts +44 -0
  255. package/es/chat-engine/components/json-render/renderer/JsonRenderActivityRenderer.js +63 -0
  256. package/es/chat-engine/components/json-render/renderer/JsonRenderActivityRenderer.js.map +1 -0
  257. package/es/chat-engine/components/json-render/renderer/JsonUIRenderer.d.ts +44 -0
  258. package/es/chat-engine/components/json-render/renderer/JsonUIRenderer.js +131 -0
  259. package/es/chat-engine/components/json-render/renderer/JsonUIRenderer.js.map +1 -0
  260. package/es/chat-engine/components/json-render/renderer/_index.d.ts +71 -0
  261. package/es/chat-engine/components/json-render/renderer/_index.js +133 -0
  262. package/es/chat-engine/components/json-render/renderer/_index.js.map +1 -0
  263. package/es/chat-engine/components/json-render/renderer/index.d.ts +71 -0
  264. package/es/chat-engine/components/json-render/renderer/index.js +125 -0
  265. package/es/chat-engine/components/json-render/renderer/index.js.map +1 -0
  266. package/es/chat-engine/components/json-render/renderer.d.ts +71 -0
  267. package/es/chat-engine/components/json-render/renderer.js +124 -0
  268. package/es/chat-engine/components/json-render/renderer.js.map +1 -0
  269. package/es/chat-engine/components/json-render/types.d.ts +87 -0
  270. package/es/chat-engine/components/json-render/types.js +7 -0
  271. package/es/chat-engine/components/json-render/types.js.map +1 -0
  272. package/es/chat-engine/components/provider/agent-state.js +1 -1
  273. package/es/chat-engine/components/shared/ComponentErrorBoundary.d.ts +25 -0
  274. package/es/chat-engine/components/shared/ComponentErrorBoundary.js +58 -0
  275. package/es/chat-engine/components/shared/ComponentErrorBoundary.js.map +1 -0
  276. package/es/chat-engine/components/shared/createRegistry.d.ts +36 -0
  277. package/es/chat-engine/components/shared/createRegistry.js +72 -0
  278. package/es/chat-engine/components/shared/createRegistry.js.map +1 -0
  279. package/es/chat-engine/components/shared/index.d.ts +4 -0
  280. package/es/chat-engine/components/shared/index.js +18 -0
  281. package/es/chat-engine/components/shared/index.js.map +1 -0
  282. package/es/chat-engine/components/shared/useRegistrationListener.d.ts +22 -0
  283. package/es/chat-engine/components/shared/useRegistrationListener.js +45 -0
  284. package/es/chat-engine/components/shared/useRegistrationListener.js.map +1 -0
  285. package/es/chat-engine/components/toolcall/index.d.ts +1 -1
  286. package/es/chat-engine/components/toolcall/index.js +12 -8
  287. package/es/chat-engine/components/toolcall/index.js.map +1 -1
  288. package/es/chat-engine/components/toolcall/registry.d.ts +6 -32
  289. package/es/chat-engine/components/toolcall/registry.js +23 -67
  290. package/es/chat-engine/components/toolcall/registry.js.map +1 -1
  291. package/es/chat-engine/components/toolcall/render.d.ts +1 -1
  292. package/es/chat-engine/components/toolcall/render.js +30 -79
  293. package/es/chat-engine/components/toolcall/render.js.map +1 -1
  294. package/es/chat-engine/components/toolcall/types.js +1 -1
  295. package/es/chat-engine/core/a2ui/index.d.ts +10 -0
  296. package/es/chat-engine/core/a2ui/index.js +24 -0
  297. package/es/chat-engine/core/a2ui/index.js.map +1 -0
  298. package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.d.ts +197 -0
  299. package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.js +438 -0
  300. package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.js.map +1 -0
  301. package/es/chat-engine/core/a2ui/processor/ComponentTree.d.ts +53 -0
  302. package/es/chat-engine/core/a2ui/processor/ComponentTree.js +158 -0
  303. package/es/chat-engine/core/a2ui/processor/ComponentTree.js.map +1 -0
  304. package/es/chat-engine/core/a2ui/processor/DataStore.d.ts +63 -0
  305. package/es/chat-engine/core/a2ui/processor/DataStore.js +172 -0
  306. package/es/chat-engine/core/a2ui/processor/DataStore.js.map +1 -0
  307. package/es/chat-engine/core/a2ui/processor/PathResolver.d.ts +47 -0
  308. package/es/chat-engine/core/a2ui/processor/PathResolver.js +99 -0
  309. package/es/chat-engine/core/a2ui/processor/PathResolver.js.map +1 -0
  310. package/es/chat-engine/core/a2ui/types/index.d.ts +4 -0
  311. package/es/chat-engine/core/a2ui/types/index.js +9 -0
  312. package/es/chat-engine/core/a2ui/types/index.js.map +1 -0
  313. package/es/chat-engine/core/a2ui/types/types.d.ts +770 -0
  314. package/es/chat-engine/core/a2ui/types/types.js +104 -0
  315. package/es/chat-engine/core/a2ui/types/types.js.map +1 -0
  316. package/es/chat-engine/core/a2ui/utils/binding.d.ts +34 -0
  317. package/es/chat-engine/core/a2ui/utils/binding.js +1784 -0
  318. package/es/chat-engine/core/a2ui/utils/binding.js.map +1 -0
  319. package/es/chat-engine/core/a2ui/utils/index.d.ts +5 -0
  320. package/es/chat-engine/core/a2ui/utils/index.js +13 -0
  321. package/es/chat-engine/core/a2ui/utils/index.js.map +1 -0
  322. package/es/chat-engine/core/a2ui/utils/validation.d.ts +70 -0
  323. package/es/chat-engine/core/a2ui/utils/validation.js +333 -0
  324. package/es/chat-engine/core/a2ui/utils/validation.js.map +1 -0
  325. package/es/chat-engine/core/adapters/a2ui/index.d.ts +10 -0
  326. package/es/chat-engine/core/adapters/a2ui/index.js +24 -0
  327. package/es/chat-engine/core/adapters/a2ui/index.js.map +1 -0
  328. package/es/chat-engine/core/adapters/a2ui/processor/A2uiMessageProcessor.d.ts +197 -0
  329. package/es/chat-engine/core/adapters/a2ui/processor/A2uiMessageProcessor.js +438 -0
  330. package/es/chat-engine/core/adapters/a2ui/processor/A2uiMessageProcessor.js.map +1 -0
  331. package/es/chat-engine/core/adapters/a2ui/processor/ComponentTree.d.ts +53 -0
  332. package/es/chat-engine/core/adapters/a2ui/processor/ComponentTree.js +158 -0
  333. package/es/chat-engine/core/adapters/a2ui/processor/ComponentTree.js.map +1 -0
  334. package/es/chat-engine/core/adapters/a2ui/processor/DataStore.d.ts +63 -0
  335. package/es/chat-engine/core/adapters/a2ui/processor/DataStore.js +172 -0
  336. package/es/chat-engine/core/adapters/a2ui/processor/DataStore.js.map +1 -0
  337. package/es/chat-engine/core/adapters/a2ui/processor/PathResolver.d.ts +47 -0
  338. package/es/chat-engine/core/adapters/a2ui/processor/PathResolver.js +99 -0
  339. package/es/chat-engine/core/adapters/a2ui/processor/PathResolver.js.map +1 -0
  340. package/es/chat-engine/core/adapters/a2ui/types/index.d.ts +4 -0
  341. package/es/chat-engine/core/adapters/a2ui/types/index.js +9 -0
  342. package/es/chat-engine/core/adapters/a2ui/types/index.js.map +1 -0
  343. package/es/chat-engine/core/adapters/a2ui/types/types.d.ts +770 -0
  344. package/es/chat-engine/core/adapters/a2ui/types/types.js +104 -0
  345. package/es/chat-engine/core/adapters/a2ui/types/types.js.map +1 -0
  346. package/es/chat-engine/core/adapters/a2ui/utils/binding.d.ts +34 -0
  347. package/es/chat-engine/core/adapters/a2ui/utils/binding.js +1784 -0
  348. package/es/chat-engine/core/adapters/a2ui/utils/binding.js.map +1 -0
  349. package/es/chat-engine/core/adapters/a2ui/utils/index.d.ts +5 -0
  350. package/es/chat-engine/core/adapters/a2ui/utils/index.js +13 -0
  351. package/es/chat-engine/core/adapters/a2ui/utils/index.js.map +1 -0
  352. package/es/chat-engine/core/adapters/a2ui/utils/validation.d.ts +70 -0
  353. package/es/chat-engine/core/adapters/a2ui/utils/validation.js +333 -0
  354. package/es/chat-engine/core/adapters/a2ui/utils/validation.js.map +1 -0
  355. package/es/chat-engine/core/adapters/agui/ActivityManager.d.ts +93 -0
  356. package/es/chat-engine/core/adapters/agui/ActivityManager.js +148 -0
  357. package/es/chat-engine/core/adapters/agui/ActivityManager.js.map +1 -0
  358. package/es/chat-engine/core/adapters/agui/StateManager.d.ts +99 -0
  359. package/es/chat-engine/core/adapters/agui/StateManager.js +172 -0
  360. package/es/chat-engine/core/adapters/agui/StateManager.js.map +1 -0
  361. package/es/chat-engine/core/adapters/agui/activity-manager.d.ts +102 -0
  362. package/es/chat-engine/core/adapters/agui/activity-manager.js +150 -0
  363. package/es/chat-engine/core/adapters/agui/activity-manager.js.map +1 -0
  364. package/es/chat-engine/core/adapters/agui/event-mapper.d.ts +42 -2
  365. package/es/chat-engine/core/adapters/agui/event-mapper.js +94 -52
  366. package/es/chat-engine/core/adapters/agui/event-mapper.js.map +1 -1
  367. package/es/chat-engine/core/adapters/agui/events.d.ts +222 -222
  368. package/es/chat-engine/core/adapters/agui/events.js +34 -34
  369. package/es/chat-engine/core/adapters/agui/events.js.map +1 -1
  370. package/es/chat-engine/core/adapters/agui/index.d.ts +21 -4
  371. package/es/chat-engine/core/adapters/agui/index.js +48 -23
  372. package/es/chat-engine/core/adapters/agui/index.js.map +1 -1
  373. package/es/chat-engine/core/adapters/agui/state-manager.js +7 -1
  374. package/es/chat-engine/core/adapters/agui/state-manager.js.map +1 -1
  375. package/es/chat-engine/core/adapters/agui/types/events.d.ts +1570 -0
  376. package/es/chat-engine/core/adapters/agui/types/events.js +15 -0
  377. package/es/chat-engine/core/adapters/agui/types/events.js.map +1 -0
  378. package/es/chat-engine/core/adapters/agui/types/index.d.ts +854 -0
  379. package/es/chat-engine/core/adapters/agui/types/index.js +279 -0
  380. package/es/chat-engine/core/adapters/agui/types/index.js.map +1 -0
  381. package/es/chat-engine/core/adapters/agui/types.d.ts +57 -56
  382. package/es/chat-engine/core/adapters/agui/types.js +5 -5
  383. package/es/chat-engine/core/adapters/agui/types.js.map +1 -1
  384. package/es/chat-engine/core/adapters/agui/utils.d.ts +9 -3
  385. package/es/chat-engine/core/adapters/agui/utils.js +23 -4
  386. package/es/chat-engine/core/adapters/agui/utils.js.map +1 -1
  387. package/es/chat-engine/core/adapters/index.d.ts +5 -0
  388. package/es/chat-engine/core/adapters/index.js +34 -0
  389. package/es/chat-engine/core/adapters/index.js.map +1 -0
  390. package/es/chat-engine/core/adapters/json-render/SurfaceStateManager.d.ts +114 -0
  391. package/es/chat-engine/core/adapters/json-render/SurfaceStateManager.js +194 -0
  392. package/es/chat-engine/core/adapters/json-render/SurfaceStateManager.js.map +1 -0
  393. package/es/chat-engine/core/adapters/json-render/a2ui-to-jsonrender.d.ts +49 -0
  394. package/es/chat-engine/core/adapters/json-render/a2ui-to-jsonrender.js +307 -0
  395. package/es/chat-engine/core/adapters/json-render/a2ui-to-jsonrender.js.map +1 -0
  396. package/es/chat-engine/core/adapters/json-render/engine.d.ts +58 -0
  397. package/es/chat-engine/core/adapters/json-render/engine.js +88 -0
  398. package/es/chat-engine/core/adapters/json-render/engine.js.map +1 -0
  399. package/es/chat-engine/core/adapters/json-render/index.d.ts +8 -0
  400. package/es/chat-engine/core/adapters/json-render/index.js +18 -0
  401. package/es/chat-engine/core/adapters/json-render/index.js.map +1 -0
  402. package/es/chat-engine/core/adapters/json-render/types/a2ui.d.ts +96 -0
  403. package/es/chat-engine/core/adapters/json-render/types/a2ui.js +7 -0
  404. package/es/chat-engine/core/adapters/json-render/types/a2ui.js.map +1 -0
  405. package/es/chat-engine/core/adapters/json-render/types/core.d.ts +49 -0
  406. package/es/chat-engine/core/adapters/json-render/types/core.js +7 -0
  407. package/es/chat-engine/core/adapters/json-render/types/core.js.map +1 -0
  408. package/es/chat-engine/core/adapters/json-render/types/index.d.ts +5 -0
  409. package/es/chat-engine/core/adapters/json-render/types/index.js +9 -0
  410. package/es/chat-engine/core/adapters/json-render/types/index.js.map +1 -0
  411. package/es/chat-engine/core/event-bus/ChatEventBus.d.ts +88 -0
  412. package/es/chat-engine/core/event-bus/ChatEventBus.js +295 -0
  413. package/es/chat-engine/core/event-bus/ChatEventBus.js.map +1 -0
  414. package/es/chat-engine/core/event-bus/index.d.ts +5 -0
  415. package/es/chat-engine/core/event-bus/index.js +13 -0
  416. package/es/chat-engine/core/event-bus/index.js.map +1 -0
  417. package/es/chat-engine/core/event-bus/types.d.ts +230 -0
  418. package/es/chat-engine/core/event-bus/types.js +32 -0
  419. package/es/chat-engine/core/event-bus/types.js.map +1 -0
  420. package/es/chat-engine/core/index.d.ts +17 -2
  421. package/es/chat-engine/core/index.js +185 -22
  422. package/es/chat-engine/core/index.js.map +1 -1
  423. package/es/chat-engine/core/processor/index.js +1 -1
  424. package/es/chat-engine/core/server/batch-client.js +1 -1
  425. package/es/chat-engine/core/server/connection-manager.js +1 -1
  426. package/es/chat-engine/core/server/errors.js +1 -1
  427. package/es/chat-engine/core/server/index.js +1 -1
  428. package/es/chat-engine/core/server/llm-service.js +4 -2
  429. package/es/chat-engine/core/server/llm-service.js.map +1 -1
  430. package/es/chat-engine/core/server/sse-client.js +1 -1
  431. package/es/chat-engine/core/server/sse-parser.js +1 -1
  432. package/es/chat-engine/core/server/types.js +1 -1
  433. package/es/chat-engine/core/store/message.js +6 -2
  434. package/es/chat-engine/core/store/message.js.map +1 -1
  435. package/es/chat-engine/core/store/model.js +2 -1
  436. package/es/chat-engine/core/store/model.js.map +1 -1
  437. package/es/chat-engine/core/store/reactiveState.d.ts +4 -0
  438. package/es/chat-engine/core/store/reactiveState.js +15 -1235
  439. package/es/chat-engine/core/store/reactiveState.js.map +1 -1
  440. package/es/chat-engine/core/type.d.ts +25 -1
  441. package/es/chat-engine/core/type.js +1 -1
  442. package/es/chat-engine/core/utils/eventEmitter.js +1 -1
  443. package/es/chat-engine/core/utils/immutable-patch.d.ts +61 -0
  444. package/es/chat-engine/core/utils/immutable-patch.js +147 -0
  445. package/es/chat-engine/core/utils/immutable-patch.js.map +1 -0
  446. package/es/chat-engine/core/utils/index.d.ts +7 -2
  447. package/es/chat-engine/core/utils/index.js +9 -883
  448. package/es/chat-engine/core/utils/index.js.map +1 -1
  449. package/es/chat-engine/core/utils/json-patch/helpers.d.ts +41 -0
  450. package/es/chat-engine/core/utils/json-patch/helpers.js +164 -0
  451. package/es/chat-engine/core/utils/json-patch/helpers.js.map +1 -0
  452. package/es/chat-engine/core/utils/json-patch/index.d.ts +115 -0
  453. package/es/chat-engine/core/utils/json-patch/index.js +387 -0
  454. package/es/chat-engine/core/utils/json-patch/index.js.map +1 -0
  455. package/es/chat-engine/core/utils/logger.js +1 -1
  456. package/es/chat-engine/core/utils/performance.d.ts +94 -0
  457. package/es/chat-engine/core/utils/performance.js +205 -0
  458. package/es/chat-engine/core/utils/performance.js.map +1 -0
  459. package/es/chat-engine/hooks/a2ui/A2UIContext.d.ts +90 -0
  460. package/es/chat-engine/hooks/a2ui/A2UIContext.js +97 -0
  461. package/es/chat-engine/hooks/a2ui/A2UIContext.js.map +1 -0
  462. package/es/chat-engine/hooks/a2ui/index.d.ts +12 -0
  463. package/es/chat-engine/hooks/a2ui/index.js +19 -0
  464. package/es/chat-engine/hooks/a2ui/index.js.map +1 -0
  465. package/es/chat-engine/hooks/a2ui/useA2UIAction.d.ts +40 -0
  466. package/es/chat-engine/hooks/a2ui/useA2UIAction.js +74 -0
  467. package/es/chat-engine/hooks/a2ui/useA2UIAction.js.map +1 -0
  468. package/es/chat-engine/hooks/a2ui/useA2UISurface.d.ts +36 -0
  469. package/es/chat-engine/hooks/a2ui/useA2UISurface.js +39 -0
  470. package/es/chat-engine/hooks/a2ui/useA2UISurface.js.map +1 -0
  471. package/es/chat-engine/hooks/a2ui/useDataBinding.d.ts +53 -0
  472. package/es/chat-engine/hooks/a2ui/useDataBinding.js +111 -0
  473. package/es/chat-engine/hooks/a2ui/useDataBinding.js.map +1 -0
  474. package/es/chat-engine/hooks/index.js +8 -1
  475. package/es/chat-engine/hooks/index.js.map +1 -1
  476. package/es/chat-engine/hooks/useAgentActivity.d.ts +1 -2
  477. package/es/chat-engine/hooks/useAgentActivity.js +10 -2
  478. package/es/chat-engine/hooks/useAgentActivity.js.map +1 -1
  479. package/es/chat-engine/hooks/useAgentState.js +1 -1
  480. package/es/chat-engine/hooks/useAgentState.js.map +1 -1
  481. package/es/chat-engine/hooks/useAgentToolcall.js +10 -2
  482. package/es/chat-engine/hooks/useAgentToolcall.js.map +1 -1
  483. package/es/chat-engine/hooks/useChat.d.ts +1 -1
  484. package/es/chat-engine/hooks/useChat.js +3 -3
  485. package/es/chat-engine/hooks/useChat.js.map +1 -1
  486. package/es/chat-engine/hooks/useJsonRenderActivity.d.ts +56 -0
  487. package/es/chat-engine/hooks/useJsonRenderActivity.js +63 -0
  488. package/es/chat-engine/hooks/useJsonRenderActivity.js.map +1 -0
  489. package/es/chat-engine/index.d.ts +2 -4
  490. package/es/chat-engine/index.js +14 -34
  491. package/es/chat-engine/index.js.map +1 -1
  492. package/es/chat-filecard/index.js +1 -1
  493. package/es/chat-loading/index.js +1 -1
  494. package/es/chat-markdown/index.js +1 -1
  495. package/es/chat-message/index.js +1 -1
  496. package/es/chat-sender/index.js +1 -1
  497. package/es/chat-thinking/index.js +1 -1
  498. package/es/chatbot/docs/react-best-practice.d.ts +13 -0
  499. package/es/chatbot/index.js +1 -1
  500. package/es/index.js +13 -31
  501. package/es/index.js.map +1 -1
  502. package/es/style/index.js +1 -1
  503. package/package.json +10 -5
@@ -1,11 +1,11 @@
1
1
  /**
2
- * tdesign v1.0.2-alpha.6
2
+ * tdesign v1.1.0-alpha.4
3
3
  * (c) 2026 tdesign
4
4
  * @license MIT
5
5
  */
6
6
 
7
7
  import { z } from 'zod';
8
- import { StateSchema, MessageSchema } from './types.js';
8
+ import { StateSchema, AGUIMessageSchema } from './types.js';
9
9
  import '@babel/runtime/helpers/createClass';
10
10
  import '@babel/runtime/helpers/classCallCheck';
11
11
  import '@babel/runtime/helpers/possibleConstructorReturn';
@@ -13,35 +13,35 @@ import '@babel/runtime/helpers/getPrototypeOf';
13
13
  import '@babel/runtime/helpers/inherits';
14
14
  import '@babel/runtime/helpers/wrapNativeSuper';
15
15
 
16
- var EventType = /* @__PURE__ */function (EventType2) {
17
- EventType2["TEXT_MESSAGE_START"] = "TEXT_MESSAGE_START";
18
- EventType2["TEXT_MESSAGE_CONTENT"] = "TEXT_MESSAGE_CONTENT";
19
- EventType2["TEXT_MESSAGE_END"] = "TEXT_MESSAGE_END";
20
- EventType2["TEXT_MESSAGE_CHUNK"] = "TEXT_MESSAGE_CHUNK";
21
- EventType2["THINKING_TEXT_MESSAGE_START"] = "THINKING_TEXT_MESSAGE_START";
22
- EventType2["THINKING_TEXT_MESSAGE_CONTENT"] = "THINKING_TEXT_MESSAGE_CONTENT";
23
- EventType2["THINKING_TEXT_MESSAGE_END"] = "THINKING_TEXT_MESSAGE_END";
24
- EventType2["THINKING_START"] = "THINKING_START";
25
- EventType2["THINKING_END"] = "THINKING_END";
26
- EventType2["TOOL_CALL_START"] = "TOOL_CALL_START";
27
- EventType2["TOOL_CALL_ARGS"] = "TOOL_CALL_ARGS";
28
- EventType2["TOOL_CALL_END"] = "TOOL_CALL_END";
29
- EventType2["TOOL_CALL_CHUNK"] = "TOOL_CALL_CHUNK";
30
- EventType2["TOOL_CALL_RESULT"] = "TOOL_CALL_RESULT";
31
- EventType2["ACTIVITY_SNAPSHOT"] = "ACTIVITY_SNAPSHOT";
32
- EventType2["ACTIVITY_DELTA"] = "ACTIVITY_DELTA";
33
- EventType2["STATE_SNAPSHOT"] = "STATE_SNAPSHOT";
34
- EventType2["STATE_DELTA"] = "STATE_DELTA";
35
- EventType2["MESSAGES_SNAPSHOT"] = "MESSAGES_SNAPSHOT";
36
- EventType2["RAW"] = "RAW";
37
- EventType2["CUSTOM"] = "CUSTOM";
38
- EventType2["RUN_STARTED"] = "RUN_STARTED";
39
- EventType2["RUN_FINISHED"] = "RUN_FINISHED";
40
- EventType2["RUN_ERROR"] = "RUN_ERROR";
41
- EventType2["STEP_STARTED"] = "STEP_STARTED";
42
- EventType2["STEP_FINISHED"] = "STEP_FINISHED";
43
- return EventType2;
44
- }(EventType || {});
16
+ var AGUIEventType = /* @__PURE__ */function (AGUIEventType2) {
17
+ AGUIEventType2["TEXT_MESSAGE_START"] = "TEXT_MESSAGE_START";
18
+ AGUIEventType2["TEXT_MESSAGE_CONTENT"] = "TEXT_MESSAGE_CONTENT";
19
+ AGUIEventType2["TEXT_MESSAGE_END"] = "TEXT_MESSAGE_END";
20
+ AGUIEventType2["TEXT_MESSAGE_CHUNK"] = "TEXT_MESSAGE_CHUNK";
21
+ AGUIEventType2["THINKING_TEXT_MESSAGE_START"] = "THINKING_TEXT_MESSAGE_START";
22
+ AGUIEventType2["THINKING_TEXT_MESSAGE_CONTENT"] = "THINKING_TEXT_MESSAGE_CONTENT";
23
+ AGUIEventType2["THINKING_TEXT_MESSAGE_END"] = "THINKING_TEXT_MESSAGE_END";
24
+ AGUIEventType2["THINKING_START"] = "THINKING_START";
25
+ AGUIEventType2["THINKING_END"] = "THINKING_END";
26
+ AGUIEventType2["TOOL_CALL_START"] = "TOOL_CALL_START";
27
+ AGUIEventType2["TOOL_CALL_ARGS"] = "TOOL_CALL_ARGS";
28
+ AGUIEventType2["TOOL_CALL_END"] = "TOOL_CALL_END";
29
+ AGUIEventType2["TOOL_CALL_CHUNK"] = "TOOL_CALL_CHUNK";
30
+ AGUIEventType2["TOOL_CALL_RESULT"] = "TOOL_CALL_RESULT";
31
+ AGUIEventType2["ACTIVITY_SNAPSHOT"] = "ACTIVITY_SNAPSHOT";
32
+ AGUIEventType2["ACTIVITY_DELTA"] = "ACTIVITY_DELTA";
33
+ AGUIEventType2["STATE_SNAPSHOT"] = "STATE_SNAPSHOT";
34
+ AGUIEventType2["STATE_DELTA"] = "STATE_DELTA";
35
+ AGUIEventType2["MESSAGES_SNAPSHOT"] = "MESSAGES_SNAPSHOT";
36
+ AGUIEventType2["RAW"] = "RAW";
37
+ AGUIEventType2["CUSTOM"] = "CUSTOM";
38
+ AGUIEventType2["RUN_STARTED"] = "RUN_STARTED";
39
+ AGUIEventType2["RUN_FINISHED"] = "RUN_FINISHED";
40
+ AGUIEventType2["RUN_ERROR"] = "RUN_ERROR";
41
+ AGUIEventType2["STEP_STARTED"] = "STEP_STARTED";
42
+ AGUIEventType2["STEP_FINISHED"] = "STEP_FINISHED";
43
+ return AGUIEventType2;
44
+ }(AGUIEventType || {});
45
45
  function isTextMessageEvent(eventType) {
46
46
  return ["TEXT_MESSAGE_START", "TEXT_MESSAGE_CHUNK", "TEXT_MESSAGE_CONTENT", "TEXT_MESSAGE_END"].includes(eventType);
47
47
  }
@@ -58,7 +58,7 @@ function isStateEvent(eventType) {
58
58
  return ["STATE_SNAPSHOT", "STATE_DELTA"].includes(eventType);
59
59
  }
60
60
  var BaseEventSchema = z.object({
61
- type: z.nativeEnum(EventType),
61
+ type: z.nativeEnum(AGUIEventType),
62
62
  timestamp: z.number().optional(),
63
63
  rawEvent: z.any().optional()
64
64
  });
@@ -157,7 +157,7 @@ var StateDeltaEventSchema = BaseEventSchema.extend({
157
157
  });
158
158
  var MessagesSnapshotEventSchema = BaseEventSchema.extend({
159
159
  type: z.literal("MESSAGES_SNAPSHOT" /* MESSAGES_SNAPSHOT */),
160
- messages: z.array(MessageSchema)
160
+ messages: z.array(AGUIMessageSchema)
161
161
  });
162
162
  var RawEventSchema = BaseEventSchema.extend({
163
163
  type: z.literal("RAW" /* RAW */),
@@ -195,5 +195,5 @@ var StepFinishedEventSchema = BaseEventSchema.extend({
195
195
  });
196
196
  var EventSchemas = z.discriminatedUnion("type", [TextMessageStartEventSchema, TextMessageContentEventSchema, TextMessageEndEventSchema, TextMessageChunkEventSchema, ThinkingTextMessageStartEventSchema, ThinkingTextMessageContentEventSchema, ThinkingTextMessageEndEventSchema, ToolCallStartEventSchema, ToolCallArgsEventSchema, ToolCallEndEventSchema, ToolCallChunkEventSchema, ToolCallResultEventSchema, ActivitySnapshotEventSchema, ActivityDeltaEventSchema, StateSnapshotEventSchema, StateDeltaEventSchema, MessagesSnapshotEventSchema, RawEventSchema, CustomEventSchema, RunStartedEventSchema, RunFinishedEventSchema, RunErrorEventSchema, StepStartedEventSchema, StepFinishedEventSchema]);
197
197
 
198
- export { ActivityDeltaEventSchema, ActivitySnapshotEventSchema, CustomEventSchema, EventSchemas, EventType, MessagesSnapshotEventSchema, RawEventSchema, RunErrorEventSchema, RunFinishedEventSchema, RunStartedEventSchema, StateDeltaEventSchema, StateSnapshotEventSchema, StepFinishedEventSchema, StepStartedEventSchema, TextMessageChunkEventSchema, TextMessageContentEventSchema, TextMessageEndEventSchema, TextMessageStartEventSchema, ThinkingEndEventSchema, ThinkingStartEventSchema, ThinkingTextMessageContentEventSchema, ThinkingTextMessageEndEventSchema, ThinkingTextMessageStartEventSchema, ToolCallArgsEventSchema, ToolCallChunkEventSchema, ToolCallEndEventSchema, ToolCallResultEventSchema, ToolCallStartEventSchema, isActivityEvent, isStateEvent, isTextMessageEvent, isThinkingEvent, isToolCallEvent };
198
+ export { AGUIEventType, ActivityDeltaEventSchema, ActivitySnapshotEventSchema, CustomEventSchema, EventSchemas, MessagesSnapshotEventSchema, RawEventSchema, RunErrorEventSchema, RunFinishedEventSchema, RunStartedEventSchema, StateDeltaEventSchema, StateSnapshotEventSchema, StepFinishedEventSchema, StepStartedEventSchema, TextMessageChunkEventSchema, TextMessageContentEventSchema, TextMessageEndEventSchema, TextMessageStartEventSchema, ThinkingEndEventSchema, ThinkingStartEventSchema, ThinkingTextMessageContentEventSchema, ThinkingTextMessageEndEventSchema, ThinkingTextMessageStartEventSchema, ToolCallArgsEventSchema, ToolCallChunkEventSchema, ToolCallEndEventSchema, ToolCallResultEventSchema, ToolCallStartEventSchema, isActivityEvent, isStateEvent, isTextMessageEvent, isThinkingEvent, isToolCallEvent };
199
199
  //# sourceMappingURL=events.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sources":["../../../../../../pro-components/chat/chat-engine/core/adapters/agui/events.ts"],"sourcesContent":["import { z } from 'zod';\n\nimport { MessageSchema, StateSchema } from './types';\n\nexport type ToolCallEventType =\n | 'TOOL_CALL_START'\n | 'TOOL_CALL_ARGS'\n | 'TOOL_CALL_END'\n | 'TOOL_CALL_CHUNK'\n | 'TOOL_CALL_RESULT';\n\nexport enum EventType {\n TEXT_MESSAGE_START = 'TEXT_MESSAGE_START',\n TEXT_MESSAGE_CONTENT = 'TEXT_MESSAGE_CONTENT',\n TEXT_MESSAGE_END = 'TEXT_MESSAGE_END',\n TEXT_MESSAGE_CHUNK = 'TEXT_MESSAGE_CHUNK',\n THINKING_TEXT_MESSAGE_START = 'THINKING_TEXT_MESSAGE_START',\n THINKING_TEXT_MESSAGE_CONTENT = 'THINKING_TEXT_MESSAGE_CONTENT',\n THINKING_TEXT_MESSAGE_END = 'THINKING_TEXT_MESSAGE_END',\n THINKING_START = 'THINKING_START',\n THINKING_END = 'THINKING_END',\n\n TOOL_CALL_START = 'TOOL_CALL_START',\n TOOL_CALL_ARGS = 'TOOL_CALL_ARGS',\n TOOL_CALL_END = 'TOOL_CALL_END',\n TOOL_CALL_CHUNK = 'TOOL_CALL_CHUNK',\n TOOL_CALL_RESULT = 'TOOL_CALL_RESULT',\n\n ACTIVITY_SNAPSHOT = 'ACTIVITY_SNAPSHOT',\n ACTIVITY_DELTA = 'ACTIVITY_DELTA',\n\n STATE_SNAPSHOT = 'STATE_SNAPSHOT',\n STATE_DELTA = 'STATE_DELTA',\n MESSAGES_SNAPSHOT = 'MESSAGES_SNAPSHOT',\n RAW = 'RAW',\n CUSTOM = 'CUSTOM',\n RUN_STARTED = 'RUN_STARTED',\n RUN_FINISHED = 'RUN_FINISHED',\n RUN_ERROR = 'RUN_ERROR',\n STEP_STARTED = 'STEP_STARTED',\n STEP_FINISHED = 'STEP_FINISHED',\n}\n\n/**\n * 检查事件类型是否为文本消息相关\n * @param eventType 事件类型\n * @returns 是否为文本消息事件\n */\nexport function isTextMessageEvent(eventType: string): boolean {\n return ['TEXT_MESSAGE_START', 'TEXT_MESSAGE_CHUNK', 'TEXT_MESSAGE_CONTENT', 'TEXT_MESSAGE_END'].includes(eventType);\n}\n\n/**\n * 检查事件类型是否为思考相关\n * @param eventType 事件类型\n * @returns 是否为思考事件\n */\nexport function isThinkingEvent(eventType: string): boolean {\n return [\n 'THINKING_START',\n 'THINKING_TEXT_MESSAGE_START',\n 'THINKING_TEXT_MESSAGE_CONTENT',\n 'THINKING_TEXT_MESSAGE_END',\n 'THINKING_END',\n ].includes(eventType);\n}\n\n/**\n * 检查事件类型是否为工具调用相关\n * @param eventType 事件类型\n * @returns 是否为工具调用事件\n */\nexport function isToolCallEvent(eventType: string): boolean {\n return ['TOOL_CALL_START', 'TOOL_CALL_ARGS', 'TOOL_CALL_CHUNK', 'TOOL_CALL_RESULT', 'TOOL_CALL_END'].includes(\n eventType,\n );\n}\n\n/**\n * 检查事件类型是否为活动相关\n * @param eventType 事件类型\n * @returns 是否为活动事件\n */\nexport function isActivityEvent(eventType: string): boolean {\n return ['ACTIVITY_SNAPSHOT', 'ACTIVITY_DELTA'].includes(eventType);\n}\n\n/**\n * 检查事件类型是否为状态相关\n * @param eventType 事件类型\n * @returns 是否为状态事件\n */\nexport function isStateEvent(eventType: string): boolean {\n return ['STATE_SNAPSHOT', 'STATE_DELTA'].includes(eventType);\n}\n\nconst BaseEventSchema = z.object({\n type: z.nativeEnum(EventType),\n timestamp: z.number().optional(),\n rawEvent: z.any().optional(),\n});\n\nexport const TextMessageStartEventSchema = BaseEventSchema.extend({\n type: z.literal(EventType.TEXT_MESSAGE_START),\n messageId: z.string(),\n role: z.literal('assistant'),\n});\n\nexport const TextMessageContentEventSchema = BaseEventSchema.extend({\n type: z.literal(EventType.TEXT_MESSAGE_CONTENT),\n messageId: z.string(),\n delta: z.string().refine((s) => s.length > 0, 'Delta must not be an empty string'),\n});\n\nexport const TextMessageEndEventSchema = BaseEventSchema.extend({\n type: z.literal(EventType.TEXT_MESSAGE_END),\n messageId: z.string(),\n});\n\nexport const TextMessageChunkEventSchema = BaseEventSchema.extend({\n type: z.literal(EventType.TEXT_MESSAGE_CHUNK),\n messageId: z.string().optional(),\n role: z.literal('assistant').optional(),\n delta: z.string().optional(),\n});\n\nexport const ThinkingTextMessageStartEventSchema = BaseEventSchema.extend({\n type: z.literal(EventType.THINKING_TEXT_MESSAGE_START),\n});\n\nexport const ThinkingTextMessageContentEventSchema = TextMessageContentEventSchema.omit({\n messageId: true,\n type: true,\n}).extend({\n type: z.literal(EventType.THINKING_TEXT_MESSAGE_CONTENT),\n});\n\nexport const ThinkingTextMessageEndEventSchema = BaseEventSchema.extend({\n type: z.literal(EventType.THINKING_TEXT_MESSAGE_END),\n});\n\nexport const ToolCallStartEventSchema = BaseEventSchema.extend({\n type: z.literal(EventType.TOOL_CALL_START),\n toolCallId: z.string(),\n toolCallName: z.string(),\n parentMessageId: z.string().optional(),\n});\n\nexport const ToolCallArgsEventSchema = BaseEventSchema.extend({\n type: z.literal(EventType.TOOL_CALL_ARGS),\n toolCallId: z.string(),\n delta: z.string(),\n});\n\nexport const ToolCallEndEventSchema = BaseEventSchema.extend({\n type: z.literal(EventType.TOOL_CALL_END),\n toolCallId: z.string(),\n});\n\nexport const ToolCallResultEventSchema = BaseEventSchema.extend({\n messageId: z.string(),\n type: z.literal(EventType.TOOL_CALL_RESULT),\n toolCallId: z.string(),\n toolCallName: z.string(),\n content: z.string(),\n role: z.literal('tool').optional(),\n});\n\nexport const ToolCallChunkEventSchema = BaseEventSchema.extend({\n type: z.literal(EventType.TOOL_CALL_CHUNK),\n toolCallId: z.string().optional(),\n toolCallName: z.string().optional(),\n parentMessageId: z.string().optional(),\n delta: z.string().optional(),\n});\n\nexport const ActivitySnapshotEventSchema = BaseEventSchema.extend({\n type: z.literal(EventType.ACTIVITY_SNAPSHOT),\n messageId: z.string().optional(),\n activityType: z.string(),\n content: z.record(z.any()),\n replace: z.boolean().optional(),\n});\n\nexport const ActivityDeltaEventSchema = BaseEventSchema.extend({\n type: z.literal(EventType.ACTIVITY_DELTA),\n messageId: z.string().optional(),\n activityType: z.string().optional(),\n patch: z.array(z.any()).optional(), // JSON Patch (RFC 6902)\n});\n\nexport const ThinkingStartEventSchema = BaseEventSchema.extend({\n type: z.literal(EventType.THINKING_START),\n title: z.string().optional(),\n});\n\nexport const ThinkingEndEventSchema = BaseEventSchema.extend({\n type: z.literal(EventType.THINKING_END),\n title: z.string().optional(),\n});\n\nexport const StateSnapshotEventSchema = BaseEventSchema.extend({\n type: z.literal(EventType.STATE_SNAPSHOT),\n snapshot: StateSchema,\n});\n\nexport const StateDeltaEventSchema = BaseEventSchema.extend({\n type: z.literal(EventType.STATE_DELTA),\n delta: z.array(z.any()), // JSON Patch (RFC 6902)\n});\n\nexport const MessagesSnapshotEventSchema = BaseEventSchema.extend({\n type: z.literal(EventType.MESSAGES_SNAPSHOT),\n messages: z.array(MessageSchema),\n});\n\nexport const RawEventSchema = BaseEventSchema.extend({\n type: z.literal(EventType.RAW),\n event: z.any(),\n source: z.string().optional(),\n});\n\nexport const CustomEventSchema = BaseEventSchema.extend({\n type: z.literal(EventType.CUSTOM),\n name: z.string(),\n value: z.any(),\n});\n\nexport const RunStartedEventSchema = BaseEventSchema.extend({\n type: z.literal(EventType.RUN_STARTED),\n threadId: z.string(),\n runId: z.string(),\n});\n\nexport const RunFinishedEventSchema = BaseEventSchema.extend({\n type: z.literal(EventType.RUN_FINISHED),\n threadId: z.string(),\n runId: z.string(),\n result: z.any().optional(),\n});\n\nexport const RunErrorEventSchema = BaseEventSchema.extend({\n type: z.literal(EventType.RUN_ERROR),\n message: z.string(),\n code: z.string().optional(),\n});\n\nexport const StepStartedEventSchema = BaseEventSchema.extend({\n type: z.literal(EventType.STEP_STARTED),\n stepName: z.string(),\n});\n\nexport const StepFinishedEventSchema = BaseEventSchema.extend({\n type: z.literal(EventType.STEP_FINISHED),\n stepName: z.string(),\n});\n\nexport const EventSchemas = z.discriminatedUnion('type', [\n TextMessageStartEventSchema,\n TextMessageContentEventSchema,\n TextMessageEndEventSchema,\n TextMessageChunkEventSchema,\n ThinkingTextMessageStartEventSchema,\n ThinkingTextMessageContentEventSchema,\n ThinkingTextMessageEndEventSchema,\n ToolCallStartEventSchema,\n ToolCallArgsEventSchema,\n ToolCallEndEventSchema,\n ToolCallChunkEventSchema,\n ToolCallResultEventSchema,\n ActivitySnapshotEventSchema,\n ActivityDeltaEventSchema,\n StateSnapshotEventSchema,\n StateDeltaEventSchema,\n MessagesSnapshotEventSchema,\n RawEventSchema,\n CustomEventSchema,\n RunStartedEventSchema,\n RunFinishedEventSchema,\n RunErrorEventSchema,\n StepStartedEventSchema,\n StepFinishedEventSchema,\n]);\n\nexport type BaseEvent = z.infer<typeof BaseEventSchema>;\nexport type TextMessageStartEvent = z.infer<typeof TextMessageStartEventSchema>;\nexport type TextMessageContentEvent = z.infer<typeof TextMessageContentEventSchema>;\nexport type TextMessageEndEvent = z.infer<typeof TextMessageEndEventSchema>;\nexport type TextMessageChunkEvent = z.infer<typeof TextMessageChunkEventSchema>;\nexport type ThinkingTextMessageStartEvent = z.infer<typeof ThinkingTextMessageStartEventSchema>;\nexport type ThinkingTextMessageContentEvent = z.infer<typeof ThinkingTextMessageContentEventSchema>;\nexport type ThinkingTextMessageEndEvent = z.infer<typeof ThinkingTextMessageEndEventSchema>;\nexport type ToolCallStartEvent = z.infer<typeof ToolCallStartEventSchema>;\nexport type ToolCallArgsEvent = z.infer<typeof ToolCallArgsEventSchema>;\nexport type ToolCallEndEvent = z.infer<typeof ToolCallEndEventSchema>;\nexport type ToolCallChunkEvent = z.infer<typeof ToolCallChunkEventSchema>;\nexport type ToolCallResultEvent = z.infer<typeof ToolCallResultEventSchema>;\nexport type ActivitySnapshotEvent = z.infer<typeof ActivitySnapshotEventSchema>;\nexport type ActivityDeltaEvent = z.infer<typeof ActivityDeltaEventSchema>;\nexport type ThinkingStartEvent = z.infer<typeof ThinkingStartEventSchema>;\nexport type ThinkingEndEvent = z.infer<typeof ThinkingEndEventSchema>;\nexport type StateSnapshotEvent = z.infer<typeof StateSnapshotEventSchema>;\nexport type StateDeltaEvent = z.infer<typeof StateDeltaEventSchema>;\nexport type MessagesSnapshotEvent = z.infer<typeof MessagesSnapshotEventSchema>;\nexport type RawEvent = z.infer<typeof RawEventSchema>;\nexport type CustomEvent = z.infer<typeof CustomEventSchema>;\nexport type RunStartedEvent = z.infer<typeof RunStartedEventSchema>;\nexport type RunFinishedEvent = z.infer<typeof RunFinishedEventSchema>;\nexport type RunErrorEvent = z.infer<typeof RunErrorEventSchema>;\nexport type StepStartedEvent = z.infer<typeof StepStartedEventSchema>;\nexport type StepFinishedEvent = z.infer<typeof StepFinishedEventSchema>;\n"],"names":["EventType","isTextMessageEvent","eventType","includes","isThinkingEvent","isToolCallEvent","isActivityEvent","isStateEvent","BaseEventSchema","z","object","type","nativeEnum","timestamp","number","optional","rawEvent","any","TextMessageStartEventSchema","extend","literal","messageId","string","role","TextMessageContentEventSchema","delta","refine","s","length","TextMessageEndEventSchema","TextMessageChunkEventSchema","ThinkingTextMessageStartEventSchema","ThinkingTextMessageContentEventSchema","omit","ThinkingTextMessageEndEventSchema","ToolCallStartEventSchema","toolCallId","toolCallName","parentMessageId","ToolCallArgsEventSchema","ToolCallEndEventSchema","ToolCallResultEventSchema","content","ToolCallChunkEventSchema","ActivitySnapshotEventSchema","activityType","record","replace","ActivityDeltaEventSchema","patch","array","ThinkingStartEventSchema","title","ThinkingEndEventSchema","StateSnapshotEventSchema","snapshot","StateSchema","StateDeltaEventSchema","MessagesSnapshotEventSchema","messages","MessageSchema","RawEventSchema","event","source","CustomEventSchema","name","value","RunStartedEventSchema","threadId","runId","RunFinishedEventSchema","result","RunErrorEventSchema","message","code","StepStartedEventSchema","stepName","StepFinishedEventSchema","EventSchemas","discriminatedUnion"],"mappings":"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"}
1
+ {"version":3,"file":"events.js","sources":["../../../../../../pro-components/chat/chat-engine/core/adapters/agui/events.ts"],"sourcesContent":["import { z } from 'zod';\n\nimport { AGUIMessageSchema, StateSchema } from './types';\n\nexport type ToolCallEventType =\n | 'TOOL_CALL_START'\n | 'TOOL_CALL_ARGS'\n | 'TOOL_CALL_END'\n | 'TOOL_CALL_CHUNK'\n | 'TOOL_CALL_RESULT';\n\nexport enum AGUIEventType {\n TEXT_MESSAGE_START = 'TEXT_MESSAGE_START',\n TEXT_MESSAGE_CONTENT = 'TEXT_MESSAGE_CONTENT',\n TEXT_MESSAGE_END = 'TEXT_MESSAGE_END',\n TEXT_MESSAGE_CHUNK = 'TEXT_MESSAGE_CHUNK',\n THINKING_TEXT_MESSAGE_START = 'THINKING_TEXT_MESSAGE_START',\n THINKING_TEXT_MESSAGE_CONTENT = 'THINKING_TEXT_MESSAGE_CONTENT',\n THINKING_TEXT_MESSAGE_END = 'THINKING_TEXT_MESSAGE_END',\n THINKING_START = 'THINKING_START',\n THINKING_END = 'THINKING_END',\n\n TOOL_CALL_START = 'TOOL_CALL_START',\n TOOL_CALL_ARGS = 'TOOL_CALL_ARGS',\n TOOL_CALL_END = 'TOOL_CALL_END',\n TOOL_CALL_CHUNK = 'TOOL_CALL_CHUNK',\n TOOL_CALL_RESULT = 'TOOL_CALL_RESULT',\n\n ACTIVITY_SNAPSHOT = 'ACTIVITY_SNAPSHOT',\n ACTIVITY_DELTA = 'ACTIVITY_DELTA',\n\n STATE_SNAPSHOT = 'STATE_SNAPSHOT',\n STATE_DELTA = 'STATE_DELTA',\n MESSAGES_SNAPSHOT = 'MESSAGES_SNAPSHOT',\n RAW = 'RAW',\n CUSTOM = 'CUSTOM',\n RUN_STARTED = 'RUN_STARTED',\n RUN_FINISHED = 'RUN_FINISHED',\n RUN_ERROR = 'RUN_ERROR',\n STEP_STARTED = 'STEP_STARTED',\n STEP_FINISHED = 'STEP_FINISHED',\n}\n\n/**\n * 检查事件类型是否为文本消息相关\n * @param eventType 事件类型\n * @returns 是否为文本消息事件\n */\nexport function isTextMessageEvent(eventType: string): boolean {\n return ['TEXT_MESSAGE_START', 'TEXT_MESSAGE_CHUNK', 'TEXT_MESSAGE_CONTENT', 'TEXT_MESSAGE_END'].includes(eventType);\n}\n\n/**\n * 检查事件类型是否为思考相关\n * @param eventType 事件类型\n * @returns 是否为思考事件\n */\nexport function isThinkingEvent(eventType: string): boolean {\n return [\n 'THINKING_START',\n 'THINKING_TEXT_MESSAGE_START',\n 'THINKING_TEXT_MESSAGE_CONTENT',\n 'THINKING_TEXT_MESSAGE_END',\n 'THINKING_END',\n ].includes(eventType);\n}\n\n/**\n * 检查事件类型是否为工具调用相关\n * @param eventType 事件类型\n * @returns 是否为工具调用事件\n */\nexport function isToolCallEvent(eventType: string): boolean {\n return ['TOOL_CALL_START', 'TOOL_CALL_ARGS', 'TOOL_CALL_CHUNK', 'TOOL_CALL_RESULT', 'TOOL_CALL_END'].includes(\n eventType,\n );\n}\n\n/**\n * 检查事件类型是否为活动相关\n * @param eventType 事件类型\n * @returns 是否为活动事件\n */\nexport function isActivityEvent(eventType: string): boolean {\n return ['ACTIVITY_SNAPSHOT', 'ACTIVITY_DELTA'].includes(eventType);\n}\n\n/**\n * 检查事件类型是否为状态相关\n * @param eventType 事件类型\n * @returns 是否为状态事件\n */\nexport function isStateEvent(eventType: string): boolean {\n return ['STATE_SNAPSHOT', 'STATE_DELTA'].includes(eventType);\n}\n\nconst BaseEventSchema = z.object({\n type: z.nativeEnum(AGUIEventType),\n timestamp: z.number().optional(),\n rawEvent: z.any().optional(),\n});\n\nexport const TextMessageStartEventSchema = BaseEventSchema.extend({\n type: z.literal(AGUIEventType.TEXT_MESSAGE_START),\n messageId: z.string(),\n role: z.literal('assistant'),\n});\n\nexport const TextMessageContentEventSchema = BaseEventSchema.extend({\n type: z.literal(AGUIEventType.TEXT_MESSAGE_CONTENT),\n messageId: z.string(),\n delta: z.string().refine((s) => s.length > 0, 'Delta must not be an empty string'),\n});\n\nexport const TextMessageEndEventSchema = BaseEventSchema.extend({\n type: z.literal(AGUIEventType.TEXT_MESSAGE_END),\n messageId: z.string(),\n});\n\nexport const TextMessageChunkEventSchema = BaseEventSchema.extend({\n type: z.literal(AGUIEventType.TEXT_MESSAGE_CHUNK),\n messageId: z.string().optional(),\n role: z.literal('assistant').optional(),\n delta: z.string().optional(),\n});\n\nexport const ThinkingTextMessageStartEventSchema = BaseEventSchema.extend({\n type: z.literal(AGUIEventType.THINKING_TEXT_MESSAGE_START),\n});\n\nexport const ThinkingTextMessageContentEventSchema = TextMessageContentEventSchema.omit({\n messageId: true,\n type: true,\n}).extend({\n type: z.literal(AGUIEventType.THINKING_TEXT_MESSAGE_CONTENT),\n});\n\nexport const ThinkingTextMessageEndEventSchema = BaseEventSchema.extend({\n type: z.literal(AGUIEventType.THINKING_TEXT_MESSAGE_END),\n});\n\nexport const ToolCallStartEventSchema = BaseEventSchema.extend({\n type: z.literal(AGUIEventType.TOOL_CALL_START),\n toolCallId: z.string(),\n toolCallName: z.string(),\n parentMessageId: z.string().optional(),\n});\n\nexport const ToolCallArgsEventSchema = BaseEventSchema.extend({\n type: z.literal(AGUIEventType.TOOL_CALL_ARGS),\n toolCallId: z.string(),\n delta: z.string(),\n});\n\nexport const ToolCallEndEventSchema = BaseEventSchema.extend({\n type: z.literal(AGUIEventType.TOOL_CALL_END),\n toolCallId: z.string(),\n});\n\nexport const ToolCallResultEventSchema = BaseEventSchema.extend({\n messageId: z.string(),\n type: z.literal(AGUIEventType.TOOL_CALL_RESULT),\n toolCallId: z.string(),\n toolCallName: z.string(),\n content: z.string(),\n role: z.literal('tool').optional(),\n});\n\nexport const ToolCallChunkEventSchema = BaseEventSchema.extend({\n type: z.literal(AGUIEventType.TOOL_CALL_CHUNK),\n toolCallId: z.string().optional(),\n toolCallName: z.string().optional(),\n parentMessageId: z.string().optional(),\n delta: z.string().optional(),\n});\n\nexport const ActivitySnapshotEventSchema = BaseEventSchema.extend({\n type: z.literal(AGUIEventType.ACTIVITY_SNAPSHOT),\n messageId: z.string().optional(),\n activityType: z.string(),\n content: z.record(z.any()),\n replace: z.boolean().optional(),\n});\n\nexport const ActivityDeltaEventSchema = BaseEventSchema.extend({\n type: z.literal(AGUIEventType.ACTIVITY_DELTA),\n messageId: z.string().optional(),\n activityType: z.string().optional(),\n patch: z.array(z.any()).optional(), // JSON Patch (RFC 6902)\n});\n\nexport const ThinkingStartEventSchema = BaseEventSchema.extend({\n type: z.literal(AGUIEventType.THINKING_START),\n title: z.string().optional(),\n});\n\nexport const ThinkingEndEventSchema = BaseEventSchema.extend({\n type: z.literal(AGUIEventType.THINKING_END),\n title: z.string().optional(),\n});\n\nexport const StateSnapshotEventSchema = BaseEventSchema.extend({\n type: z.literal(AGUIEventType.STATE_SNAPSHOT),\n snapshot: StateSchema,\n});\n\nexport const StateDeltaEventSchema = BaseEventSchema.extend({\n type: z.literal(AGUIEventType.STATE_DELTA),\n delta: z.array(z.any()), // JSON Patch (RFC 6902)\n});\n\nexport const MessagesSnapshotEventSchema = BaseEventSchema.extend({\n type: z.literal(AGUIEventType.MESSAGES_SNAPSHOT),\n messages: z.array(AGUIMessageSchema),\n});\n\nexport const RawEventSchema = BaseEventSchema.extend({\n type: z.literal(AGUIEventType.RAW),\n event: z.any(),\n source: z.string().optional(),\n});\n\nexport const CustomEventSchema = BaseEventSchema.extend({\n type: z.literal(AGUIEventType.CUSTOM),\n name: z.string(),\n value: z.any(),\n});\n\nexport const RunStartedEventSchema = BaseEventSchema.extend({\n type: z.literal(AGUIEventType.RUN_STARTED),\n threadId: z.string(),\n runId: z.string(),\n});\n\nexport const RunFinishedEventSchema = BaseEventSchema.extend({\n type: z.literal(AGUIEventType.RUN_FINISHED),\n threadId: z.string(),\n runId: z.string(),\n result: z.any().optional(),\n});\n\nexport const RunErrorEventSchema = BaseEventSchema.extend({\n type: z.literal(AGUIEventType.RUN_ERROR),\n message: z.string(),\n code: z.string().optional(),\n});\n\nexport const StepStartedEventSchema = BaseEventSchema.extend({\n type: z.literal(AGUIEventType.STEP_STARTED),\n stepName: z.string(),\n});\n\nexport const StepFinishedEventSchema = BaseEventSchema.extend({\n type: z.literal(AGUIEventType.STEP_FINISHED),\n stepName: z.string(),\n});\n\nexport const EventSchemas = z.discriminatedUnion('type', [\n TextMessageStartEventSchema,\n TextMessageContentEventSchema,\n TextMessageEndEventSchema,\n TextMessageChunkEventSchema,\n ThinkingTextMessageStartEventSchema,\n ThinkingTextMessageContentEventSchema,\n ThinkingTextMessageEndEventSchema,\n ToolCallStartEventSchema,\n ToolCallArgsEventSchema,\n ToolCallEndEventSchema,\n ToolCallChunkEventSchema,\n ToolCallResultEventSchema,\n ActivitySnapshotEventSchema,\n ActivityDeltaEventSchema,\n StateSnapshotEventSchema,\n StateDeltaEventSchema,\n MessagesSnapshotEventSchema,\n RawEventSchema,\n CustomEventSchema,\n RunStartedEventSchema,\n RunFinishedEventSchema,\n RunErrorEventSchema,\n StepStartedEventSchema,\n StepFinishedEventSchema,\n]);\n\nexport type BaseEvent = z.infer<typeof BaseEventSchema>;\nexport type TextMessageStartEvent = z.infer<typeof TextMessageStartEventSchema>;\nexport type TextMessageContentEvent = z.infer<typeof TextMessageContentEventSchema>;\nexport type TextMessageEndEvent = z.infer<typeof TextMessageEndEventSchema>;\nexport type TextMessageChunkEvent = z.infer<typeof TextMessageChunkEventSchema>;\nexport type ThinkingTextMessageStartEvent = z.infer<typeof ThinkingTextMessageStartEventSchema>;\nexport type ThinkingTextMessageContentEvent = z.infer<typeof ThinkingTextMessageContentEventSchema>;\nexport type ThinkingTextMessageEndEvent = z.infer<typeof ThinkingTextMessageEndEventSchema>;\nexport type ToolCallStartEvent = z.infer<typeof ToolCallStartEventSchema>;\nexport type ToolCallArgsEvent = z.infer<typeof ToolCallArgsEventSchema>;\nexport type ToolCallEndEvent = z.infer<typeof ToolCallEndEventSchema>;\nexport type ToolCallChunkEvent = z.infer<typeof ToolCallChunkEventSchema>;\nexport type ToolCallResultEvent = z.infer<typeof ToolCallResultEventSchema>;\nexport type ActivitySnapshotEvent = z.infer<typeof ActivitySnapshotEventSchema>;\nexport type ActivityDeltaEvent = z.infer<typeof ActivityDeltaEventSchema>;\nexport type ThinkingStartEvent = z.infer<typeof ThinkingStartEventSchema>;\nexport type ThinkingEndEvent = z.infer<typeof ThinkingEndEventSchema>;\nexport type StateSnapshotEvent = z.infer<typeof StateSnapshotEventSchema>;\nexport type StateDeltaEvent = z.infer<typeof StateDeltaEventSchema>;\nexport type MessagesSnapshotEvent = z.infer<typeof MessagesSnapshotEventSchema>;\nexport type RawEvent = z.infer<typeof RawEventSchema>;\nexport type CustomEvent = z.infer<typeof CustomEventSchema>;\nexport type RunStartedEvent = z.infer<typeof RunStartedEventSchema>;\nexport type RunFinishedEvent = z.infer<typeof RunFinishedEventSchema>;\nexport type RunErrorEvent = z.infer<typeof RunErrorEventSchema>;\nexport type StepStartedEvent = z.infer<typeof StepStartedEventSchema>;\nexport type StepFinishedEvent = z.infer<typeof StepFinishedEventSchema>;\n"],"names":["AGUIEventType","isTextMessageEvent","eventType","includes","isThinkingEvent","isToolCallEvent","isActivityEvent","isStateEvent","BaseEventSchema","z","object","type","nativeEnum","timestamp","number","optional","rawEvent","any","TextMessageStartEventSchema","extend","literal","messageId","string","role","TextMessageContentEventSchema","delta","refine","s","length","TextMessageEndEventSchema","TextMessageChunkEventSchema","ThinkingTextMessageStartEventSchema","ThinkingTextMessageContentEventSchema","omit","ThinkingTextMessageEndEventSchema","ToolCallStartEventSchema","toolCallId","toolCallName","parentMessageId","ToolCallArgsEventSchema","ToolCallEndEventSchema","ToolCallResultEventSchema","content","ToolCallChunkEventSchema","ActivitySnapshotEventSchema","activityType","record","replace","ActivityDeltaEventSchema","patch","array","ThinkingStartEventSchema","title","ThinkingEndEventSchema","StateSnapshotEventSchema","snapshot","StateSchema","StateDeltaEventSchema","MessagesSnapshotEventSchema","messages","AGUIMessageSchema","RawEventSchema","event","source","CustomEventSchema","name","value","RunStartedEventSchema","threadId","runId","RunFinishedEventSchema","result","RunErrorEventSchema","message","code","StepStartedEventSchema","stepName","StepFinishedEventSchema","EventSchemas","discriminatedUnion"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { AIMessageContent, ChatMessagesData, ChatRequestParams, SSEChunkData, ToolCall } from '../../type';
2
- import type { RunErrorEvent, RunFinishedEvent, RunStartedEvent } from './events';
2
+ import type { RunErrorEvent, RunFinishedEvent, RunStartedEvent } from './types/events';
3
3
  import type { AGUIHistoryMessage } from './types';
4
- export type { AGUIHistoryMessage, AGUIUserHistoryMessage, AGUIAssistantHistoryMessage, AGUIToolHistoryMessage, } from './types';
4
+ export type { AGUIHistoryMessage, AGUIUserHistoryMessage, AGUIAssistantHistoryMessage, AGUIToolHistoryMessage, AGUIActivityMessage, } from './types';
5
5
  /**
6
6
  * AGUI协议适配器回调接口
7
7
  */
@@ -21,6 +21,21 @@ export declare class AGUIAdapter {
21
21
  /**
22
22
  * 转换AG-UI历史消息为ChatMessagesData格式(静态方法)
23
23
  *
24
+ * ## 设计说明
25
+ *
26
+ * ### AG-UI 协议中的消息角色
27
+ * - `user`: 用户消息
28
+ * - `assistant`: AI 回复,可包含 content、reasoningContent、toolCalls
29
+ * - `tool`: 工具调用结果,通过 toolCallId 关联到 assistant 的 toolCalls
30
+ * - `activity`: 独立的活动/事件消息,表示代理运行过程中的中间状态
31
+ *
32
+ * ### Activity 消息的处理策略
33
+ * Activity 在 AG-UI 中是独立的 role,不是 assistant 的附属。
34
+ * 但在 UI 展示层,我们选择将其合并到 AI 响应中,原因:
35
+ * 1. 保持对话气泡的整洁性(一问一答模式)
36
+ * 2. Activity 通常是 AI 处理过程的可视化,属于同一个响应周期
37
+ * 3. 通过 activityType 区分不同类型的 Activity 渲染
38
+ *
24
39
  * 转换策略:
25
40
  * 1. 以用户消息为边界进行分组
26
41
  * 2. 每个用户消息对应一个AI消息,包含该用户输入后的所有AI回复和工具调用结果
@@ -65,11 +80,13 @@ export declare class AGUIAdapter {
65
80
  *
66
81
  * @param event 解析后的事件对象
67
82
  * @param callbacks 回调函数
68
- * @returns 是否处理了生命周期事件
83
+ * @returns 是否处理了生命周期事件(仅RUN_STARTED和RUN_FINISHED返回true,RUN_ERROR需要继续处理生成消息内容)
69
84
  */
70
85
  private handleAGUISpecificEvents;
71
86
  }
72
87
  /**
73
88
  * 状态订阅机制导出
74
89
  */
75
- export * from './state-manager';
90
+ export * from './StateManager';
91
+ export * from './ActivityManager';
92
+ export * from './types';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * tdesign v1.0.2-alpha.6
2
+ * tdesign v1.1.0-alpha.11
3
3
  * (c) 2026 tdesign
4
4
  * @license MIT
5
5
  */
@@ -8,19 +8,23 @@ import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
8
8
  import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
9
9
  import _createClass from '@babel/runtime/helpers/createClass';
10
10
  import { AGUIEventMapper } from './event-mapper.js';
11
- import { EventType } from './events.js';
11
+ import { AGUIEventType } from './types/index.js';
12
+ export { AGUIError, AGUIEventType, AGUIMessageSchema, ActivityDeltaEventSchema, ActivitySnapshotEventSchema, ContextSchema, CustomEventSchema, EventSchemas, FunctionCallSchema, HistoryMessageSchema, MessagesSnapshotEventSchema, RawEventSchema, RoleSchema, RunAgentInputSchema, RunErrorEventSchema, RunFinishedEventSchema, RunStartedEventSchema, StateDeltaEventSchema, StateSchema, StateSnapshotEventSchema, StepFinishedEventSchema, StepStartedEventSchema, TextMessageChunkEventSchema, TextMessageContentEventSchema, TextMessageEndEventSchema, TextMessageStartEventSchema, ThinkingEndEventSchema, ThinkingStartEventSchema, ThinkingTextMessageContentEventSchema, ThinkingTextMessageEndEventSchema, ThinkingTextMessageStartEventSchema, ToolCallArgsEventSchema, ToolCallChunkEventSchema, ToolCallEndEventSchema, ToolCallResultEventSchema, ToolCallSchema, ToolCallStartEventSchema, ToolSchema, isActivityEvent, isStateEvent, isTextMessageEvent, isThinkingEvent, isToolCallEvent } from './types/index.js';
12
13
  import { buildToolCallMap, processReasoningContent, processToolCalls } from './utils.js';
13
- export { StateManagerImpl, stateManager } from './state-manager.js';
14
+ export { StateManagerImpl, stateManager } from './StateManager.js';
15
+ export { ActivityManagerImpl, activityManager } from './ActivityManager.js';
14
16
  import '@babel/runtime/helpers/defineProperty';
15
- import '../../utils/index.js';
16
- import '@babel/runtime/helpers/typeof';
17
17
  import 'zod';
18
- import './types.js';
19
18
  import '@babel/runtime/helpers/possibleConstructorReturn';
20
19
  import '@babel/runtime/helpers/getPrototypeOf';
21
20
  import '@babel/runtime/helpers/inherits';
22
21
  import '@babel/runtime/helpers/wrapNativeSuper';
22
+ import '@babel/runtime/helpers/typeof';
23
23
  import '@babel/runtime/helpers/slicedToArray';
24
+ import '../../utils/index.js';
25
+ import '../../utils/immutable-patch.js';
26
+ import '@babel/runtime/helpers/objectWithoutProperties';
27
+ import '@babel/runtime/helpers/toArray';
24
28
 
25
29
  var AGUIAdapter = /*#__PURE__*/function () {
26
30
  function AGUIAdapter() {
@@ -69,15 +73,15 @@ var AGUIAdapter = /*#__PURE__*/function () {
69
73
  value: function handleAGUISpecificEvents(event, callbacks) {
70
74
  var _callbacks$onRunStart, _callbacks$onRunCompl, _callbacks$onRunError;
71
75
  switch (event.type) {
72
- case EventType.RUN_STARTED:
76
+ case AGUIEventType.RUN_STARTED:
73
77
  (_callbacks$onRunStart = callbacks.onRunStart) === null || _callbacks$onRunStart === void 0 || _callbacks$onRunStart.call(callbacks, event);
74
78
  return true;
75
- case EventType.RUN_FINISHED:
79
+ case AGUIEventType.RUN_FINISHED:
76
80
  (_callbacks$onRunCompl = callbacks.onRunComplete) === null || _callbacks$onRunCompl === void 0 || _callbacks$onRunCompl.call(callbacks, false, {}, event);
77
81
  return true;
78
- case EventType.RUN_ERROR:
82
+ case AGUIEventType.RUN_ERROR:
79
83
  (_callbacks$onRunError = callbacks.onRunError) === null || _callbacks$onRunError === void 0 || _callbacks$onRunError.call(callbacks, event);
80
- return true;
84
+ return false;
81
85
  default:
82
86
  return false;
83
87
  }
@@ -115,14 +119,27 @@ var AGUIAdapter = /*#__PURE__*/function () {
115
119
  }
116
120
  } else if (msg.role === "activity") {
117
121
  var activityMsg = msg;
118
- allContent.push({
119
- type: "activity",
120
- data: {
121
- activityType: activityMsg.activityType,
122
- content: activityMsg.content
123
- },
124
- status: "complete"
125
- });
122
+ if (activityMsg.activityType === AGUIEventType.CUSTOM) {
123
+ var _activityMsg$content, _activityMsg$content2;
124
+ var customContent = {
125
+ type: "custom",
126
+ data: {
127
+ name: ((_activityMsg$content = activityMsg.content) === null || _activityMsg$content === void 0 ? void 0 : _activityMsg$content.name) || "",
128
+ value: (_activityMsg$content2 = activityMsg.content) === null || _activityMsg$content2 === void 0 ? void 0 : _activityMsg$content2.value
129
+ },
130
+ status: "complete"
131
+ };
132
+ allContent.push(customContent);
133
+ } else {
134
+ allContent.push({
135
+ type: "activity-".concat(activityMsg.activityType),
136
+ data: {
137
+ activityType: activityMsg.activityType,
138
+ content: activityMsg.content
139
+ },
140
+ status: "complete"
141
+ });
142
+ }
126
143
  }
127
144
  });
128
145
  return allContent;
@@ -131,25 +148,33 @@ var AGUIAdapter = /*#__PURE__*/function () {
131
148
  if (messages.length > 0) {
132
149
  var allContent = processMessageGroup(messages);
133
150
  if (allContent.length > 0) {
151
+ var _messages$at;
134
152
  var firstMessageInGroup = messages[0];
135
153
  convertedMessages.push({
136
154
  id: firstMessageInGroup.id,
137
155
  role: "assistant",
138
156
  content: allContent,
139
- status: "complete"
157
+ status: "complete",
158
+ datetime: new Date(((_messages$at = messages.at(-1)) === null || _messages$at === void 0 ? void 0 : _messages$at.timestamp) || Date.now()).toISOString()
140
159
  });
141
160
  }
142
161
  }
143
162
  };
163
+ var processUserContent = function processUserContent(content) {
164
+ if (Array.isArray(content)) {
165
+ return content;
166
+ }
167
+ return [{
168
+ type: "text",
169
+ data: content
170
+ }];
171
+ };
144
172
  var flushCurrentGroup = function flushCurrentGroup() {
145
173
  if (currentUserMessage) {
146
174
  convertedMessages.push({
147
175
  id: currentUserMessage.id,
148
176
  role: "user",
149
- content: [{
150
- type: "text",
151
- data: currentUserMessage.content
152
- }],
177
+ content: processUserContent(currentUserMessage.content),
153
178
  datetime: new Date(currentUserMessage.timestamp || Date.now()).toISOString()
154
179
  });
155
180
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../pro-components/chat/chat-engine/core/adapters/agui/index.ts"],"sourcesContent":["/* eslint-disable class-methods-use-this */\nimport type { AIMessageContent, ChatMessagesData, ChatRequestParams, SSEChunkData, ToolCall } from '../../type';\nimport { AGUIEventMapper } from './event-mapper';\nimport type { BaseEvent, RunErrorEvent, RunFinishedEvent, RunStartedEvent } from './events';\nimport { EventType } from './events';\nimport type { AGUIAssistantHistoryMessage, AGUIHistoryMessage, AGUIUserHistoryMessage, ActivityMessage } from './types';\nimport { buildToolCallMap, processReasoningContent, processToolCalls } from './utils';\n\n// 重新导出类型,以便其他文件可以使用\nexport type {\n AGUIHistoryMessage,\n AGUIUserHistoryMessage,\n AGUIAssistantHistoryMessage,\n AGUIToolHistoryMessage,\n} from './types';\n\n/**\n * AGUI协议适配器回调接口\n */\nexport interface AGUIAdapterCallbacks {\n onRunStart?: (event: RunStartedEvent) => void;\n onRunComplete?: (isAborted: boolean, params: ChatRequestParams, event?: RunFinishedEvent) => void;\n onRunError?: (error: RunErrorEvent) => void;\n}\n\n/**\n * AGUI协议适配器\n * 1. 处理AGUI协议特定的事件(RUN_STARTED, RUN_FINISHED, RUN_ERROR)\n * 2. 管理工具调用的生命周期\n * 3. 将AGUI事件映射为ChatEngine可理解的消息内容\n * 4. 转换AG-UI历史消息为ChatMessagesData格式\n */\nexport class AGUIAdapter {\n /**\n * 转换AG-UI历史消息为ChatMessagesData格式(静态方法)\n *\n * 转换策略:\n * 1. 以用户消息为边界进行分组\n * 2. 每个用户消息对应一个AI消息,包含该用户输入后的所有AI回复和工具调用结果\n * 3. 按照后端数据的原始顺序构建content数组\n * 4. 避免重复处理同一个工具调用\n * 5. 支持只有assistant消息的情况(如welcome消息)\n *\n * @param historyMessages AG-UI格式的历史消息数组\n * @returns 转换后的ChatMessagesData数组\n */\n static convertHistoryMessages(historyMessages: AGUIHistoryMessage[]): ChatMessagesData[] {\n if (!historyMessages || historyMessages.length === 0) {\n return [];\n }\n const convertedMessages: ChatMessagesData[] = [];\n const toolCallMap = buildToolCallMap(historyMessages);\n\n // 按用户消息分组处理\n let currentUserMessage: AGUIUserHistoryMessage | null = null;\n let currentGroupMessages: AGUIHistoryMessage[] = []; // 存储当前组的所有消息\n\n /**\n * 处理消息组,构建AI消息的content数组\n */\n const processMessageGroup = (messages: AGUIHistoryMessage[]): AIMessageContent[] => {\n const allContent: AIMessageContent[] = [];\n\n messages.forEach((msg) => {\n if (msg.role === 'assistant') {\n const assistantMsg = msg as AGUIAssistantHistoryMessage;\n\n // 处理 reasoningContent(支持 reasoning 和 thinking 两种类型)\n if (assistantMsg.reasoningContent) {\n const reasoningContentResult = processReasoningContent(assistantMsg.reasoningContent);\n if (reasoningContentResult) {\n allContent.push(reasoningContentResult);\n }\n }\n\n // 处理普通文本内容\n if (assistantMsg.content) {\n allContent.push({\n type: 'markdown',\n data: assistantMsg.content,\n });\n }\n\n // 处理工具调用内容\n if (assistantMsg.toolCalls && assistantMsg.toolCalls.length > 0) {\n const toolCallContents = processToolCalls(assistantMsg.toolCalls, toolCallMap);\n allContent.push(...(toolCallContents as AIMessageContent[]));\n }\n } else if (msg.role === 'activity') {\n const activityMsg = msg as ActivityMessage;\n allContent.push({\n type: 'activity',\n data: {\n activityType: activityMsg.activityType,\n content: activityMsg.content,\n },\n status: 'complete',\n });\n }\n });\n\n return allContent;\n };\n\n /**\n * 创建AI消息\n */\n const createAIMessage = (messages: AGUIHistoryMessage[]): void => {\n if (messages.length > 0) {\n const allContent = processMessageGroup(messages);\n if (allContent.length > 0) {\n const firstMessageInGroup = messages[0];\n convertedMessages.push({\n id: firstMessageInGroup.id,\n role: 'assistant',\n content: allContent,\n status: 'complete',\n });\n }\n }\n };\n\n /**\n * 处理当前消息组\n */\n const flushCurrentGroup = () => {\n if (currentUserMessage) {\n // 添加用户消息\n convertedMessages.push({\n id: currentUserMessage.id,\n role: 'user',\n content: [\n {\n type: 'text',\n data: currentUserMessage.content,\n },\n ],\n datetime: new Date(currentUserMessage.timestamp || Date.now()).toISOString(),\n });\n }\n // 处理AI消息\n createAIMessage(currentGroupMessages);\n\n // 重置当前组\n currentUserMessage = null;\n currentGroupMessages = [];\n };\n\n // 按顺序处理消息\n historyMessages.forEach((msg) => {\n if (msg.role === 'user') {\n // 遇到新的用户消息,先处理之前的组\n flushCurrentGroup();\n\n // 开始新的组\n currentUserMessage = msg as AGUIUserHistoryMessage;\n } else if (msg.role === 'assistant' || msg.role === 'tool' || msg.role === 'activity') {\n // 收集助手消息、工具调用结果和活动消息到当前组\n currentGroupMessages.push(msg);\n }\n });\n\n // 处理最后一组\n flushCurrentGroup();\n return convertedMessages;\n }\n\n private aguiEventMapper: AGUIEventMapper;\n\n constructor() {\n this.aguiEventMapper = new AGUIEventMapper();\n }\n\n /**\n * 处理AGUI事件\n *\n * 处理流程:\n * 1. 解析SSE数据(AG-UI后端返回标准SSE格式,data字段是JSON字符串)\n * 2. 处理AGUI特定事件(生命周期事件)\n * 3. 使用事件映射器转换为消息内容\n * 4. 同步工具调用状态\n *\n * @param chunk SSE数据块\n * @param callbacks 回调函数\n * @returns 处理结果\n */\n handleAGUIEvent(chunk: SSEChunkData, callbacks: AGUIAdapterCallbacks): AIMessageContent | AIMessageContent[] | null {\n // AG-UI后端返回标准SSE格式,data字段是JSON字符串\n let event: BaseEvent;\n try {\n event = typeof chunk.data === 'string' ? JSON.parse(chunk.data) : chunk.data;\n } catch (error) {\n console.warn('Failed to parse AG-UI event data:', error);\n return null;\n }\n\n if (!event?.type) return null;\n\n // 处理AGUI特定事件(生命周期事件)\n const lifecycleHandled = this.handleAGUISpecificEvents(event, callbacks);\n\n // 如果是生命周期事件,不需要转换为消息内容\n if (lifecycleHandled) {\n return null;\n }\n\n // 使用事件映射器处理内容事件\n const result = this.aguiEventMapper.mapEvent(chunk);\n\n return result;\n }\n\n /**\n * 获取AGUI事件映射器\n */\n get toolcalls() {\n return this.aguiEventMapper.getToolCalls();\n }\n\n getToolcallByName(name: string): ToolCall | undefined {\n const result = this.aguiEventMapper.getToolCalls().find((call) => call.toolCallName === name);\n return result;\n }\n\n /**\n * 重置适配器状态\n */\n reset(): void {\n this.aguiEventMapper.reset();\n }\n\n /**\n * 处理AGUI特定事件\n *\n * 处理RUN_STARTED、RUN_FINISHED、RUN_ERROR等生命周期事件\n * 这些事件用于通知外部系统状态变化,并执行相应的回调\n *\n * @param event 解析后的事件对象\n * @param callbacks 回调函数\n * @returns 是否处理了生命周期事件\n */\n private handleAGUISpecificEvents(event: BaseEvent, callbacks: AGUIAdapterCallbacks): boolean {\n switch (event.type) {\n case EventType.RUN_STARTED:\n callbacks.onRunStart?.(event as RunStartedEvent);\n return true;\n case EventType.RUN_FINISHED:\n callbacks.onRunComplete?.(false, {} as ChatRequestParams, event as RunFinishedEvent);\n return true;\n case EventType.RUN_ERROR:\n callbacks.onRunError?.(event as RunErrorEvent);\n return true;\n default:\n return false; // 不是生命周期事件\n }\n }\n}\n\n/**\n * 状态订阅机制导出\n */\nexport * from './state-manager';\n"],"names":["AGUIAdapter","_classCallCheck","aguiEventMapper","AGUIEventMapper","_createClass","key","value","handleAGUIEvent","chunk","callbacks","_event","event","data","JSON","parse","error","console","warn","type","lifecycleHandled","handleAGUISpecificEvents","result","mapEvent","get","getToolCalls","getToolcallByName","name","find","call","toolCallName","reset","_callbacks$onRunStart","_callbacks$onRunCompl","_callbacks$onRunError","EventType","RUN_STARTED","onRunStart","RUN_FINISHED","onRunComplete","RUN_ERROR","onRunError","convertHistoryMessages","historyMessages","length","convertedMessages","toolCallMap","buildToolCallMap","currentUserMessage","currentGroupMessages","processMessageGroup","messages","allContent","forEach","msg","role","assistantMsg","reasoningContent","reasoningContentResult","processReasoningContent","push","content","toolCalls","toolCallContents","processToolCalls","apply","_toConsumableArray","activityMsg","activityType","status","createAIMessage","firstMessageInGroup","id","flushCurrentGroup","datetime","Date","timestamp","now","toISOString"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../pro-components/chat/chat-engine/core/adapters/agui/index.ts"],"sourcesContent":["/* eslint-disable class-methods-use-this */\nimport type { AIMessageContent, ChatMessagesData, ChatRequestParams, SSEChunkData, ToolCall, UserMessageContent } from '../../type';\nimport { AGUIEventMapper } from './event-mapper';\nimport type { BaseEvent, RunErrorEvent, RunFinishedEvent, RunStartedEvent } from './types/events';\nimport { AGUIEventType } from './types/events';\nimport type { AGUIAssistantHistoryMessage, AGUIHistoryMessage, AGUIUserHistoryMessage, AGUIActivityMessage } from './types';\nimport { buildToolCallMap, processReasoningContent, processToolCalls } from './utils';\n\n// 重新导出类型,以便其他文件可以使用\nexport type {\n AGUIHistoryMessage,\n AGUIUserHistoryMessage,\n AGUIAssistantHistoryMessage,\n AGUIToolHistoryMessage,\n AGUIActivityMessage,\n} from './types';\n\n/**\n * AGUI协议适配器回调接口\n */\nexport interface AGUIAdapterCallbacks {\n onRunStart?: (event: RunStartedEvent) => void;\n onRunComplete?: (isAborted: boolean, params: ChatRequestParams, event?: RunFinishedEvent) => void;\n onRunError?: (error: RunErrorEvent) => void;\n}\n\n/**\n * AGUI协议适配器\n * 1. 处理AGUI协议特定的事件(RUN_STARTED, RUN_FINISHED, RUN_ERROR)\n * 2. 管理工具调用的生命周期\n * 3. 将AGUI事件映射为ChatEngine可理解的消息内容\n * 4. 转换AG-UI历史消息为ChatMessagesData格式\n */\nexport class AGUIAdapter {\n /**\n * 转换AG-UI历史消息为ChatMessagesData格式(静态方法)\n *\n * ## 设计说明\n *\n * ### AG-UI 协议中的消息角色\n * - `user`: 用户消息\n * - `assistant`: AI 回复,可包含 content、reasoningContent、toolCalls\n * - `tool`: 工具调用结果,通过 toolCallId 关联到 assistant 的 toolCalls\n * - `activity`: 独立的活动/事件消息,表示代理运行过程中的中间状态\n *\n * ### Activity 消息的处理策略\n * Activity 在 AG-UI 中是独立的 role,不是 assistant 的附属。\n * 但在 UI 展示层,我们选择将其合并到 AI 响应中,原因:\n * 1. 保持对话气泡的整洁性(一问一答模式)\n * 2. Activity 通常是 AI 处理过程的可视化,属于同一个响应周期\n * 3. 通过 activityType 区分不同类型的 Activity 渲染\n *\n * 转换策略:\n * 1. 以用户消息为边界进行分组\n * 2. 每个用户消息对应一个AI消息,包含该用户输入后的所有AI回复和工具调用结果\n * 3. 按照后端数据的原始顺序构建content数组\n * 4. 避免重复处理同一个工具调用\n * 5. 支持只有assistant消息的情况(如welcome消息)\n *\n * @param historyMessages AG-UI格式的历史消息数组\n * @returns 转换后的ChatMessagesData数组\n */\n static convertHistoryMessages(historyMessages: AGUIHistoryMessage[]): ChatMessagesData[] {\n if (!historyMessages || historyMessages.length === 0) {\n return [];\n }\n const convertedMessages: ChatMessagesData[] = [];\n const toolCallMap = buildToolCallMap(historyMessages);\n\n // 按用户消息分组处理\n let currentUserMessage: AGUIUserHistoryMessage | null = null;\n let currentGroupMessages: AGUIHistoryMessage[] = []; // 存储当前组的所有消息\n\n /**\n * 处理消息组,构建AI消息的content数组\n *\n * 处理顺序(保持原始顺序):\n * 1. assistant 的 reasoningContent(思考过程)\n * 2. assistant 的 content(文本回复)\n * 3. assistant 的 toolCalls(工具调用)\n * 4. activity 消息(活动/状态展示)\n */\n const processMessageGroup = (messages: AGUIHistoryMessage[]): AIMessageContent[] => {\n const allContent: AIMessageContent[] = [];\n\n messages.forEach((msg) => {\n if (msg.role === 'assistant') {\n const assistantMsg = msg as AGUIAssistantHistoryMessage;\n\n // 处理 reasoningContent(支持 reasoning 和 thinking 两种类型)\n if (assistantMsg.reasoningContent) {\n const reasoningContentResult = processReasoningContent(assistantMsg.reasoningContent);\n if (reasoningContentResult) {\n allContent.push(reasoningContentResult);\n }\n }\n\n // 处理普通文本内容\n if (assistantMsg.content) {\n allContent.push({\n type: 'markdown',\n data: assistantMsg.content,\n });\n }\n\n // 处理工具调用内容\n if (assistantMsg.toolCalls && assistantMsg.toolCalls.length > 0) {\n const toolCallContents = processToolCalls(assistantMsg.toolCalls, toolCallMap);\n allContent.push(...(toolCallContents as AIMessageContent[]));\n }\n } else if (msg.role === 'activity') {\n const activityMsg = msg as AGUIActivityMessage;\n \n // 检查是否是存储为 Activity 的 CUSTOM 事件\n if (activityMsg.activityType === AGUIEventType.CUSTOM) {\n // 将存储为 Activity 的 CUSTOM 事件转换为标准 custom 格式,业务层自行处理\n const customContent: any = {\n type: 'custom',\n data: {\n name: activityMsg.content?.name || '',\n value: activityMsg.content?.value,\n },\n status: 'complete',\n };\n allContent.push(customContent);\n } else {\n // 普通 Activity 处理\n // 使用 activity-${activityType} 格式的 type,与流式传输时的处理保持一致\n allContent.push({\n type: `activity-${activityMsg.activityType}`,\n data: {\n activityType: activityMsg.activityType,\n content: activityMsg.content,\n },\n status: 'complete',\n } as any);\n }\n }\n });\n\n return allContent;\n };\n\n /**\n * 创建AI消息\n */\n const createAIMessage = (messages: AGUIHistoryMessage[]): void => {\n if (messages.length > 0) {\n const allContent = processMessageGroup(messages);\n if (allContent.length > 0) {\n const firstMessageInGroup = messages[0];\n convertedMessages.push({\n id: firstMessageInGroup.id,\n role: 'assistant',\n content: allContent,\n status: 'complete',\n datetime: new Date(messages.at(-1)?.timestamp || Date.now()).toISOString(),\n });\n }\n }\n };\n\n /**\n * 处理用户消息的 content 字段\n * 兼容两种格式:\n * 1. 标准 AG-UI 格式:content 是字符串\n * 2. 已转换格式:content 已经是数组 [{ type, data }]\n */\n const processUserContent = (content: any): UserMessageContent[] => {\n // 如果 content 已经是数组格式,直接返回\n if (Array.isArray(content)) {\n return content as UserMessageContent[];\n }\n // 如果是字符串,包装为标准格式\n return [\n {\n type: 'text',\n data: content,\n },\n ];\n };\n\n /**\n * 处理当前消息组\n */\n const flushCurrentGroup = () => {\n if (currentUserMessage) {\n // 添加用户消息\n convertedMessages.push({\n id: currentUserMessage.id,\n role: 'user',\n content: processUserContent(currentUserMessage.content),\n datetime: new Date(currentUserMessage.timestamp || Date.now()).toISOString(),\n });\n }\n // 处理AI消息\n createAIMessage(currentGroupMessages);\n\n // 重置当前组\n currentUserMessage = null;\n currentGroupMessages = [];\n };\n\n // 按顺序处理消息\n historyMessages.forEach((msg) => {\n if (msg.role === 'user') {\n // 遇到新的用户消息,先处理之前的组\n flushCurrentGroup();\n\n // 开始新的组\n currentUserMessage = msg as AGUIUserHistoryMessage;\n } else if (msg.role === 'assistant' || msg.role === 'tool' || msg.role === 'activity') {\n // 收集助手消息、工具调用结果和活动消息到当前组\n currentGroupMessages.push(msg);\n }\n });\n\n // 处理最后一组\n flushCurrentGroup();\n return convertedMessages;\n }\n\n private aguiEventMapper: AGUIEventMapper;\n\n constructor() {\n this.aguiEventMapper = new AGUIEventMapper();\n }\n\n /**\n * 处理AGUI事件\n *\n * 处理流程:\n * 1. 解析SSE数据(AG-UI后端返回标准SSE格式,data字段是JSON字符串)\n * 2. 处理AGUI特定事件(生命周期事件)\n * 3. 使用事件映射器转换为消息内容\n * 4. 同步工具调用状态\n *\n * @param chunk SSE数据块\n * @param callbacks 回调函数\n * @returns 处理结果\n */\n handleAGUIEvent(chunk: SSEChunkData, callbacks: AGUIAdapterCallbacks): AIMessageContent | AIMessageContent[] | null {\n // AG-UI后端返回标准SSE格式,data字段是JSON字符串\n let event: BaseEvent;\n try {\n event = typeof chunk.data === 'string' ? JSON.parse(chunk.data) : chunk.data;\n } catch (error) {\n console.warn('Failed to parse AG-UI event data:', error);\n return null;\n }\n\n if (!event?.type) return null;\n\n // 处理AGUI特定事件(生命周期事件)\n const lifecycleHandled = this.handleAGUISpecificEvents(event, callbacks);\n\n // 如果是生命周期事件,不需要转换为消息内容\n if (lifecycleHandled) {\n return null;\n }\n\n // 使用事件映射器处理内容事件\n const result = this.aguiEventMapper.mapEvent(chunk);\n\n return result;\n }\n\n /**\n * 获取AGUI事件映射器\n */\n get toolcalls() {\n return this.aguiEventMapper.getToolCalls();\n }\n\n getToolcallByName(name: string): ToolCall | undefined {\n const result = this.aguiEventMapper.getToolCalls().find((call) => call.toolCallName === name);\n return result;\n }\n\n /**\n * 重置适配器状态\n */\n reset(): void {\n this.aguiEventMapper.reset();\n }\n\n /**\n * 处理AGUI特定事件\n *\n * 处理RUN_STARTED、RUN_FINISHED、RUN_ERROR等生命周期事件\n * 这些事件用于通知外部系统状态变化,并执行相应的回调\n *\n * @param event 解析后的事件对象\n * @param callbacks 回调函数\n * @returns 是否处理了生命周期事件(仅RUN_STARTED和RUN_FINISHED返回true,RUN_ERROR需要继续处理生成消息内容)\n */\n private handleAGUISpecificEvents(event: BaseEvent, callbacks: AGUIAdapterCallbacks): boolean {\n switch (event.type) {\n case AGUIEventType.RUN_STARTED:\n callbacks.onRunStart?.(event as RunStartedEvent);\n return true;\n case AGUIEventType.RUN_FINISHED:\n callbacks.onRunComplete?.(false, {} as ChatRequestParams, event as RunFinishedEvent);\n return true;\n case AGUIEventType.RUN_ERROR:\n // RUN_ERROR 需要触发回调,但不能返回 true\n // 因为还需要通过 event-mapper 生成错误消息内容用于 UI 展示\n callbacks.onRunError?.(event as RunErrorEvent);\n return false; // 继续处理,让 event-mapper 生成错误消息\n default:\n return false; // 不是生命周期事件\n }\n }\n}\n\n/**\n * 状态订阅机制导出\n */\nexport * from './StateManager';\nexport * from './ActivityManager';\nexport * from './types';\n"],"names":["AGUIAdapter","_classCallCheck","aguiEventMapper","AGUIEventMapper","_createClass","key","value","handleAGUIEvent","chunk","callbacks","_event","event","data","JSON","parse","error","console","warn","type","lifecycleHandled","handleAGUISpecificEvents","result","mapEvent","get","getToolCalls","getToolcallByName","name","find","call","toolCallName","reset","_callbacks$onRunStart","_callbacks$onRunCompl","_callbacks$onRunError","AGUIEventType","RUN_STARTED","onRunStart","RUN_FINISHED","onRunComplete","RUN_ERROR","onRunError","convertHistoryMessages","historyMessages","length","convertedMessages","toolCallMap","buildToolCallMap","currentUserMessage","currentGroupMessages","processMessageGroup","messages","allContent","forEach","msg","role","assistantMsg","reasoningContent","reasoningContentResult","processReasoningContent","push","content","toolCalls","toolCallContents","processToolCalls","apply","_toConsumableArray","activityMsg","activityType","CUSTOM","_activityMsg$content","_activityMsg$content2","customContent","status","concat","createAIMessage","_messages$at","firstMessageInGroup","id","datetime","Date","at","timestamp","now","toISOString","processUserContent","Array","isArray","flushCurrentGroup"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCO,IAAMA,WAAY,gBAAA,YAAA;AA+LvB,EAAA,SAAAA,cAAc;AAAAC,IAAAA,eAAA,OAAAD,WAAA,CAAA,CAAA;AACP,IAAA,IAAA,CAAAE,eAAA,GAAkB,IAAIC,eAAgB,EAAA,CAAA;AAC7C,GAAA;EAAA,OAAAC,YAAA,CAAAJ,WAAA,EAAA,CAAA;IAAAK,GAAA,EAAA,iBAAA;AAAAC,IAAAA,KAAA,EAeA,SAAAC,eAAAA,CAAgBC,OAAqBC,SAA+E,EAAA;AAAA,MAAA,IAAAC,MAAA,CAAA;AAE9G,MAAA,IAAAC,KAAA,CAAA;MACA,IAAA;AACMA,QAAAA,KAAA,GAAA,OAAOH,MAAMI,IAAS,KAAA,QAAA,GAAWC,KAAKC,KAAM,CAAAN,KAAA,CAAMI,IAAI,CAAA,GAAIJ,KAAM,CAAAI,IAAA,CAAA;eACjEG,KAAP,EAAA;AACQC,QAAAA,OAAA,CAAAC,IAAA,CAAK,qCAAqCF,KAAK,CAAA,CAAA;AAChD,QAAA,OAAA,IAAA,CAAA;AACT,OAAA;AAEA,MAAA,IAAI,EAAAL,CAAAA,MAAA,GAACC,KAAO,MAAAD,IAAAA,IAAAA,MAAA,KAAPA,KAAAA,CAAAA,IAAAA,MAAA,CAAOQ,IAAA,CAAa,EAAA,OAAA,IAAA,CAAA;MAGzB,IAAMC,gBAAmB,GAAA,IAAA,CAAKC,wBAAyB,CAAAT,KAAA,EAAOF,SAAS,CAAA,CAAA;AAGvE,MAAA,IAAIU,gBAAkB,EAAA;AACb,QAAA,OAAA,IAAA,CAAA;AACT,OAAA;MAGA,IAAME,MAAS,GAAA,IAAA,CAAKnB,eAAgB,CAAAoB,QAAA,CAASd,KAAK,CAAA,CAAA;AAE3C,MAAA,OAAAa,MAAA,CAAA;AACT,KAAA;AAAA,GAAA,EAAA;IAAAhB,GAAA,EAAA,WAAA;IAAAkB,GAAA,EAKA,SAAAA,GAAAA,GAAgB;AACP,MAAA,OAAA,IAAA,CAAKrB,gBAAgBsB,YAAa,EAAA,CAAA;AAC3C,KAAA;AAAA,GAAA,EAAA;IAAAnB,GAAA,EAAA,mBAAA;AAAAC,IAAAA,KAAA,EAEA,SAAAmB,kBAAkBC,IAAoC,EAAA;AAC9C,MAAA,IAAAL,MAAA,GAAS,IAAK,CAAAnB,eAAA,CAAgBsB,YAAa,EAAA,CAAEG,KAAK,UAACC,IAAA,EAAA;AAAA,QAAA,OAASA,IAAK,CAAAC,YAAA,KAAiBH,IAAI,CAAA;OAAA,CAAA,CAAA;AACrF,MAAA,OAAAL,MAAA,CAAA;AACT,KAAA;AAAA,GAAA,EAAA;IAAAhB,GAAA,EAAA,OAAA;AAAAC,IAAAA,KAAA,EAKA,SAAAwB,KAAcA,GAAA;AACZ,MAAA,IAAA,CAAK5B,gBAAgB4B,KAAM,EAAA,CAAA;AAC7B,KAAA;AAAA,GAAA,EAAA;IAAAzB,GAAA,EAAA,0BAAA;AAAAC,IAAAA,KAAA,EAYQ,SAAAc,wBAAAA,CAAyBT,OAAkBF,SAA0C,EAAA;AAAA,MAAA,IAAAsB,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,CAAA;MAC3F,QAAQtB,KAAM,CAAAO,IAAA;QAAA,KACPgB,aAAc,CAAAC,WAAA;AACjB,UAAA,CAAAJ,qBAAA,GAAAtB,SAAA,CAAU2B,kDAAVL,KAAAA,CAAAA,IAAAA,qBAAA,CAAAH,IAAA,CAAAnB,SAAA,EAAuBE,KAAwB,CAAA,CAAA;AACxC,UAAA,OAAA,IAAA,CAAA;QAAA,KACJuB,aAAc,CAAAG,YAAA;UACjB,CAAAL,qBAAA,GAAAvB,SAAA,CAAU6B,aAAgB,MAAAN,IAAAA,IAAAA,qBAAA,eAA1BA,qBAAA,CAAAJ,IAAA,CAAAnB,SAAA,EAA0B,KAAA,EAAO,EAAC,EAAwBE,KAAyB,CAAA,CAAA;AAC5E,UAAA,OAAA,IAAA,CAAA;QAAA,KACJuB,aAAc,CAAAK,SAAA;AAGjB,UAAA,CAAAN,qBAAA,GAAAxB,SAAA,CAAU+B,kDAAVP,KAAAA,CAAAA,IAAAA,qBAAA,CAAAL,IAAA,CAAAnB,SAAA,EAAuBE,KAAsB,CAAA,CAAA;AACtC,UAAA,OAAA,KAAA,CAAA;AAAA,QAAA;AAEA,UAAA,OAAA,KAAA,CAAA;AAAA,OAAA;AAEb,KAAA;AAAA,GAAA,CAAA,EAAA,CAAA;IAAAN,GAAA,EAAA,wBAAA;AAAAC,IAAAA,KAAA,EA1PA,SAAOmC,uBAAuBC,eAA2D,EAAA;MACvF,IAAI,CAACA,eAAA,IAAmBA,eAAgB,CAAAC,MAAA,KAAW,CAAG,EAAA;AACpD,QAAA,OAAO,EAAC,CAAA;AACV,OAAA;MACA,IAAMC,oBAAwC,EAAC,CAAA;AACzC,MAAA,IAAAC,WAAA,GAAcC,iBAAiBJ,eAAe,CAAA,CAAA;MAGpD,IAAIK,kBAAoD,GAAA,IAAA,CAAA;MACxD,IAAIC,uBAA6C,EAAC,CAAA;AAW5C,MAAA,IAAAC,mBAAA,GAAsB,SAAtBA,mBAAAA,CAAuBC,QAAuD,EAAA;QAClF,IAAMC,aAAiC,EAAC,CAAA;AAE/BD,QAAAA,QAAA,CAAAE,OAAA,CAAQ,UAACC,GAAQ,EAAA;AACpB,UAAA,IAAAA,GAAA,CAAIC,SAAS,WAAa,EAAA;YAC5B,IAAMC,YAAe,GAAAF,GAAA,CAAA;YAGrB,IAAIE,aAAaC,gBAAkB,EAAA;AAC3B,cAAA,IAAAC,sBAAA,GAAyBC,uBAAwB,CAAAH,YAAA,CAAaC,gBAAgB,CAAA,CAAA;AACpF,cAAA,IAAIC,sBAAwB,EAAA;AAC1BN,gBAAAA,UAAA,CAAWQ,KAAKF,sBAAsB,CAAA,CAAA;AACxC,eAAA;AACF,aAAA;YAGA,IAAIF,aAAaK,OAAS,EAAA;cACxBT,UAAA,CAAWQ,IAAK,CAAA;AACdzC,gBAAAA,IAAM,EAAA,UAAA;gBACNN,MAAM2C,YAAa,CAAAK,OAAAA;AACrB,eAAC,CAAA,CAAA;AACH,aAAA;YAGA,IAAIL,YAAa,CAAAM,SAAA,IAAaN,YAAa,CAAAM,SAAA,CAAUlB,SAAS,CAAG,EAAA;cAC/D,IAAMmB,gBAAmB,GAAAC,gBAAA,CAAiBR,YAAa,CAAAM,SAAA,EAAWhB,WAAW,CAAA,CAAA;cAClEM,UAAA,CAAAQ,IAAA,CAAAK,KAAA,CAAAb,UAAA,EAAAc,kBAAA,CAASH,gBAAuC,CAAA,CAAA,CAAA;AAC7D,aAAA;AACF,WAAA,MAAA,IAAWT,GAAI,CAAAC,IAAA,KAAS,UAAY,EAAA;YAClC,IAAMY,WAAc,GAAAb,GAAA,CAAA;AAGhB,YAAA,IAAAa,WAAA,CAAYC,YAAiB,KAAAjC,aAAA,CAAckC,MAAQ,EAAA;cAAA,IAAAC,oBAAA,EAAAC,qBAAA,CAAA;AAErD,cAAA,IAAMC,aAAqB,GAAA;AACzBrD,gBAAAA,IAAM,EAAA,QAAA;AACNN,gBAAAA,IAAM,EAAA;AACJc,kBAAAA,IAAA,EAAM,CAAA,CAAA2C,oBAAA,GAAAH,WAAY,CAAAN,OAAA,MAAAS,IAAAA,IAAAA,oBAAA,KAAZA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,oBAAA,CAAqB3C,IAAQ,KAAA,EAAA;kBACnCpB,KAAA,EAAA,CAAAgE,qBAAA,GAAOJ,YAAYN,OAAS,MAAAU,IAAAA,IAAAA,qBAAA,KAArBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,qBAAA,CAAqBhE,KAAAA;iBAC9B;AACAkE,gBAAAA,MAAQ,EAAA,UAAA;eACV,CAAA;AACArB,cAAAA,UAAA,CAAWQ,KAAKY,aAAa,CAAA,CAAA;AAC/B,aAAO,MAAA;cAGLpB,UAAA,CAAWQ,IAAK,CAAA;AACdzC,gBAAAA,IAAA,cAAAuD,MAAA,CAAkBP,WAAY,CAAAC,YAAA,CAAA;AAC9BvD,gBAAAA,IAAM,EAAA;kBACJuD,cAAcD,WAAY,CAAAC,YAAA;kBAC1BP,SAASM,WAAY,CAAAN,OAAAA;iBACvB;AACAY,gBAAAA,MAAQ,EAAA,UAAA;AACV,eAAQ,CAAA,CAAA;AACV,aAAA;AACF,WAAA;AACF,SAAC,CAAA,CAAA;AAEM,QAAA,OAAArB,UAAA,CAAA;OACT,CAAA;AAKM,MAAA,IAAAuB,eAAA,GAAkB,SAAlBA,eAAAA,CAAmBxB,QAAyC,EAAA;AAC5D,QAAA,IAAAA,QAAA,CAASP,SAAS,CAAG,EAAA;AACjB,UAAA,IAAAQ,UAAA,GAAaF,oBAAoBC,QAAQ,CAAA,CAAA;AAC3C,UAAA,IAAAC,UAAA,CAAWR,SAAS,CAAG,EAAA;AAAA,YAAA,IAAAgC,YAAA,CAAA;AACzB,YAAA,IAAMC,sBAAsB1B,QAAS,CAAA,CAAA,CAAA,CAAA;YACrCN,iBAAA,CAAkBe,IAAK,CAAA;cACrBkB,IAAID,mBAAoB,CAAAC,EAAA;AACxBvB,cAAAA,IAAM,EAAA,WAAA;AACNM,cAAAA,OAAS,EAAAT,UAAA;AACTqB,cAAAA,MAAQ,EAAA,UAAA;AACRM,cAAAA,QAAU,EAAA,IAAIC,IAAK,CAAA,CAAAJ,CAAAA,YAAA,GAAAzB,QAAA,CAAS8B,EAAG,CAAA,CAAA,CAAE,CAAG,MAAAL,IAAAA,IAAAA,YAAA,KAAjBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,YAAA,CAAiBM,SAAA,KAAaF,IAAK,CAAAG,GAAA,EAAK,CAAA,CAAEC,WAAY,EAAA;AAC3E,aAAC,CAAA,CAAA;AACH,WAAA;AACF,SAAA;OACF,CAAA;AAQM,MAAA,IAAAC,kBAAA,GAAqB,SAArBA,kBAAAA,CAAsBxB,OAAuC,EAAA;AAE7D,QAAA,IAAAyB,KAAA,CAAMC,OAAQ,CAAA1B,OAAO,CAAG,EAAA;AACnB,UAAA,OAAAA,OAAA,CAAA;AACT,SAAA;AAEO,QAAA,OAAA,CACL;AACE1C,UAAAA,IAAM,EAAA,MAAA;AACNN,UAAAA,IAAM,EAAAgD,OAAAA;AACR,SAAA,CACF,CAAA;OACF,CAAA;AAKA,MAAA,IAAM2B,oBAAoB,SAApBA,oBAA0B;AAC9B,QAAA,IAAIxC,kBAAoB,EAAA;UAEtBH,iBAAA,CAAkBe,IAAK,CAAA;YACrBkB,IAAI9B,kBAAmB,CAAA8B,EAAA;AACvBvB,YAAAA,IAAM,EAAA,MAAA;AACNM,YAAAA,OAAA,EAASwB,kBAAmB,CAAArC,kBAAA,CAAmBa,OAAO,CAAA;AACtDkB,YAAAA,QAAA,EAAU,IAAIC,IAAK,CAAAhC,kBAAA,CAAmBkC,aAAaF,IAAK,CAAAG,GAAA,EAAK,CAAA,CAAEC,WAAY,EAAA;AAC7E,WAAC,CAAA,CAAA;AACH,SAAA;QAEAT,eAAA,CAAgB1B,oBAAoB,CAAA,CAAA;AAGfD,QAAAA,kBAAA,GAAA,IAAA,CAAA;AACrBC,QAAAA,oBAAA,GAAuB,EAAC,CAAA;OAC1B,CAAA;AAGgBN,MAAAA,eAAA,CAAAU,OAAA,CAAQ,UAACC,GAAQ,EAAA;AAC3B,QAAA,IAAAA,GAAA,CAAIC,SAAS,MAAQ,EAAA;AAELiC,UAAAA,iBAAA,EAAA,CAAA;AAGGxC,UAAAA,kBAAA,GAAAM,GAAA,CAAA;AACvB,SAAA,MAAA,IAAWA,IAAIC,IAAS,KAAA,WAAA,IAAeD,IAAIC,IAAS,KAAA,MAAA,IAAUD,GAAI,CAAAC,IAAA,KAAS,UAAY,EAAA;AAErFN,UAAAA,oBAAA,CAAqBW,KAAKN,GAAG,CAAA,CAAA;AAC/B,SAAA;AACF,OAAC,CAAA,CAAA;AAGiBkC,MAAAA,iBAAA,EAAA,CAAA;AACX,MAAA,OAAA3C,iBAAA,CAAA;AACT,KAAA;AAAA,GAAA,CAAA,CAAA,CAAA;AAAA,CAAA;;;;"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * tdesign v1.0.2-alpha.6
2
+ * tdesign v1.1.0-alpha.4
3
3
  * (c) 2026 tdesign
4
4
  * @license MIT
5
5
  */
@@ -10,6 +10,12 @@ import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
10
10
  import _createClass from '@babel/runtime/helpers/createClass';
11
11
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
12
12
  import { applyJsonPatch } from '../../utils/index.js';
13
+ import '../../utils/json-patch/index.js';
14
+ import '../../utils/json-patch/helpers.js';
15
+ import '@babel/runtime/helpers/possibleConstructorReturn';
16
+ import '@babel/runtime/helpers/getPrototypeOf';
17
+ import '@babel/runtime/helpers/inherits';
18
+ import '@babel/runtime/helpers/wrapNativeSuper';
13
19
 
14
20
  var StateManagerImpl = /*#__PURE__*/function () {
15
21
  function StateManagerImpl() {
@@ -1 +1 @@
1
- {"version":3,"file":"state-manager.js","sources":["../../../../../../pro-components/chat/chat-engine/core/adapters/agui/state-manager.ts"],"sourcesContent":["import { applyJsonPatch } from '../../utils';\n\n/**\n * 状态管理器\n * 支持两种订阅模式:\n * 1. 最新状态模式:订阅最新状态,适用于状态覆盖场景\n * 2. 绑定状态模式:订阅特定stateKey,适用于状态隔离场景\n */\n\nexport interface StateManager {\n /**\n * 获取当前活跃的状态key\n */\n getCurrentStateKey: () => string | null;\n /**\n * 获取当前状态(基于当前状态key)\n */\n getCurrentState: () => any;\n /**\n * 获取指定状态key的状态\n */\n getState: (stateKey: string) => any;\n /**\n * 获取所有状态keys\n */\n getAllStateKeys: () => string[];\n /**\n * 订阅状态变化\n * @param callback 状态变化回调函数\n * @param targetStateKey 可选:指定订阅特定的stateKey,不传则订阅当前活跃状态\n */\n subscribe: (callback: (state: any, stateKey: string) => void, targetStateKey?: string) => () => void;\n /**\n * 处理AG-UI状态事件,自动从事件中提取stateKey\n */\n handleStateEvent: (event: { type: string; snapshot?: any; delta?: any[] }) => void;\n /**\n * 清理所有状态和订阅\n */\n clear: () => void;\n}\n\nexport class StateManagerImpl implements StateManager {\n private states: Record<string, any> = {};\n\n private currentStateKey: string | null = null;\n\n // 最新状态订阅者(覆盖模式)\n private latestSubscribers: Set<(state: any, stateKey: string) => void> = new Set();\n\n // 绑定状态订阅者(隔离模式)\n private boundSubscribers: Map<string, Set<(state: any) => void>> = new Map();\n\n /**\n * 获取当前活跃的状态key\n */\n getCurrentStateKey(): string | null {\n return this.currentStateKey;\n }\n\n /**\n * 获取当前状态(基于当前状态key)\n */\n getCurrentState(): any {\n if (!this.currentStateKey) return null;\n return this.states[this.currentStateKey];\n }\n\n /**\n * 获取指定状态key的状态\n */\n getState(stateKey: string): any {\n return this.states[stateKey];\n }\n\n /**\n * 获取所有状态keys\n */\n getAllStateKeys(): string[] {\n return Object.keys(this.states);\n }\n\n /**\n * 订阅最新状态(覆盖模式)\n * 适用于只有一个组件,每轮都用新状态更新的场景\n */\n subscribeToLatest(callback: (state: any, stateKey: string) => void): () => void {\n this.latestSubscribers.add(callback);\n // 立即调用一次当前状态\n if (this.currentStateKey && this.states[this.currentStateKey]) {\n try {\n callback(this.states[this.currentStateKey], this.currentStateKey);\n } catch (error) {\n console.error(`最新状态订阅回调执行失败 [${this.currentStateKey}]:`, error);\n }\n }\n\n return () => this.latestSubscribers.delete(callback);\n }\n\n /**\n * 订阅状态变化(实现 StateManager 接口)\n * @param callback 状态变化回调函数\n * @param targetStateKey 可选:指定订阅特定的stateKey,不传则订阅当前活跃状态\n */\n subscribe(callback: (state: any, stateKey: string) => void, targetStateKey?: string): () => void {\n if (targetStateKey) {\n // 绑定模式:订阅特定 stateKey\n return this.subscribeToState(targetStateKey, (state) => callback(state, targetStateKey));\n }\n // 最新模式:订阅最新状态\n return this.subscribeToLatest(callback);\n }\n\n /**\n * 订阅特定状态(隔离模式)\n * 适用于每轮对话创建新组件,各自保持独立状态的场景\n */\n subscribeToState(stateKey: string, callback: (state: any) => void): () => void {\n if (!this.boundSubscribers.has(stateKey)) {\n this.boundSubscribers.set(stateKey, new Set());\n }\n this.boundSubscribers.get(stateKey)!.add(callback);\n\n // 立即调用一次(如果状态存在)\n if (this.states[stateKey]) {\n try {\n callback(this.states[stateKey]);\n } catch (error) {\n console.error(`绑定状态订阅回调执行失败 [${stateKey}]:`, error);\n }\n }\n\n return () => {\n this.boundSubscribers.get(stateKey)?.delete(callback);\n };\n }\n\n /**\n * 处理AG-UI状态事件\n * 自动从事件中提取stateKey,无需外部传递\n */\n handleStateEvent(event: { type: string; snapshot?: any; delta?: any[] }): void {\n if (event.type === 'STATE_SNAPSHOT') {\n // 处理STATE_SNAPSHOT:立即更新\n if (event.snapshot && typeof event.snapshot === 'object') {\n Object.entries(event.snapshot).forEach(([stateKey, stateData]) => {\n this.setState(stateKey, stateData);\n });\n }\n } else if (event.type === 'STATE_DELTA') {\n // 处理STATE_DELTA:立即更新\n if (event.delta && Array.isArray(event.delta)) {\n // 从第一个delta操作的路径中提取stateKey\n const firstDelta = event.delta[0];\n if (firstDelta && firstDelta.path) {\n const pathParts = firstDelta.path.split('/');\n if (pathParts.length > 1) {\n const stateKey = pathParts[1]; // 路径格式: /stateKey/items/...\n const currentState = this.getState(stateKey);\n\n if (currentState) {\n try {\n // 重新构造原始结构以应用JSON Patch\n const originalStructure = { [stateKey]: currentState };\n const updatedStructure = applyJsonPatch(originalStructure, event.delta);\n const updatedState = updatedStructure[stateKey];\n this.setState(stateKey, updatedState);\n } catch (error) {\n console.error(`STATE_DELTA处理失败 [${stateKey}]:`, error);\n }\n } else {\n console.warn(`STATE_DELTA: 找不到状态 [${stateKey}],可能需要先接收STATE_SNAPSHOT`);\n }\n }\n }\n }\n }\n }\n\n // 清理所有状态和订阅\n clear(): void {\n // 清理状态和订阅\n this.states = {};\n this.latestSubscribers.clear();\n this.boundSubscribers.clear();\n this.currentStateKey = null;\n }\n\n /**\n * 设置状态并立即通知订阅者\n */\n private setState(stateKey: string, state: any): void {\n // 更新状态\n this.states[stateKey] = state;\n this.currentStateKey = stateKey;\n this.notifySubscribers(stateKey, state);\n }\n\n /**\n * 通知订阅者\n */\n private notifySubscribers(stateKey: string, state: any): void {\n // 通知绑定订阅者(只通知对应stateKey的订阅者)\n const boundSubs = this.boundSubscribers.get(stateKey);\n if (boundSubs) {\n boundSubs.forEach((callback) => {\n try {\n callback(state);\n } catch (error) {\n console.error(`绑定状态订阅回调执行失败 [${stateKey}]:`, error);\n }\n });\n }\n\n // 通知最新状态订阅者(所有订阅者都收到最新状态)\n this.latestSubscribers.forEach((callback) => {\n try {\n callback(state, stateKey);\n } catch (error) {\n console.error(`最新状态订阅回调执行失败 [${stateKey}]:`, error);\n }\n });\n }\n}\n\n// 全局单例\nexport const stateManager = new StateManagerImpl();\n"],"names":["StateManagerImpl","_classCallCheck","_defineProperty","Set","Map","_createClass","key","value","getCurrentStateKey","currentStateKey","getCurrentState","states","getState","stateKey","getAllStateKeys","Object","keys","subscribeToLatest","callback","_this","latestSubscribers","add","error","console","concat","subscribe","targetStateKey","subscribeToState","state","_this2","boundSubscribers","has","set","get","_this2$boundSubscribe","handleStateEvent","event","_this3","type","snapshot","_typeof","entries","forEach","_ref","_ref2","_slicedToArray","stateData","setState","delta","Array","isArray","firstDelta","path","pathParts","split","length","currentState","originalStructure","updatedStructure","applyJsonPatch","updatedState","warn","clear","notifySubscribers","boundSubs","stateManager"],"mappings":";;;;;;;;;;;;;AA0CO,IAAMA,gBAAyC,gBAAA,YAAA;AAAA,EAAA,SAAAA,gBAAA,GAAA;AAAAC,IAAAA,eAAA,OAAAD,gBAAA,CAAA,CAAA;IAAAE,eAAA,CAAA,IAAA,EAAA,QAAA,EACd,EAAC,CAAA,CAAA;AAAAA,IAAAA,eAAA,0BAEE,IAAA,CAAA,CAAA;AAAAA,IAAAA,eAAA,CAGgC,IAAA,EAAA,mBAAA,qBAAIC,GAAI,EAAA,CAAA,CAAA;AAAAD,IAAAA,eAAA,CAGd,IAAA,EAAA,kBAAA,qBAAIE,GAAI,EAAA,CAAA,CAAA;AAAA,GAAA;EAAA,OAAAC,YAAA,CAAAL,gBAAA,EAAA,CAAA;IAAAM,GAAA,EAAA,oBAAA;AAAAC,IAAAA,KAAA,EAK3E,SAAAC,kBAAoCA,GAAA;MAClC,OAAO,IAAK,CAAAC,eAAA,CAAA;AACd,KAAA;AAAA,GAAA,EAAA;IAAAH,GAAA,EAAA,iBAAA;AAAAC,IAAAA,KAAA,EAKA,SAAAG,eAAuBA,GAAA;AACrB,MAAA,IAAI,CAAC,IAAK,CAAAD,eAAA,EAAwB,OAAA,IAAA,CAAA;AAC3B,MAAA,OAAA,IAAA,CAAKE,OAAO,IAAK,CAAAF,eAAA,CAAA,CAAA;AAC1B,KAAA;AAAA,GAAA,EAAA;IAAAH,GAAA,EAAA,UAAA;AAAAC,IAAAA,KAAA,EAKA,SAAAK,SAASC,QAAuB,EAAA;AAC9B,MAAA,OAAO,KAAKF,MAAO,CAAAE,QAAA,CAAA,CAAA;AACrB,KAAA;AAAA,GAAA,EAAA;IAAAP,GAAA,EAAA,iBAAA;AAAAC,IAAAA,KAAA,EAKA,SAAAO,eAA4BA,GAAA;AACnB,MAAA,OAAAC,MAAA,CAAOC,IAAK,CAAA,IAAA,CAAKL,MAAM,CAAA,CAAA;AAChC,KAAA;AAAA,GAAA,EAAA;IAAAL,GAAA,EAAA,mBAAA;AAAAC,IAAAA,KAAA,EAMA,SAAAU,kBAAkBC,QAA8D,EAAA;AAAA,MAAA,IAAAC,KAAA,GAAA,IAAA,CAAA;AACzE,MAAA,IAAA,CAAAC,iBAAA,CAAkBC,IAAIH,QAAQ,CAAA,CAAA;AAEnC,MAAA,IAAI,IAAK,CAAAT,eAAA,IAAmB,IAAK,CAAAE,MAAA,CAAO,KAAKF,eAAkB,CAAA,EAAA;QACzD,IAAA;AACFS,UAAAA,QAAA,CAAS,IAAK,CAAAP,MAAA,CAAO,IAAK,CAAAF,eAAA,CAAA,EAAkB,KAAKA,eAAe,CAAA,CAAA;iBACzDa,KAAP,EAAA;UACAC,OAAA,CAAQD,KAAM,CAAA,4EAAA,CAAAE,MAAA,CAAiB,IAAK,CAAAf,eAAA,EAAqBa,IAAAA,CAAAA,EAAAA,KAAK,CAAA,CAAA;AAChE,SAAA;AACF,OAAA;MAEA,OAAO,YAAA;AAAA,QAAA,OAAMH,KAAA,CAAKC,iBAAkB,CAAA,QAAA,CAAA,CAAOF,QAAQ,CAAA,CAAA;AAAA,OAAA,CAAA;AACrD,KAAA;AAAA,GAAA,EAAA;IAAAZ,GAAA,EAAA,WAAA;AAAAC,IAAAA,KAAA,EAOA,SAAAkB,SAAAA,CAAUP,UAAkDQ,cAAqC,EAAA;AAC/F,MAAA,IAAIA,cAAgB,EAAA;AAEX,QAAA,OAAA,IAAA,CAAKC,iBAAiBD,cAAgB,EAAA,UAACE;iBAAUV,QAAS,CAAAU,KAAA,EAAOF,cAAc,CAAC,CAAA;SAAA,CAAA,CAAA;AACzF,OAAA;AAEO,MAAA,OAAA,IAAA,CAAKT,kBAAkBC,QAAQ,CAAA,CAAA;AACxC,KAAA;AAAA,GAAA,EAAA;IAAAZ,GAAA,EAAA,kBAAA;AAAAC,IAAAA,KAAA,EAMA,SAAAoB,gBAAAA,CAAiBd,UAAkBK,QAA4C,EAAA;AAAA,MAAA,IAAAW,MAAA,GAAA,IAAA,CAAA;MAC7E,IAAI,CAAC,IAAA,CAAKC,gBAAiB,CAAAC,GAAA,CAAIlB,QAAQ,CAAG,EAAA;AACxC,QAAA,IAAA,CAAKiB,gBAAiB,CAAAE,GAAA,CAAInB,QAAU,iBAAA,IAAIV,KAAK,CAAA,CAAA;AAC/C,OAAA;MACA,IAAA,CAAK2B,gBAAiB,CAAAG,GAAA,CAAIpB,QAAQ,CAAA,CAAGQ,IAAIH,QAAQ,CAAA,CAAA;AAG7C,MAAA,IAAA,IAAA,CAAKP,OAAOE,QAAW,CAAA,EAAA;QACrB,IAAA;AACOK,UAAAA,QAAA,CAAA,IAAA,CAAKP,OAAOE,QAAS,CAAA,CAAA,CAAA;iBACvBS,KAAP,EAAA;UACQC,OAAA,CAAAD,KAAA,CAAAE,4EAAAA,CAAAA,MAAA,CAAuBX,QAAA,EAAA,IAAA,CAAA,EAAcS,KAAK,CAAA,CAAA;AACpD,SAAA;AACF,OAAA;AAEA,MAAA,OAAO,YAAM;AAAA,QAAA,IAAAY,qBAAA,CAAA;AACX,QAAA,CAAAA,qBAAA,GAAAL,MAAA,CAAKC,gBAAiB,CAAAG,GAAA,CAAIpB,QAAQ,CAAA,cAAAqB,qBAAA,KAAA,KAAA,CAAA,IAAlCA,qBAAA,WAA4ChB,QAAQ,CAAA,CAAA;OACtD,CAAA;AACF,KAAA;AAAA,GAAA,EAAA;IAAAZ,GAAA,EAAA,kBAAA;AAAAC,IAAAA,KAAA,EAMA,SAAA4B,iBAAiBC,KAA8D,EAAA;AAAA,MAAA,IAAAC,MAAA,GAAA,IAAA,CAAA;AACzE,MAAA,IAAAD,KAAA,CAAME,SAAS,gBAAkB,EAAA;QAEnC,IAAIF,KAAM,CAAAG,QAAA,IAAYC,OAAA,CAAOJ,KAAA,CAAMG,SAAa,KAAA,QAAU,EAAA;AACjDxB,UAAAA,MAAA,CAAA0B,OAAA,CAAQL,MAAMG,QAAQ,CAAA,CAAEG,QAAQ,UAAAC,IAAA,EAA2B;AAAA,YAAA,IAAAC,KAAA,GAAAC,cAAA,CAAAF,IAAA,EAAA,CAAA,CAAA;AAAzB9B,cAAAA,QAAU,GAAA+B,KAAA,CAAA,CAAA,CAAA;AAAAE,cAAAA,SAAS,GAAAF,KAAA,CAAA,CAAA,CAAA,CAAA;AACrDP,YAAAA,MAAA,CAAAU,QAAA,CAASlC,UAAUiC,SAAS,CAAA,CAAA;AACnC,WAAC,CAAA,CAAA;AACH,SAAA;AACF,OAAA,MAAA,IAAWV,KAAM,CAAAE,IAAA,KAAS,aAAe,EAAA;AAEvC,QAAA,IAAIF,MAAMY,KAAS,IAAAC,KAAA,CAAMC,OAAQ,CAAAd,KAAA,CAAMY,KAAK,CAAG,EAAA;AAEvC,UAAA,IAAAG,UAAA,GAAaf,MAAMY,KAAM,CAAA,CAAA,CAAA,CAAA;AAC3B,UAAA,IAAAG,UAAA,IAAcA,WAAWC,IAAM,EAAA;YACjC,IAAMC,SAAY,GAAAF,UAAA,CAAWC,IAAK,CAAAE,KAAA,CAAM,GAAG,CAAA,CAAA;AACvC,YAAA,IAAAD,SAAA,CAAUE,SAAS,CAAG,EAAA;AACxB,cAAA,IAAM1C,WAAWwC,SAAU,CAAA,CAAA,CAAA,CAAA;AACrB,cAAA,IAAAG,YAAA,GAAe,IAAK,CAAA5C,QAAA,CAASC,QAAQ,CAAA,CAAA;AAE3C,cAAA,IAAI2C,YAAc,EAAA;gBACZ,IAAA;AAEF,kBAAA,IAAMC,iBAAoB,GAAAvD,eAAA,KAAGW,QAAA,EAAW2C,YAAa,CAAA,CAAA;kBACrD,IAAME,gBAAmB,GAAAC,cAAA,CAAeF,iBAAmB,EAAArB,KAAA,CAAMY,KAAK,CAAA,CAAA;AACtE,kBAAA,IAAMY,eAAeF,gBAAiB,CAAA7C,QAAA,CAAA,CAAA;AACjC,kBAAA,IAAA,CAAAkC,QAAA,CAASlC,UAAU+C,YAAY,CAAA,CAAA;yBAC7BtC,KAAP,EAAA;kBACQC,OAAA,CAAAD,KAAA,CAAAE,uCAAAA,CAAAA,MAAA,CAA0BX,QAAA,EAAA,IAAA,CAAA,EAAcS,KAAK,CAAA,CAAA;AACvD,iBAAA;AACF,eAAO,MAAA;AACGC,gBAAAA,OAAA,CAAAsC,IAAA,CAAA,+CAAA,CAAArC,MAAA,CAA4BX,QAAiC,oEAAA,CAAA,CAAA;AACvE,eAAA;AACF,aAAA;AACF,WAAA;AACF,SAAA;AACF,OAAA;AACF,KAAA;AAAA,GAAA,EAAA;IAAAP,GAAA,EAAA,OAAA;AAAAC,IAAAA,KAAA,EAGA,SAAAuD,KAAcA,GAAA;AAEZ,MAAA,IAAA,CAAKnD,SAAS,EAAC,CAAA;AACf,MAAA,IAAA,CAAKS,kBAAkB0C,KAAM,EAAA,CAAA;AAC7B,MAAA,IAAA,CAAKhC,iBAAiBgC,KAAM,EAAA,CAAA;MAC5B,IAAA,CAAKrD,eAAkB,GAAA,IAAA,CAAA;AACzB,KAAA;AAAA,GAAA,EAAA;IAAAH,GAAA,EAAA,UAAA;AAAAC,IAAAA,KAAA,EAKQ,SAAAwC,QAAAA,CAASlC,UAAkBe,KAAkB,EAAA;AAEnD,MAAA,IAAA,CAAKjB,OAAOE,QAAY,CAAA,GAAAe,KAAA,CAAA;MACxB,IAAA,CAAKnB,eAAkB,GAAAI,QAAA,CAAA;AAClB,MAAA,IAAA,CAAAkD,iBAAA,CAAkBlD,UAAUe,KAAK,CAAA,CAAA;AACxC,KAAA;AAAA,GAAA,EAAA;IAAAtB,GAAA,EAAA,mBAAA;AAAAC,IAAAA,KAAA,EAKQ,SAAAwD,iBAAAA,CAAkBlD,UAAkBe,KAAkB,EAAA;MAE5D,IAAMoC,SAAY,GAAA,IAAA,CAAKlC,gBAAiB,CAAAG,GAAA,CAAIpB,QAAQ,CAAA,CAAA;AACpD,MAAA,IAAImD,SAAW,EAAA;AACHA,QAAAA,SAAA,CAAAtB,OAAA,CAAQ,UAACxB,QAAa,EAAA;UAC1B,IAAA;YACFA,QAAA,CAASU,KAAK,CAAA,CAAA;mBACPN,KAAP,EAAA;YACQC,OAAA,CAAAD,KAAA,CAAAE,4EAAAA,CAAAA,MAAA,CAAuBX,QAAA,EAAA,IAAA,CAAA,EAAcS,KAAK,CAAA,CAAA;AACpD,WAAA;AACF,SAAC,CAAA,CAAA;AACH,OAAA;AAGK,MAAA,IAAA,CAAAF,iBAAA,CAAkBsB,OAAQ,CAAA,UAACxB,QAAa,EAAA;QACvC,IAAA;AACFA,UAAAA,QAAA,CAASU,OAAOf,QAAQ,CAAA,CAAA;iBACjBS,KAAP,EAAA;UACQC,OAAA,CAAAD,KAAA,CAAAE,4EAAAA,CAAAA,MAAA,CAAuBX,QAAA,EAAA,IAAA,CAAA,EAAcS,KAAK,CAAA,CAAA;AACpD,SAAA;AACF,OAAC,CAAA,CAAA;AACH,KAAA;AAAA,GAAA,CAAA,CAAA,CAAA;AAAA,CAAA,GAAA;IAIW2C,YAAA,GAAe,IAAIjE,gBAAiB;;;;"}
1
+ {"version":3,"file":"state-manager.js","sources":["../../../../../../pro-components/chat/chat-engine/core/adapters/agui/state-manager.ts"],"sourcesContent":["import { applyJsonPatch } from '../../utils';\n\n/**\n * 状态管理器\n * 支持两种订阅模式:\n * 1. 最新状态模式:订阅最新状态,适用于状态覆盖场景\n * 2. 绑定状态模式:订阅特定stateKey,适用于状态隔离场景\n */\n\nexport interface StateManager {\n /**\n * 获取当前活跃的状态key\n */\n getCurrentStateKey: () => string | null;\n /**\n * 获取当前状态(基于当前状态key)\n */\n getCurrentState: () => any;\n /**\n * 获取指定状态key的状态\n */\n getState: (stateKey: string) => any;\n /**\n * 获取所有状态keys\n */\n getAllStateKeys: () => string[];\n /**\n * 订阅状态变化\n * @param callback 状态变化回调函数\n * @param targetStateKey 可选:指定订阅特定的stateKey,不传则订阅当前活跃状态\n */\n subscribe: (callback: (state: any, stateKey: string) => void, targetStateKey?: string) => () => void;\n /**\n * 处理AG-UI状态事件,自动从事件中提取stateKey\n */\n handleStateEvent: (event: { type: string; snapshot?: any; delta?: any[] }) => void;\n /**\n * 清理所有状态和订阅\n */\n clear: () => void;\n}\n\nexport class StateManagerImpl implements StateManager {\n private states: Record<string, any> = {};\n\n private currentStateKey: string | null = null;\n\n // 最新状态订阅者(覆盖模式)\n private latestSubscribers: Set<(state: any, stateKey: string) => void> = new Set();\n\n // 绑定状态订阅者(隔离模式)\n private boundSubscribers: Map<string, Set<(state: any) => void>> = new Map();\n\n /**\n * 获取当前活跃的状态key\n */\n getCurrentStateKey(): string | null {\n return this.currentStateKey;\n }\n\n /**\n * 获取当前状态(基于当前状态key)\n */\n getCurrentState(): any {\n if (!this.currentStateKey) return null;\n return this.states[this.currentStateKey];\n }\n\n /**\n * 获取指定状态key的状态\n */\n getState(stateKey: string): any {\n return this.states[stateKey];\n }\n\n /**\n * 获取所有状态keys\n */\n getAllStateKeys(): string[] {\n return Object.keys(this.states);\n }\n\n /**\n * 订阅最新状态(覆盖模式)\n * 适用于只有一个组件,每轮都用新状态更新的场景\n */\n subscribeToLatest(callback: (state: any, stateKey: string) => void): () => void {\n this.latestSubscribers.add(callback);\n // 立即调用一次当前状态\n if (this.currentStateKey && this.states[this.currentStateKey]) {\n try {\n callback(this.states[this.currentStateKey], this.currentStateKey);\n } catch (error) {\n console.error(`最新状态订阅回调执行失败 [${this.currentStateKey}]:`, error);\n }\n }\n\n return () => this.latestSubscribers.delete(callback);\n }\n\n /**\n * 订阅状态变化(实现 StateManager 接口)\n * @param callback 状态变化回调函数\n * @param targetStateKey 可选:指定订阅特定的stateKey,不传则订阅当前活跃状态\n */\n subscribe(callback: (state: any, stateKey: string) => void, targetStateKey?: string): () => void {\n if (targetStateKey) {\n // 绑定模式:订阅特定 stateKey\n return this.subscribeToState(targetStateKey, (state) => callback(state, targetStateKey));\n }\n // 最新模式:订阅最新状态\n return this.subscribeToLatest(callback);\n }\n\n /**\n * 订阅特定状态(隔离模式)\n * 适用于每轮对话创建新组件,各自保持独立状态的场景\n */\n subscribeToState(stateKey: string, callback: (state: any) => void): () => void {\n if (!this.boundSubscribers.has(stateKey)) {\n this.boundSubscribers.set(stateKey, new Set());\n }\n this.boundSubscribers.get(stateKey)!.add(callback);\n\n // 立即调用一次(如果状态存在)\n if (this.states[stateKey]) {\n try {\n callback(this.states[stateKey]);\n } catch (error) {\n console.error(`绑定状态订阅回调执行失败 [${stateKey}]:`, error);\n }\n }\n\n return () => {\n this.boundSubscribers.get(stateKey)?.delete(callback);\n };\n }\n\n /**\n * 处理AG-UI状态事件\n * 自动从事件中提取stateKey,无需外部传递\n */\n handleStateEvent(event: { type: string; snapshot?: any; delta?: any[] }): void {\n if (event.type === 'STATE_SNAPSHOT') {\n // 处理STATE_SNAPSHOT:立即更新\n if (event.snapshot && typeof event.snapshot === 'object') {\n Object.entries(event.snapshot).forEach(([stateKey, stateData]) => {\n this.setState(stateKey, stateData);\n });\n }\n } else if (event.type === 'STATE_DELTA') {\n // 处理STATE_DELTA:立即更新\n if (event.delta && Array.isArray(event.delta)) {\n // 从第一个delta操作的路径中提取stateKey\n const firstDelta = event.delta[0];\n if (firstDelta && firstDelta.path) {\n const pathParts = firstDelta.path.split('/');\n if (pathParts.length > 1) {\n const stateKey = pathParts[1]; // 路径格式: /stateKey/items/...\n const currentState = this.getState(stateKey);\n\n if (currentState) {\n try {\n // 重新构造原始结构以应用JSON Patch\n const originalStructure = { [stateKey]: currentState };\n const updatedStructure = applyJsonPatch(originalStructure, event.delta);\n const updatedState = updatedStructure[stateKey];\n this.setState(stateKey, updatedState);\n } catch (error) {\n console.error(`STATE_DELTA处理失败 [${stateKey}]:`, error);\n }\n } else {\n console.warn(`STATE_DELTA: 找不到状态 [${stateKey}],可能需要先接收STATE_SNAPSHOT`);\n }\n }\n }\n }\n }\n }\n\n // 清理所有状态和订阅\n clear(): void {\n // 清理状态和订阅\n this.states = {};\n this.latestSubscribers.clear();\n this.boundSubscribers.clear();\n this.currentStateKey = null;\n }\n\n /**\n * 设置状态并立即通知订阅者\n */\n private setState(stateKey: string, state: any): void {\n // 更新状态\n this.states[stateKey] = state;\n this.currentStateKey = stateKey;\n this.notifySubscribers(stateKey, state);\n }\n\n /**\n * 通知订阅者\n */\n private notifySubscribers(stateKey: string, state: any): void {\n // 通知绑定订阅者(只通知对应stateKey的订阅者)\n const boundSubs = this.boundSubscribers.get(stateKey);\n if (boundSubs) {\n boundSubs.forEach((callback) => {\n try {\n callback(state);\n } catch (error) {\n console.error(`绑定状态订阅回调执行失败 [${stateKey}]:`, error);\n }\n });\n }\n\n // 通知最新状态订阅者(所有订阅者都收到最新状态)\n this.latestSubscribers.forEach((callback) => {\n try {\n callback(state, stateKey);\n } catch (error) {\n console.error(`最新状态订阅回调执行失败 [${stateKey}]:`, error);\n }\n });\n }\n}\n\n// 全局单例\nexport const stateManager = new StateManagerImpl();\n"],"names":["StateManagerImpl","_classCallCheck","_defineProperty","Set","Map","_createClass","key","value","getCurrentStateKey","currentStateKey","getCurrentState","states","getState","stateKey","getAllStateKeys","Object","keys","subscribeToLatest","callback","_this","latestSubscribers","add","error","console","concat","subscribe","targetStateKey","subscribeToState","state","_this2","boundSubscribers","has","set","get","_this2$boundSubscribe","handleStateEvent","event","_this3","type","snapshot","_typeof","entries","forEach","_ref","_ref2","_slicedToArray","stateData","setState","delta","Array","isArray","firstDelta","path","pathParts","split","length","currentState","originalStructure","updatedStructure","applyJsonPatch","updatedState","warn","clear","notifySubscribers","boundSubs","stateManager"],"mappings":"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"}