@tdesign-react/chat 1.1.0-alpha.16 → 1.1.0-alpha.17

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 (431) hide show
  1. package/es/_chunks/{dep-dfe91b1f.js → dep-e1e84ed7.js} +1 -1
  2. package/es/_chunks/{dep-13fe70ea.js.map → dep-e1e84ed7.js.map} +1 -1
  3. package/es/chat-engine/components/index.js +8 -3
  4. package/es/chat-engine/components/index.js.map +1 -1
  5. package/es/chat-engine/components/json-render/catalog/atomic/input.js +8 -3
  6. package/es/chat-engine/components/json-render/catalog/atomic/input.js.map +1 -1
  7. package/es/chat-engine/components/json-render/index.js +8 -3
  8. package/es/chat-engine/components/json-render/index.js.map +1 -1
  9. package/es/chat-engine/components/json-render/registry/a2ui-binding.js +8 -3
  10. package/es/chat-engine/components/json-render/registry/a2ui-binding.js.map +1 -1
  11. package/es/chat-engine/components/json-render/registry/a2ui-registry.js +8 -3
  12. package/es/chat-engine/components/json-render/registry/a2ui-registry.js.map +1 -1
  13. package/es/chat-engine/components/json-render/registry/config.js +8 -3
  14. package/es/chat-engine/components/json-render/registry/config.js.map +1 -1
  15. package/es/chat-engine/components/json-render/registry/index.js +8 -3
  16. package/es/chat-engine/components/json-render/registry/index.js.map +1 -1
  17. package/es/chat-engine/components/json-render/renderer/A2UIJsonRenderActivityRenderer.js +7 -2
  18. package/es/chat-engine/components/json-render/renderer/A2UIJsonRenderActivityRenderer.js.map +1 -1
  19. package/es/chat-engine/components/provider/agent-state.js +7 -2
  20. package/es/chat-engine/components/provider/agent-state.js.map +1 -1
  21. package/es/chat-engine/components/toolcall/index.js +7 -2
  22. package/es/chat-engine/components/toolcall/index.js.map +1 -1
  23. package/es/chat-engine/components/toolcall/render.js +6 -1
  24. package/es/chat-engine/components/toolcall/render.js.map +1 -1
  25. package/es/chat-engine/core/adapters/agui/index.js +5 -50
  26. package/es/chat-engine/core/adapters/agui/index.js.map +1 -1
  27. package/es/chat-engine/core/adapters/agui/utils.d.ts +25 -2
  28. package/es/chat-engine/core/adapters/agui/utils.js +51 -11
  29. package/es/chat-engine/core/adapters/agui/utils.js.map +1 -1
  30. package/es/chat-engine/core/adapters/index.js +1 -0
  31. package/es/chat-engine/core/adapters/index.js.map +1 -1
  32. package/es/chat-engine/core/adapters/openclaw/event-mapper.d.ts +36 -14
  33. package/es/chat-engine/core/adapters/openclaw/event-mapper.js +35 -20
  34. package/es/chat-engine/core/adapters/openclaw/event-mapper.js.map +1 -1
  35. package/es/chat-engine/core/adapters/openclaw/history-converter.d.ts +120 -0
  36. package/es/chat-engine/core/adapters/openclaw/history-converter.js +251 -0
  37. package/es/chat-engine/core/adapters/openclaw/history-converter.js.map +1 -0
  38. package/es/chat-engine/core/adapters/openclaw/index.d.ts +30 -0
  39. package/es/chat-engine/core/adapters/openclaw/index.js +82 -35
  40. package/es/chat-engine/core/adapters/openclaw/index.js.map +1 -1
  41. package/es/chat-engine/core/adapters/openclaw/rpc-handler.d.ts +13 -0
  42. package/es/chat-engine/core/adapters/openclaw/rpc-handler.js +19 -0
  43. package/es/chat-engine/core/adapters/openclaw/rpc-handler.js.map +1 -1
  44. package/es/chat-engine/core/adapters/openclaw/types/config.d.ts +2 -24
  45. package/es/chat-engine/core/adapters/openclaw/types/config.js +3 -5
  46. package/es/chat-engine/core/adapters/openclaw/types/config.js.map +1 -1
  47. package/es/chat-engine/core/adapters/openclaw/types/events.d.ts +2 -0
  48. package/es/chat-engine/core/adapters/openclaw/types/events.js +1 -0
  49. package/es/chat-engine/core/adapters/openclaw/types/events.js.map +1 -1
  50. package/es/chat-engine/core/adapters/openclaw/types/messages.d.ts +9 -0
  51. package/es/chat-engine/core/adapters/openclaw/types/messages.js.map +1 -1
  52. package/es/chat-engine/core/adapters/openclaw/utils.js.map +1 -1
  53. package/es/chat-engine/core/index.d.ts +24 -24
  54. package/es/chat-engine/core/index.js +150 -317
  55. package/es/chat-engine/core/index.js.map +1 -1
  56. package/es/chat-engine/core/processor/index.d.ts +32 -0
  57. package/es/chat-engine/core/processor/index.js +75 -0
  58. package/es/chat-engine/core/processor/index.js.map +1 -1
  59. package/es/chat-engine/core/server/index.js +0 -20
  60. package/es/chat-engine/core/server/index.js.map +1 -1
  61. package/es/chat-engine/core/server/llm-service.d.ts +7 -7
  62. package/es/chat-engine/core/server/llm-service.js +12 -139
  63. package/es/chat-engine/core/server/llm-service.js.map +1 -1
  64. package/es/chat-engine/core/stream-handlers/agui-stream-handler.d.ts +24 -0
  65. package/es/chat-engine/core/stream-handlers/agui-stream-handler.js +140 -0
  66. package/es/chat-engine/core/stream-handlers/agui-stream-handler.js.map +1 -0
  67. package/es/chat-engine/core/stream-handlers/default-stream-handler.d.ts +7 -0
  68. package/es/chat-engine/core/stream-handlers/default-stream-handler.js +77 -0
  69. package/es/chat-engine/core/stream-handlers/default-stream-handler.js.map +1 -0
  70. package/es/chat-engine/core/stream-handlers/index.d.ts +21 -0
  71. package/es/chat-engine/core/stream-handlers/index.js +71 -0
  72. package/es/chat-engine/core/stream-handlers/index.js.map +1 -0
  73. package/es/chat-engine/core/stream-handlers/openclaw-stream-handler.d.ts +56 -0
  74. package/es/chat-engine/core/stream-handlers/openclaw-stream-handler.js +269 -0
  75. package/es/chat-engine/core/stream-handlers/openclaw-stream-handler.js.map +1 -0
  76. package/es/chat-engine/core/stream-handlers/types.d.ts +47 -0
  77. package/es/chat-engine/core/stream-handlers/types.js +7 -0
  78. package/es/chat-engine/core/stream-handlers/types.js.map +1 -0
  79. package/es/chat-engine/core/type.d.ts +18 -0
  80. package/es/chat-engine/hooks/index.js +7 -2
  81. package/es/chat-engine/hooks/index.js.map +1 -1
  82. package/es/chat-engine/hooks/useAgentState.js +7 -2
  83. package/es/chat-engine/hooks/useAgentState.js.map +1 -1
  84. package/es/chat-engine/hooks/useChat.js +11 -5
  85. package/es/chat-engine/hooks/useChat.js.map +1 -1
  86. package/es/chat-engine/index.js +6 -1
  87. package/es/chat-engine/index.js.map +1 -1
  88. package/es/index.js +6 -1
  89. package/es/index.js.map +1 -1
  90. package/package.json +1 -1
  91. package/es/_chunks/dep-076af7c3.js +0 -438
  92. package/es/_chunks/dep-076af7c3.js.map +0 -1
  93. package/es/_chunks/dep-1007ac80.js +0 -205
  94. package/es/_chunks/dep-1007ac80.js.map +0 -1
  95. package/es/_chunks/dep-13fe70ea.js +0 -438
  96. package/es/_chunks/dep-16520c2b.js +0 -1247
  97. package/es/_chunks/dep-16520c2b.js.map +0 -1
  98. package/es/_chunks/dep-1743bd61.js +0 -438
  99. package/es/_chunks/dep-1743bd61.js.map +0 -1
  100. package/es/_chunks/dep-1ca64fef.js +0 -1247
  101. package/es/_chunks/dep-1ca64fef.js.map +0 -1
  102. package/es/_chunks/dep-24472232.js +0 -839
  103. package/es/_chunks/dep-24472232.js.map +0 -1
  104. package/es/_chunks/dep-2bfe72cb.js +0 -438
  105. package/es/_chunks/dep-2bfe72cb.js.map +0 -1
  106. package/es/_chunks/dep-3864b369.js +0 -839
  107. package/es/_chunks/dep-3864b369.js.map +0 -1
  108. package/es/_chunks/dep-3e40d789.js +0 -169
  109. package/es/_chunks/dep-3e40d789.js.map +0 -1
  110. package/es/_chunks/dep-4dedfbef.js +0 -438
  111. package/es/_chunks/dep-4dedfbef.js.map +0 -1
  112. package/es/_chunks/dep-56f5e08e.js +0 -448
  113. package/es/_chunks/dep-56f5e08e.js.map +0 -1
  114. package/es/_chunks/dep-58d90dfe.js +0 -438
  115. package/es/_chunks/dep-58d90dfe.js.map +0 -1
  116. package/es/_chunks/dep-5b6b17d0.js +0 -169
  117. package/es/_chunks/dep-5b6b17d0.js.map +0 -1
  118. package/es/_chunks/dep-5e2400d2.js +0 -438
  119. package/es/_chunks/dep-5e2400d2.js.map +0 -1
  120. package/es/_chunks/dep-60f2a734.js +0 -169
  121. package/es/_chunks/dep-60f2a734.js.map +0 -1
  122. package/es/_chunks/dep-688e4aaa.js +0 -438
  123. package/es/_chunks/dep-688e4aaa.js.map +0 -1
  124. package/es/_chunks/dep-771678df.js +0 -438
  125. package/es/_chunks/dep-771678df.js.map +0 -1
  126. package/es/_chunks/dep-870f0d35.js +0 -839
  127. package/es/_chunks/dep-870f0d35.js.map +0 -1
  128. package/es/_chunks/dep-93283bbd.js +0 -1247
  129. package/es/_chunks/dep-93283bbd.js.map +0 -1
  130. package/es/_chunks/dep-96eca06f.js +0 -169
  131. package/es/_chunks/dep-96eca06f.js.map +0 -1
  132. package/es/_chunks/dep-98d23dfa.js +0 -169
  133. package/es/_chunks/dep-98d23dfa.js.map +0 -1
  134. package/es/_chunks/dep-991f7c12.js +0 -1247
  135. package/es/_chunks/dep-991f7c12.js.map +0 -1
  136. package/es/_chunks/dep-b4eec30f.js +0 -1247
  137. package/es/_chunks/dep-b4eec30f.js.map +0 -1
  138. package/es/_chunks/dep-ba3bd553.js +0 -169
  139. package/es/_chunks/dep-ba3bd553.js.map +0 -1
  140. package/es/_chunks/dep-bcb234a1.js +0 -839
  141. package/es/_chunks/dep-bcb234a1.js.map +0 -1
  142. package/es/_chunks/dep-dbdfe7d6.js +0 -169
  143. package/es/_chunks/dep-dbdfe7d6.js.map +0 -1
  144. package/es/_chunks/dep-de8ac730.js +0 -1247
  145. package/es/_chunks/dep-de8ac730.js.map +0 -1
  146. package/es/_chunks/dep-dfe91b1f.js.map +0 -1
  147. package/es/_chunks/dep-e9dbff09.js +0 -1247
  148. package/es/_chunks/dep-e9dbff09.js.map +0 -1
  149. package/es/_chunks/dep-ebc4cf30.js +0 -1247
  150. package/es/_chunks/dep-ebc4cf30.js.map +0 -1
  151. package/es/_chunks/dep-f2051ebd.js +0 -839
  152. package/es/_chunks/dep-f2051ebd.js.map +0 -1
  153. package/es/_chunks/dep-f691a67e.js +0 -438
  154. package/es/_chunks/dep-f691a67e.js.map +0 -1
  155. package/es/_chunks/dep-f8016301.js +0 -169
  156. package/es/_chunks/dep-f8016301.js.map +0 -1
  157. package/es/chat-actionbar/_example-js/base.d.ts +0 -2
  158. package/es/chat-actionbar/_example-js/custom.d.ts +0 -2
  159. package/es/chat-actionbar/_example-js/style.d.ts +0 -2
  160. package/es/chat-attachments/_example-js/base.d.ts +0 -2
  161. package/es/chat-attachments/_example-js/scroll-x.d.ts +0 -2
  162. package/es/chat-attachments/_example-js/scroll-y.d.ts +0 -2
  163. package/es/chat-attachments/index.d.ts +0 -5
  164. package/es/chat-attachments/index.js +0 -26
  165. package/es/chat-attachments/index.js.map +0 -1
  166. package/es/chat-engine/_example-js/agui-basic.d.ts +0 -10
  167. package/es/chat-engine/_example-js/agui-comprehensive.d.ts +0 -2
  168. package/es/chat-engine/_example-js/agui-test.d.ts +0 -11
  169. package/es/chat-engine/_example-js/agui-toolcall.d.ts +0 -5
  170. package/es/chat-engine/_example-js/agui-videoclip.d.ts +0 -8
  171. package/es/chat-engine/_example-js/agui.d.ts +0 -1
  172. package/es/chat-engine/_example-js/basic.d.ts +0 -9
  173. package/es/chat-engine/_example-js/components/HotelCard.d.ts +0 -3
  174. package/es/chat-engine/_example-js/components/HumanInputForm.d.ts +0 -6
  175. package/es/chat-engine/_example-js/components/HumanInputResult.d.ts +0 -3
  176. package/es/chat-engine/_example-js/components/ItineraryCard.d.ts +0 -3
  177. package/es/chat-engine/_example-js/components/PlanningStatePanel.d.ts +0 -4
  178. package/es/chat-engine/_example-js/components/Toolcall.d.ts +0 -4
  179. package/es/chat-engine/_example-js/components/WeatherCard.d.ts +0 -3
  180. package/es/chat-engine/_example-js/components/login.d.ts +0 -1
  181. package/es/chat-engine/_example-js/comprehensive.d.ts +0 -12
  182. package/es/chat-engine/_example-js/custom-content.d.ts +0 -1
  183. package/es/chat-engine/_example-js/hookComponent.d.ts +0 -1
  184. package/es/chat-engine/_example-js/initial-messages.d.ts +0 -9
  185. package/es/chat-engine/_example-js/instance-methods.d.ts +0 -13
  186. package/es/chat-engine/_example-js/travel-actions.d.ts +0 -91
  187. package/es/chat-engine/_example-js/travelToolcall.d.ts +0 -1
  188. package/es/chat-engine/components/a2ui/A2UIActivityRenderer.d.ts +0 -196
  189. package/es/chat-engine/components/a2ui/A2UIActivityRenderer.js +0 -301
  190. package/es/chat-engine/components/a2ui/A2UIActivityRenderer.js.map +0 -1
  191. package/es/chat-engine/components/a2ui/A2UIComponentRenderer.d.ts +0 -37
  192. package/es/chat-engine/components/a2ui/A2UIComponentRenderer.js +0 -116
  193. package/es/chat-engine/components/a2ui/A2UIComponentRenderer.js.map +0 -1
  194. package/es/chat-engine/components/a2ui/A2UIErrorBoundary.d.ts +0 -42
  195. package/es/chat-engine/components/a2ui/A2UIErrorBoundary.js +0 -113
  196. package/es/chat-engine/components/a2ui/A2UIErrorBoundary.js.map +0 -1
  197. package/es/chat-engine/components/a2ui/A2UISkeleton.d.ts +0 -60
  198. package/es/chat-engine/components/a2ui/A2UISkeleton.js +0 -197
  199. package/es/chat-engine/components/a2ui/A2UISkeleton.js.map +0 -1
  200. package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.d.ts +0 -44
  201. package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.js +0 -139
  202. package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.js.map +0 -1
  203. package/es/chat-engine/components/a2ui/containers/A2UICard.d.ts +0 -22
  204. package/es/chat-engine/components/a2ui/containers/A2UICard.js +0 -82
  205. package/es/chat-engine/components/a2ui/containers/A2UICard.js.map +0 -1
  206. package/es/chat-engine/components/a2ui/containers/A2UIColumn.d.ts +0 -18
  207. package/es/chat-engine/components/a2ui/containers/A2UIColumn.js +0 -81
  208. package/es/chat-engine/components/a2ui/containers/A2UIColumn.js.map +0 -1
  209. package/es/chat-engine/components/a2ui/containers/A2UIList.d.ts +0 -14
  210. package/es/chat-engine/components/a2ui/containers/A2UIList.js +0 -62
  211. package/es/chat-engine/components/a2ui/containers/A2UIList.js.map +0 -1
  212. package/es/chat-engine/components/a2ui/containers/A2UIRow.d.ts +0 -20
  213. package/es/chat-engine/components/a2ui/containers/A2UIRow.js +0 -84
  214. package/es/chat-engine/components/a2ui/containers/A2UIRow.js.map +0 -1
  215. package/es/chat-engine/components/a2ui/containers/A2UITabs.d.ts +0 -14
  216. package/es/chat-engine/components/a2ui/containers/A2UITabs.js +0 -69
  217. package/es/chat-engine/components/a2ui/containers/A2UITabs.js.map +0 -1
  218. package/es/chat-engine/components/a2ui/containers/index.d.ts +0 -8
  219. package/es/chat-engine/components/a2ui/containers/index.js +0 -30
  220. package/es/chat-engine/components/a2ui/containers/index.js.map +0 -1
  221. package/es/chat-engine/components/a2ui/index.d.ts +0 -11
  222. package/es/chat-engine/components/a2ui/index.js +0 -62
  223. package/es/chat-engine/components/a2ui/index.js.map +0 -1
  224. package/es/chat-engine/components/a2ui/primitives/A2UIButton.d.ts +0 -33
  225. package/es/chat-engine/components/a2ui/primitives/A2UIButton.js +0 -80
  226. package/es/chat-engine/components/a2ui/primitives/A2UIButton.js.map +0 -1
  227. package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.d.ts +0 -12
  228. package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.js +0 -43
  229. package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.js.map +0 -1
  230. package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.d.ts +0 -50
  231. package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.js +0 -54
  232. package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.js.map +0 -1
  233. package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.d.ts +0 -13
  234. package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.js +0 -89
  235. package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.js.map +0 -1
  236. package/es/chat-engine/components/a2ui/primitives/A2UIDivider.d.ts +0 -12
  237. package/es/chat-engine/components/a2ui/primitives/A2UIDivider.js +0 -25
  238. package/es/chat-engine/components/a2ui/primitives/A2UIDivider.js.map +0 -1
  239. package/es/chat-engine/components/a2ui/primitives/A2UIIcon.d.ts +0 -13
  240. package/es/chat-engine/components/a2ui/primitives/A2UIIcon.js +0 -138942
  241. package/es/chat-engine/components/a2ui/primitives/A2UIIcon.js.map +0 -1
  242. package/es/chat-engine/components/a2ui/primitives/A2UIImage.d.ts +0 -12
  243. package/es/chat-engine/components/a2ui/primitives/A2UIImage.js +0 -75
  244. package/es/chat-engine/components/a2ui/primitives/A2UIImage.js.map +0 -1
  245. package/es/chat-engine/components/a2ui/primitives/A2UIInput.d.ts +0 -20
  246. package/es/chat-engine/components/a2ui/primitives/A2UIInput.js +0 -63
  247. package/es/chat-engine/components/a2ui/primitives/A2UIInput.js.map +0 -1
  248. package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.d.ts +0 -56
  249. package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.js +0 -64
  250. package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.js.map +0 -1
  251. package/es/chat-engine/components/a2ui/primitives/A2UISlider.d.ts +0 -12
  252. package/es/chat-engine/components/a2ui/primitives/A2UISlider.js +0 -55
  253. package/es/chat-engine/components/a2ui/primitives/A2UISlider.js.map +0 -1
  254. package/es/chat-engine/components/a2ui/primitives/A2UIText.d.ts +0 -12
  255. package/es/chat-engine/components/a2ui/primitives/A2UIText.js +0 -104
  256. package/es/chat-engine/components/a2ui/primitives/A2UIText.js.map +0 -1
  257. package/es/chat-engine/components/a2ui/primitives/A2UITextField.d.ts +0 -12
  258. package/es/chat-engine/components/a2ui/primitives/A2UITextField.js +0 -80
  259. package/es/chat-engine/components/a2ui/primitives/A2UITextField.js.map +0 -1
  260. package/es/chat-engine/components/a2ui/primitives/index.d.ts +0 -15
  261. package/es/chat-engine/components/a2ui/primitives/index.js +0 -39
  262. package/es/chat-engine/components/a2ui/primitives/index.js.map +0 -1
  263. package/es/chat-engine/components/a2ui/registry.d.ts +0 -35
  264. package/es/chat-engine/components/a2ui/registry.js +0 -74
  265. package/es/chat-engine/components/a2ui/registry.js.map +0 -1
  266. package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.d.ts +0 -36
  267. package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.js +0 -36
  268. package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.js.map +0 -1
  269. package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.d.ts +0 -46
  270. package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.js +0 -36
  271. package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.js.map +0 -1
  272. package/es/chat-engine/components/json-render/SurfaceStateManager.d.ts +0 -113
  273. package/es/chat-engine/components/json-render/SurfaceStateManager.js +0 -195
  274. package/es/chat-engine/components/json-render/SurfaceStateManager.js.map +0 -1
  275. package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.d.ts +0 -49
  276. package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.js +0 -307
  277. package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.js.map +0 -1
  278. package/es/chat-engine/components/json-render/adapters/a2ui-types.d.ts +0 -96
  279. package/es/chat-engine/components/json-render/adapters/a2ui-types.js +0 -7
  280. package/es/chat-engine/components/json-render/adapters/a2ui-types.js.map +0 -1
  281. package/es/chat-engine/components/json-render/adapters/index.d.ts +0 -7
  282. package/es/chat-engine/components/json-render/adapters/index.js +0 -11
  283. package/es/chat-engine/components/json-render/adapters/index.js.map +0 -1
  284. package/es/chat-engine/components/json-render/catalog/a2ui-binding.d.ts +0 -64
  285. package/es/chat-engine/components/json-render/catalog/a2ui-binding.js +0 -36
  286. package/es/chat-engine/components/json-render/catalog/a2ui-binding.js.map +0 -1
  287. package/es/chat-engine/components/json-render/catalog/a2ui-registry.d.ts +0 -78
  288. package/es/chat-engine/components/json-render/catalog/a2ui-registry.js +0 -36
  289. package/es/chat-engine/components/json-render/catalog/a2ui-registry.js.map +0 -1
  290. package/es/chat-engine/components/json-render/catalog/button.d.ts +0 -14
  291. package/es/chat-engine/components/json-render/catalog/button.js +0 -71
  292. package/es/chat-engine/components/json-render/catalog/button.js.map +0 -1
  293. package/es/chat-engine/components/json-render/catalog/card.d.ts +0 -11
  294. package/es/chat-engine/components/json-render/catalog/card.js +0 -57
  295. package/es/chat-engine/components/json-render/catalog/card.js.map +0 -1
  296. package/es/chat-engine/components/json-render/catalog/index.d.ts +0 -128
  297. package/es/chat-engine/components/json-render/catalog/index.js +0 -36
  298. package/es/chat-engine/components/json-render/catalog/index.js.map +0 -1
  299. package/es/chat-engine/components/json-render/catalog/input.d.ts +0 -20
  300. package/es/chat-engine/components/json-render/catalog/input.js +0 -36
  301. package/es/chat-engine/components/json-render/catalog/input.js.map +0 -1
  302. package/es/chat-engine/components/json-render/catalog/layout.d.ts +0 -44
  303. package/es/chat-engine/components/json-render/catalog/layout.js +0 -129
  304. package/es/chat-engine/components/json-render/catalog/layout.js.map +0 -1
  305. package/es/chat-engine/components/json-render/catalog/text.d.ts +0 -11
  306. package/es/chat-engine/components/json-render/catalog/text.js +0 -31
  307. package/es/chat-engine/components/json-render/catalog/text.js.map +0 -1
  308. package/es/chat-engine/components/json-render/catalog.d.ts +0 -614
  309. package/es/chat-engine/components/json-render/catalog.js +0 -779
  310. package/es/chat-engine/components/json-render/catalog.js.map +0 -1
  311. package/es/chat-engine/components/json-render/config.d.ts +0 -154
  312. package/es/chat-engine/components/json-render/config.js +0 -36
  313. package/es/chat-engine/components/json-render/config.js.map +0 -1
  314. package/es/chat-engine/components/json-render/engine.d.ts +0 -58
  315. package/es/chat-engine/components/json-render/engine.js +0 -88
  316. package/es/chat-engine/components/json-render/engine.js.map +0 -1
  317. package/es/chat-engine/components/json-render/performance.d.ts +0 -91
  318. package/es/chat-engine/components/json-render/performance.js +0 -135
  319. package/es/chat-engine/components/json-render/performance.js.map +0 -1
  320. package/es/chat-engine/components/json-render/renderer/index.d.ts +0 -71
  321. package/es/chat-engine/components/json-render/renderer/index.js +0 -125
  322. package/es/chat-engine/components/json-render/renderer/index.js.map +0 -1
  323. package/es/chat-engine/components/json-render/renderer.d.ts +0 -71
  324. package/es/chat-engine/components/json-render/renderer.js +0 -124
  325. package/es/chat-engine/components/json-render/renderer.js.map +0 -1
  326. package/es/chat-engine/core/a2ui/index.d.ts +0 -10
  327. package/es/chat-engine/core/a2ui/index.js +0 -24
  328. package/es/chat-engine/core/a2ui/index.js.map +0 -1
  329. package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.d.ts +0 -197
  330. package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.js +0 -438
  331. package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.js.map +0 -1
  332. package/es/chat-engine/core/a2ui/processor/ComponentTree.d.ts +0 -53
  333. package/es/chat-engine/core/a2ui/processor/ComponentTree.js +0 -158
  334. package/es/chat-engine/core/a2ui/processor/ComponentTree.js.map +0 -1
  335. package/es/chat-engine/core/a2ui/processor/DataStore.d.ts +0 -63
  336. package/es/chat-engine/core/a2ui/processor/DataStore.js +0 -172
  337. package/es/chat-engine/core/a2ui/processor/DataStore.js.map +0 -1
  338. package/es/chat-engine/core/a2ui/processor/PathResolver.d.ts +0 -47
  339. package/es/chat-engine/core/a2ui/processor/PathResolver.js +0 -99
  340. package/es/chat-engine/core/a2ui/processor/PathResolver.js.map +0 -1
  341. package/es/chat-engine/core/a2ui/types/index.d.ts +0 -4
  342. package/es/chat-engine/core/a2ui/types/index.js +0 -9
  343. package/es/chat-engine/core/a2ui/types/index.js.map +0 -1
  344. package/es/chat-engine/core/a2ui/types/types.d.ts +0 -770
  345. package/es/chat-engine/core/a2ui/types/types.js +0 -104
  346. package/es/chat-engine/core/a2ui/types/types.js.map +0 -1
  347. package/es/chat-engine/core/a2ui/utils/binding.d.ts +0 -34
  348. package/es/chat-engine/core/a2ui/utils/binding.js +0 -1784
  349. package/es/chat-engine/core/a2ui/utils/binding.js.map +0 -1
  350. package/es/chat-engine/core/a2ui/utils/index.d.ts +0 -5
  351. package/es/chat-engine/core/a2ui/utils/index.js +0 -13
  352. package/es/chat-engine/core/a2ui/utils/index.js.map +0 -1
  353. package/es/chat-engine/core/a2ui/utils/validation.d.ts +0 -70
  354. package/es/chat-engine/core/a2ui/utils/validation.js +0 -333
  355. package/es/chat-engine/core/a2ui/utils/validation.js.map +0 -1
  356. package/es/chat-engine/core/adapters/agui/activity-manager.d.ts +0 -102
  357. package/es/chat-engine/core/adapters/agui/activity-manager.js +0 -150
  358. package/es/chat-engine/core/adapters/agui/activity-manager.js.map +0 -1
  359. package/es/chat-engine/core/adapters/agui/events.d.ts +0 -1550
  360. package/es/chat-engine/core/adapters/agui/events.js +0 -199
  361. package/es/chat-engine/core/adapters/agui/events.js.map +0 -1
  362. package/es/chat-engine/core/adapters/agui/state-manager.d.ts +0 -99
  363. package/es/chat-engine/core/adapters/agui/state-manager.js +0 -174
  364. package/es/chat-engine/core/adapters/agui/state-manager.js.map +0 -1
  365. package/es/chat-engine/core/adapters/agui/types.d.ts +0 -818
  366. package/es/chat-engine/core/adapters/agui/types.js +0 -95
  367. package/es/chat-engine/core/adapters/agui/types.js.map +0 -1
  368. package/es/chat-engine/hooks/a2ui/A2UIContext.d.ts +0 -90
  369. package/es/chat-engine/hooks/a2ui/A2UIContext.js +0 -97
  370. package/es/chat-engine/hooks/a2ui/A2UIContext.js.map +0 -1
  371. package/es/chat-engine/hooks/a2ui/index.d.ts +0 -12
  372. package/es/chat-engine/hooks/a2ui/index.js +0 -19
  373. package/es/chat-engine/hooks/a2ui/index.js.map +0 -1
  374. package/es/chat-engine/hooks/a2ui/useA2UIAction.d.ts +0 -40
  375. package/es/chat-engine/hooks/a2ui/useA2UIAction.js +0 -74
  376. package/es/chat-engine/hooks/a2ui/useA2UIAction.js.map +0 -1
  377. package/es/chat-engine/hooks/a2ui/useA2UISurface.d.ts +0 -36
  378. package/es/chat-engine/hooks/a2ui/useA2UISurface.js +0 -39
  379. package/es/chat-engine/hooks/a2ui/useA2UISurface.js.map +0 -1
  380. package/es/chat-engine/hooks/a2ui/useDataBinding.d.ts +0 -53
  381. package/es/chat-engine/hooks/a2ui/useDataBinding.js +0 -111
  382. package/es/chat-engine/hooks/a2ui/useDataBinding.js.map +0 -1
  383. package/es/chat-engine/hooks/useJsonRenderActivity.d.ts +0 -56
  384. package/es/chat-engine/hooks/useJsonRenderActivity.js +0 -63
  385. package/es/chat-engine/hooks/useJsonRenderActivity.js.map +0 -1
  386. package/es/chat-filecard/_example-js/base.d.ts +0 -1
  387. package/es/chat-loading/_example-js/base.d.ts +0 -2
  388. package/es/chat-loading/_example-js/text.d.ts +0 -2
  389. package/es/chat-markdown/_example-js/base.d.ts +0 -1
  390. package/es/chat-markdown/_example-js/custom.d.ts +0 -2
  391. package/es/chat-markdown/_example-js/event.d.ts +0 -1
  392. package/es/chat-markdown/_example-js/footnote.d.ts +0 -2
  393. package/es/chat-markdown/_example-js/plugin.d.ts +0 -2
  394. package/es/chat-markdown/_example-js/theme.d.ts +0 -2
  395. package/es/chat-message/_example-js/action.d.ts +0 -1
  396. package/es/chat-message/_example-js/base.d.ts +0 -1
  397. package/es/chat-message/_example-js/configure.d.ts +0 -1
  398. package/es/chat-message/_example-js/content.d.ts +0 -1
  399. package/es/chat-message/_example-js/custom.d.ts +0 -1
  400. package/es/chat-message/_example-js/handle-actions.d.ts +0 -7
  401. package/es/chat-message/_example-js/status.d.ts +0 -1
  402. package/es/chat-message/_example-js/think.d.ts +0 -1
  403. package/es/chat-sender/_example-js/attachment.d.ts +0 -2
  404. package/es/chat-sender/_example-js/base.d.ts +0 -2
  405. package/es/chat-sender/_example-js/custom.d.ts +0 -2
  406. package/es/chat-thinking/_example-js/base.d.ts +0 -1
  407. package/es/chat-thinking/_example-js/style.d.ts +0 -1
  408. package/es/chatbot/_example-js/agent.d.ts +0 -1
  409. package/es/chatbot/_example-js/agui.d.ts +0 -13
  410. package/es/chatbot/_example-js/backup/travel.d.ts +0 -1
  411. package/es/chatbot/_example-js/basic.d.ts +0 -1
  412. package/es/chatbot/_example-js/code.d.ts +0 -1
  413. package/es/chatbot/_example-js/components/ItineraryCard.d.ts +0 -3
  414. package/es/chatbot/_example-js/components/login.d.ts +0 -1
  415. package/es/chatbot/_example-js/comprehensive.d.ts +0 -1
  416. package/es/chatbot/_example-js/custom-content.d.ts +0 -1
  417. package/es/chatbot/_example-js/custom-merge.d.ts +0 -1
  418. package/es/chatbot/_example-js/custom.d.ts +0 -1
  419. package/es/chatbot/_example-js/docs.d.ts +0 -1
  420. package/es/chatbot/_example-js/image.d.ts +0 -1
  421. package/es/chatbot/_example-js/initial-messages.d.ts +0 -9
  422. package/es/chatbot/_example-js/instance-methods.d.ts +0 -14
  423. package/es/chatbot/_example-js/nostream.d.ts +0 -1
  424. package/es/chatbot/_example-js/quick-start.d.ts +0 -9
  425. package/es/chatbot/_example-js/research.d.ts +0 -1
  426. package/es/chatbot/_example-js/role-message-config.d.ts +0 -22
  427. package/es/chatbot/_example-js/sender-config.d.ts +0 -20
  428. package/es/chatbot/_example-js/service-config.d.ts +0 -17
  429. package/es/chatbot/_example-js/simple.d.ts +0 -1
  430. package/es/chatbot/_example-js/utils/messageRenderer.d.ts +0 -5
  431. package/es/chatbot/docs/react-best-practice.d.ts +0 -13
@@ -1,196 +0,0 @@
1
- /**
2
- * A2UI Activity 渲染器
3
- * 将 A2UI v0.9 协议数据作为 Activity 进行渲染
4
- *
5
- * 支持的消息格式:
6
- * 1. A2UI v0.9 原生格式(createSurface、updateComponents、updateDataModel、deleteSurface)
7
- * 2. 简化的 surface 格式(向后兼容)
8
- *
9
- * 使用方式:
10
- * 1. 通过 useAgentActivity 注册此组件
11
- * 2. 后端发送 ACTIVITY_SNAPSHOT/ACTIVITY_DELTA 事件,activityType 为 'a2ui-surface'
12
- * 3. content 中包含 A2UI 协议消息
13
- */
14
- import React from 'react';
15
- import type { A2UIServerMessage, A2UIComponentBase, A2UIAction, ActionHandler, ActionContext, SkeletonHint } from '../../core/a2ui';
16
- import type { ComponentRegistry } from '../../hooks/a2ui/A2UIContext';
17
- /**
18
- * UserAction 消息格式(A2UI 0.9 规范)
19
- * 用于发送给服务端的用户操作消息
20
- */
21
- export interface UserActionMessage {
22
- /** Action 名称 */
23
- name: string;
24
- /** 触发 Action 的 Surface ID */
25
- surfaceId: string;
26
- /** 触发 Action 的组件 ID */
27
- sourceComponentId: string;
28
- /** 时间戳 */
29
- timestamp: string;
30
- /** 解析后的上下文数据(数据绑定路径已解析为实际值) */
31
- context: Record<string, unknown>;
32
- }
33
- /**
34
- * Action 处理结果
35
- * 返回给业务层,由业务层决定如何处理
36
- */
37
- export interface ActionResult {
38
- /** 构造好的 userAction 消息 */
39
- userActionMessage: UserActionMessage;
40
- /** 原始 Action 定义 */
41
- action: A2UIAction;
42
- /** Action 上下文 */
43
- actionContext?: ActionContext;
44
- }
45
- /**
46
- * Action 处理回调
47
- * 业务层通过此回调接收解析后的 Action 数据,自行决定是否发送请求
48
- */
49
- export type OnActionCallback = (result: ActionResult) => void | Promise<void>;
50
- /**
51
- * 创建 A2UI 0.9 协议标准的 Action 处理器
52
- *
53
- * 职责:
54
- * 1. 解析 Action 中的数据绑定路径
55
- * 2. 构造标准的 UserActionMessage
56
- * 3. 将处理结果传递给业务层回调
57
- *
58
- * @param onAction 业务层回调,接收解析后的 ActionResult
59
- * @returns ActionHandler
60
- */
61
- export declare function createA2UIActionHandler(onAction: OnActionCallback): ActionHandler;
62
- /**
63
- * A2UI Activity Content 类型
64
- * 支持 A2UI v0.9 原生格式和简化格式
65
- */
66
- export interface A2UIActivityContent {
67
- /** A2UI v0.9 消息列表(标准名称) */
68
- messages?: A2UIServerMessage[];
69
- /** A2UI v0.9 消息列表(别名,向后兼容) */
70
- operations?: A2UIServerMessage[];
71
- /** 简化模式:单个 Surface 定义 */
72
- surface?: {
73
- id?: string;
74
- root?: A2UIComponentBase;
75
- data?: Record<string, unknown>;
76
- skeletonHint?: SkeletonHint;
77
- };
78
- /** Surface ID(用于简化模式) */
79
- surfaceId?: string;
80
- }
81
- /**
82
- * 增量信息类型
83
- */
84
- export interface DeltaInfo {
85
- fromIndex: number;
86
- toIndex: number;
87
- }
88
- export interface A2UIActivityRendererProps {
89
- /** Activity 类型 */
90
- activityType?: string;
91
- /** Activity 内容数据 */
92
- content: A2UIActivityContent;
93
- /** 关联的消息 ID */
94
- messageId: string;
95
- /** 自定义组件注册表 */
96
- registry?: ComponentRegistry;
97
- /** Action 处理回调 */
98
- onAction?: ActionHandler;
99
- /**
100
- * 加载中占位
101
- * - ReactNode: 自定义骨架屏组件
102
- * - true: 使用服务端 skeletonHint 自动渲染骨架屏
103
- */
104
- loading?: React.ReactNode | boolean;
105
- /** 自定义类名 */
106
- className?: string;
107
- /** 自定义样式 */
108
- style?: React.CSSProperties;
109
- /** 增量信息(由 AG-UI adapter 提供) */
110
- deltaInfo?: DeltaInfo;
111
- }
112
- /**
113
- * A2UI Activity 渲染器组件
114
- */
115
- export declare const A2UIActivityRenderer: React.FC<A2UIActivityRendererProps>;
116
- /**
117
- * A2UI Activity 配置选项
118
- */
119
- export interface A2UIActivityConfigOptions {
120
- /** Activity 类型标识 */
121
- activityType?: string;
122
- /** 自定义组件注册表 */
123
- registry?: ComponentRegistry;
124
- /**
125
- * Action 处理回调(推荐使用)
126
- *
127
- * 接收解析后的 ActionResult,包含:
128
- * - userActionMessage: 构造好的标准消息,可直接发送给服务端
129
- * - action: 原始 Action 定义
130
- * - actionContext: Action 上下文(包含 getData、updateData 等方法)
131
- *
132
- * 业务层自行决定:
133
- * 1. 是否需要发送请求到服务端
134
- * 2. 是否需要本地处理(如 reset 操作)
135
- * 3. 是否需要更新本地状态
136
- *
137
- * @example
138
- * ```tsx
139
- * createA2UIActivityConfig({
140
- * onAction: async ({ userActionMessage, action, actionContext }) => {
141
- * // 根据 action.name 决定处理方式
142
- * if (action.name === 'reset') {
143
- * // 本地处理,不发送请求
144
- * actionContext?.updateData('/', initialData);
145
- * return;
146
- * }
147
- *
148
- * // 发送请求到服务端
149
- * await chatEngine.sendAIMessage({
150
- * params: { userActionMessage },
151
- * sendRequest: true,
152
- * });
153
- * }
154
- * })
155
- * ```
156
- */
157
- onAction?: OnActionCallback;
158
- /** 加载中占位 */
159
- loading?: React.ReactNode | boolean;
160
- }
161
- /**
162
- * 创建 A2UI Activity 配置
163
- *
164
- * @example
165
- * ```tsx
166
- * const { chatEngine } = useChat({ ... });
167
- *
168
- * const a2uiConfig = useMemo(() => createA2UIActivityConfig({
169
- * onAction: async ({ userActionMessage, action }) => {
170
- * // 本地操作不发请求
171
- * if (action.name === 'reset') return;
172
- *
173
- * // 其他操作发送到服务端
174
- * await chatEngine.sendAIMessage({
175
- * params: { userActionMessage },
176
- * sendRequest: true,
177
- * });
178
- * }
179
- * }), [chatEngine]);
180
- *
181
- * useAgentActivity(a2uiConfig);
182
- * ```
183
- */
184
- export declare function createA2UIActivityConfig(options?: A2UIActivityConfigOptions): {
185
- activityType: string;
186
- component: (props: {
187
- activityType: string;
188
- content: A2UIActivityContent;
189
- messageId: string;
190
- ext?: {
191
- deltaInfo?: DeltaInfo;
192
- };
193
- }) => import("react/jsx-runtime").JSX.Element;
194
- description: string;
195
- };
196
- export default A2UIActivityRenderer;
@@ -1,301 +0,0 @@
1
- /**
2
- * tdesign v1.0.2-alpha.14
3
- * (c) 2026 tdesign
4
- * @license MIT
5
- */
6
-
7
- import _defineProperty from '@babel/runtime/helpers/defineProperty';
8
- import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
9
- import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
10
- import _typeof from '@babel/runtime/helpers/typeof';
11
- import _regeneratorRuntime from '@babel/runtime/regenerator';
12
- import React__default, { useRef, useSyncExternalStore, useEffect, useMemo } from 'react';
13
- import '../../core/a2ui/index.js';
14
- import { A2UISurfaceRenderer } from './A2UISurfaceRenderer.js';
15
- import { defaultComponentRegistry } from './registry.js';
16
- import { A2uiMessageProcessor } from '../../core/a2ui/processor/A2uiMessageProcessor.js';
17
- import '../../core/a2ui/types/index.js';
18
- import '../../core/a2ui/types/types.js';
19
- import 'zod';
20
- import '../../core/a2ui/utils/index.js';
21
- import '../../core/a2ui/utils/binding.js';
22
- import '../../core/a2ui/utils/validation.js';
23
- import '@babel/runtime/helpers/toConsumableArray';
24
- import '../../core/a2ui/processor/DataStore.js';
25
- import '@babel/runtime/helpers/toArray';
26
- import '@babel/runtime/helpers/classCallCheck';
27
- import '@babel/runtime/helpers/createClass';
28
- import '../../core/a2ui/processor/ComponentTree.js';
29
- import '../../core/a2ui/processor/PathResolver.js';
30
- import '../../hooks/a2ui/A2UIContext.js';
31
- import '../../hooks/a2ui/useA2UISurface.js';
32
- import './A2UIComponentRenderer.js';
33
- import './A2UIErrorBoundary.js';
34
- import '@babel/runtime/helpers/possibleConstructorReturn';
35
- import '@babel/runtime/helpers/getPrototypeOf';
36
- import '@babel/runtime/helpers/inherits';
37
- import './A2UISkeleton.js';
38
- import 'tdesign-react';
39
- import './primitives/A2UIText.js';
40
- import 'classnames';
41
- import '../../hooks/a2ui/useDataBinding.js';
42
- import './primitives/A2UIImage.js';
43
- import './primitives/A2UIIcon.js';
44
- import './primitives/A2UIButton.js';
45
- import '../../hooks/a2ui/useA2UIAction.js';
46
- import './primitives/A2UIInput.js';
47
- import './primitives/A2UITextField.js';
48
- import './primitives/A2UICheckBox.js';
49
- import './primitives/A2UIChoicePicker.js';
50
- import './primitives/A2UISlider.js';
51
- import './primitives/A2UIRadioGroup.js';
52
- import './primitives/A2UICheckboxGroup.js';
53
- import './primitives/A2UIDivider.js';
54
- import './containers/A2UICard.js';
55
- import './containers/A2UIRow.js';
56
- import './containers/A2UIColumn.js';
57
- import './containers/A2UIList.js';
58
- import './containers/A2UITabs.js';
59
-
60
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
61
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
62
- function resolveActionContext(actionContext, getData) {
63
- var resolved = {};
64
- if (!actionContext || _typeof(actionContext) !== "object") {
65
- return resolved;
66
- }
67
- for (var _i = 0, _Object$entries = Object.entries(actionContext); _i < _Object$entries.length; _i++) {
68
- var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
69
- key = _Object$entries$_i[0],
70
- value = _Object$entries$_i[1];
71
- if (_typeof(value) === "object" && value && "path" in value) {
72
- var path = value.path;
73
- resolved[key] = getData === null || getData === void 0 ? void 0 : getData(path);
74
- } else {
75
- resolved[key] = value;
76
- }
77
- }
78
- return resolved;
79
- }
80
- function createA2UIActionHandler(onAction) {
81
- return /*#__PURE__*/function () {
82
- var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(action, context) {
83
- var name, resolvedContext, userActionMessage;
84
- return _regeneratorRuntime.wrap(function (_context) {
85
- while (1) switch (_context.prev = _context.next) {
86
- case 0:
87
- name = action.name;
88
- if (name) {
89
- _context.next = 1;
90
- break;
91
- }
92
- console.warn("[A2UI] Action \u7F3A\u5C11 name \u5B57\u6BB5:", action);
93
- return _context.abrupt("return");
94
- case 1:
95
- resolvedContext = resolveActionContext(action.context, context === null || context === void 0 ? void 0 : context.getData);
96
- userActionMessage = {
97
- name: name,
98
- surfaceId: (context === null || context === void 0 ? void 0 : context.surfaceId) || "unknown",
99
- sourceComponentId: (context === null || context === void 0 ? void 0 : context.componentId) || "unknown",
100
- timestamp: new Date().toISOString(),
101
- context: resolvedContext
102
- };
103
- console.log("[A2UI] Action \u89E6\u53D1:", {
104
- name: name,
105
- userActionMessage: userActionMessage
106
- });
107
- _context.next = 2;
108
- return onAction({
109
- userActionMessage: userActionMessage,
110
- action: action,
111
- actionContext: context
112
- });
113
- case 2:
114
- case "end":
115
- return _context.stop();
116
- }
117
- }, _callee);
118
- }));
119
- return function (_x, _x2) {
120
- return _ref.apply(this, arguments);
121
- };
122
- }();
123
- }
124
- function isA2UIServerMessage(msg) {
125
- if (!msg || _typeof(msg) !== "object") return false;
126
- return "createSurface" in msg || "updateComponents" in msg || "updateDataModel" in msg || "deleteSurface" in msg;
127
- }
128
- function convertToA2UIMessages(content, messageId) {
129
- var _content$surface;
130
- var messages = [];
131
- var surfaceId = content.surfaceId || ((_content$surface = content.surface) === null || _content$surface === void 0 ? void 0 : _content$surface.id) || "surface-".concat(messageId);
132
- var a2uiMessages = content.messages || content.operations;
133
- if (a2uiMessages && a2uiMessages.length > 0) {
134
- return a2uiMessages.filter(isA2UIServerMessage);
135
- }
136
- if (content.surface) {
137
- messages.push({
138
- createSurface: {
139
- surfaceId: surfaceId,
140
- catalogId: "default"
141
- }
142
- });
143
- if (content.surface.data) {
144
- messages.push({
145
- updateDataModel: {
146
- surfaceId: surfaceId,
147
- path: "/",
148
- op: "replace",
149
- value: content.surface.data
150
- }
151
- });
152
- }
153
- if (content.surface.root) {
154
- var components = flattenComponents(content.surface.root);
155
- if (components.length > 0) {
156
- messages.push({
157
- updateComponents: {
158
- surfaceId: surfaceId,
159
- components: components
160
- }
161
- });
162
- }
163
- }
164
- }
165
- return messages;
166
- }
167
- function flattenComponents(root) {
168
- var components = [];
169
- var idCounter = {
170
- value: 0
171
- };
172
- function flatten(node, parentId) {
173
- var nodeId = node.id || "comp_".concat(idCounter.value++);
174
- var component = _objectSpread(_objectSpread({}, node), {}, {
175
- id: nodeId
176
- });
177
- if (Array.isArray(node.children)) {
178
- var childIds = node.children.map(function (child) {
179
- if (typeof child === "string") {
180
- return child;
181
- }
182
- return flatten(child);
183
- });
184
- component.children = childIds;
185
- }
186
- if (node.child && _typeof(node.child) === "object") {
187
- component.child = flatten(node.child);
188
- }
189
- components.push(component);
190
- return nodeId;
191
- }
192
- var rootWithId = _objectSpread(_objectSpread({}, root), {}, {
193
- id: root.id || "root"
194
- });
195
- flatten(rootWithId);
196
- return components;
197
- }
198
- var A2UIActivityRenderer = function A2UIActivityRenderer(_ref2) {
199
- var content = _ref2.content,
200
- messageId = _ref2.messageId,
201
- registry = _ref2.registry,
202
- onAction = _ref2.onAction,
203
- loading = _ref2.loading,
204
- className = _ref2.className,
205
- style = _ref2.style,
206
- deltaInfo = _ref2.deltaInfo;
207
- var processorRef = useRef(null);
208
- var lastContentRef = useRef(null);
209
- var processedCountRef = useRef(0);
210
- if (!processorRef.current) {
211
- processorRef.current = new A2uiMessageProcessor({
212
- onAction: onAction
213
- });
214
- }
215
- var processor = processorRef.current;
216
- var snapshot = useSyncExternalStore(processor.subscribe, processor.getSnapshot, processor.getServerSnapshot);
217
- useEffect(function () {
218
- if (!content) return;
219
- var allMessages = content.messages || content.operations;
220
- if (deltaInfo && allMessages && Array.isArray(allMessages)) {
221
- var fromIndex = deltaInfo.fromIndex,
222
- toIndex = deltaInfo.toIndex;
223
- if (fromIndex < toIndex && fromIndex >= processedCountRef.current) {
224
- var newMessages = allMessages.slice(fromIndex, toIndex).filter(isA2UIServerMessage);
225
- if (newMessages.length > 0) {
226
- processor.processMessagesIncremental(newMessages);
227
- processedCountRef.current = toIndex;
228
- }
229
- }
230
- lastContentRef.current = content;
231
- return;
232
- }
233
- var contentStr = JSON.stringify(content);
234
- var lastContentStr = lastContentRef.current ? JSON.stringify(lastContentRef.current) : "";
235
- if (contentStr === lastContentStr && processedCountRef.current > 0) {
236
- return;
237
- }
238
- var messages = convertToA2UIMessages(content, messageId);
239
- if (messages.length > 0) {
240
- var _content$surface2;
241
- var surfaceId = content.surfaceId || ((_content$surface2 = content.surface) === null || _content$surface2 === void 0 ? void 0 : _content$surface2.id) || "surface-".concat(messageId);
242
- if (loading && !processor.getSurface(surfaceId)) {
243
- var _content$surface3;
244
- var skeletonHint = (_content$surface3 = content.surface) === null || _content$surface3 === void 0 ? void 0 : _content$surface3.skeletonHint;
245
- processor.createPendingSurface(surfaceId, skeletonHint);
246
- }
247
- processor.processMessages(messages);
248
- processedCountRef.current = messages.length;
249
- }
250
- lastContentRef.current = content;
251
- }, [content, messageId, processor, loading, deltaInfo]);
252
- var mergedRegistry = useMemo(function () {
253
- return _objectSpread(_objectSpread({}, defaultComponentRegistry), registry);
254
- }, [registry]);
255
- var surfaceIds = Array.from(snapshot.keys());
256
- if (surfaceIds.length === 0) {
257
- return loading ? /* @__PURE__ */React__default.createElement("div", {
258
- className: className,
259
- style: style
260
- }, loading) : null;
261
- }
262
- return /* @__PURE__ */React__default.createElement("div", {
263
- className: className,
264
- style: style
265
- }, surfaceIds.map(function (surfaceId) {
266
- return /* @__PURE__ */React__default.createElement(A2UISurfaceRenderer, {
267
- key: surfaceId,
268
- processor: processor,
269
- surfaceId: surfaceId,
270
- registry: mergedRegistry,
271
- onAction: onAction,
272
- loading: loading
273
- });
274
- }));
275
- };
276
- A2UIActivityRenderer.displayName = "A2UIActivityRenderer";
277
- function createA2UIActivityConfig(options) {
278
- var _ref3 = options || {},
279
- _ref3$activityType = _ref3.activityType,
280
- activityType = _ref3$activityType === void 0 ? "a2ui-surface" : _ref3$activityType,
281
- registry = _ref3.registry,
282
- onAction = _ref3.onAction,
283
- loading = _ref3.loading;
284
- var finalOnAction = onAction ? createA2UIActionHandler(onAction) : void 0;
285
- return {
286
- activityType: activityType,
287
- component: function component(props) {
288
- var _props$ext;
289
- return /* @__PURE__ */React__default.createElement(A2UIActivityRenderer, _objectSpread(_objectSpread({}, props), {}, {
290
- registry: registry,
291
- onAction: finalOnAction,
292
- loading: loading,
293
- deltaInfo: (_props$ext = props.ext) === null || _props$ext === void 0 ? void 0 : _props$ext.deltaInfo
294
- }));
295
- },
296
- description: "A2UI Surface \u6E32\u67D3\u5668"
297
- };
298
- }
299
-
300
- export { A2UIActivityRenderer, createA2UIActionHandler, createA2UIActivityConfig, A2UIActivityRenderer as default };
301
- //# sourceMappingURL=A2UIActivityRenderer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"A2UIActivityRenderer.js","sources":["../../../../../pro-components/chat/chat-engine/components/a2ui/A2UIActivityRenderer.tsx"],"sourcesContent":["/**\n * A2UI Activity 渲染器\n * 将 A2UI v0.9 协议数据作为 Activity 进行渲染\n * \n * 支持的消息格式:\n * 1. A2UI v0.9 原生格式(createSurface、updateComponents、updateDataModel、deleteSurface)\n * 2. 简化的 surface 格式(向后兼容)\n * \n * 使用方式:\n * 1. 通过 useAgentActivity 注册此组件\n * 2. 后端发送 ACTIVITY_SNAPSHOT/ACTIVITY_DELTA 事件,activityType 为 'a2ui-surface'\n * 3. content 中包含 A2UI 协议消息\n */\n\nimport React, { useEffect, useMemo, useRef, useSyncExternalStore } from 'react';\nimport { A2uiMessageProcessor } from '../../core/a2ui';\nimport type {\n A2UIServerMessage,\n A2UIComponentBase,\n A2UIAction,\n ActionHandler,\n ActionContext,\n SkeletonHint,\n} from '../../core/a2ui';\nimport type { ComponentRegistry } from '../../hooks/a2ui/A2UIContext';\nimport { A2UISurfaceRenderer } from './A2UISurfaceRenderer';\nimport { defaultComponentRegistry } from './registry';\n\n// ============= A2UI 0.9 协议标准 Action 处理 =============\n\n/**\n * UserAction 消息格式(A2UI 0.9 规范)\n * 用于发送给服务端的用户操作消息\n */\nexport interface UserActionMessage {\n /** Action 名称 */\n name: string;\n /** 触发 Action 的 Surface ID */\n surfaceId: string;\n /** 触发 Action 的组件 ID */\n sourceComponentId: string;\n /** 时间戳 */\n timestamp: string;\n /** 解析后的上下文数据(数据绑定路径已解析为实际值) */\n context: Record<string, unknown>;\n}\n\n/**\n * Action 处理结果\n * 返回给业务层,由业务层决定如何处理\n */\nexport interface ActionResult {\n /** 构造好的 userAction 消息 */\n userActionMessage: UserActionMessage;\n /** 原始 Action 定义 */\n action: A2UIAction;\n /** Action 上下文 */\n actionContext?: ActionContext;\n}\n\n/**\n * Action 处理回调\n * 业务层通过此回调接收解析后的 Action 数据,自行决定是否发送请求\n */\nexport type OnActionCallback = (result: ActionResult) => void | Promise<void>;\n\n/**\n * 解析 Action 中的数据绑定路径\n * 将 { path: '/xxx' } 格式的绑定解析为实际数据值\n */\nfunction resolveActionContext(\n actionContext: Record<string, unknown> | undefined,\n getData?: (path?: string) => unknown\n): Record<string, unknown> {\n const resolved: Record<string, unknown> = {};\n \n if (!actionContext || typeof actionContext !== 'object') {\n return resolved;\n }\n\n for (const [key, value] of Object.entries(actionContext)) {\n if (typeof value === 'object' && value && 'path' in value) {\n // 解析数据绑定路径 { path: '/xxx' }\n const path = (value as { path: string }).path;\n resolved[key] = getData?.(path);\n } else {\n resolved[key] = value;\n }\n }\n\n return resolved;\n}\n\n/**\n * 创建 A2UI 0.9 协议标准的 Action 处理器\n * \n * 职责:\n * 1. 解析 Action 中的数据绑定路径\n * 2. 构造标准的 UserActionMessage\n * 3. 将处理结果传递给业务层回调\n * \n * @param onAction 业务层回调,接收解析后的 ActionResult\n * @returns ActionHandler\n */\nexport function createA2UIActionHandler(onAction: OnActionCallback): ActionHandler {\n return async (action: A2UIAction, context?: ActionContext) => {\n const { name } = action;\n \n if (!name) {\n console.warn('[A2UI] Action 缺少 name 字段:', action);\n return;\n }\n\n // 解析 context 中的数据绑定路径\n const resolvedContext = resolveActionContext(action.context, context?.getData);\n\n // 构造符合 A2UI 0.9 协议的 userAction 消息\n const userActionMessage: UserActionMessage = {\n name,\n surfaceId: context?.surfaceId || 'unknown',\n sourceComponentId: context?.componentId || 'unknown',\n timestamp: new Date().toISOString(),\n context: resolvedContext,\n };\n\n console.log('[A2UI] Action 触发:', { name, userActionMessage });\n\n // 将处理结果传递给业务层\n await onAction({\n userActionMessage,\n action,\n actionContext: context,\n });\n };\n}\n\n/**\n * A2UI Activity Content 类型\n * 支持 A2UI v0.9 原生格式和简化格式\n */\nexport interface A2UIActivityContent {\n /** A2UI v0.9 消息列表(标准名称) */\n messages?: A2UIServerMessage[];\n \n /** A2UI v0.9 消息列表(别名,向后兼容) */\n operations?: A2UIServerMessage[];\n \n /** 简化模式:单个 Surface 定义 */\n surface?: {\n id?: string;\n root?: A2UIComponentBase;\n data?: Record<string, unknown>;\n skeletonHint?: SkeletonHint;\n };\n \n /** Surface ID(用于简化模式) */\n surfaceId?: string;\n}\n\n/**\n * 增量信息类型\n */\nexport interface DeltaInfo {\n fromIndex: number;\n toIndex: number;\n}\n\nexport interface A2UIActivityRendererProps {\n /** Activity 类型 */\n activityType?: string;\n /** Activity 内容数据 */\n content: A2UIActivityContent;\n /** 关联的消息 ID */\n messageId: string;\n /** 自定义组件注册表 */\n registry?: ComponentRegistry;\n /** Action 处理回调 */\n onAction?: ActionHandler;\n /** \n * 加载中占位\n * - ReactNode: 自定义骨架屏组件\n * - true: 使用服务端 skeletonHint 自动渲染骨架屏\n */\n loading?: React.ReactNode | boolean;\n /** 自定义类名 */\n className?: string;\n /** 自定义样式 */\n style?: React.CSSProperties;\n /** 增量信息(由 AG-UI adapter 提供) */\n deltaInfo?: DeltaInfo;\n}\n\n/**\n * 检查是否为 A2UI v0.9 原生消息格式\n */\nfunction isA2UIServerMessage(msg: unknown): msg is A2UIServerMessage {\n if (!msg || typeof msg !== 'object') return false;\n return (\n 'createSurface' in msg ||\n 'updateComponents' in msg ||\n 'updateDataModel' in msg ||\n 'deleteSurface' in msg\n );\n}\n\n/**\n * 将简化格式转换为 A2UI v0.9 消息\n */\nfunction convertToA2UIMessages(\n content: A2UIActivityContent,\n messageId: string\n): A2UIServerMessage[] {\n const messages: A2UIServerMessage[] = [];\n const surfaceId = content.surfaceId || content.surface?.id || `surface-${messageId}`;\n\n // 优先使用 messages 字段(A2UI v0.9 标准),其次使用 operations(别名)\n const a2uiMessages = content.messages || content.operations;\n if (a2uiMessages && a2uiMessages.length > 0) {\n // 验证并过滤有效消息\n return a2uiMessages.filter(isA2UIServerMessage);\n }\n\n // 简化格式转换\n if (content.surface) {\n // 1. 创建 Surface\n messages.push({\n createSurface: {\n surfaceId,\n catalogId: 'default',\n },\n });\n\n // 2. 如果有数据,更新数据模型\n if (content.surface.data) {\n messages.push({\n updateDataModel: {\n surfaceId,\n path: '/',\n op: 'replace',\n value: content.surface.data,\n },\n });\n }\n\n // 3. 如果有 root 组件,转换为 components 数组\n if (content.surface.root) {\n const components = flattenComponents(content.surface.root);\n if (components.length > 0) {\n messages.push({\n updateComponents: {\n surfaceId,\n components,\n },\n });\n }\n }\n }\n\n return messages;\n}\n\n/**\n * 将嵌套组件树展平为组件数组\n * A2UI v0.9 要求组件以平铺形式存储,通过 id 引用\n */\nfunction flattenComponents(root: A2UIComponentBase): A2UIComponentBase[] {\n const components: A2UIComponentBase[] = [];\n const idCounter = { value: 0 };\n\n function flatten(node: any, parentId?: string): string {\n // 确保有 id\n const nodeId = node.id || `comp_${idCounter.value++}`;\n \n // 创建新组件(不包含嵌套 children)\n const component: A2UIComponentBase = {\n ...node,\n id: nodeId,\n };\n\n // 处理 children\n if (Array.isArray(node.children)) {\n const childIds = node.children.map((child: any) => {\n if (typeof child === 'string') {\n return child;\n }\n return flatten(child);\n });\n component.children = childIds;\n }\n\n // 处理 child(单子组件)\n if (node.child && typeof node.child === 'object') {\n component.child = flatten(node.child);\n }\n\n components.push(component);\n return nodeId;\n }\n\n // 从 root 开始展平,确保 root id 为 'root'\n const rootWithId = { ...root, id: root.id || 'root' };\n flatten(rootWithId);\n\n return components;\n}\n\n/**\n * A2UI Activity 渲染器组件\n */\nexport const A2UIActivityRenderer: React.FC<A2UIActivityRendererProps> = ({\n content,\n messageId,\n registry,\n onAction,\n loading,\n className,\n style,\n deltaInfo,\n}) => {\n // 创建或获取 Processor\n const processorRef = useRef<A2uiMessageProcessor | null>(null);\n const lastContentRef = useRef<A2UIActivityContent | null>(null);\n const processedCountRef = useRef(0);\n\n // 初始化 processor\n if (!processorRef.current) {\n processorRef.current = new A2uiMessageProcessor({ onAction });\n }\n const processor = processorRef.current;\n\n // 订阅 processor 变化\n const snapshot = useSyncExternalStore(\n processor.subscribe,\n processor.getSnapshot,\n processor.getServerSnapshot\n );\n\n // 处理 content 变化\n useEffect(() => {\n if (!content) return;\n\n // 获取 A2UI 消息\n const allMessages = content.messages || content.operations;\n \n // 如果有增量信息且有消息数组,使用增量处理\n if (deltaInfo && allMessages && Array.isArray(allMessages)) {\n const { fromIndex, toIndex } = deltaInfo;\n \n // 只处理新增的消息\n if (fromIndex < toIndex && fromIndex >= processedCountRef.current) {\n const newMessages = allMessages.slice(fromIndex, toIndex).filter(isA2UIServerMessage);\n \n if (newMessages.length > 0) {\n // 使用增量处理方法\n processor.processMessagesIncremental(newMessages);\n processedCountRef.current = toIndex;\n }\n }\n \n lastContentRef.current = content;\n return;\n }\n\n // 非增量模式:完整处理\n const contentStr = JSON.stringify(content);\n const lastContentStr = lastContentRef.current ? JSON.stringify(lastContentRef.current) : '';\n \n if (contentStr === lastContentStr && processedCountRef.current > 0) {\n return;\n }\n\n // 转换为 A2UI v0.9 消息格式\n const messages = convertToA2UIMessages(content, messageId);\n\n if (messages.length > 0) {\n // 获取 surfaceId 用于骨架屏\n const surfaceId = content.surfaceId || content.surface?.id || `surface-${messageId}`;\n \n // 如果有 loading 且 Surface 不存在,先创建 pending 状态\n if (loading && !processor.getSurface(surfaceId)) {\n const skeletonHint = content.surface?.skeletonHint;\n processor.createPendingSurface(surfaceId, skeletonHint);\n }\n\n // 处理消息\n processor.processMessages(messages);\n processedCountRef.current = messages.length;\n }\n\n lastContentRef.current = content;\n }, [content, messageId, processor, loading, deltaInfo]);\n\n // 合并组件注册表\n const mergedRegistry = useMemo<ComponentRegistry>(\n () => ({\n ...defaultComponentRegistry,\n ...registry,\n }),\n [registry]\n );\n\n // 获取当前所有 surface IDs\n const surfaceIds = Array.from(snapshot.keys());\n\n // 如果没有 surface,显示 loading 占位\n if (surfaceIds.length === 0) {\n return loading ? <div className={className} style={style}>{loading}</div> : null;\n }\n\n return (\n <div className={className} style={style}>\n {surfaceIds.map((surfaceId) => (\n <A2UISurfaceRenderer\n key={surfaceId}\n processor={processor}\n surfaceId={surfaceId}\n registry={mergedRegistry}\n onAction={onAction}\n loading={loading}\n />\n ))}\n </div>\n );\n};\n\nA2UIActivityRenderer.displayName = 'A2UIActivityRenderer';\n\n/**\n * A2UI Activity 配置选项\n */\nexport interface A2UIActivityConfigOptions {\n /** Activity 类型标识 */\n activityType?: string;\n /** 自定义组件注册表 */\n registry?: ComponentRegistry;\n /**\n * Action 处理回调(推荐使用)\n * \n * 接收解析后的 ActionResult,包含:\n * - userActionMessage: 构造好的标准消息,可直接发送给服务端\n * - action: 原始 Action 定义\n * - actionContext: Action 上下文(包含 getData、updateData 等方法)\n * \n * 业务层自行决定:\n * 1. 是否需要发送请求到服务端\n * 2. 是否需要本地处理(如 reset 操作)\n * 3. 是否需要更新本地状态\n * \n * @example\n * ```tsx\n * createA2UIActivityConfig({\n * onAction: async ({ userActionMessage, action, actionContext }) => {\n * // 根据 action.name 决定处理方式\n * if (action.name === 'reset') {\n * // 本地处理,不发送请求\n * actionContext?.updateData('/', initialData);\n * return;\n * }\n * \n * // 发送请求到服务端\n * await chatEngine.sendAIMessage({\n * params: { userActionMessage },\n * sendRequest: true,\n * });\n * }\n * })\n * ```\n */\n onAction?: OnActionCallback;\n /** 加载中占位 */\n loading?: React.ReactNode | boolean;\n}\n\n/**\n * 创建 A2UI Activity 配置\n * \n * @example\n * ```tsx\n * const { chatEngine } = useChat({ ... });\n * \n * const a2uiConfig = useMemo(() => createA2UIActivityConfig({\n * onAction: async ({ userActionMessage, action }) => {\n * // 本地操作不发请求\n * if (action.name === 'reset') return;\n * \n * // 其他操作发送到服务端\n * await chatEngine.sendAIMessage({\n * params: { userActionMessage },\n * sendRequest: true,\n * });\n * }\n * }), [chatEngine]);\n * \n * useAgentActivity(a2uiConfig);\n * ```\n */\nexport function createA2UIActivityConfig(options?: A2UIActivityConfigOptions) {\n const {\n activityType = 'a2ui-surface',\n registry,\n onAction,\n loading,\n } = options || {};\n\n // 使用 onAction 回调创建内置处理器\n const finalOnAction = onAction ? createA2UIActionHandler(onAction) : undefined;\n\n return {\n activityType,\n component: (props: { \n activityType: string; \n content: A2UIActivityContent; \n messageId: string;\n ext?: { deltaInfo?: DeltaInfo };\n }) => (\n <A2UIActivityRenderer\n {...props}\n registry={registry}\n onAction={finalOnAction}\n loading={loading}\n deltaInfo={props.ext?.deltaInfo}\n />\n ),\n description: 'A2UI Surface 渲染器',\n };\n}\n\nexport default A2UIActivityRenderer;\n"],"names":["resolveActionContext","actionContext","getData","resolved","_typeof","_i","_Object$entries","Object","entries","length","_Object$entries$_i","_slicedToArray","key","value","path","createA2UIActionHandler","onAction","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","action","context","name","resolvedContext","userActionMessage","wrap","_context","prev","next","console","warn","abrupt","surfaceId","sourceComponentId","componentId","timestamp","Date","toISOString","log","stop","_x","_x2","apply","arguments","isA2UIServerMessage","msg","convertToA2UIMessages","content","messageId","_content$surface","messages","surface","id","a2uiMessages","operations","filter","push","createSurface","catalogId","data","updateDataModel","op","root","components","flattenComponents","updateComponents","idCounter","flatten","node","parentId","nodeId","concat","component","_objectSpread","Array","isArray","children","childIds","map","child","rootWithId","A2UIActivityRenderer","_ref2","registry","loading","className","style","deltaInfo","processorRef","useRef","lastContentRef","processedCountRef","current","A2uiMessageProcessor","processor","snapshot","useSyncExternalStore","subscribe","getSnapshot","getServerSnapshot","useEffect","allMessages","fromIndex","toIndex","newMessages","slice","processMessagesIncremental","contentStr","JSON","stringify","lastContentStr","_content$surface2","getSurface","_content$surface3","skeletonHint","createPendingSurface","processMessages","mergedRegistry","useMemo","defaultComponentRegistry","surfaceIds","from","keys","React","createElement","A2UISurfaceRenderer","displayName","createA2UIActivityConfig","options","_ref3","_ref3$activityType","activityType","finalOnAction","props","_props$ext","ext","description"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsEA,SAASA,oBAAAA,CACPC,eACAC,OACyB,EAAA;EACzB,IAAMC,WAAoC,EAAC,CAAA;EAE3C,IAAI,CAACF,aAAA,IAAiBG,OAAA,CAAOH,aAAA,CAAA,KAAkB,QAAU,EAAA;AAChD,IAAA,OAAAE,QAAA,CAAA;AACT,GAAA;AAEA,EAAA,KAAA,IAAAE,EAAA,GAAAC,CAAAA,EAAAA,eAAA,GAA2BC,MAAO,CAAAC,OAAA,CAAQP,aAAa,CAAG,EAAAI,EAAA,GAAAC,eAAA,CAAAG,MAAA,EAAAJ,EAAA,EAAA,EAAA;AAA1D,IAAA,IAAAK,kBAAA,GAAAC,cAAA,CAAAL,eAAA,CAAAD,EAAA,CAAA,EAAA,CAAA,CAAA;AAAYO,MAAAA,GAAK,GAAAF,kBAAA,CAAA,CAAA,CAAA;AAAAG,MAAAA,KAAK,GAAAH,kBAAA,CAAA,CAAA,CAAA,CAAA;IACpB,IAAIN,OAAA,CAAOS,KAAA,CAAU,KAAA,QAAY,IAAAA,KAAA,IAAS,UAAUA,KAAO,EAAA;AAEzD,MAAA,IAAMC,OAAQD,KAA2B,CAAAC,IAAA,CAAA;MAChCX,QAAA,CAAAS,GAAA,CAAA,GAAOV,YAAAA,IAAAA,IAAAA,YAAAA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,QAAUY,IAAI,CAAA,CAAA;AAChC,KAAO,MAAA;AACLX,MAAAA,QAAA,CAASS,GAAO,CAAA,GAAAC,KAAA,CAAA;AAClB,KAAA;AACF,GAAA;AAEO,EAAA,OAAAV,QAAA,CAAA;AACT,CAAA;AAaO,SAASY,wBAAwBC,QAA2C,EAAA;AAC1E,EAAA,oBAAA,YAAA;AAAA,IAAA,IAAAC,IAAA,GAAAC,iBAAA,cAAAC,mBAAA,CAAAC,IAAA,CAAA,SAAAC,OAAAA,CAAOC,QAAoBC,OAA4B,EAAA;AAAA,MAAA,IAAAC,IAAA,EAAAC,eAAA,EAAAC,iBAAA,CAAA;AAAA,MAAA,OAAAP,mBAAA,CAAAQ,IAAA,CAAA,UAAAC,QAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;AAAA,UAAA,KAAA,CAAA;YACpDN,OAASF,MAAA,CAATE;gBAEHA,IAAM,EAAA;AAAAI,cAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA,CAAA;AAAA,cAAA,MAAA;AAAA,aAAA;AACDC,YAAAA,OAAA,CAAAC,IAAA,CAAK,iDAA6BV,MAAM,CAAA,CAAA;YAAA,OAAAM,QAAA,CAAAK,MAAA,CAAA,QAAA,CAAA,CAAA;AAAA,UAAA,KAAA,CAAA;AAK5CR,YAAAA,eAAkB,GAAAzB,oBAAA,CAAqBsB,MAAO,CAAAC,OAAA,EAASA,oBAAAA,8BAAAA,QAASrB,OAAO,CAAA,CAAA;AAGvEwB,YAAAA,iBAAuC,GAAA;AAC3CF,cAAAA,IAAA,EAAAA,IAAA;cACAU,SAAA,EAAW,CAAAX,YAAAA,IAAAA,IAAAA,8BAAAA,QAASW,SAAa,KAAA,SAAA;cACjCC,iBAAA,EAAmB,CAAAZ,YAAAA,IAAAA,IAAAA,8BAAAA,QAASa,WAAe,KAAA,SAAA;cAC3CC,SAAW,EAAA,IAAIC,IAAK,EAAA,CAAEC,WAAY,EAAA;AAClChB,cAAAA,OAAS,EAAAE,eAAAA;aACX,CAAA;AAEAM,YAAAA,OAAA,CAAQS,GAAI,CAAA,6BAAA,EAAqB;AAAEhB,cAAAA,IAAA,EAAAA,IAAA;AAAME,cAAAA,mBAAAA,iBAAAA;AAAkB,aAAC,CAAA,CAAA;AAAAE,YAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA,CAAA;AAAA,YAAA,OAGtDd,QAAS,CAAA;AACbU,cAAAA,iBAAA,EAAAA,iBAAA;AACAJ,cAAAA,MAAA,EAAAA,MAAA;AACArB,cAAAA,aAAe,EAAAsB,OAAAA;AACjB,aAAC,CAAA,CAAA;AAAA,UAAA,KAAA,CAAA,CAAA;AAAA,UAAA,KAAA,KAAA;YAAA,OAAAK,QAAA,CAAAa,IAAA,EAAA,CAAA;AAAA,SAAA;AAAA,OAAA,EAAApB,OAAA,CAAA,CAAA;KACH,CAAA,CAAA,CAAA;IAAA,OAAAqB,UAAAA,EAAA,EAAAC,GAAA,EAAA;AAAA,MAAA,OAAA1B,IAAA,CAAA2B,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,KAAA,CAAA;AAAA,GAAA,EAAA,CAAA;AACF,CAAA;AA6DA,SAASC,oBAAoBC,GAAwC,EAAA;EAC/D,IAAA,CAACA,GAAO,IAAA3C,OAAA,CAAO2C,GAAQ,CAAA,KAAA,QAAA,EAAiB,OAAA,KAAA,CAAA;AAC5C,EAAA,OACE,mBAAmBA,GACnB,IAAA,kBAAA,IAAsBA,GACtB,IAAA,iBAAA,IAAqBA,OACrB,eAAmB,IAAAA,GAAA,CAAA;AAEvB,CAAA;AAKA,SAASC,qBAAAA,CACPC,SACAC,SACqB,EAAA;AAAA,EAAA,IAAAC,gBAAA,CAAA;EACrB,IAAMC,WAAgC,EAAC,CAAA;EACvC,IAAMlB,YAAYe,OAAQ,CAAAf,SAAA,KAAAiB,CAAAA,gBAAA,GAAaF,OAAQ,CAAAI,OAAA,MAAAF,IAAAA,IAAAA,gBAAA,uBAARA,gBAAA,CAAiBG,yBAAiBJ,SAAA,CAAA,CAAA;EAGnE,IAAAK,YAAA,GAAeN,OAAQ,CAAAG,QAAA,IAAYH,OAAQ,CAAAO,UAAA,CAAA;AAC7C,EAAA,IAAAD,YAAA,IAAgBA,YAAa,CAAA9C,MAAA,GAAS,CAAG,EAAA;AAEpC,IAAA,OAAA8C,YAAA,CAAaE,OAAOX,mBAAmB,CAAA,CAAA;AAChD,GAAA;EAGA,IAAIG,QAAQI,OAAS,EAAA;IAEnBD,QAAA,CAASM,IAAK,CAAA;AACZC,MAAAA,aAAe,EAAA;AACbzB,QAAAA,SAAA,EAAAA,SAAA;AACA0B,QAAAA,SAAW,EAAA,SAAA;AACb,OAAA;AACF,KAAC,CAAA,CAAA;AAGG,IAAA,IAAAX,OAAA,CAAQI,QAAQQ,IAAM,EAAA;MACxBT,QAAA,CAASM,IAAK,CAAA;AACZI,QAAAA,eAAiB,EAAA;AACf5B,UAAAA,SAAA,EAAAA,SAAA;AACApB,UAAAA,IAAM,EAAA,GAAA;AACNiD,UAAAA,EAAI,EAAA,SAAA;AACJlD,UAAAA,KAAA,EAAOoC,QAAQI,OAAQ,CAAAQ,IAAAA;AACzB,SAAA;AACF,OAAC,CAAA,CAAA;AACH,KAAA;AAGI,IAAA,IAAAZ,OAAA,CAAQI,QAAQW,IAAM,EAAA;MACxB,IAAMC,UAAa,GAAAC,iBAAA,CAAkBjB,OAAQ,CAAAI,OAAA,CAAQW,IAAI,CAAA,CAAA;AACrD,MAAA,IAAAC,UAAA,CAAWxD,SAAS,CAAG,EAAA;QACzB2C,QAAA,CAASM,IAAK,CAAA;AACZS,UAAAA,gBAAkB,EAAA;AAChBjC,YAAAA,SAAA,EAAAA,SAAA;AACA+B,YAAAA,UAAA,EAAAA,UAAAA;AACF,WAAA;AACF,SAAC,CAAA,CAAA;AACH,OAAA;AACF,KAAA;AACF,GAAA;AAEO,EAAA,OAAAb,QAAA,CAAA;AACT,CAAA;AAMA,SAASc,kBAAkBF,IAA8C,EAAA;EACvE,IAAMC,aAAkC,EAAC,CAAA;AACnC,EAAA,IAAAG,SAAA,GAAY;AAAEvD,IAAAA,KAAA,EAAO,CAAA;GAAE,CAAA;AAEpB,EAAA,SAAAwD,OAAAA,CAAQC,MAAWC,QAA2B,EAAA;AAErD,IAAA,IAAMC,MAAS,GAAAF,IAAA,CAAKhB,EAAM,IAAA,OAAA,CAAAmB,MAAA,CAAQL,SAAU,CAAAvD,KAAA,EAAA,CAAA,CAAA;AAG5C,IAAA,IAAM6D,SAA+B,GAAAC,aAAA,CAAAA,aAAA,KAChCL,IAAA,CAAA,EAAA,EAAA,EAAA;AACHhB,MAAAA,EAAI,EAAAkB,MAAAA;KACN,CAAA,CAAA;IAGA,IAAII,KAAM,CAAAC,OAAA,CAAQP,IAAK,CAAAQ,QAAQ,CAAG,EAAA;MAChC,IAAMC,QAAW,GAAAT,IAAA,CAAKQ,QAAS,CAAAE,GAAA,CAAI,UAACC,KAAe,EAAA;AAC7C,QAAA,IAAA,OAAOA,UAAU,QAAU,EAAA;AACtB,UAAA,OAAAA,KAAA,CAAA;AACT,SAAA;QACA,OAAOZ,QAAQY,KAAK,CAAA,CAAA;AACtB,OAAC,CAAA,CAAA;MACDP,SAAA,CAAUI,QAAW,GAAAC,QAAA,CAAA;AACvB,KAAA;IAGA,IAAIT,IAAK,CAAAW,KAAA,IAAS7E,OAAA,CAAOkE,IAAA,CAAKW,MAAU,KAAA,QAAU,EAAA;MACtCP,SAAA,CAAAO,KAAA,GAAQZ,OAAQ,CAAAC,IAAA,CAAKW,KAAK,CAAA,CAAA;AACtC,KAAA;AAEAhB,IAAAA,UAAA,CAAWP,KAAKgB,SAAS,CAAA,CAAA;AAClB,IAAA,OAAAF,MAAA,CAAA;AACT,GAAA;AAGA,EAAA,IAAMU,6CAAkBlB;AAAMV,IAAAA,EAAI,EAAAU,IAAA,CAAKV,MAAM,MAAA;GAAO,CAAA,CAAA;EACpDe,OAAA,CAAQa,UAAU,CAAA,CAAA;AAEX,EAAA,OAAAjB,UAAA,CAAA;AACT,CAAA;IAKakB,uBAA4D,SAA5DA,4BASP;AAAA,EAAA,IARJlC,OAAA,GAAAmC,KAAA,CAAAnC,OAAA;IACAC,SAAA,GAAAkC,KAAA,CAAAlC,SAAA;IACAmC,QAAA,GAAAD,KAAA,CAAAC,QAAA;IACArE,QAAA,GAAAoE,KAAA,CAAApE,QAAA;IACAsE,OAAA,GAAAF,KAAA,CAAAE,OAAA;IACAC,SAAA,GAAAH,KAAA,CAAAG,SAAA;IACAC,KAAA,GAAAJ,KAAA,CAAAI,KAAA;IACAC,SAAA,GAAAL,KAAA,CAAAK,SAAA,CAAA;AAGM,EAAA,IAAAC,YAAA,GAAeC,OAAoC,IAAI,CAAA,CAAA;AACvD,EAAA,IAAAC,cAAA,GAAiBD,OAAmC,IAAI,CAAA,CAAA;AACxD,EAAA,IAAAE,iBAAA,GAAoBF,OAAO,CAAC,CAAA,CAAA;AAG9B,EAAA,IAAA,CAACD,aAAaI,OAAS,EAAA;AACzBJ,IAAAA,YAAA,CAAaI,OAAU,GAAA,IAAIC,oBAAqB,CAAA;AAAE/E,MAAAA,UAAAA,QAAAA;AAAS,KAAC,CAAA,CAAA;AAC9D,GAAA;AACA,EAAA,IAAMgF,YAAYN,YAAa,CAAAI,OAAA,CAAA;AAG/B,EAAA,IAAMG,QAAW,GAAAC,oBAAA,CACfF,SAAU,CAAAG,SAAA,EACVH,SAAU,CAAAI,WAAA,EACVJ,SAAU,CAAAK,iBACZ,CAAA,CAAA;AAGAC,EAAAA,SAAA,CAAU,YAAM;IACd,IAAI,CAACrD,OAAA,EAAS,OAAA;IAGR,IAAAsD,WAAA,GAActD,OAAQ,CAAAG,QAAA,IAAYH,OAAQ,CAAAO,UAAA,CAAA;IAGhD,IAAIiC,SAAa,IAAAc,WAAA,IAAe3B,KAAM,CAAAC,OAAA,CAAQ0B,WAAW,CAAG,EAAA;AACpD,MAAA,IAAEC,SAAW,GAAYf,SAAA,CAAvBe,SAAW;QAAAC,OAAA,GAAYhB,SAAA,CAAZgB,OAAA,CAAA;MAGnB,IAAID,SAAY,GAAAC,OAAA,IAAWD,SAAa,IAAAX,iBAAA,CAAkBC,OAAS,EAAA;AACjE,QAAA,IAAMY,cAAcH,WAAY,CAAAI,KAAA,CAAMH,WAAWC,OAAO,CAAA,CAAEhD,OAAOX,mBAAmB,CAAA,CAAA;AAEhF,QAAA,IAAA4D,WAAA,CAAYjG,SAAS,CAAG,EAAA;AAE1BuF,UAAAA,SAAA,CAAUY,2BAA2BF,WAAW,CAAA,CAAA;UAChDb,iBAAA,CAAkBC,OAAU,GAAAW,OAAA,CAAA;AAC9B,SAAA;AACF,OAAA;MAEAb,cAAA,CAAeE,OAAU,GAAA7C,OAAA,CAAA;AACzB,MAAA,OAAA;AACF,KAAA;AAGM,IAAA,IAAA4D,UAAA,GAAaC,IAAK,CAAAC,SAAA,CAAU9D,OAAO,CAAA,CAAA;AACzC,IAAA,IAAM+D,iBAAiBpB,cAAe,CAAAE,OAAA,GAAUgB,KAAKC,SAAU,CAAAnB,cAAA,CAAeE,OAAO,CAAI,GAAA,EAAA,CAAA;IAEzF,IAAIe,UAAe,KAAAG,cAAA,IAAkBnB,iBAAkB,CAAAC,OAAA,GAAU,CAAG,EAAA;AAClE,MAAA,OAAA;AACF,KAAA;AAGM,IAAA,IAAA1C,QAAA,GAAWJ,qBAAsB,CAAAC,OAAA,EAASC,SAAS,CAAA,CAAA;AAErD,IAAA,IAAAE,QAAA,CAAS3C,SAAS,CAAG,EAAA;AAAA,MAAA,IAAAwG,iBAAA,CAAA;MAEvB,IAAM/E,YAAYe,OAAQ,CAAAf,SAAA,KAAA+E,CAAAA,iBAAA,GAAahE,OAAQ,CAAAI,OAAA,MAAA4D,IAAAA,IAAAA,iBAAA,uBAARA,iBAAA,CAAiB3D,yBAAiBJ,SAAA,CAAA,CAAA;MAGzE,IAAIoC,OAAW,IAAA,CAACU,SAAU,CAAAkB,UAAA,CAAWhF,SAAS,CAAG,EAAA;AAAA,QAAA,IAAAiF,iBAAA,CAAA;AACzC,QAAA,IAAAC,YAAA,GAAA,CAAAD,iBAAA,GAAelE,QAAQI,OAAS,MAAA,IAAA,IAAA8D,iBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAjBA,iBAAA,CAAiBC,YAAA,CAAA;AAC5BpB,QAAAA,SAAA,CAAAqB,oBAAA,CAAqBnF,WAAWkF,YAAY,CAAA,CAAA;AACxD,OAAA;AAGApB,MAAAA,SAAA,CAAUsB,gBAAgBlE,QAAQ,CAAA,CAAA;AAClCyC,MAAAA,iBAAA,CAAkBC,UAAU1C,QAAS,CAAA3C,MAAA,CAAA;AACvC,KAAA;IAEAmF,cAAA,CAAeE,OAAU,GAAA7C,OAAA,CAAA;AAC3B,KAAG,CAACA,OAAA,EAASC,WAAW8C,SAAW,EAAAV,OAAA,EAASG,SAAS,CAAC,CAAA,CAAA;EAGtD,IAAM8B,cAAiB,GAAAC,OAAA,CACrB,YAAA;AAAA,IAAA,OAAA7C,aAAA,CAAAA,aAAA,CACK8C,EAAAA,EAAAA,wBAAA,GACApC,QAAA,CAAA,CAAA;AAAA,GACL,EACA,CAACA,QAAQ,CACX,CAAA,CAAA;EAGA,IAAMqC,UAAa,GAAA9C,KAAA,CAAM+C,IAAK,CAAA1B,QAAA,CAAS2B,MAAM,CAAA,CAAA;AAGzC,EAAA,IAAAF,UAAA,CAAWjH,WAAW,CAAG,EAAA;IAC3B,OAAO6E,yBAAWuC,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAIvC,MAAAA,SAAA,EAAAA,SAAA;AAAsBC,MAAAA,KAAA,EAAAA,KAAAA;AAAA,KAAA,EAAeF,OAAQ,CAAS,GAAA,IAAA,CAAA;AAC9E,GAAA;AAEA,EAAA,sBACGuC,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAIvC,IAAAA,SAAA,EAAAA,SAAA;AAAsBC,IAAAA,KAAA,EAAAA,KAAAA;AAAA,GAAA,EACxBkC,UAAW,CAAA1C,GAAA,CAAI,UAAC9C,SAAA,EAAA;AAAA,IAAA,sBACd2F,cAAA,CAAAC,aAAA,CAAAC,mBAAA,EAAA;AACCnH,MAAAA,GAAK,EAAAsB,SAAA;AACL8D,MAAAA,SAAA,EAAAA,SAAA;AACA9D,MAAAA,SAAA,EAAAA,SAAA;AACAmD,MAAAA,QAAU,EAAAkC,cAAA;AACVvG,MAAAA,QAAA,EAAAA,QAAA;AACAsE,MAAAA,OAAA,EAAAA,OAAAA;AAAA,KACF,CACD,CAAA;AAAA,GAAA,CACH,CAAA,CAAA;AAEJ,EAAA;AAEAH,oBAAA,CAAqB6C,WAAc,GAAA,sBAAA,CAAA;AAuE5B,SAASC,yBAAyBC,OAAqC,EAAA;AACtE,EAAA,IAAAC,KAAA,GAKFD,WAAW,EAAC;IAAAE,kBAAA,GAAAD,KAAA,CAJdE,YAAe;AAAfA,IAAAA,YAAe,GAAAD,kBAAA,KAAA,KAAA,CAAA,GAAA,cAAA,GAAAA,kBAAA;IACf/C,QAAA,GAAA8C,KAAA,CAAA9C,QAAA;IACArE,QAAA,GAAAmH,KAAA,CAAAnH,QAAA;IACAsE,OAAA,GAAA6C,KAAA,CAAA7C,OAAA,CAAA;EAIF,IAAMgD,aAAgB,GAAAtH,QAAA,GAAWD,uBAAwB,CAAAC,QAAQ,CAAI,GAAA,KAAA,CAAA,CAAA;EAE9D,OAAA;AACLqH,IAAAA,YAAA,EAAAA,YAAA;AACA3D,IAAAA,SAAA,EAAW,SAAXA,SAAAA,CAAY6D,KAAA,EAAA;AAAA,MAAA,IAAAC,UAAA,CAAA;MAAA,sBAMTX,cAAA,CAAAC,aAAA,CAAA3C,oBAAA,EAAAR,aAAA,CAAAA,aAAA,CAAA,EAAA,EACK4D,KAAA,CAAA,EAAA,EAAA,EAAA;AACJlD,QAAAA,QAAA,EAAAA,QAAA;AACArE,QAAAA,QAAU,EAAAsH,aAAA;AACVhD,QAAAA,OAAA,EAAAA,OAAA;QACAG,SAAA,EAAA,CAAA+C,UAAA,GAAWD,MAAME,GAAK,MAAAD,IAAAA,IAAAA,UAAA,KAAXA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAA,CAAW/C,SAAAA;AAAA,OAAA,CACxB,CAAA,CAAA;AAAA,KAAA;AAEFiD,IAAAA,WAAa,EAAA,iCAAA;GACf,CAAA;AACF;;;;"}
@@ -1,37 +0,0 @@
1
- /**
2
- * A2UI 组件渲染器
3
- * 根据组件类型分发到具体渲染实现
4
- * 支持 A2UI v0.9 的 ResolvedComponent 结构
5
- */
6
- import React from 'react';
7
- import type { ResolvedComponent, A2UIComponentBase } from '../../core/a2ui';
8
- export interface A2UIComponentRendererProps {
9
- /** 要渲染的组件(支持 ResolvedComponent 或 A2UIComponentBase) */
10
- component: ResolvedComponent | A2UIComponentBase;
11
- className?: string;
12
- style?: React.CSSProperties;
13
- /** 是否在渲染错误时显示错误 UI(默认 false) */
14
- showError?: boolean;
15
- /** 组件渲染错误回调 */
16
- onRenderError?: (error: Error, componentType?: string, componentId?: string) => void;
17
- }
18
- /**
19
- * A2UI 组件渲染器
20
- *
21
- * 功能:
22
- * 1. 从 ComponentRegistry 中查找对应组件类型的渲染器
23
- * 2. 使用错误边界包裹,防止单个组件错误导致整个 Surface 崩溃
24
- * 3. 支持自定义错误处理和错误 UI 显示
25
- * 4. 支持 DataContextProvider 处理 template 渲染
26
- */
27
- export declare const A2UIComponentRenderer: React.FC<A2UIComponentRendererProps>;
28
- interface A2UIChildrenRendererProps {
29
- children?: ResolvedComponent[];
30
- className?: string;
31
- }
32
- /**
33
- * 渲染子组件列表
34
- * 用于容器组件渲染其 resolvedChildren
35
- */
36
- export declare const A2UIChildrenRenderer: React.FC<A2UIChildrenRendererProps>;
37
- export default A2UIComponentRenderer;