@tdesign-react/chat 1.0.2-alpha.9 → 1.1.0-alpha.1

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 (303) hide show
  1. package/es/_chunks/dep-f2051ebd.js +839 -0
  2. package/es/_chunks/dep-f2051ebd.js.map +1 -0
  3. package/es/_util/reactify.js +1 -1
  4. package/es/_util/useDynamicStyle.js +1 -1
  5. package/es/attachments/index.js +1 -1
  6. package/es/chat-actionbar/index.js +1 -1
  7. package/es/chat-engine/components/a2ui/A2UIActivityRenderer.d.ts +196 -0
  8. package/es/chat-engine/components/a2ui/A2UIActivityRenderer.js +301 -0
  9. package/es/chat-engine/components/a2ui/A2UIActivityRenderer.js.map +1 -0
  10. package/es/chat-engine/components/a2ui/A2UIComponentRenderer.d.ts +37 -0
  11. package/es/chat-engine/components/a2ui/A2UIComponentRenderer.js +116 -0
  12. package/es/chat-engine/components/a2ui/A2UIComponentRenderer.js.map +1 -0
  13. package/es/chat-engine/components/a2ui/A2UIErrorBoundary.d.ts +42 -0
  14. package/es/chat-engine/components/a2ui/A2UIErrorBoundary.js +113 -0
  15. package/es/chat-engine/components/a2ui/A2UIErrorBoundary.js.map +1 -0
  16. package/es/chat-engine/components/a2ui/A2UISkeleton.d.ts +60 -0
  17. package/es/chat-engine/components/a2ui/A2UISkeleton.js +197 -0
  18. package/es/chat-engine/components/a2ui/A2UISkeleton.js.map +1 -0
  19. package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.d.ts +44 -0
  20. package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.js +139 -0
  21. package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.js.map +1 -0
  22. package/es/chat-engine/components/a2ui/containers/A2UICard.d.ts +22 -0
  23. package/es/chat-engine/components/a2ui/containers/A2UICard.js +82 -0
  24. package/es/chat-engine/components/a2ui/containers/A2UICard.js.map +1 -0
  25. package/es/chat-engine/components/a2ui/containers/A2UIColumn.d.ts +18 -0
  26. package/es/chat-engine/components/a2ui/containers/A2UIColumn.js +81 -0
  27. package/es/chat-engine/components/a2ui/containers/A2UIColumn.js.map +1 -0
  28. package/es/chat-engine/components/a2ui/containers/A2UIList.d.ts +14 -0
  29. package/es/chat-engine/components/a2ui/containers/A2UIList.js +62 -0
  30. package/es/chat-engine/components/a2ui/containers/A2UIList.js.map +1 -0
  31. package/es/chat-engine/components/a2ui/containers/A2UIRow.d.ts +20 -0
  32. package/es/chat-engine/components/a2ui/containers/A2UIRow.js +84 -0
  33. package/es/chat-engine/components/a2ui/containers/A2UIRow.js.map +1 -0
  34. package/es/chat-engine/components/a2ui/containers/A2UITabs.d.ts +14 -0
  35. package/es/chat-engine/components/a2ui/containers/A2UITabs.js +69 -0
  36. package/es/chat-engine/components/a2ui/containers/A2UITabs.js.map +1 -0
  37. package/es/chat-engine/components/a2ui/containers/index.d.ts +8 -0
  38. package/es/chat-engine/components/a2ui/containers/index.js +30 -0
  39. package/es/chat-engine/components/a2ui/containers/index.js.map +1 -0
  40. package/es/chat-engine/components/a2ui/index.d.ts +11 -0
  41. package/es/chat-engine/components/a2ui/index.js +62 -0
  42. package/es/chat-engine/components/a2ui/index.js.map +1 -0
  43. package/es/chat-engine/components/a2ui/primitives/A2UIButton.d.ts +33 -0
  44. package/es/chat-engine/components/a2ui/primitives/A2UIButton.js +80 -0
  45. package/es/chat-engine/components/a2ui/primitives/A2UIButton.js.map +1 -0
  46. package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.d.ts +12 -0
  47. package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.js +43 -0
  48. package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.js.map +1 -0
  49. package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.d.ts +50 -0
  50. package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.js +54 -0
  51. package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.js.map +1 -0
  52. package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.d.ts +13 -0
  53. package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.js +89 -0
  54. package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.js.map +1 -0
  55. package/es/chat-engine/components/a2ui/primitives/A2UIDivider.d.ts +12 -0
  56. package/es/chat-engine/components/a2ui/primitives/A2UIDivider.js +25 -0
  57. package/es/chat-engine/components/a2ui/primitives/A2UIDivider.js.map +1 -0
  58. package/es/chat-engine/components/a2ui/primitives/A2UIIcon.d.ts +13 -0
  59. package/es/chat-engine/components/a2ui/primitives/A2UIIcon.js +138942 -0
  60. package/es/chat-engine/components/a2ui/primitives/A2UIIcon.js.map +1 -0
  61. package/es/chat-engine/components/a2ui/primitives/A2UIImage.d.ts +12 -0
  62. package/es/chat-engine/components/a2ui/primitives/A2UIImage.js +75 -0
  63. package/es/chat-engine/components/a2ui/primitives/A2UIImage.js.map +1 -0
  64. package/es/chat-engine/components/a2ui/primitives/A2UIInput.d.ts +20 -0
  65. package/es/chat-engine/components/a2ui/primitives/A2UIInput.js +63 -0
  66. package/es/chat-engine/components/a2ui/primitives/A2UIInput.js.map +1 -0
  67. package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.d.ts +56 -0
  68. package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.js +64 -0
  69. package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.js.map +1 -0
  70. package/es/chat-engine/components/a2ui/primitives/A2UISlider.d.ts +12 -0
  71. package/es/chat-engine/components/a2ui/primitives/A2UISlider.js +55 -0
  72. package/es/chat-engine/components/a2ui/primitives/A2UISlider.js.map +1 -0
  73. package/es/chat-engine/components/a2ui/primitives/A2UIText.d.ts +12 -0
  74. package/es/chat-engine/components/a2ui/primitives/A2UIText.js +104 -0
  75. package/es/chat-engine/components/a2ui/primitives/A2UIText.js.map +1 -0
  76. package/es/chat-engine/components/a2ui/primitives/A2UITextField.d.ts +12 -0
  77. package/es/chat-engine/components/a2ui/primitives/A2UITextField.js +80 -0
  78. package/es/chat-engine/components/a2ui/primitives/A2UITextField.js.map +1 -0
  79. package/es/chat-engine/components/a2ui/primitives/index.d.ts +15 -0
  80. package/es/chat-engine/components/a2ui/primitives/index.js +39 -0
  81. package/es/chat-engine/components/a2ui/primitives/index.js.map +1 -0
  82. package/es/chat-engine/components/a2ui/registry.d.ts +35 -0
  83. package/es/chat-engine/components/a2ui/registry.js +74 -0
  84. package/es/chat-engine/components/a2ui/registry.js.map +1 -0
  85. package/es/chat-engine/components/activity/index.js +1 -1
  86. package/es/chat-engine/components/activity/registry.d.ts +1 -1
  87. package/es/chat-engine/components/activity/registry.js +1 -1
  88. package/es/chat-engine/components/activity/registry.js.map +1 -1
  89. package/es/chat-engine/components/activity/render.d.ts +2 -2
  90. package/es/chat-engine/components/activity/render.js +1 -1
  91. package/es/chat-engine/components/activity/render.js.map +1 -1
  92. package/es/chat-engine/components/activity/types.js +1 -1
  93. package/es/chat-engine/components/index.d.ts +1 -0
  94. package/es/chat-engine/components/index.js +57 -9
  95. package/es/chat-engine/components/index.js.map +1 -1
  96. package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.d.ts +36 -0
  97. package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.js +36 -0
  98. package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.js.map +1 -0
  99. package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.d.ts +46 -0
  100. package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.js +36 -0
  101. package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.js.map +1 -0
  102. package/es/chat-engine/components/json-render/SurfaceStateManager.d.ts +113 -0
  103. package/es/chat-engine/components/json-render/SurfaceStateManager.js +195 -0
  104. package/es/chat-engine/components/json-render/SurfaceStateManager.js.map +1 -0
  105. package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.d.ts +49 -0
  106. package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.js +307 -0
  107. package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.js.map +1 -0
  108. package/es/chat-engine/components/json-render/adapters/a2ui-types.d.ts +96 -0
  109. package/es/chat-engine/components/json-render/adapters/a2ui-types.js +7 -0
  110. package/es/chat-engine/components/json-render/adapters/a2ui-types.js.map +1 -0
  111. package/es/chat-engine/components/json-render/adapters/index.d.ts +7 -0
  112. package/es/chat-engine/components/json-render/adapters/index.js +11 -0
  113. package/es/chat-engine/components/json-render/adapters/index.js.map +1 -0
  114. package/es/chat-engine/components/json-render/catalog/a2ui-binding.d.ts +64 -0
  115. package/es/chat-engine/components/json-render/catalog/a2ui-binding.js +36 -0
  116. package/es/chat-engine/components/json-render/catalog/a2ui-binding.js.map +1 -0
  117. package/es/chat-engine/components/json-render/catalog/a2ui-registry.d.ts +78 -0
  118. package/es/chat-engine/components/json-render/catalog/a2ui-registry.js +36 -0
  119. package/es/chat-engine/components/json-render/catalog/a2ui-registry.js.map +1 -0
  120. package/es/chat-engine/components/json-render/catalog/button.d.ts +14 -0
  121. package/es/chat-engine/components/json-render/catalog/button.js +71 -0
  122. package/es/chat-engine/components/json-render/catalog/button.js.map +1 -0
  123. package/es/chat-engine/components/json-render/catalog/card.d.ts +11 -0
  124. package/es/chat-engine/components/json-render/catalog/card.js +57 -0
  125. package/es/chat-engine/components/json-render/catalog/card.js.map +1 -0
  126. package/es/chat-engine/components/json-render/catalog/index.d.ts +127 -0
  127. package/es/chat-engine/components/json-render/catalog/index.js +36 -0
  128. package/es/chat-engine/components/json-render/catalog/index.js.map +1 -0
  129. package/es/chat-engine/components/json-render/catalog/input.d.ts +20 -0
  130. package/es/chat-engine/components/json-render/catalog/input.js +36 -0
  131. package/es/chat-engine/components/json-render/catalog/input.js.map +1 -0
  132. package/es/chat-engine/components/json-render/catalog/layout.d.ts +44 -0
  133. package/es/chat-engine/components/json-render/catalog/layout.js +129 -0
  134. package/es/chat-engine/components/json-render/catalog/layout.js.map +1 -0
  135. package/es/chat-engine/components/json-render/catalog/text.d.ts +11 -0
  136. package/es/chat-engine/components/json-render/catalog/text.js +31 -0
  137. package/es/chat-engine/components/json-render/catalog/text.js.map +1 -0
  138. package/es/chat-engine/components/json-render/catalog.d.ts +549 -0
  139. package/es/chat-engine/components/json-render/catalog.js +147 -0
  140. package/es/chat-engine/components/json-render/catalog.js.map +1 -0
  141. package/es/chat-engine/components/json-render/config.d.ts +154 -0
  142. package/es/chat-engine/components/json-render/config.js +36 -0
  143. package/es/chat-engine/components/json-render/config.js.map +1 -0
  144. package/es/chat-engine/components/json-render/contexts/actions.d.ts +74 -0
  145. package/es/chat-engine/components/json-render/contexts/actions.js +290 -0
  146. package/es/chat-engine/components/json-render/contexts/actions.js.map +1 -0
  147. package/es/chat-engine/components/json-render/contexts/data.d.ts +45 -0
  148. package/es/chat-engine/components/json-render/contexts/data.js +104 -0
  149. package/es/chat-engine/components/json-render/contexts/data.js.map +1 -0
  150. package/es/chat-engine/components/json-render/contexts/validation.d.ts +59 -0
  151. package/es/chat-engine/components/json-render/contexts/validation.js +151 -0
  152. package/es/chat-engine/components/json-render/contexts/validation.js.map +1 -0
  153. package/es/chat-engine/components/json-render/contexts/visibility.d.ts +29 -0
  154. package/es/chat-engine/components/json-render/contexts/visibility.js +56 -0
  155. package/es/chat-engine/components/json-render/contexts/visibility.js.map +1 -0
  156. package/es/chat-engine/components/json-render/engine.d.ts +58 -0
  157. package/es/chat-engine/components/json-render/engine.js +88 -0
  158. package/es/chat-engine/components/json-render/engine.js.map +1 -0
  159. package/es/chat-engine/components/json-render/index.d.ts +34 -0
  160. package/es/chat-engine/components/json-render/index.js +36 -0
  161. package/es/chat-engine/components/json-render/index.js.map +1 -0
  162. package/es/chat-engine/components/json-render/performance.d.ts +91 -0
  163. package/es/chat-engine/components/json-render/performance.js +135 -0
  164. package/es/chat-engine/components/json-render/performance.js.map +1 -0
  165. package/es/chat-engine/components/json-render/renderer.d.ts +71 -0
  166. package/es/chat-engine/components/json-render/renderer.js +124 -0
  167. package/es/chat-engine/components/json-render/renderer.js.map +1 -0
  168. package/es/chat-engine/components/json-render/types.d.ts +69 -0
  169. package/es/chat-engine/components/json-render/types.js +7 -0
  170. package/es/chat-engine/components/json-render/types.js.map +1 -0
  171. package/es/chat-engine/components/provider/agent-state.js +39 -2
  172. package/es/chat-engine/components/provider/agent-state.js.map +1 -1
  173. package/es/chat-engine/components/toolcall/index.js +32 -2
  174. package/es/chat-engine/components/toolcall/index.js.map +1 -1
  175. package/es/chat-engine/components/toolcall/registry.js +1 -1
  176. package/es/chat-engine/components/toolcall/render.d.ts +1 -1
  177. package/es/chat-engine/components/toolcall/render.js +33 -4
  178. package/es/chat-engine/components/toolcall/render.js.map +1 -1
  179. package/es/chat-engine/components/toolcall/types.js +1 -1
  180. package/es/chat-engine/core/a2ui/index.d.ts +10 -0
  181. package/es/chat-engine/core/a2ui/index.js +24 -0
  182. package/es/chat-engine/core/a2ui/index.js.map +1 -0
  183. package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.d.ts +197 -0
  184. package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.js +438 -0
  185. package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.js.map +1 -0
  186. package/es/chat-engine/core/a2ui/processor/ComponentTree.d.ts +53 -0
  187. package/es/chat-engine/core/a2ui/processor/ComponentTree.js +158 -0
  188. package/es/chat-engine/core/a2ui/processor/ComponentTree.js.map +1 -0
  189. package/es/chat-engine/core/a2ui/processor/DataStore.d.ts +63 -0
  190. package/es/chat-engine/core/a2ui/processor/DataStore.js +172 -0
  191. package/es/chat-engine/core/a2ui/processor/DataStore.js.map +1 -0
  192. package/es/chat-engine/core/a2ui/processor/PathResolver.d.ts +47 -0
  193. package/es/chat-engine/core/a2ui/processor/PathResolver.js +99 -0
  194. package/es/chat-engine/core/a2ui/processor/PathResolver.js.map +1 -0
  195. package/es/chat-engine/core/a2ui/types/index.d.ts +4 -0
  196. package/es/chat-engine/core/a2ui/types/index.js +9 -0
  197. package/es/chat-engine/core/a2ui/types/index.js.map +1 -0
  198. package/es/chat-engine/core/a2ui/types/types.d.ts +770 -0
  199. package/es/chat-engine/core/a2ui/types/types.js +104 -0
  200. package/es/chat-engine/core/a2ui/types/types.js.map +1 -0
  201. package/es/chat-engine/core/a2ui/utils/binding.d.ts +34 -0
  202. package/es/chat-engine/core/a2ui/utils/binding.js +1784 -0
  203. package/es/chat-engine/core/a2ui/utils/binding.js.map +1 -0
  204. package/es/chat-engine/core/a2ui/utils/index.d.ts +5 -0
  205. package/es/chat-engine/core/a2ui/utils/index.js +13 -0
  206. package/es/chat-engine/core/a2ui/utils/index.js.map +1 -0
  207. package/es/chat-engine/core/a2ui/utils/validation.d.ts +70 -0
  208. package/es/chat-engine/core/a2ui/utils/validation.js +333 -0
  209. package/es/chat-engine/core/a2ui/utils/validation.js.map +1 -0
  210. package/es/chat-engine/core/adapters/agui/activity-manager.d.ts +102 -0
  211. package/es/chat-engine/core/adapters/agui/activity-manager.js +144 -0
  212. package/es/chat-engine/core/adapters/agui/activity-manager.js.map +1 -0
  213. package/es/chat-engine/core/adapters/agui/event-mapper.d.ts +42 -2
  214. package/es/chat-engine/core/adapters/agui/event-mapper.js +90 -50
  215. package/es/chat-engine/core/adapters/agui/event-mapper.js.map +1 -1
  216. package/es/chat-engine/core/adapters/agui/events.d.ts +222 -222
  217. package/es/chat-engine/core/adapters/agui/events.js +34 -34
  218. package/es/chat-engine/core/adapters/agui/events.js.map +1 -1
  219. package/es/chat-engine/core/adapters/agui/index.d.ts +22 -2
  220. package/es/chat-engine/core/adapters/agui/index.js +34 -14
  221. package/es/chat-engine/core/adapters/agui/index.js.map +1 -1
  222. package/es/chat-engine/core/adapters/agui/state-manager.js +1 -1
  223. package/es/chat-engine/core/adapters/agui/types.d.ts +57 -56
  224. package/es/chat-engine/core/adapters/agui/types.js +5 -5
  225. package/es/chat-engine/core/adapters/agui/types.js.map +1 -1
  226. package/es/chat-engine/core/adapters/agui/utils.d.ts +9 -3
  227. package/es/chat-engine/core/adapters/agui/utils.js +23 -4
  228. package/es/chat-engine/core/adapters/agui/utils.js.map +1 -1
  229. package/es/chat-engine/core/event-bus/ChatEventBus.d.ts +88 -0
  230. package/es/chat-engine/core/event-bus/ChatEventBus.js +295 -0
  231. package/es/chat-engine/core/event-bus/ChatEventBus.js.map +1 -0
  232. package/es/chat-engine/core/event-bus/index.d.ts +5 -0
  233. package/es/chat-engine/core/event-bus/index.js +13 -0
  234. package/es/chat-engine/core/event-bus/index.js.map +1 -0
  235. package/es/chat-engine/core/event-bus/types.d.ts +230 -0
  236. package/es/chat-engine/core/event-bus/types.js +32 -0
  237. package/es/chat-engine/core/event-bus/types.js.map +1 -0
  238. package/es/chat-engine/core/index.d.ts +16 -1
  239. package/es/chat-engine/core/index.js +174 -17
  240. package/es/chat-engine/core/index.js.map +1 -1
  241. package/es/chat-engine/core/processor/index.js +1 -1
  242. package/es/chat-engine/core/server/batch-client.js +1 -1
  243. package/es/chat-engine/core/server/connection-manager.js +1 -1
  244. package/es/chat-engine/core/server/errors.js +1 -1
  245. package/es/chat-engine/core/server/index.js +1 -1
  246. package/es/chat-engine/core/server/llm-service.js +17 -15
  247. package/es/chat-engine/core/server/llm-service.js.map +1 -1
  248. package/es/chat-engine/core/server/sse-client.js +1 -1
  249. package/es/chat-engine/core/server/sse-parser.js +1 -1
  250. package/es/chat-engine/core/server/types.js +1 -1
  251. package/es/chat-engine/core/store/message.js +2 -2
  252. package/es/chat-engine/core/store/message.js.map +1 -1
  253. package/es/chat-engine/core/store/model.js +1 -1
  254. package/es/chat-engine/core/store/reactiveState.js +1 -1
  255. package/es/chat-engine/core/type.d.ts +18 -2
  256. package/es/chat-engine/core/type.js +1 -1
  257. package/es/chat-engine/core/utils/eventEmitter.js +1 -1
  258. package/es/chat-engine/core/utils/index.js +1 -1
  259. package/es/chat-engine/core/utils/logger.js +1 -1
  260. package/es/chat-engine/hooks/a2ui/A2UIContext.d.ts +90 -0
  261. package/es/chat-engine/hooks/a2ui/A2UIContext.js +97 -0
  262. package/es/chat-engine/hooks/a2ui/A2UIContext.js.map +1 -0
  263. package/es/chat-engine/hooks/a2ui/index.d.ts +12 -0
  264. package/es/chat-engine/hooks/a2ui/index.js +19 -0
  265. package/es/chat-engine/hooks/a2ui/index.js.map +1 -0
  266. package/es/chat-engine/hooks/a2ui/useA2UIAction.d.ts +40 -0
  267. package/es/chat-engine/hooks/a2ui/useA2UIAction.js +74 -0
  268. package/es/chat-engine/hooks/a2ui/useA2UIAction.js.map +1 -0
  269. package/es/chat-engine/hooks/a2ui/useA2UISurface.d.ts +36 -0
  270. package/es/chat-engine/hooks/a2ui/useA2UISurface.js +39 -0
  271. package/es/chat-engine/hooks/a2ui/useA2UISurface.js.map +1 -0
  272. package/es/chat-engine/hooks/a2ui/useDataBinding.d.ts +53 -0
  273. package/es/chat-engine/hooks/a2ui/useDataBinding.js +111 -0
  274. package/es/chat-engine/hooks/a2ui/useDataBinding.js.map +1 -0
  275. package/es/chat-engine/hooks/index.js +38 -4
  276. package/es/chat-engine/hooks/index.js.map +1 -1
  277. package/es/chat-engine/hooks/useAgentActivity.d.ts +1 -2
  278. package/es/chat-engine/hooks/useAgentActivity.js +1 -1
  279. package/es/chat-engine/hooks/useAgentActivity.js.map +1 -1
  280. package/es/chat-engine/hooks/useAgentState.js +39 -2
  281. package/es/chat-engine/hooks/useAgentState.js.map +1 -1
  282. package/es/chat-engine/hooks/useAgentToolcall.js +1 -1
  283. package/es/chat-engine/hooks/useChat.d.ts +3 -3
  284. package/es/chat-engine/hooks/useChat.js +40 -2
  285. package/es/chat-engine/hooks/useChat.js.map +1 -1
  286. package/es/chat-engine/hooks/useJsonRenderActivity.d.ts +56 -0
  287. package/es/chat-engine/hooks/useJsonRenderActivity.js +63 -0
  288. package/es/chat-engine/hooks/useJsonRenderActivity.js.map +1 -0
  289. package/es/chat-engine/index.d.ts +1 -3
  290. package/es/chat-engine/index.js +30 -8
  291. package/es/chat-engine/index.js.map +1 -1
  292. package/es/chat-filecard/index.js +1 -1
  293. package/es/chat-loading/index.js +1 -1
  294. package/es/chat-markdown/index.js +1 -1
  295. package/es/chat-message/index.js +1 -1
  296. package/es/chat-sender/index.js +1 -1
  297. package/es/chat-thinking/index.js +1 -1
  298. package/es/chatbot/docs/react-best-practice.d.ts +13 -0
  299. package/es/chatbot/index.js +1 -1
  300. package/es/index.js +27 -5
  301. package/es/index.js.map +1 -1
  302. package/es/style/index.js +1 -1
  303. package/package.json +6 -3
@@ -37,26 +37,7 @@ export declare const ToolCallSchema: z.ZodObject<{
37
37
  type?: "function";
38
38
  id?: string;
39
39
  }>;
40
- export declare const BaseMessageSchema: z.ZodObject<{
41
- id: z.ZodString;
42
- role: z.ZodString;
43
- content: z.ZodOptional<z.ZodString>;
44
- name: z.ZodOptional<z.ZodString>;
45
- timestamp: z.ZodOptional<z.ZodNumber>;
46
- }, "strip", z.ZodTypeAny, {
47
- content?: string;
48
- name?: string;
49
- id?: string;
50
- role?: string;
51
- timestamp?: number;
52
- }, {
53
- content?: string;
54
- name?: string;
55
- id?: string;
56
- role?: string;
57
- timestamp?: number;
58
- }>;
59
- export declare const DeveloperMessageSchema: z.ZodObject<{
40
+ declare const DeveloperMessageSchema: z.ZodObject<{
60
41
  id: z.ZodString;
61
42
  name: z.ZodOptional<z.ZodString>;
62
43
  timestamp: z.ZodOptional<z.ZodNumber>;
@@ -76,7 +57,7 @@ export declare const DeveloperMessageSchema: z.ZodObject<{
76
57
  role?: "developer";
77
58
  timestamp?: number;
78
59
  }>;
79
- export declare const SystemMessageSchema: z.ZodObject<{
60
+ declare const SystemMessageSchema: z.ZodObject<{
80
61
  id: z.ZodString;
81
62
  name: z.ZodOptional<z.ZodString>;
82
63
  timestamp: z.ZodOptional<z.ZodNumber>;
@@ -96,7 +77,7 @@ export declare const SystemMessageSchema: z.ZodObject<{
96
77
  role?: "system";
97
78
  timestamp?: number;
98
79
  }>;
99
- export declare const AssistantMessageSchema: z.ZodObject<{
80
+ declare const AssistantMessageSchema: z.ZodObject<{
100
81
  id: z.ZodString;
101
82
  name: z.ZodOptional<z.ZodString>;
102
83
  timestamp: z.ZodOptional<z.ZodNumber>;
@@ -163,7 +144,7 @@ export declare const AssistantMessageSchema: z.ZodObject<{
163
144
  id?: string;
164
145
  }[];
165
146
  }>;
166
- export declare const UserMessageSchema: z.ZodObject<{
147
+ declare const UserMessageSchema: z.ZodObject<{
167
148
  id: z.ZodString;
168
149
  name: z.ZodOptional<z.ZodString>;
169
150
  timestamp: z.ZodOptional<z.ZodNumber>;
@@ -183,7 +164,7 @@ export declare const UserMessageSchema: z.ZodObject<{
183
164
  role?: "user";
184
165
  timestamp?: number;
185
166
  }>;
186
- export declare const ToolMessageSchema: z.ZodObject<{
167
+ declare const ToolMessageSchema: z.ZodObject<{
187
168
  id: z.ZodString;
188
169
  content: z.ZodString;
189
170
  role: z.ZodLiteral<"tool">;
@@ -199,23 +180,23 @@ export declare const ToolMessageSchema: z.ZodObject<{
199
180
  role?: "tool";
200
181
  toolCallId?: string;
201
182
  }>;
202
- export declare const ActivityMessageSchema: z.ZodObject<{
183
+ declare const ActivityMessageSchema: z.ZodObject<{
203
184
  id: z.ZodString;
204
185
  role: z.ZodLiteral<"activity">;
205
186
  activityType: z.ZodString;
206
187
  content: z.ZodRecord<z.ZodString, z.ZodAny>;
207
188
  }, "strip", z.ZodTypeAny, {
208
189
  content?: Record<string, any>;
209
- activityType?: string;
210
190
  id?: string;
211
191
  role?: "activity";
192
+ activityType?: string;
212
193
  }, {
213
194
  content?: Record<string, any>;
214
- activityType?: string;
215
195
  id?: string;
216
196
  role?: "activity";
197
+ activityType?: string;
217
198
  }>;
218
- export declare const MessageSchema: z.ZodDiscriminatedUnion<"role", [z.ZodObject<{
199
+ export declare const AGUIMessageSchema: z.ZodDiscriminatedUnion<"role", [z.ZodObject<{
219
200
  id: z.ZodString;
220
201
  name: z.ZodOptional<z.ZodString>;
221
202
  timestamp: z.ZodOptional<z.ZodNumber>;
@@ -360,15 +341,19 @@ export declare const MessageSchema: z.ZodDiscriminatedUnion<"role", [z.ZodObject
360
341
  content: z.ZodRecord<z.ZodString, z.ZodAny>;
361
342
  }, "strip", z.ZodTypeAny, {
362
343
  content?: Record<string, any>;
363
- activityType?: string;
364
344
  id?: string;
365
345
  role?: "activity";
346
+ activityType?: string;
366
347
  }, {
367
348
  content?: Record<string, any>;
368
- activityType?: string;
369
349
  id?: string;
370
350
  role?: "activity";
351
+ activityType?: string;
371
352
  }>]>;
353
+ /**
354
+ * 历史消息相关的类型定义
355
+ *
356
+ */
372
357
  export declare const HistoryMessageSchema: z.ZodDiscriminatedUnion<"role", [z.ZodObject<{
373
358
  id: z.ZodString;
374
359
  name: z.ZodOptional<z.ZodString>;
@@ -469,6 +454,21 @@ export declare const HistoryMessageSchema: z.ZodDiscriminatedUnion<"role", [z.Zo
469
454
  id?: string;
470
455
  role?: "tool";
471
456
  toolCallId?: string;
457
+ }>, z.ZodObject<{
458
+ id: z.ZodString;
459
+ role: z.ZodLiteral<"activity">;
460
+ activityType: z.ZodString;
461
+ content: z.ZodRecord<z.ZodString, z.ZodAny>;
462
+ }, "strip", z.ZodTypeAny, {
463
+ content?: Record<string, any>;
464
+ id?: string;
465
+ role?: "activity";
466
+ activityType?: string;
467
+ }, {
468
+ content?: Record<string, any>;
469
+ id?: string;
470
+ role?: "activity";
471
+ activityType?: string;
472
472
  }>]>;
473
473
  export declare const RoleSchema: z.ZodUnion<[z.ZodLiteral<"developer">, z.ZodLiteral<"system">, z.ZodLiteral<"assistant">, z.ZodLiteral<"user">, z.ZodLiteral<"tool">, z.ZodLiteral<"activity">]>;
474
474
  export declare const ContextSchema: z.ZodObject<{
@@ -643,14 +643,14 @@ export declare const RunAgentInputSchema: z.ZodObject<{
643
643
  content: z.ZodRecord<z.ZodString, z.ZodAny>;
644
644
  }, "strip", z.ZodTypeAny, {
645
645
  content?: Record<string, any>;
646
- activityType?: string;
647
646
  id?: string;
648
647
  role?: "activity";
648
+ activityType?: string;
649
649
  }, {
650
650
  content?: Record<string, any>;
651
- activityType?: string;
652
651
  id?: string;
653
652
  role?: "activity";
653
+ activityType?: string;
654
654
  }>]>, "many">;
655
655
  tools: z.ZodArray<z.ZodObject<{
656
656
  name: z.ZodString;
@@ -677,6 +677,9 @@ export declare const RunAgentInputSchema: z.ZodObject<{
677
677
  }>, "many">;
678
678
  forwardedProps: z.ZodAny;
679
679
  }, "strip", z.ZodTypeAny, {
680
+ threadId?: string;
681
+ runId?: string;
682
+ state?: any;
680
683
  messages?: ({
681
684
  content?: string;
682
685
  name?: string;
@@ -717,13 +720,10 @@ export declare const RunAgentInputSchema: z.ZodObject<{
717
720
  toolCallId?: string;
718
721
  } | {
719
722
  content?: Record<string, any>;
720
- activityType?: string;
721
723
  id?: string;
722
724
  role?: "activity";
725
+ activityType?: string;
723
726
  })[];
724
- threadId?: string;
725
- runId?: string;
726
- state?: any;
727
727
  tools?: {
728
728
  name?: string;
729
729
  description?: string;
@@ -735,6 +735,9 @@ export declare const RunAgentInputSchema: z.ZodObject<{
735
735
  }[];
736
736
  forwardedProps?: any;
737
737
  }, {
738
+ threadId?: string;
739
+ runId?: string;
740
+ state?: any;
738
741
  messages?: ({
739
742
  content?: string;
740
743
  name?: string;
@@ -775,13 +778,10 @@ export declare const RunAgentInputSchema: z.ZodObject<{
775
778
  toolCallId?: string;
776
779
  } | {
777
780
  content?: Record<string, any>;
778
- activityType?: string;
779
781
  id?: string;
780
782
  role?: "activity";
783
+ activityType?: string;
781
784
  })[];
782
- threadId?: string;
783
- runId?: string;
784
- state?: any;
785
785
  tools?: {
786
786
  name?: string;
787
787
  description?: string;
@@ -795,23 +795,24 @@ export declare const RunAgentInputSchema: z.ZodObject<{
795
795
  }>;
796
796
  export declare const StateSchema: z.ZodAny;
797
797
  export type AGUIToolCall = z.infer<typeof ToolCallSchema>;
798
- export type FunctionCall = z.infer<typeof FunctionCallSchema>;
799
- export type DeveloperMessage = z.infer<typeof DeveloperMessageSchema>;
800
- export type SystemMessage = z.infer<typeof SystemMessageSchema>;
801
- export type AssistantMessage = z.infer<typeof AssistantMessageSchema>;
802
- export type UserMessage = z.infer<typeof UserMessageSchema>;
803
- export type ToolMessage = z.infer<typeof ToolMessageSchema>;
804
- export type ActivityMessage = z.infer<typeof ActivityMessageSchema>;
805
- export type Message = z.infer<typeof MessageSchema>;
806
- export type Context = z.infer<typeof ContextSchema>;
807
- export type Tool = z.infer<typeof ToolSchema>;
798
+ export type AGUIFunctionCall = z.infer<typeof FunctionCallSchema>;
799
+ export type AGUIDeveloperMessage = z.infer<typeof DeveloperMessageSchema>;
800
+ export type AGUISystemMessage = z.infer<typeof SystemMessageSchema>;
801
+ export type AGUIAssistantMessage = z.infer<typeof AssistantMessageSchema>;
802
+ export type AGUIUserMessage = z.infer<typeof UserMessageSchema>;
803
+ export type AGUIToolMessage = z.infer<typeof ToolMessageSchema>;
804
+ export type AGUIActivityMessage = z.infer<typeof ActivityMessageSchema>;
805
+ export type AGUIMessage = z.infer<typeof AGUIMessageSchema>;
806
+ export type AGUIContext = z.infer<typeof ContextSchema>;
807
+ export type AGUITool = z.infer<typeof ToolSchema>;
808
808
  export type RunAgentInput = z.infer<typeof RunAgentInputSchema>;
809
- export type State = z.infer<typeof StateSchema>;
810
- export type Role = z.infer<typeof RoleSchema>;
811
- export type AGUIHistoryMessage = Message;
812
- export type AGUIUserHistoryMessage = UserMessage;
813
- export type AGUIAssistantHistoryMessage = AssistantMessage;
814
- export type AGUIToolHistoryMessage = ToolMessage;
809
+ export type AGUIState = z.infer<typeof StateSchema>;
810
+ export type AGUIRole = z.infer<typeof RoleSchema>;
811
+ export type AGUIHistoryMessage = AGUIMessage;
812
+ export type AGUIUserHistoryMessage = AGUIUserMessage;
813
+ export type AGUIAssistantHistoryMessage = AGUIAssistantMessage;
814
+ export type AGUIToolHistoryMessage = AGUIToolMessage;
815
815
  export declare class AGUIError extends Error {
816
816
  constructor(message: string);
817
817
  }
818
+ export {};
@@ -1,5 +1,5 @@
1
1
  /**
2
- * tdesign v1.0.2-alpha.6
2
+ * tdesign v1.0.2-alpha.15
3
3
  * (c) 2026 tdesign
4
4
  * @license MIT
5
5
  */
@@ -60,8 +60,8 @@ var ActivityMessageSchema = z.object({
60
60
  activityType: z.string(),
61
61
  content: z.record(z.any())
62
62
  });
63
- var MessageSchema = z.discriminatedUnion("role", [DeveloperMessageSchema, SystemMessageSchema, AssistantMessageSchema, UserMessageSchema, ToolMessageSchema, ActivityMessageSchema]);
64
- var HistoryMessageSchema = z.discriminatedUnion("role", [UserMessageSchema, AssistantMessageSchema, ToolMessageSchema]);
63
+ var AGUIMessageSchema = z.discriminatedUnion("role", [DeveloperMessageSchema, SystemMessageSchema, AssistantMessageSchema, UserMessageSchema, ToolMessageSchema, ActivityMessageSchema]);
64
+ var HistoryMessageSchema = z.discriminatedUnion("role", [UserMessageSchema, AssistantMessageSchema, ToolMessageSchema, ActivityMessageSchema]);
65
65
  var RoleSchema = z.union([z.literal("developer"), z.literal("system"), z.literal("assistant"), z.literal("user"), z.literal("tool"), z.literal("activity")]);
66
66
  var ContextSchema = z.object({
67
67
  description: z.string(),
@@ -76,7 +76,7 @@ var RunAgentInputSchema = z.object({
76
76
  threadId: z.string(),
77
77
  runId: z.string(),
78
78
  state: z.any(),
79
- messages: z.array(MessageSchema),
79
+ messages: z.array(AGUIMessageSchema),
80
80
  tools: z.array(ToolSchema),
81
81
  context: z.array(ContextSchema),
82
82
  forwardedProps: z.any()
@@ -91,5 +91,5 @@ var AGUIError = /*#__PURE__*/function (_Error) {
91
91
  return _createClass(AGUIError);
92
92
  }(/*#__PURE__*/_wrapNativeSuper(Error));
93
93
 
94
- export { AGUIError, ActivityMessageSchema, AssistantMessageSchema, BaseMessageSchema, ContextSchema, DeveloperMessageSchema, FunctionCallSchema, HistoryMessageSchema, MessageSchema, RoleSchema, RunAgentInputSchema, StateSchema, SystemMessageSchema, ToolCallSchema, ToolMessageSchema, ToolSchema, UserMessageSchema };
94
+ export { AGUIError, AGUIMessageSchema, ContextSchema, FunctionCallSchema, HistoryMessageSchema, RoleSchema, RunAgentInputSchema, StateSchema, ToolCallSchema, ToolSchema };
95
95
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sources":["../../../../../../pro-components/chat/chat-engine/core/adapters/agui/types.ts"],"sourcesContent":["// 这里的类型定义在官方Message Schema基础上扩展而来\n// https://github.com/ag-ui-protocol/ag-ui/blob/main/sdks/typescript/packages/core/src/types.ts\n\nimport { z } from 'zod';\n\nexport const FunctionCallSchema = z.object({\n name: z.string(),\n arguments: z.string(),\n});\n\nexport const ToolCallSchema = z.object({\n id: z.string(),\n type: z.literal('function'),\n function: FunctionCallSchema,\n});\n\nexport const BaseMessageSchema = z.object({\n id: z.string(),\n role: z.string(),\n content: z.string().optional(),\n name: z.string().optional(),\n timestamp: z.number().optional(), // 添加时间戳字段,用于历史消息\n});\n\nexport const DeveloperMessageSchema = BaseMessageSchema.extend({\n role: z.literal('developer'),\n content: z.string(),\n});\n\nexport const SystemMessageSchema = BaseMessageSchema.extend({\n role: z.literal('system'),\n content: z.string(),\n});\n\nexport const AssistantMessageSchema = BaseMessageSchema.extend({\n role: z.literal('assistant'),\n content: z.string().optional(),\n reasoningContent: z.string().optional(),\n toolCalls: z.array(ToolCallSchema).optional(),\n});\n\nexport const UserMessageSchema = BaseMessageSchema.extend({\n role: z.literal('user'),\n content: z.string(),\n});\n\nexport const ToolMessageSchema = z.object({\n id: z.string(),\n content: z.string(),\n role: z.literal('tool'),\n toolCallId: z.string(),\n});\n\nexport const ActivityMessageSchema = z.object({\n id: z.string(),\n role: z.literal(\"activity\"),\n activityType: z.string(),\n content: z.record(z.any()),\n});\n\nexport const MessageSchema = z.discriminatedUnion('role', [\n DeveloperMessageSchema,\n SystemMessageSchema,\n AssistantMessageSchema,\n UserMessageSchema,\n ToolMessageSchema,\n ActivityMessageSchema,\n]);\n\n// 历史消息相关的类型定义\nexport const HistoryMessageSchema = z.discriminatedUnion('role', [\n UserMessageSchema,\n AssistantMessageSchema,\n ToolMessageSchema,\n]);\n\nexport const RoleSchema = z.union([\n z.literal('developer'),\n z.literal('system'),\n z.literal('assistant'),\n z.literal('user'),\n z.literal('tool'),\n z.literal(\"activity\"),\n]);\n\nexport const ContextSchema = z.object({\n description: z.string(),\n value: z.string(),\n});\n\nexport const ToolSchema = z.object({\n name: z.string(),\n description: z.string(),\n parameters: z.any(), // JSON Schema for the tool parameters\n});\n\nexport const RunAgentInputSchema = z.object({\n threadId: z.string(),\n runId: z.string(),\n state: z.any(),\n messages: z.array(MessageSchema),\n tools: z.array(ToolSchema),\n context: z.array(ContextSchema),\n forwardedProps: z.any(),\n});\n\nexport const StateSchema = z.any();\n\nexport type AGUIToolCall = z.infer<typeof ToolCallSchema>;\nexport type FunctionCall = z.infer<typeof FunctionCallSchema>;\nexport type DeveloperMessage = z.infer<typeof DeveloperMessageSchema>;\nexport type SystemMessage = z.infer<typeof SystemMessageSchema>;\nexport type AssistantMessage = z.infer<typeof AssistantMessageSchema>;\nexport type UserMessage = z.infer<typeof UserMessageSchema>;\nexport type ToolMessage = z.infer<typeof ToolMessageSchema>;\nexport type ActivityMessage = z.infer<typeof ActivityMessageSchema>;\nexport type Message = z.infer<typeof MessageSchema>;\nexport type Context = z.infer<typeof ContextSchema>;\nexport type Tool = z.infer<typeof ToolSchema>;\nexport type RunAgentInput = z.infer<typeof RunAgentInputSchema>;\nexport type State = z.infer<typeof StateSchema>;\nexport type Role = z.infer<typeof RoleSchema>;\n\n// 历史消息类型别名,复用已有的类型\nexport type AGUIHistoryMessage = Message;\nexport type AGUIUserHistoryMessage = UserMessage;\nexport type AGUIAssistantHistoryMessage = AssistantMessage;\nexport type AGUIToolHistoryMessage = ToolMessage;\n\nexport class AGUIError extends Error {\n constructor(message: string) {\n super(message);\n }\n}\n"],"names":["FunctionCallSchema","z","object","name","string","arguments","ToolCallSchema","id","type","literal","BaseMessageSchema","role","content","optional","timestamp","number","DeveloperMessageSchema","extend","SystemMessageSchema","AssistantMessageSchema","reasoningContent","toolCalls","array","UserMessageSchema","ToolMessageSchema","toolCallId","ActivityMessageSchema","activityType","record","any","MessageSchema","discriminatedUnion","HistoryMessageSchema","RoleSchema","union","ContextSchema","description","value","ToolSchema","parameters","RunAgentInputSchema","threadId","runId","state","messages","tools","context","forwardedProps","StateSchema","AGUIError","message","_classCallCheck","_callSuper","_inherits","_Error","_createClass","_wrapNativeSuper","Error"],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sources":["../../../../../../pro-components/chat/chat-engine/core/adapters/agui/types.ts"],"sourcesContent":["// 这里的类型定义在官方Message Schema基础上扩展而来\n// https://github.com/ag-ui-protocol/ag-ui/blob/main/sdks/typescript/packages/core/src/types.ts\n\nimport { z } from 'zod';\n\nexport const FunctionCallSchema = z.object({\n name: z.string(),\n arguments: z.string(),\n});\n\nexport const ToolCallSchema = z.object({\n id: z.string(),\n type: z.literal('function'),\n function: FunctionCallSchema,\n});\n\nconst BaseMessageSchema = z.object({\n id: z.string(),\n role: z.string(),\n content: z.string().optional(),\n name: z.string().optional(),\n timestamp: z.number().optional(), // 添加时间戳字段,用于历史消息\n});\n\nconst DeveloperMessageSchema = BaseMessageSchema.extend({\n role: z.literal('developer'),\n content: z.string(),\n});\n\nconst SystemMessageSchema = BaseMessageSchema.extend({\n role: z.literal('system'),\n content: z.string(),\n});\n\nconst AssistantMessageSchema = BaseMessageSchema.extend({\n role: z.literal('assistant'),\n content: z.string().optional(),\n reasoningContent: z.string().optional(),\n toolCalls: z.array(ToolCallSchema).optional(),\n});\n\nconst UserMessageSchema = BaseMessageSchema.extend({\n role: z.literal('user'),\n content: z.string(),\n});\n\nconst ToolMessageSchema = z.object({\n id: z.string(),\n content: z.string(),\n role: z.literal('tool'),\n toolCallId: z.string(),\n});\n\nconst ActivityMessageSchema = z.object({\n id: z.string(),\n role: z.literal(\"activity\"),\n activityType: z.string(),\n content: z.record(z.any()),\n});\n\nexport const AGUIMessageSchema = z.discriminatedUnion('role', [\n DeveloperMessageSchema,\n SystemMessageSchema,\n AssistantMessageSchema,\n UserMessageSchema,\n ToolMessageSchema,\n ActivityMessageSchema,\n]);\n\n/**\n * 历史消息相关的类型定义\n *\n */\nexport const HistoryMessageSchema = z.discriminatedUnion('role', [\n UserMessageSchema,\n AssistantMessageSchema,\n ToolMessageSchema,\n ActivityMessageSchema,\n]);\n\nexport const RoleSchema = z.union([\n z.literal('developer'),\n z.literal('system'),\n z.literal('assistant'),\n z.literal('user'),\n z.literal('tool'),\n z.literal(\"activity\"),\n]);\n\nexport const ContextSchema = z.object({\n description: z.string(),\n value: z.string(),\n});\n\nexport const ToolSchema = z.object({\n name: z.string(),\n description: z.string(),\n parameters: z.any(), // JSON Schema for the tool parameters\n});\n\nexport const RunAgentInputSchema = z.object({\n threadId: z.string(),\n runId: z.string(),\n state: z.any(),\n messages: z.array(AGUIMessageSchema),\n tools: z.array(ToolSchema),\n context: z.array(ContextSchema),\n forwardedProps: z.any(),\n});\n\nexport const StateSchema = z.any();\n\nexport type AGUIToolCall = z.infer<typeof ToolCallSchema>;\nexport type AGUIFunctionCall = z.infer<typeof FunctionCallSchema>;\nexport type AGUIDeveloperMessage = z.infer<typeof DeveloperMessageSchema>;\nexport type AGUISystemMessage = z.infer<typeof SystemMessageSchema>;\nexport type AGUIAssistantMessage = z.infer<typeof AssistantMessageSchema>;\nexport type AGUIUserMessage = z.infer<typeof UserMessageSchema>;\nexport type AGUIToolMessage = z.infer<typeof ToolMessageSchema>;\nexport type AGUIActivityMessage = z.infer<typeof ActivityMessageSchema>;\nexport type AGUIMessage = z.infer<typeof AGUIMessageSchema>;\nexport type AGUIContext = z.infer<typeof ContextSchema>;\nexport type AGUITool = z.infer<typeof ToolSchema>;\nexport type RunAgentInput = z.infer<typeof RunAgentInputSchema>;\nexport type AGUIState = z.infer<typeof StateSchema>;\nexport type AGUIRole = z.infer<typeof RoleSchema>;\n\n// 历史消息类型别名,复用已有的类型\nexport type AGUIHistoryMessage = AGUIMessage;\nexport type AGUIUserHistoryMessage = AGUIUserMessage;\nexport type AGUIAssistantHistoryMessage = AGUIAssistantMessage;\nexport type AGUIToolHistoryMessage = AGUIToolMessage;\n\nexport class AGUIError extends Error {\n constructor(message: string) {\n super(message);\n }\n}\n"],"names":["FunctionCallSchema","z","object","name","string","arguments","ToolCallSchema","id","type","literal","BaseMessageSchema","role","content","optional","timestamp","number","DeveloperMessageSchema","extend","SystemMessageSchema","AssistantMessageSchema","reasoningContent","toolCalls","array","UserMessageSchema","ToolMessageSchema","toolCallId","ActivityMessageSchema","activityType","record","any","AGUIMessageSchema","discriminatedUnion","HistoryMessageSchema","RoleSchema","union","ContextSchema","description","value","ToolSchema","parameters","RunAgentInputSchema","threadId","runId","state","messages","tools","context","forwardedProps","StateSchema","AGUIError","message","_classCallCheck","_callSuper","_inherits","_Error","_createClass","_wrapNativeSuper","Error"],"mappings":";;;;;;;;;;;;;;;;IAKaA,kBAAA,GAAqBC,EAAEC,MAAO,CAAA;AACzCC,EAAAA,IAAA,EAAMF,EAAEG,MAAO,EAAA;AACfC,EAAAA,SAAA,EAAWJ,EAAEG,MAAO,EAAA;AACtB,CAAC,EAAA;IAEYE,cAAA,GAAiBL,EAAEC,MAAO,CAAA;AACrCK,EAAAA,EAAA,EAAIN,EAAEG,MAAO,EAAA;AACbI,EAAAA,IAAA,EAAMP,CAAE,CAAAQ,OAAA,CAAQ,UAAU,CAAA;EAC1B,UAAUT,EAAAA,kBAAAA;AACZ,CAAC,EAAA;AAED,IAAMU,iBAAA,GAAoBT,EAAEC,MAAO,CAAA;AACjCK,EAAAA,EAAA,EAAIN,EAAEG,MAAO,EAAA;AACbO,EAAAA,IAAA,EAAMV,EAAEG,MAAO,EAAA;EACfQ,OAAS,EAAAX,CAAA,CAAEG,MAAO,EAAA,CAAES,QAAS,EAAA;EAC7BV,IAAM,EAAAF,CAAA,CAAEG,MAAO,EAAA,CAAES,QAAS,EAAA;EAC1BC,SAAW,EAAAb,CAAA,CAAEc,MAAO,EAAA,CAAEF,QAAS,EAAA;AACjC,CAAC,CAAA,CAAA;AAED,IAAMG,sBAAA,GAAyBN,kBAAkBO,MAAO,CAAA;AACtDN,EAAAA,IAAA,EAAMV,CAAE,CAAAQ,OAAA,CAAQ,WAAW,CAAA;AAC3BG,EAAAA,OAAA,EAASX,EAAEG,MAAO,EAAA;AACpB,CAAC,CAAA,CAAA;AAED,IAAMc,mBAAA,GAAsBR,kBAAkBO,MAAO,CAAA;AACnDN,EAAAA,IAAA,EAAMV,CAAE,CAAAQ,OAAA,CAAQ,QAAQ,CAAA;AACxBG,EAAAA,OAAA,EAASX,EAAEG,MAAO,EAAA;AACpB,CAAC,CAAA,CAAA;AAED,IAAMe,sBAAA,GAAyBT,kBAAkBO,MAAO,CAAA;AACtDN,EAAAA,IAAA,EAAMV,CAAE,CAAAQ,OAAA,CAAQ,WAAW,CAAA;EAC3BG,OAAS,EAAAX,CAAA,CAAEG,MAAO,EAAA,CAAES,QAAS,EAAA;EAC7BO,gBAAkB,EAAAnB,CAAA,CAAEG,MAAO,EAAA,CAAES,QAAS,EAAA;EACtCQ,SAAW,EAAApB,CAAA,CAAEqB,KAAM,CAAAhB,cAAc,EAAEO,QAAS,EAAA;AAC9C,CAAC,CAAA,CAAA;AAED,IAAMU,iBAAA,GAAoBb,kBAAkBO,MAAO,CAAA;AACjDN,EAAAA,IAAA,EAAMV,CAAE,CAAAQ,OAAA,CAAQ,MAAM,CAAA;AACtBG,EAAAA,OAAA,EAASX,EAAEG,MAAO,EAAA;AACpB,CAAC,CAAA,CAAA;AAED,IAAMoB,iBAAA,GAAoBvB,EAAEC,MAAO,CAAA;AACjCK,EAAAA,EAAA,EAAIN,EAAEG,MAAO,EAAA;AACbQ,EAAAA,OAAA,EAASX,EAAEG,MAAO,EAAA;AAClBO,EAAAA,IAAA,EAAMV,CAAE,CAAAQ,OAAA,CAAQ,MAAM,CAAA;AACtBgB,EAAAA,UAAA,EAAYxB,EAAEG,MAAO,EAAA;AACvB,CAAC,CAAA,CAAA;AAED,IAAMsB,qBAAA,GAAwBzB,EAAEC,MAAO,CAAA;AACrCK,EAAAA,EAAA,EAAIN,EAAEG,MAAO,EAAA;AACbO,EAAAA,IAAA,EAAMV,CAAE,CAAAQ,OAAA,CAAQ,UAAU,CAAA;AAC1BkB,EAAAA,YAAA,EAAc1B,EAAEG,MAAO,EAAA;EACvBQ,OAAS,EAAAX,CAAA,CAAE2B,MAAO,CAAA3B,CAAA,CAAE4B,KAAK,CAAA;AAC3B,CAAC,CAAA,CAAA;AAEY,IAAAC,iBAAA,GAAoB7B,CAAE,CAAA8B,kBAAA,CAAmB,MAAQ,EAAA,CAC5Df,sBAAA,EACAE,mBAAA,EACAC,sBAAA,EACAI,iBAAA,EACAC,iBAAA,EACAE,qBAAA,CACD,EAAA;IAMYM,oBAAA,GAAuB/B,CAAE,CAAA8B,kBAAA,CAAmB,MAAQ,EAAA,CAC/DR,iBAAA,EACAJ,sBAAA,EACAK,iBAAA,EACAE,qBAAA,CACD,EAAA;AAEY,IAAAO,UAAA,GAAahC,EAAEiC,KAAM,CAAA,CAChCjC,CAAA,CAAEQ,QAAQ,WAAW,CAAA,EACrBR,CAAA,CAAEQ,QAAQ,QAAQ,CAAA,EAClBR,CAAA,CAAEQ,QAAQ,WAAW,CAAA,EACrBR,CAAA,CAAEQ,QAAQ,MAAM,CAAA,EAChBR,CAAA,CAAEQ,QAAQ,MAAM,CAAA,EAChBR,CAAA,CAAEQ,QAAQ,UAAU,CAAA,CACrB,EAAA;IAEY0B,aAAA,GAAgBlC,EAAEC,MAAO,CAAA;AACpCkC,EAAAA,WAAA,EAAanC,EAAEG,MAAO,EAAA;AACtBiC,EAAAA,KAAA,EAAOpC,EAAEG,MAAO,EAAA;AAClB,CAAC,EAAA;IAEYkC,UAAA,GAAarC,EAAEC,MAAO,CAAA;AACjCC,EAAAA,IAAA,EAAMF,EAAEG,MAAO,EAAA;AACfgC,EAAAA,WAAA,EAAanC,EAAEG,MAAO,EAAA;AACtBmC,EAAAA,UAAA,EAAYtC,EAAE4B,GAAI,EAAA;AACpB,CAAC,EAAA;IAEYW,mBAAA,GAAsBvC,EAAEC,MAAO,CAAA;AAC1CuC,EAAAA,QAAA,EAAUxC,EAAEG,MAAO,EAAA;AACnBsC,EAAAA,KAAA,EAAOzC,EAAEG,MAAO,EAAA;AAChBuC,EAAAA,KAAA,EAAO1C,EAAE4B,GAAI,EAAA;AACbe,EAAAA,QAAA,EAAU3C,CAAE,CAAAqB,KAAA,CAAMQ,iBAAiB,CAAA;AACnCe,EAAAA,KAAA,EAAO5C,CAAE,CAAAqB,KAAA,CAAMgB,UAAU,CAAA;AACzBQ,EAAAA,OAAA,EAAS7C,CAAE,CAAAqB,KAAA,CAAMa,aAAa,CAAA;AAC9BY,EAAAA,cAAA,EAAgB9C,EAAE4B,GAAI,EAAA;AACxB,CAAC,EAAA;IAEYmB,WAAA,GAAc/C,EAAE4B,GAAI,GAAA;AAuBpBoB,IAAAA;EACX,SAAAA,SAAAA,CAAYC,OAAiB,EAAA;AAAAC,IAAAA,eAAA,OAAAF,SAAA,CAAA,CAAA;AAAA,IAAA,OAAAG,UAAA,CAAA,IAAA,EAAAH,SAAA,EAAA,CACrBC,OAAO,CAAA,CAAA,CAAA;AACf,GAAA;EAAAG,SAAA,CAAAJ,SAAA,EAAAK,MAAA,CAAA,CAAA;EAAA,OAAAC,YAAA,CAAAN,SAAA,CAAA,CAAA;AAAA,CAAAO,cAAAA,gBAAA,CAH6BC,KAAM,CAAA;;;;"}
@@ -26,8 +26,9 @@ export declare function extractStateKeyFromDelta(event: {
26
26
  export declare function handleMessagesSnapshot(messages: any[]): any[];
27
27
  /**
28
28
  * 处理自定义事件
29
+ * 直接将 CUSTOM 事件转换为通用格式,由业务层自行处理
29
30
  * @param event 自定义事件对象
30
- * @returns 处理结果或undefined
31
+ * @returns 处理结果
31
32
  */
32
33
  export declare function handleCustomEvent(event: any): any;
33
34
  /**
@@ -102,21 +103,26 @@ export declare function createToolCallContent(toolCall: any, status?: 'pending'
102
103
  * @param content 活动内容
103
104
  * @param status 状态
104
105
  * @param strategy 策略
106
+ * @param deltaInfo 增量信息(可选,用于 A2UI 等场景的增量处理)
105
107
  * @returns activity 类型的 AIMessageContent
106
108
  *
107
109
  * type 格式: activity-${activityType}
108
110
  * - activityType: 用于查找对应的渲染组件和区分不同类型的 Activity
109
111
  * - 支持并行多个不同类型的 Activity
110
112
  */
111
- export declare function createActivityContent(activityType: string, content: Record<string, any>, status?: 'streaming' | 'complete', strategy?: 'append' | 'merge'): any;
113
+ export declare function createActivityContent(activityType: string, content: Record<string, any>, status?: 'streaming' | 'complete', strategy?: 'append' | 'merge', deltaInfo?: {
114
+ fromIndex: number;
115
+ toIndex: number;
116
+ }): any;
112
117
  /**
113
118
  * 创建 markdown 类型的 AIMessageContent
114
119
  * @param data markdown 数据
115
120
  * @param status 状态
116
121
  * @param strategy 策略
122
+ * @param role 消息角色(可选,默认 assistant),通过 ext.role 传递给业务层
117
123
  * @returns markdown 类型的 AIMessageContent
118
124
  */
119
- export declare function createMarkdownContent(data: string, status?: 'streaming' | 'complete', strategy?: 'append' | 'merge'): any;
125
+ export declare function createMarkdownContent(data: string, status?: 'streaming' | 'complete', strategy?: 'append' | 'merge', role?: 'assistant' | 'system'): any;
120
126
  /**
121
127
  * 创建 suggestion 类型的 AIMessageContent
122
128
  * @param data suggestion 数据
@@ -1,5 +1,5 @@
1
1
  /**
2
- * tdesign v1.0.2-alpha.6
2
+ * tdesign v1.0.2-alpha.15
3
3
  * (c) 2026 tdesign
4
4
  * @license MIT
5
5
  */
@@ -59,7 +59,14 @@ function handleCustomEvent(event) {
59
59
  status: "complete"
60
60
  };
61
61
  }
62
- return void 0;
62
+ return {
63
+ type: "custom",
64
+ data: {
65
+ name: event.name,
66
+ value: event.value
67
+ },
68
+ status: "complete"
69
+ };
63
70
  }
64
71
  function parseSSEData(data) {
65
72
  if (typeof data === "string") {
@@ -126,16 +133,28 @@ function createToolCallContent(toolCall) {
126
133
  function createActivityContent(activityType, content) {
127
134
  var status = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "complete";
128
135
  var strategy = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "append";
136
+ var deltaInfo = arguments.length > 4 ? arguments[4] : undefined;
129
137
  var type = "activity-".concat(activityType);
138
+ var ext = deltaInfo ? {
139
+ deltaInfo: deltaInfo
140
+ } : void 0;
130
141
  return createAIMessageContent(type, {
131
142
  activityType: activityType,
132
143
  content: content
133
- }, status, strategy);
144
+ }, status, strategy, ext);
134
145
  }
135
146
  function createMarkdownContent(data) {
136
147
  var status = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "complete";
137
148
  var strategy = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "append";
138
- return createAIMessageContent("markdown", data, status, strategy);
149
+ var role = arguments.length > 3 ? arguments[3] : undefined;
150
+ var notAssistant = role && role !== "assistant";
151
+ var content = createAIMessageContent(notAssistant ? "".concat(role, "-text") : "markdown", data, status, strategy);
152
+ if (notAssistant) {
153
+ content.ext = _objectSpread(_objectSpread({}, content.ext), {}, {
154
+ role: role
155
+ });
156
+ }
157
+ return content;
139
158
  }
140
159
  function createSuggestionContent(data) {
141
160
  return createAIMessageContent("suggestion", data, "complete", "append");
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../../../../pro-components/chat/chat-engine/core/adapters/agui/utils.ts"],"sourcesContent":["/* eslint-disable default-param-last */\n/**\n * AGUI适配器工具函数\n * 包含与类无关的纯函数,用于处理AGUI协议相关逻辑\n */\n\n/**\n * 合并字符串内容,处理JSON和普通字符串\n * @param existing 现有内容\n * @param delta 增量内容\n * @returns 合并后的内容\n */\nexport function mergeStringContent(existing: string | undefined, delta: string): string {\n if (!existing) return delta;\n\n // 尝试解析为JSON,如果是有效的JSON则合并\n try {\n const existingObj = JSON.parse(existing);\n const deltaObj = JSON.parse(delta);\n\n // 如果是对象,进行深度合并\n if (typeof existingObj === 'object' && typeof deltaObj === 'object') {\n return JSON.stringify({ ...existingObj, ...deltaObj });\n }\n\n // 如果是数组,进行数组合并\n if (Array.isArray(existingObj) && Array.isArray(deltaObj)) {\n return JSON.stringify([...existingObj, ...deltaObj]);\n }\n\n // 其他情况,直接替换\n return delta;\n } catch (error) {\n // 不是有效的JSON,按普通字符串处理\n return existing + delta;\n }\n}\n\n/**\n * 从delta事件中提取stateKey\n * @param event delta事件对象\n * @returns stateKey或null\n */\nexport function extractStateKeyFromDelta(event: { type: string; delta?: any[] }): string | null {\n if (event.type === 'STATE_DELTA' && event.delta && event.delta.length > 0) {\n // 从第一个delta操作的路径中提取stateKey\n const firstDelta = event.delta[0];\n if (firstDelta && firstDelta.path) {\n const pathParts = firstDelta.path.split('/');\n return pathParts.length > 1 ? pathParts[1] : null;\n }\n }\n return null;\n}\n\n/**\n * 处理消息快照\n * @param messages 消息数组\n * @returns 处理后的消息内容数组\n */\nexport function handleMessagesSnapshot(messages: any[]): any[] {\n // 只取assistant消息\n if (!messages) return [];\n return messages.flatMap((msg: any) => {\n if (msg.role === 'assistant' && Array.isArray(msg.content)) {\n return msg.content.map((content: any) => ({\n type: content.type || 'markdown',\n data: content.data,\n status: 'complete',\n }));\n }\n return [];\n });\n}\n\n/**\n * 处理自定义事件\n * @param event 自定义事件对象\n * @returns 处理结果或undefined\n */\nexport function handleCustomEvent(event: any): any {\n if (event.name === 'suggestion') {\n return {\n type: 'suggestion',\n data: event.value || [],\n status: 'complete',\n };\n }\n return undefined;\n}\n\n/**\n * 解析SSE数据\n * @param data SSE数据,可能是字符串或已解析的对象\n * @returns 解析后的事件对象或null\n */\nexport function parseSSEData(data: any): any {\n if (typeof data === 'string') {\n try {\n return JSON.parse(data);\n } catch (error) {\n console.warn('Failed to parse SSE data:', error);\n return null;\n }\n }\n return data;\n}\n\n/**\n * 验证事件对象\n * @param event 事件对象\n * @returns 是否为有效事件\n */\nexport function isValidEvent(event: any): boolean {\n return event && typeof event === 'object' && event.type;\n}\n\n/**\n * 生成连接ID\n * @param prefix 前缀\n * @returns 连接ID\n */\nexport function generateConnectionId(prefix = 'sse'): string {\n const timestamp = Date.now();\n return `${prefix}_${timestamp}_${Math.random().toString(36).substr(2, 9)}`;\n}\n\n/**\n * 格式化日志消息\n * @param level 日志级别\n * @param message 消息内容\n * @param context 上下文信息\n * @returns 格式化后的日志消息\n */\nexport function formatLogMessage(level: string, message: string, context?: any): string {\n const timestamp = new Date().toISOString();\n const contextStr = context ? ` [${JSON.stringify(context)}]` : '';\n return `[${timestamp}] [${level.toUpperCase()}] ${message}${contextStr}`;\n}\n\n/**\n * 创建基础的 AIMessageContent 对象\n * @param type 内容类型\n * @param data 内容数据\n * @param status 状态\n * @param strategy 策略\n * @param ext 扩展属性\n * @returns AIMessageContent 对象\n */\nexport function createAIMessageContent(\n type: string,\n data: any,\n status: 'pending' | 'streaming' | 'complete' | 'error' = 'complete',\n strategy: 'append' | 'merge' = 'append',\n ext?: any,\n): any {\n const content: any = {\n type,\n data,\n status,\n strategy,\n };\n\n if (ext) {\n content.ext = ext;\n }\n\n return content;\n}\n\n/**\n * 创建 reasoning 类型的 AIMessageContent\n * @param data reasoning 数据\n * @param status 状态\n * @param strategy 策略\n * @param collapsed 是否折叠\n * @returns reasoning 类型的 AIMessageContent\n */\nexport function createReasoningContent(\n data: any[],\n status: 'streaming' | 'complete' = 'streaming',\n strategy: 'append' | 'merge' = 'append',\n collapsed = false,\n): any {\n return createAIMessageContent('reasoning', data, status, strategy, { collapsed });\n}\n\n/**\n * 创建 thinking 类型的 AIMessageContent\n * @param data thinking 数据\n * @param status 状态\n * @param strategy 策略\n * @param collapsed 是否折叠\n * @returns thinking 类型的 AIMessageContent\n */\nexport function createThinkingContent(\n data: any,\n status: 'streaming' | 'complete' = 'streaming',\n strategy: 'append' | 'merge' = 'append',\n collapsed = false,\n): any {\n return createAIMessageContent('thinking', data, status, strategy, { collapsed });\n}\n\n/**\n * 创建 toolcall 类型的 AIMessageContent\n * @param toolCall 工具调用数据\n * @param status 状态\n * @param strategy 策略(可选)\n * @returns toolcall 类型的 AIMessageContent\n *\n * type 格式: toolcall-${toolCallName}-${toolCallId}\n * - toolCallName: 用于查找对应的渲染组件\n * - toolCallId: 用于区分同名工具的不同调用实例,支持并行工具调用\n */\nexport function createToolCallContent(\n toolCall: any,\n status: 'pending' | 'streaming' | 'complete' = 'pending',\n strategy?: 'append' | 'merge',\n): any {\n // 根据 toolCallName 和 toolCallId 生成唯一的 type\n // 这样同名工具的不同调用实例会有不同的 type,支持并行工具调用场景\n const type = `toolcall-${toolCall.toolCallName}-${toolCall.toolCallId}`;\n\n // 如果没有指定 strategy,默认使用 'append'\n const finalStrategy = strategy || 'append';\n\n return createAIMessageContent(type, toolCall, status, finalStrategy);\n}\n\n/**\n * 创建 activity 类型的 AIMessageContent\n * @param activityType 活动类型\n * @param content 活动内容\n * @param status 状态\n * @param strategy 策略\n * @returns activity 类型的 AIMessageContent\n *\n * type 格式: activity-${activityType}\n * - activityType: 用于查找对应的渲染组件和区分不同类型的 Activity\n * - 支持并行多个不同类型的 Activity\n */\nexport function createActivityContent(\n activityType: string,\n content: Record<string, any>,\n status: 'streaming' | 'complete' = 'complete',\n strategy: 'append' | 'merge' = 'append',\n): any {\n // 使用 activity-${activityType} 格式,支持并行不同类型的 Activity\n const type = `activity-${activityType}`;\n\n return createAIMessageContent(\n type,\n {\n activityType,\n content,\n },\n status,\n strategy,\n );\n}\n\n/**\n * 创建 markdown 类型的 AIMessageContent\n * @param data markdown 数据\n * @param status 状态\n * @param strategy 策略\n * @returns markdown 类型的 AIMessageContent\n */\nexport function createMarkdownContent(\n data: string,\n status: 'streaming' | 'complete' = 'complete',\n strategy: 'append' | 'merge' = 'append',\n): any {\n return createAIMessageContent('markdown', data, status, strategy);\n}\n\n/**\n * 创建 suggestion 类型的 AIMessageContent\n * @param data suggestion 数据\n * @returns suggestion 类型的 AIMessageContent\n */\nexport function createSuggestionContent(data: any[]): any {\n return createAIMessageContent('suggestion', data, 'complete', 'append');\n}\n\n/**\n * 创建 text 类型的 AIMessageContent\n * @param data 文本数据\n * @param status 状态\n * @returns text 类型的 AIMessageContent\n */\nexport function createTextContent(data: string, status: 'streaming' | 'complete' | 'error' = 'complete'): any {\n return createAIMessageContent('text', data, status, 'append');\n}\n\n/**\n * 更新工具调用对象\n * @param existingToolCall 现有工具调用\n * @param updates 更新内容\n * @returns 更新后的工具调用\n */\nexport function updateToolCall(existingToolCall: any, updates: Partial<any>): any {\n return {\n ...existingToolCall,\n ...updates,\n };\n}\n\n/**\n * 处理 suggestion 工具调用的特殊逻辑\n * @param toolCall 工具调用对象\n * @returns suggestion 内容或 null\n */\nexport function handleSuggestionToolCall(toolCall: any): any | null {\n if (toolCall.toolCallName === 'suggestion') {\n try {\n const suggestionData = JSON.parse(toolCall.result || '{}') || [];\n return createSuggestionContent(suggestionData);\n } catch (error) {\n console.warn('Failed to parse suggestion result:', error);\n return null;\n }\n }\n return null;\n}\n\n/**\n * 更新 reasoning 上下文中的内容\n * @param reasoningData 当前 reasoning 数据\n * @param index 要更新的索引\n * @param newContent 新内容\n * @returns 更新后的 reasoning 数据\n */\nexport function updateReasoningData(reasoningData: any[], index: number, newContent: any): any[] {\n const updatedData = [...reasoningData];\n if (index >= 0 && index < updatedData.length) {\n updatedData[index] = newContent;\n }\n return updatedData;\n}\n\n/**\n * 向 reasoning 数据中添加新内容\n * @param reasoningData 当前 reasoning 数据\n * @param newContent 新内容\n * @returns 更新后的 reasoning 数据和新内容的索引\n */\nexport function addToReasoningData(reasoningData: any[], newContent: any): { data: any[]; index: number } {\n const updatedData = [...reasoningData, newContent];\n return {\n data: updatedData,\n index: updatedData.length - 1,\n };\n}\n\n/**\n * 解析 reasoningContent 字段\n * @param reasoningContent 原始 reasoningContent 数据\n * @returns 解析后的数据和类型信息\n */\nexport function parseReasoningContent(reasoningContent: any): {\n type: 'reasoning' | 'thinking';\n data: any;\n} {\n let parsedContent;\n\n if (typeof reasoningContent === 'string') {\n try {\n parsedContent = JSON.parse(reasoningContent);\n } catch {\n // 解析失败时,作为简单文本处理\n return {\n type: 'thinking',\n data: { text: reasoningContent, title: '思考完成' },\n };\n }\n } else {\n parsedContent = reasoningContent;\n }\n\n // 判断解析后的数据类型\n if (Array.isArray(parsedContent)) {\n return {\n type: 'reasoning',\n data: parsedContent,\n };\n }\n return {\n type: 'thinking',\n data: parsedContent,\n };\n}\n\n/**\n * 转换 reasoning 消息数组为 AIMessageContent 数组\n * @param reasoningMessages reasoning 消息数组\n * @returns 转换后的 AIMessageContent 数组\n */\nexport function convertReasoningMessages(reasoningMessages: any[]): any[] {\n const reasoningData: any[] = [];\n const toolCallMap = new Map<string, any>();\n\n // 第一遍:收集工具调用结果\n reasoningMessages.forEach((msg) => {\n if (msg.role === 'tool') {\n toolCallMap.set(msg.toolCallId, {\n toolCallId: msg.toolCallId,\n result: msg.content,\n });\n }\n });\n\n // 第二遍:处理消息内容\n reasoningMessages.forEach((msg) => {\n if (msg.role === 'assistant') {\n // 处理嵌套的 reasoningContent(文本思考)\n if (msg.reasoningContent && typeof msg.reasoningContent === 'string') {\n reasoningData.push({\n type: 'text',\n data: msg.reasoningContent,\n status: 'complete',\n });\n }\n\n // 处理普通内容\n if (msg.content) {\n reasoningData.push({\n type: 'text', // 在 reasoning 内部,通常用 text 而不是 markdown\n data: msg.content,\n status: 'complete',\n });\n }\n\n // 处理工具调用\n if (msg.toolCalls && msg.toolCalls.length > 0) {\n msg.toolCalls.forEach((toolCall: any) => {\n const toolResult = toolCallMap.get(toolCall.id)?.result || '';\n const toolCallData = {\n toolCallId: toolCall.id,\n toolCallName: toolCall.function.name,\n args: toolCall.function.arguments,\n result: toolResult,\n };\n reasoningData.push({\n // 使用 toolCallName-toolCallId 格式,与 createToolCallContent 保持一致\n type: `toolcall-${toolCall.function.name}-${toolCall.id}`,\n data: toolCallData,\n status: 'complete',\n });\n });\n }\n }\n });\n\n return reasoningData;\n}\n\n/**\n * 处理 reasoningContent 并创建对应的 AIMessageContent\n * @param reasoningContent 原始 reasoningContent 数据\n * @returns 创建的 AIMessageContent 或 null\n */\nexport function processReasoningContent(reasoningContent: any): any | null {\n if (!reasoningContent) return null;\n\n const { type, data } = parseReasoningContent(reasoningContent);\n\n if (type === 'reasoning') {\n const reasoningData = convertReasoningMessages(data);\n return {\n type: 'reasoning',\n data: reasoningData,\n status: 'complete',\n strategy: 'append',\n ext: { collapsed: true },\n };\n }\n return {\n type: 'thinking',\n status: 'complete',\n data,\n };\n}\n\n/**\n * 处理工具调用并创建对应的 AIMessageContent 数组\n * @param toolCalls 工具调用数组\n * @param toolCallMap 工具调用结果映射\n * @returns 创建的 AIMessageContent 数组\n */\nexport function processToolCalls(toolCalls: any[], toolCallMap: Map<string, any>): any[] {\n return toolCalls.map((toolCall) => {\n const toolResult = toolCallMap.get(toolCall.id)?.result || '';\n\n // 建议类型的toolcall特殊解析\n if (toolCall.function.name === 'suggestion') {\n return {\n type: 'suggestion' as const,\n data: parseSSEData(toolResult) || [],\n };\n }\n\n const toolCallData = {\n toolCallId: toolCall.id,\n toolCallName: toolCall.function.name,\n args: toolCall.function.arguments,\n result: toolResult,\n };\n\n return {\n // 使用 toolCallName-toolCallId 格式,支持并行工具调用\n type: `toolcall-${toolCall.function.name}-${toolCall.id}` as const,\n data: toolCallData,\n };\n });\n}\n\n/**\n * 构建工具调用结果映射\n * @param historyMessages 历史消息数组\n * @returns 工具调用结果映射\n */\nexport function buildToolCallMap(historyMessages: any[]): Map<string, any> {\n const toolCallMap = new Map<string, any>();\n\n historyMessages.forEach((msg) => {\n if (msg.role === 'tool') {\n toolCallMap.set(msg.toolCallId, {\n toolCallId: msg.toolCallId,\n result: msg.content,\n });\n }\n });\n\n return toolCallMap;\n}\n"],"names":["mergeStringContent","existing","delta","existingObj","JSON","parse","deltaObj","_typeof","stringify","_objectSpread","Array","isArray","concat","_toConsumableArray","error","extractStateKeyFromDelta","event","type","length","firstDelta","path","pathParts","split","handleMessagesSnapshot","messages","flatMap","msg","role","content","map","data","status","handleCustomEvent","name","value","parseSSEData","console","warn","isValidEvent","generateConnectionId","prefix","timestamp","Date","now","Math","random","toString","substr","formatLogMessage","level","message","context","toISOString","contextStr","toUpperCase","createAIMessageContent","strategy","arguments","undefined","ext","createReasoningContent","collapsed","createThinkingContent","createToolCallContent","toolCall","toolCallName","toolCallId","finalStrategy","createActivityContent","activityType","createMarkdownContent","createSuggestionContent","createTextContent","updateToolCall","existingToolCall","updates","handleSuggestionToolCall","suggestionData","result","updateReasoningData","reasoningData","index","newContent","updatedData","addToReasoningData","parseReasoningContent","reasoningContent","parsedContent","_unused","text","title","convertReasoningMessages","reasoningMessages","toolCallMap","Map","forEach","set","push","toolCalls","_toolCallMap$get","toolResult","get","id","toolCallData","args","processReasoningContent","_parseReasoningConten","processToolCalls","_toolCallMap$get2","buildToolCallMap","historyMessages"],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sources":["../../../../../../pro-components/chat/chat-engine/core/adapters/agui/utils.ts"],"sourcesContent":["/* eslint-disable default-param-last */\n/**\n * AGUI适配器工具函数\n * 包含与类无关的纯函数,用于处理AGUI协议相关逻辑\n */\n\n/**\n * 合并字符串内容,处理JSON和普通字符串\n * @param existing 现有内容\n * @param delta 增量内容\n * @returns 合并后的内容\n */\nexport function mergeStringContent(existing: string | undefined, delta: string): string {\n if (!existing) return delta;\n\n // 尝试解析为JSON,如果是有效的JSON则合并\n try {\n const existingObj = JSON.parse(existing);\n const deltaObj = JSON.parse(delta);\n\n // 如果是对象,进行深度合并\n if (typeof existingObj === 'object' && typeof deltaObj === 'object') {\n return JSON.stringify({ ...existingObj, ...deltaObj });\n }\n\n // 如果是数组,进行数组合并\n if (Array.isArray(existingObj) && Array.isArray(deltaObj)) {\n return JSON.stringify([...existingObj, ...deltaObj]);\n }\n\n // 其他情况,直接替换\n return delta;\n } catch (error) {\n // 不是有效的JSON,按普通字符串处理\n return existing + delta;\n }\n}\n\n/**\n * 从delta事件中提取stateKey\n * @param event delta事件对象\n * @returns stateKey或null\n */\nexport function extractStateKeyFromDelta(event: { type: string; delta?: any[] }): string | null {\n if (event.type === 'STATE_DELTA' && event.delta && event.delta.length > 0) {\n // 从第一个delta操作的路径中提取stateKey\n const firstDelta = event.delta[0];\n if (firstDelta && firstDelta.path) {\n const pathParts = firstDelta.path.split('/');\n return pathParts.length > 1 ? pathParts[1] : null;\n }\n }\n return null;\n}\n\n/**\n * 处理消息快照\n * @param messages 消息数组\n * @returns 处理后的消息内容数组\n */\nexport function handleMessagesSnapshot(messages: any[]): any[] {\n // 只取assistant消息\n if (!messages) return [];\n return messages.flatMap((msg: any) => {\n if (msg.role === 'assistant' && Array.isArray(msg.content)) {\n return msg.content.map((content: any) => ({\n type: content.type || 'markdown',\n data: content.data,\n status: 'complete',\n }));\n }\n return [];\n });\n}\n\n/**\n * 处理自定义事件\n * 直接将 CUSTOM 事件转换为通用格式,由业务层自行处理\n * @param event 自定义事件对象\n * @returns 处理结果\n */\nexport function handleCustomEvent(event: any): any {\n if (event.name === 'suggestion') {\n return {\n type: 'suggestion',\n data: event.value || [],\n status: 'complete',\n };\n }\n return {\n type: 'custom',\n data: {\n name: event.name,\n value: event.value,\n },\n status: 'complete',\n };\n}\n\n\n/**\n * 解析SSE数据\n * @param data SSE数据,可能是字符串或已解析的对象\n * @returns 解析后的事件对象或null\n */\nexport function parseSSEData(data: any): any {\n if (typeof data === 'string') {\n try {\n return JSON.parse(data);\n } catch (error) {\n console.warn('Failed to parse SSE data:', error);\n return null;\n }\n }\n return data;\n}\n\n/**\n * 验证事件对象\n * @param event 事件对象\n * @returns 是否为有效事件\n */\nexport function isValidEvent(event: any): boolean {\n return event && typeof event === 'object' && event.type;\n}\n\n/**\n * 生成连接ID\n * @param prefix 前缀\n * @returns 连接ID\n */\nexport function generateConnectionId(prefix = 'sse'): string {\n const timestamp = Date.now();\n return `${prefix}_${timestamp}_${Math.random().toString(36).substr(2, 9)}`;\n}\n\n/**\n * 格式化日志消息\n * @param level 日志级别\n * @param message 消息内容\n * @param context 上下文信息\n * @returns 格式化后的日志消息\n */\nexport function formatLogMessage(level: string, message: string, context?: any): string {\n const timestamp = new Date().toISOString();\n const contextStr = context ? ` [${JSON.stringify(context)}]` : '';\n return `[${timestamp}] [${level.toUpperCase()}] ${message}${contextStr}`;\n}\n\n/**\n * 创建基础的 AIMessageContent 对象\n * @param type 内容类型\n * @param data 内容数据\n * @param status 状态\n * @param strategy 策略\n * @param ext 扩展属性\n * @returns AIMessageContent 对象\n */\nexport function createAIMessageContent(\n type: string,\n data: any,\n status: 'pending' | 'streaming' | 'complete' | 'error' = 'complete',\n strategy: 'append' | 'merge' = 'append',\n ext?: any,\n): any {\n const content: any = {\n type,\n data,\n status,\n strategy,\n };\n\n if (ext) {\n content.ext = ext;\n }\n\n return content;\n}\n\n/**\n * 创建 reasoning 类型的 AIMessageContent\n * @param data reasoning 数据\n * @param status 状态\n * @param strategy 策略\n * @param collapsed 是否折叠\n * @returns reasoning 类型的 AIMessageContent\n */\nexport function createReasoningContent(\n data: any[],\n status: 'streaming' | 'complete' = 'streaming',\n strategy: 'append' | 'merge' = 'append',\n collapsed = false,\n): any {\n return createAIMessageContent('reasoning', data, status, strategy, { collapsed });\n}\n\n/**\n * 创建 thinking 类型的 AIMessageContent\n * @param data thinking 数据\n * @param status 状态\n * @param strategy 策略\n * @param collapsed 是否折叠\n * @returns thinking 类型的 AIMessageContent\n */\nexport function createThinkingContent(\n data: any,\n status: 'streaming' | 'complete' = 'streaming',\n strategy: 'append' | 'merge' = 'append',\n collapsed = false,\n): any {\n return createAIMessageContent('thinking', data, status, strategy, { collapsed });\n}\n\n/**\n * 创建 toolcall 类型的 AIMessageContent\n * @param toolCall 工具调用数据\n * @param status 状态\n * @param strategy 策略(可选)\n * @returns toolcall 类型的 AIMessageContent\n *\n * type 格式: toolcall-${toolCallName}-${toolCallId}\n * - toolCallName: 用于查找对应的渲染组件\n * - toolCallId: 用于区分同名工具的不同调用实例,支持并行工具调用\n */\nexport function createToolCallContent(\n toolCall: any,\n status: 'pending' | 'streaming' | 'complete' = 'pending',\n strategy?: 'append' | 'merge',\n): any {\n // 根据 toolCallName 和 toolCallId 生成唯一的 type\n // 这样同名工具的不同调用实例会有不同的 type,支持并行工具调用场景\n const type = `toolcall-${toolCall.toolCallName}-${toolCall.toolCallId}`;\n\n // 如果没有指定 strategy,默认使用 'append'\n const finalStrategy = strategy || 'append';\n\n return createAIMessageContent(type, toolCall, status, finalStrategy);\n}\n\n/**\n * 创建 activity 类型的 AIMessageContent\n * @param activityType 活动类型\n * @param content 活动内容\n * @param status 状态\n * @param strategy 策略\n * @param deltaInfo 增量信息(可选,用于 A2UI 等场景的增量处理)\n * @returns activity 类型的 AIMessageContent\n *\n * type 格式: activity-${activityType}\n * - activityType: 用于查找对应的渲染组件和区分不同类型的 Activity\n * - 支持并行多个不同类型的 Activity\n */\nexport function createActivityContent(\n activityType: string,\n content: Record<string, any>,\n status: 'streaming' | 'complete' = 'complete',\n strategy: 'append' | 'merge' = 'append',\n deltaInfo?: { fromIndex: number; toIndex: number },\n): any {\n // 使用 activity-${activityType} 格式,支持并行不同类型的 Activity\n const type = `activity-${activityType}`;\n\n const ext = deltaInfo ? { deltaInfo } : undefined;\n\n return createAIMessageContent(\n type,\n {\n activityType,\n content,\n },\n status,\n strategy,\n ext,\n );\n}\n\n/**\n * 创建 markdown 类型的 AIMessageContent\n * @param data markdown 数据\n * @param status 状态\n * @param strategy 策略\n * @param role 消息角色(可选,默认 assistant),通过 ext.role 传递给业务层\n * @returns markdown 类型的 AIMessageContent\n */\nexport function createMarkdownContent(\n data: string,\n status: 'streaming' | 'complete' = 'complete',\n strategy: 'append' | 'merge' = 'append',\n role?: 'assistant' | 'system',\n): any {\n const notAssistant = role && role !== 'assistant';\n // TODO: 这里对于textchunk中设置了role的情况delta没做合并(暂时type=`${role}-text`业务自行处理)\n const content = createAIMessageContent(notAssistant ? `${role}-text` : 'markdown', data, status, strategy);\n if (notAssistant) {\n content.ext = { ...content.ext, role };\n }\n return content;\n}\n\n/**\n * 创建 suggestion 类型的 AIMessageContent\n * @param data suggestion 数据\n * @returns suggestion 类型的 AIMessageContent\n */\nexport function createSuggestionContent(data: any[]): any {\n return createAIMessageContent('suggestion', data, 'complete', 'append');\n}\n\n/**\n * 创建 text 类型的 AIMessageContent\n * @param data 文本数据\n * @param status 状态\n * @returns text 类型的 AIMessageContent\n */\nexport function createTextContent(data: string, status: 'streaming' | 'complete' | 'error' = 'complete'): any {\n return createAIMessageContent('text', data, status, 'append');\n}\n\n/**\n * 更新工具调用对象\n * @param existingToolCall 现有工具调用\n * @param updates 更新内容\n * @returns 更新后的工具调用\n */\nexport function updateToolCall(existingToolCall: any, updates: Partial<any>): any {\n return {\n ...existingToolCall,\n ...updates,\n };\n}\n\n/**\n * 处理 suggestion 工具调用的特殊逻辑\n * @param toolCall 工具调用对象\n * @returns suggestion 内容或 null\n */\nexport function handleSuggestionToolCall(toolCall: any): any | null {\n if (toolCall.toolCallName === 'suggestion') {\n try {\n const suggestionData = JSON.parse(toolCall.result || '{}') || [];\n return createSuggestionContent(suggestionData);\n } catch (error) {\n console.warn('Failed to parse suggestion result:', error);\n return null;\n }\n }\n return null;\n}\n\n/**\n * 更新 reasoning 上下文中的内容\n * @param reasoningData 当前 reasoning 数据\n * @param index 要更新的索引\n * @param newContent 新内容\n * @returns 更新后的 reasoning 数据\n */\nexport function updateReasoningData(reasoningData: any[], index: number, newContent: any): any[] {\n const updatedData = [...reasoningData];\n if (index >= 0 && index < updatedData.length) {\n updatedData[index] = newContent;\n }\n return updatedData;\n}\n\n/**\n * 向 reasoning 数据中添加新内容\n * @param reasoningData 当前 reasoning 数据\n * @param newContent 新内容\n * @returns 更新后的 reasoning 数据和新内容的索引\n */\nexport function addToReasoningData(reasoningData: any[], newContent: any): { data: any[]; index: number } {\n const updatedData = [...reasoningData, newContent];\n return {\n data: updatedData,\n index: updatedData.length - 1,\n };\n}\n\n/**\n * 解析 reasoningContent 字段\n * @param reasoningContent 原始 reasoningContent 数据\n * @returns 解析后的数据和类型信息\n */\nexport function parseReasoningContent(reasoningContent: any): {\n type: 'reasoning' | 'thinking';\n data: any;\n} {\n let parsedContent;\n\n if (typeof reasoningContent === 'string') {\n try {\n parsedContent = JSON.parse(reasoningContent);\n } catch {\n // 解析失败时,作为简单文本处理\n return {\n type: 'thinking',\n data: { text: reasoningContent, title: '思考完成' },\n };\n }\n } else {\n parsedContent = reasoningContent;\n }\n\n // 判断解析后的数据类型\n if (Array.isArray(parsedContent)) {\n return {\n type: 'reasoning',\n data: parsedContent,\n };\n }\n return {\n type: 'thinking',\n data: parsedContent,\n };\n}\n\n/**\n * 转换 reasoning 消息数组为 AIMessageContent 数组\n * @param reasoningMessages reasoning 消息数组\n * @returns 转换后的 AIMessageContent 数组\n */\nexport function convertReasoningMessages(reasoningMessages: any[]): any[] {\n const reasoningData: any[] = [];\n const toolCallMap = new Map<string, any>();\n\n // 第一遍:收集工具调用结果\n reasoningMessages.forEach((msg) => {\n if (msg.role === 'tool') {\n toolCallMap.set(msg.toolCallId, {\n toolCallId: msg.toolCallId,\n result: msg.content,\n });\n }\n });\n\n // 第二遍:处理消息内容\n reasoningMessages.forEach((msg) => {\n if (msg.role === 'assistant') {\n // 处理嵌套的 reasoningContent(文本思考)\n if (msg.reasoningContent && typeof msg.reasoningContent === 'string') {\n reasoningData.push({\n type: 'text',\n data: msg.reasoningContent,\n status: 'complete',\n });\n }\n\n // 处理普通内容\n if (msg.content) {\n reasoningData.push({\n type: 'text', // 在 reasoning 内部,通常用 text 而不是 markdown\n data: msg.content,\n status: 'complete',\n });\n }\n\n // 处理工具调用\n if (msg.toolCalls && msg.toolCalls.length > 0) {\n msg.toolCalls.forEach((toolCall: any) => {\n const toolResult = toolCallMap.get(toolCall.id)?.result || '';\n const toolCallData = {\n toolCallId: toolCall.id,\n toolCallName: toolCall.function.name,\n args: toolCall.function.arguments,\n result: toolResult,\n };\n reasoningData.push({\n // 使用 toolCallName-toolCallId 格式,与 createToolCallContent 保持一致\n type: `toolcall-${toolCall.function.name}-${toolCall.id}`,\n data: toolCallData,\n status: 'complete',\n });\n });\n }\n }\n });\n\n return reasoningData;\n}\n\n/**\n * 处理 reasoningContent 并创建对应的 AIMessageContent\n * @param reasoningContent 原始 reasoningContent 数据\n * @returns 创建的 AIMessageContent 或 null\n */\nexport function processReasoningContent(reasoningContent: any): any | null {\n if (!reasoningContent) return null;\n\n const { type, data } = parseReasoningContent(reasoningContent);\n\n if (type === 'reasoning') {\n const reasoningData = convertReasoningMessages(data);\n return {\n type: 'reasoning',\n data: reasoningData,\n status: 'complete',\n strategy: 'append',\n ext: { collapsed: true },\n };\n }\n return {\n type: 'thinking',\n status: 'complete',\n data,\n };\n}\n\n/**\n * 处理工具调用并创建对应的 AIMessageContent 数组\n * @param toolCalls 工具调用数组\n * @param toolCallMap 工具调用结果映射\n * @returns 创建的 AIMessageContent 数组\n */\nexport function processToolCalls(toolCalls: any[], toolCallMap: Map<string, any>): any[] {\n return toolCalls.map((toolCall) => {\n const toolResult = toolCallMap.get(toolCall.id)?.result || '';\n\n // 建议类型的toolcall特殊解析\n if (toolCall.function.name === 'suggestion') {\n return {\n type: 'suggestion' as const,\n data: parseSSEData(toolResult) || [],\n };\n }\n\n const toolCallData = {\n toolCallId: toolCall.id,\n toolCallName: toolCall.function.name,\n args: toolCall.function.arguments,\n result: toolResult,\n };\n\n return {\n // 使用 toolCallName-toolCallId 格式,支持并行工具调用\n type: `toolcall-${toolCall.function.name}-${toolCall.id}` as const,\n data: toolCallData,\n };\n });\n}\n\n/**\n * 构建工具调用结果映射\n * @param historyMessages 历史消息数组\n * @returns 工具调用结果映射\n */\nexport function buildToolCallMap(historyMessages: any[]): Map<string, any> {\n const toolCallMap = new Map<string, any>();\n\n historyMessages.forEach((msg) => {\n if (msg.role === 'tool') {\n toolCallMap.set(msg.toolCallId, {\n toolCallId: msg.toolCallId,\n result: msg.content,\n });\n }\n });\n\n return toolCallMap;\n}\n"],"names":["mergeStringContent","existing","delta","existingObj","JSON","parse","deltaObj","_typeof","stringify","_objectSpread","Array","isArray","concat","_toConsumableArray","error","extractStateKeyFromDelta","event","type","length","firstDelta","path","pathParts","split","handleMessagesSnapshot","messages","flatMap","msg","role","content","map","data","status","handleCustomEvent","name","value","parseSSEData","console","warn","isValidEvent","generateConnectionId","prefix","timestamp","Date","now","Math","random","toString","substr","formatLogMessage","level","message","context","toISOString","contextStr","toUpperCase","createAIMessageContent","strategy","arguments","undefined","ext","createReasoningContent","collapsed","createThinkingContent","createToolCallContent","toolCall","toolCallName","toolCallId","finalStrategy","createActivityContent","activityType","deltaInfo","createMarkdownContent","notAssistant","createSuggestionContent","createTextContent","updateToolCall","existingToolCall","updates","handleSuggestionToolCall","suggestionData","result","updateReasoningData","reasoningData","index","newContent","updatedData","addToReasoningData","parseReasoningContent","reasoningContent","parsedContent","_unused","text","title","convertReasoningMessages","reasoningMessages","toolCallMap","Map","forEach","set","push","toolCalls","_toolCallMap$get","toolResult","get","id","toolCallData","args","processReasoningContent","_parseReasoningConten","processToolCalls","_toolCallMap$get2","buildToolCallMap","historyMessages"],"mappings":"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"}