@tdesign-react/chat 1.0.2-alpha.9 → 1.0.3-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (503) hide show
  1. package/CHANGELOG.md +14 -1
  2. package/README.md +76 -22
  3. package/es/_chunks/dep-076af7c3.js +438 -0
  4. package/es/_chunks/dep-076af7c3.js.map +1 -0
  5. package/es/_chunks/dep-1007ac80.js +205 -0
  6. package/es/_chunks/dep-1007ac80.js.map +1 -0
  7. package/es/_chunks/dep-16520c2b.js +1247 -0
  8. package/es/_chunks/dep-16520c2b.js.map +1 -0
  9. package/es/_chunks/dep-1743bd61.js +438 -0
  10. package/es/_chunks/dep-1743bd61.js.map +1 -0
  11. package/es/_chunks/dep-1ca64fef.js +1247 -0
  12. package/es/_chunks/dep-1ca64fef.js.map +1 -0
  13. package/es/_chunks/dep-24472232.js +839 -0
  14. package/es/_chunks/dep-24472232.js.map +1 -0
  15. package/es/_chunks/dep-3864b369.js +839 -0
  16. package/es/_chunks/dep-3864b369.js.map +1 -0
  17. package/es/_chunks/dep-3e40d789.js +169 -0
  18. package/es/_chunks/dep-3e40d789.js.map +1 -0
  19. package/es/_chunks/dep-4dedfbef.js +438 -0
  20. package/es/_chunks/dep-4dedfbef.js.map +1 -0
  21. package/es/_chunks/dep-56f5e08e.js +448 -0
  22. package/es/_chunks/dep-56f5e08e.js.map +1 -0
  23. package/es/_chunks/dep-5b6b17d0.js +169 -0
  24. package/es/_chunks/dep-5b6b17d0.js.map +1 -0
  25. package/es/_chunks/dep-688e4aaa.js +438 -0
  26. package/es/_chunks/dep-688e4aaa.js.map +1 -0
  27. package/es/_chunks/dep-870f0d35.js +839 -0
  28. package/es/_chunks/dep-870f0d35.js.map +1 -0
  29. package/es/_chunks/dep-96eca06f.js +169 -0
  30. package/es/_chunks/dep-96eca06f.js.map +1 -0
  31. package/es/_chunks/dep-ba3bd553.js +169 -0
  32. package/es/_chunks/dep-ba3bd553.js.map +1 -0
  33. package/es/_chunks/dep-bcb234a1.js +839 -0
  34. package/es/_chunks/dep-bcb234a1.js.map +1 -0
  35. package/es/_chunks/dep-de8ac730.js +1247 -0
  36. package/es/_chunks/dep-de8ac730.js.map +1 -0
  37. package/es/_chunks/dep-e9dbff09.js +1247 -0
  38. package/es/_chunks/dep-e9dbff09.js.map +1 -0
  39. package/es/_chunks/dep-ebc4cf30.js +1247 -0
  40. package/es/_chunks/dep-ebc4cf30.js.map +1 -0
  41. package/es/_chunks/dep-f2051ebd.js +839 -0
  42. package/es/_chunks/dep-f2051ebd.js.map +1 -0
  43. package/es/_chunks/dep-f691a67e.js +438 -0
  44. package/es/_chunks/dep-f691a67e.js.map +1 -0
  45. package/es/_chunks/dep-f8016301.js +169 -0
  46. package/es/_chunks/dep-f8016301.js.map +1 -0
  47. package/es/_util/reactify.js +33 -13
  48. package/es/_util/reactify.js.map +1 -1
  49. package/es/_util/useDynamicStyle.js +1 -1
  50. package/es/attachments/index.js +1 -1
  51. package/es/chat-actionbar/index.js +1 -1
  52. package/es/chat-engine/components/a2ui/A2UIActivityRenderer.d.ts +196 -0
  53. package/es/chat-engine/components/a2ui/A2UIActivityRenderer.js +301 -0
  54. package/es/chat-engine/components/a2ui/A2UIActivityRenderer.js.map +1 -0
  55. package/es/chat-engine/components/a2ui/A2UIComponentRenderer.d.ts +37 -0
  56. package/es/chat-engine/components/a2ui/A2UIComponentRenderer.js +116 -0
  57. package/es/chat-engine/components/a2ui/A2UIComponentRenderer.js.map +1 -0
  58. package/es/chat-engine/components/a2ui/A2UIErrorBoundary.d.ts +42 -0
  59. package/es/chat-engine/components/a2ui/A2UIErrorBoundary.js +113 -0
  60. package/es/chat-engine/components/a2ui/A2UIErrorBoundary.js.map +1 -0
  61. package/es/chat-engine/components/a2ui/A2UISkeleton.d.ts +60 -0
  62. package/es/chat-engine/components/a2ui/A2UISkeleton.js +197 -0
  63. package/es/chat-engine/components/a2ui/A2UISkeleton.js.map +1 -0
  64. package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.d.ts +44 -0
  65. package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.js +139 -0
  66. package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.js.map +1 -0
  67. package/es/chat-engine/components/a2ui/containers/A2UICard.d.ts +22 -0
  68. package/es/chat-engine/components/a2ui/containers/A2UICard.js +82 -0
  69. package/es/chat-engine/components/a2ui/containers/A2UICard.js.map +1 -0
  70. package/es/chat-engine/components/a2ui/containers/A2UIColumn.d.ts +18 -0
  71. package/es/chat-engine/components/a2ui/containers/A2UIColumn.js +81 -0
  72. package/es/chat-engine/components/a2ui/containers/A2UIColumn.js.map +1 -0
  73. package/es/chat-engine/components/a2ui/containers/A2UIList.d.ts +14 -0
  74. package/es/chat-engine/components/a2ui/containers/A2UIList.js +62 -0
  75. package/es/chat-engine/components/a2ui/containers/A2UIList.js.map +1 -0
  76. package/es/chat-engine/components/a2ui/containers/A2UIRow.d.ts +20 -0
  77. package/es/chat-engine/components/a2ui/containers/A2UIRow.js +84 -0
  78. package/es/chat-engine/components/a2ui/containers/A2UIRow.js.map +1 -0
  79. package/es/chat-engine/components/a2ui/containers/A2UITabs.d.ts +14 -0
  80. package/es/chat-engine/components/a2ui/containers/A2UITabs.js +69 -0
  81. package/es/chat-engine/components/a2ui/containers/A2UITabs.js.map +1 -0
  82. package/es/chat-engine/components/a2ui/containers/index.d.ts +8 -0
  83. package/es/chat-engine/components/a2ui/containers/index.js +30 -0
  84. package/es/chat-engine/components/a2ui/containers/index.js.map +1 -0
  85. package/es/chat-engine/components/a2ui/index.d.ts +11 -0
  86. package/es/chat-engine/components/a2ui/index.js +62 -0
  87. package/es/chat-engine/components/a2ui/index.js.map +1 -0
  88. package/es/chat-engine/components/a2ui/primitives/A2UIButton.d.ts +33 -0
  89. package/es/chat-engine/components/a2ui/primitives/A2UIButton.js +80 -0
  90. package/es/chat-engine/components/a2ui/primitives/A2UIButton.js.map +1 -0
  91. package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.d.ts +12 -0
  92. package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.js +43 -0
  93. package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.js.map +1 -0
  94. package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.d.ts +50 -0
  95. package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.js +54 -0
  96. package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.js.map +1 -0
  97. package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.d.ts +13 -0
  98. package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.js +89 -0
  99. package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.js.map +1 -0
  100. package/es/chat-engine/components/a2ui/primitives/A2UIDivider.d.ts +12 -0
  101. package/es/chat-engine/components/a2ui/primitives/A2UIDivider.js +25 -0
  102. package/es/chat-engine/components/a2ui/primitives/A2UIDivider.js.map +1 -0
  103. package/es/chat-engine/components/a2ui/primitives/A2UIIcon.d.ts +13 -0
  104. package/es/chat-engine/components/a2ui/primitives/A2UIIcon.js +138942 -0
  105. package/es/chat-engine/components/a2ui/primitives/A2UIIcon.js.map +1 -0
  106. package/es/chat-engine/components/a2ui/primitives/A2UIImage.d.ts +12 -0
  107. package/es/chat-engine/components/a2ui/primitives/A2UIImage.js +75 -0
  108. package/es/chat-engine/components/a2ui/primitives/A2UIImage.js.map +1 -0
  109. package/es/chat-engine/components/a2ui/primitives/A2UIInput.d.ts +20 -0
  110. package/es/chat-engine/components/a2ui/primitives/A2UIInput.js +63 -0
  111. package/es/chat-engine/components/a2ui/primitives/A2UIInput.js.map +1 -0
  112. package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.d.ts +56 -0
  113. package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.js +64 -0
  114. package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.js.map +1 -0
  115. package/es/chat-engine/components/a2ui/primitives/A2UISlider.d.ts +12 -0
  116. package/es/chat-engine/components/a2ui/primitives/A2UISlider.js +55 -0
  117. package/es/chat-engine/components/a2ui/primitives/A2UISlider.js.map +1 -0
  118. package/es/chat-engine/components/a2ui/primitives/A2UIText.d.ts +12 -0
  119. package/es/chat-engine/components/a2ui/primitives/A2UIText.js +104 -0
  120. package/es/chat-engine/components/a2ui/primitives/A2UIText.js.map +1 -0
  121. package/es/chat-engine/components/a2ui/primitives/A2UITextField.d.ts +12 -0
  122. package/es/chat-engine/components/a2ui/primitives/A2UITextField.js +80 -0
  123. package/es/chat-engine/components/a2ui/primitives/A2UITextField.js.map +1 -0
  124. package/es/chat-engine/components/a2ui/primitives/index.d.ts +15 -0
  125. package/es/chat-engine/components/a2ui/primitives/index.js +39 -0
  126. package/es/chat-engine/components/a2ui/primitives/index.js.map +1 -0
  127. package/es/chat-engine/components/a2ui/registry.d.ts +35 -0
  128. package/es/chat-engine/components/a2ui/registry.js +74 -0
  129. package/es/chat-engine/components/a2ui/registry.js.map +1 -0
  130. package/es/chat-engine/components/activity/index.d.ts +0 -1
  131. package/es/chat-engine/components/activity/index.js +10 -5
  132. package/es/chat-engine/components/activity/index.js.map +1 -1
  133. package/es/chat-engine/components/activity/registry.d.ts +7 -41
  134. package/es/chat-engine/components/activity/registry.js +23 -77
  135. package/es/chat-engine/components/activity/registry.js.map +1 -1
  136. package/es/chat-engine/components/activity/render.d.ts +5 -1
  137. package/es/chat-engine/components/activity/render.js +33 -71
  138. package/es/chat-engine/components/activity/render.js.map +1 -1
  139. package/es/chat-engine/components/activity/types.d.ts +0 -3
  140. package/es/chat-engine/components/activity/types.js +1 -1
  141. package/es/chat-engine/components/index.js +16 -11
  142. package/es/chat-engine/components/index.js.map +1 -1
  143. package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.d.ts +36 -0
  144. package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.js +36 -0
  145. package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.js.map +1 -0
  146. package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.d.ts +46 -0
  147. package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.js +36 -0
  148. package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.js.map +1 -0
  149. package/es/chat-engine/components/json-render/SurfaceStateManager.d.ts +113 -0
  150. package/es/chat-engine/components/json-render/SurfaceStateManager.js +195 -0
  151. package/es/chat-engine/components/json-render/SurfaceStateManager.js.map +1 -0
  152. package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.d.ts +49 -0
  153. package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.js +307 -0
  154. package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.js.map +1 -0
  155. package/es/chat-engine/components/json-render/adapters/a2ui-types.d.ts +96 -0
  156. package/es/chat-engine/components/json-render/adapters/a2ui-types.js +7 -0
  157. package/es/chat-engine/components/json-render/adapters/a2ui-types.js.map +1 -0
  158. package/es/chat-engine/components/json-render/adapters/index.d.ts +7 -0
  159. package/es/chat-engine/components/json-render/adapters/index.js +11 -0
  160. package/es/chat-engine/components/json-render/adapters/index.js.map +1 -0
  161. package/es/chat-engine/components/json-render/catalog/a2ui-binding.d.ts +64 -0
  162. package/es/chat-engine/components/json-render/catalog/a2ui-binding.js +36 -0
  163. package/es/chat-engine/components/json-render/catalog/a2ui-binding.js.map +1 -0
  164. package/es/chat-engine/components/json-render/catalog/a2ui-registry.d.ts +78 -0
  165. package/es/chat-engine/components/json-render/catalog/a2ui-registry.js +36 -0
  166. package/es/chat-engine/components/json-render/catalog/a2ui-registry.js.map +1 -0
  167. package/es/chat-engine/components/json-render/catalog/atomic/button.d.ts +14 -0
  168. package/es/chat-engine/components/json-render/catalog/atomic/button.js +71 -0
  169. package/es/chat-engine/components/json-render/catalog/atomic/button.js.map +1 -0
  170. package/es/chat-engine/components/json-render/catalog/atomic/card.d.ts +11 -0
  171. package/es/chat-engine/components/json-render/catalog/atomic/card.js +57 -0
  172. package/es/chat-engine/components/json-render/catalog/atomic/card.js.map +1 -0
  173. package/es/chat-engine/components/json-render/catalog/atomic/input.d.ts +20 -0
  174. package/es/chat-engine/components/json-render/catalog/atomic/input.js +76 -0
  175. package/es/chat-engine/components/json-render/catalog/atomic/input.js.map +1 -0
  176. package/es/chat-engine/components/json-render/catalog/atomic/layout.d.ts +44 -0
  177. package/es/chat-engine/components/json-render/catalog/atomic/layout.js +129 -0
  178. package/es/chat-engine/components/json-render/catalog/atomic/layout.js.map +1 -0
  179. package/es/chat-engine/components/json-render/catalog/atomic/text.d.ts +11 -0
  180. package/es/chat-engine/components/json-render/catalog/atomic/text.js +31 -0
  181. package/es/chat-engine/components/json-render/catalog/atomic/text.js.map +1 -0
  182. package/es/chat-engine/components/json-render/catalog/button.d.ts +14 -0
  183. package/es/chat-engine/components/json-render/catalog/button.js +71 -0
  184. package/es/chat-engine/components/json-render/catalog/button.js.map +1 -0
  185. package/es/chat-engine/components/json-render/catalog/card.d.ts +11 -0
  186. package/es/chat-engine/components/json-render/catalog/card.js +57 -0
  187. package/es/chat-engine/components/json-render/catalog/card.js.map +1 -0
  188. package/es/chat-engine/components/json-render/catalog/catalog-to-prompt.d.ts +614 -0
  189. package/es/chat-engine/components/json-render/catalog/catalog-to-prompt.js +779 -0
  190. package/es/chat-engine/components/json-render/catalog/catalog-to-prompt.js.map +1 -0
  191. package/es/chat-engine/components/json-render/catalog/index.d.ts +128 -0
  192. package/es/chat-engine/components/json-render/catalog/index.js +36 -0
  193. package/es/chat-engine/components/json-render/catalog/index.js.map +1 -0
  194. package/es/chat-engine/components/json-render/catalog/input.d.ts +20 -0
  195. package/es/chat-engine/components/json-render/catalog/input.js +36 -0
  196. package/es/chat-engine/components/json-render/catalog/input.js.map +1 -0
  197. package/es/chat-engine/components/json-render/catalog/layout.d.ts +44 -0
  198. package/es/chat-engine/components/json-render/catalog/layout.js +129 -0
  199. package/es/chat-engine/components/json-render/catalog/layout.js.map +1 -0
  200. package/es/chat-engine/components/json-render/catalog/text.d.ts +11 -0
  201. package/es/chat-engine/components/json-render/catalog/text.js +31 -0
  202. package/es/chat-engine/components/json-render/catalog/text.js.map +1 -0
  203. package/es/chat-engine/components/json-render/catalog.d.ts +614 -0
  204. package/es/chat-engine/components/json-render/catalog.js +779 -0
  205. package/es/chat-engine/components/json-render/catalog.js.map +1 -0
  206. package/es/chat-engine/components/json-render/config.d.ts +154 -0
  207. package/es/chat-engine/components/json-render/config.js +36 -0
  208. package/es/chat-engine/components/json-render/config.js.map +1 -0
  209. package/es/chat-engine/components/json-render/contexts/actions.d.ts +79 -0
  210. package/es/chat-engine/components/json-render/contexts/actions.js +313 -0
  211. package/es/chat-engine/components/json-render/contexts/actions.js.map +1 -0
  212. package/es/chat-engine/components/json-render/contexts/data.d.ts +137 -0
  213. package/es/chat-engine/components/json-render/contexts/data.js +183 -0
  214. package/es/chat-engine/components/json-render/contexts/data.js.map +1 -0
  215. package/es/chat-engine/components/json-render/contexts/index.d.ts +4 -0
  216. package/es/chat-engine/components/json-render/contexts/index.js +27 -0
  217. package/es/chat-engine/components/json-render/contexts/index.js.map +1 -0
  218. package/es/chat-engine/components/json-render/contexts/store.d.ts +67 -0
  219. package/es/chat-engine/components/json-render/contexts/store.js +104 -0
  220. package/es/chat-engine/components/json-render/contexts/store.js.map +1 -0
  221. package/es/chat-engine/components/json-render/contexts/tree.d.ts +44 -0
  222. package/es/chat-engine/components/json-render/contexts/tree.js +78 -0
  223. package/es/chat-engine/components/json-render/contexts/tree.js.map +1 -0
  224. package/es/chat-engine/components/json-render/contexts/validation.d.ts +59 -0
  225. package/es/chat-engine/components/json-render/contexts/validation.js +159 -0
  226. package/es/chat-engine/components/json-render/contexts/validation.js.map +1 -0
  227. package/es/chat-engine/components/json-render/contexts/visibility.d.ts +39 -0
  228. package/es/chat-engine/components/json-render/contexts/visibility.js +66 -0
  229. package/es/chat-engine/components/json-render/contexts/visibility.js.map +1 -0
  230. package/es/chat-engine/components/json-render/engine.d.ts +58 -0
  231. package/es/chat-engine/components/json-render/engine.js +88 -0
  232. package/es/chat-engine/components/json-render/engine.js.map +1 -0
  233. package/es/chat-engine/components/json-render/index.d.ts +13 -0
  234. package/es/chat-engine/components/json-render/index.js +76 -0
  235. package/es/chat-engine/components/json-render/index.js.map +1 -0
  236. package/es/chat-engine/components/json-render/performance.d.ts +91 -0
  237. package/es/chat-engine/components/json-render/performance.js +135 -0
  238. package/es/chat-engine/components/json-render/performance.js.map +1 -0
  239. package/es/chat-engine/components/json-render/registry/a2ui-binding.d.ts +64 -0
  240. package/es/chat-engine/components/json-render/registry/a2ui-binding.js +76 -0
  241. package/es/chat-engine/components/json-render/registry/a2ui-binding.js.map +1 -0
  242. package/es/chat-engine/components/json-render/registry/a2ui-registry.d.ts +78 -0
  243. package/es/chat-engine/components/json-render/registry/a2ui-registry.js +76 -0
  244. package/es/chat-engine/components/json-render/registry/a2ui-registry.js.map +1 -0
  245. package/es/chat-engine/components/json-render/registry/config.d.ts +142 -0
  246. package/es/chat-engine/components/json-render/registry/config.js +76 -0
  247. package/es/chat-engine/components/json-render/registry/config.js.map +1 -0
  248. package/es/chat-engine/components/json-render/registry/index.d.ts +137 -0
  249. package/es/chat-engine/components/json-render/registry/index.js +76 -0
  250. package/es/chat-engine/components/json-render/registry/index.js.map +1 -0
  251. package/es/chat-engine/components/json-render/renderer/A2UIJsonRenderActivityRenderer.d.ts +35 -0
  252. package/es/chat-engine/components/json-render/renderer/A2UIJsonRenderActivityRenderer.js +271 -0
  253. package/es/chat-engine/components/json-render/renderer/A2UIJsonRenderActivityRenderer.js.map +1 -0
  254. package/es/chat-engine/components/json-render/renderer/JsonRenderActivityRenderer.d.ts +44 -0
  255. package/es/chat-engine/components/json-render/renderer/JsonRenderActivityRenderer.js +63 -0
  256. package/es/chat-engine/components/json-render/renderer/JsonRenderActivityRenderer.js.map +1 -0
  257. package/es/chat-engine/components/json-render/renderer/JsonUIRenderer.d.ts +44 -0
  258. package/es/chat-engine/components/json-render/renderer/JsonUIRenderer.js +131 -0
  259. package/es/chat-engine/components/json-render/renderer/JsonUIRenderer.js.map +1 -0
  260. package/es/chat-engine/components/json-render/renderer/_index.d.ts +71 -0
  261. package/es/chat-engine/components/json-render/renderer/_index.js +133 -0
  262. package/es/chat-engine/components/json-render/renderer/_index.js.map +1 -0
  263. package/es/chat-engine/components/json-render/renderer/index.d.ts +71 -0
  264. package/es/chat-engine/components/json-render/renderer/index.js +125 -0
  265. package/es/chat-engine/components/json-render/renderer/index.js.map +1 -0
  266. package/es/chat-engine/components/json-render/renderer.d.ts +71 -0
  267. package/es/chat-engine/components/json-render/renderer.js +124 -0
  268. package/es/chat-engine/components/json-render/renderer.js.map +1 -0
  269. package/es/chat-engine/components/json-render/types.d.ts +87 -0
  270. package/es/chat-engine/components/json-render/types.js +7 -0
  271. package/es/chat-engine/components/json-render/types.js.map +1 -0
  272. package/es/chat-engine/components/provider/agent-state.js +1 -1
  273. package/es/chat-engine/components/shared/ComponentErrorBoundary.d.ts +25 -0
  274. package/es/chat-engine/components/shared/ComponentErrorBoundary.js +58 -0
  275. package/es/chat-engine/components/shared/ComponentErrorBoundary.js.map +1 -0
  276. package/es/chat-engine/components/shared/createRegistry.d.ts +36 -0
  277. package/es/chat-engine/components/shared/createRegistry.js +72 -0
  278. package/es/chat-engine/components/shared/createRegistry.js.map +1 -0
  279. package/es/chat-engine/components/shared/index.d.ts +4 -0
  280. package/es/chat-engine/components/shared/index.js +18 -0
  281. package/es/chat-engine/components/shared/index.js.map +1 -0
  282. package/es/chat-engine/components/shared/useRegistrationListener.d.ts +22 -0
  283. package/es/chat-engine/components/shared/useRegistrationListener.js +45 -0
  284. package/es/chat-engine/components/shared/useRegistrationListener.js.map +1 -0
  285. package/es/chat-engine/components/toolcall/index.d.ts +1 -1
  286. package/es/chat-engine/components/toolcall/index.js +12 -8
  287. package/es/chat-engine/components/toolcall/index.js.map +1 -1
  288. package/es/chat-engine/components/toolcall/registry.d.ts +6 -32
  289. package/es/chat-engine/components/toolcall/registry.js +23 -67
  290. package/es/chat-engine/components/toolcall/registry.js.map +1 -1
  291. package/es/chat-engine/components/toolcall/render.d.ts +1 -1
  292. package/es/chat-engine/components/toolcall/render.js +30 -79
  293. package/es/chat-engine/components/toolcall/render.js.map +1 -1
  294. package/es/chat-engine/components/toolcall/types.js +1 -1
  295. package/es/chat-engine/core/a2ui/index.d.ts +10 -0
  296. package/es/chat-engine/core/a2ui/index.js +24 -0
  297. package/es/chat-engine/core/a2ui/index.js.map +1 -0
  298. package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.d.ts +197 -0
  299. package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.js +438 -0
  300. package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.js.map +1 -0
  301. package/es/chat-engine/core/a2ui/processor/ComponentTree.d.ts +53 -0
  302. package/es/chat-engine/core/a2ui/processor/ComponentTree.js +158 -0
  303. package/es/chat-engine/core/a2ui/processor/ComponentTree.js.map +1 -0
  304. package/es/chat-engine/core/a2ui/processor/DataStore.d.ts +63 -0
  305. package/es/chat-engine/core/a2ui/processor/DataStore.js +172 -0
  306. package/es/chat-engine/core/a2ui/processor/DataStore.js.map +1 -0
  307. package/es/chat-engine/core/a2ui/processor/PathResolver.d.ts +47 -0
  308. package/es/chat-engine/core/a2ui/processor/PathResolver.js +99 -0
  309. package/es/chat-engine/core/a2ui/processor/PathResolver.js.map +1 -0
  310. package/es/chat-engine/core/a2ui/types/index.d.ts +4 -0
  311. package/es/chat-engine/core/a2ui/types/index.js +9 -0
  312. package/es/chat-engine/core/a2ui/types/index.js.map +1 -0
  313. package/es/chat-engine/core/a2ui/types/types.d.ts +770 -0
  314. package/es/chat-engine/core/a2ui/types/types.js +104 -0
  315. package/es/chat-engine/core/a2ui/types/types.js.map +1 -0
  316. package/es/chat-engine/core/a2ui/utils/binding.d.ts +34 -0
  317. package/es/chat-engine/core/a2ui/utils/binding.js +1784 -0
  318. package/es/chat-engine/core/a2ui/utils/binding.js.map +1 -0
  319. package/es/chat-engine/core/a2ui/utils/index.d.ts +5 -0
  320. package/es/chat-engine/core/a2ui/utils/index.js +13 -0
  321. package/es/chat-engine/core/a2ui/utils/index.js.map +1 -0
  322. package/es/chat-engine/core/a2ui/utils/validation.d.ts +70 -0
  323. package/es/chat-engine/core/a2ui/utils/validation.js +333 -0
  324. package/es/chat-engine/core/a2ui/utils/validation.js.map +1 -0
  325. package/es/chat-engine/core/adapters/a2ui/index.d.ts +10 -0
  326. package/es/chat-engine/core/adapters/a2ui/index.js +24 -0
  327. package/es/chat-engine/core/adapters/a2ui/index.js.map +1 -0
  328. package/es/chat-engine/core/adapters/a2ui/processor/A2uiMessageProcessor.d.ts +197 -0
  329. package/es/chat-engine/core/adapters/a2ui/processor/A2uiMessageProcessor.js +438 -0
  330. package/es/chat-engine/core/adapters/a2ui/processor/A2uiMessageProcessor.js.map +1 -0
  331. package/es/chat-engine/core/adapters/a2ui/processor/ComponentTree.d.ts +53 -0
  332. package/es/chat-engine/core/adapters/a2ui/processor/ComponentTree.js +158 -0
  333. package/es/chat-engine/core/adapters/a2ui/processor/ComponentTree.js.map +1 -0
  334. package/es/chat-engine/core/adapters/a2ui/processor/DataStore.d.ts +63 -0
  335. package/es/chat-engine/core/adapters/a2ui/processor/DataStore.js +172 -0
  336. package/es/chat-engine/core/adapters/a2ui/processor/DataStore.js.map +1 -0
  337. package/es/chat-engine/core/adapters/a2ui/processor/PathResolver.d.ts +47 -0
  338. package/es/chat-engine/core/adapters/a2ui/processor/PathResolver.js +99 -0
  339. package/es/chat-engine/core/adapters/a2ui/processor/PathResolver.js.map +1 -0
  340. package/es/chat-engine/core/adapters/a2ui/types/index.d.ts +4 -0
  341. package/es/chat-engine/core/adapters/a2ui/types/index.js +9 -0
  342. package/es/chat-engine/core/adapters/a2ui/types/index.js.map +1 -0
  343. package/es/chat-engine/core/adapters/a2ui/types/types.d.ts +770 -0
  344. package/es/chat-engine/core/adapters/a2ui/types/types.js +104 -0
  345. package/es/chat-engine/core/adapters/a2ui/types/types.js.map +1 -0
  346. package/es/chat-engine/core/adapters/a2ui/utils/binding.d.ts +34 -0
  347. package/es/chat-engine/core/adapters/a2ui/utils/binding.js +1784 -0
  348. package/es/chat-engine/core/adapters/a2ui/utils/binding.js.map +1 -0
  349. package/es/chat-engine/core/adapters/a2ui/utils/index.d.ts +5 -0
  350. package/es/chat-engine/core/adapters/a2ui/utils/index.js +13 -0
  351. package/es/chat-engine/core/adapters/a2ui/utils/index.js.map +1 -0
  352. package/es/chat-engine/core/adapters/a2ui/utils/validation.d.ts +70 -0
  353. package/es/chat-engine/core/adapters/a2ui/utils/validation.js +333 -0
  354. package/es/chat-engine/core/adapters/a2ui/utils/validation.js.map +1 -0
  355. package/es/chat-engine/core/adapters/agui/ActivityManager.d.ts +93 -0
  356. package/es/chat-engine/core/adapters/agui/ActivityManager.js +148 -0
  357. package/es/chat-engine/core/adapters/agui/ActivityManager.js.map +1 -0
  358. package/es/chat-engine/core/adapters/agui/StateManager.d.ts +99 -0
  359. package/es/chat-engine/core/adapters/agui/StateManager.js +172 -0
  360. package/es/chat-engine/core/adapters/agui/StateManager.js.map +1 -0
  361. package/es/chat-engine/core/adapters/agui/activity-manager.d.ts +102 -0
  362. package/es/chat-engine/core/adapters/agui/activity-manager.js +150 -0
  363. package/es/chat-engine/core/adapters/agui/activity-manager.js.map +1 -0
  364. package/es/chat-engine/core/adapters/agui/event-mapper.d.ts +42 -2
  365. package/es/chat-engine/core/adapters/agui/event-mapper.js +94 -52
  366. package/es/chat-engine/core/adapters/agui/event-mapper.js.map +1 -1
  367. package/es/chat-engine/core/adapters/agui/events.d.ts +222 -222
  368. package/es/chat-engine/core/adapters/agui/events.js +34 -34
  369. package/es/chat-engine/core/adapters/agui/events.js.map +1 -1
  370. package/es/chat-engine/core/adapters/agui/index.d.ts +21 -4
  371. package/es/chat-engine/core/adapters/agui/index.js +48 -23
  372. package/es/chat-engine/core/adapters/agui/index.js.map +1 -1
  373. package/es/chat-engine/core/adapters/agui/state-manager.js +7 -1
  374. package/es/chat-engine/core/adapters/agui/state-manager.js.map +1 -1
  375. package/es/chat-engine/core/adapters/agui/types/events.d.ts +1570 -0
  376. package/es/chat-engine/core/adapters/agui/types/events.js +15 -0
  377. package/es/chat-engine/core/adapters/agui/types/events.js.map +1 -0
  378. package/es/chat-engine/core/adapters/agui/types/index.d.ts +854 -0
  379. package/es/chat-engine/core/adapters/agui/types/index.js +279 -0
  380. package/es/chat-engine/core/adapters/agui/types/index.js.map +1 -0
  381. package/es/chat-engine/core/adapters/agui/types.d.ts +57 -56
  382. package/es/chat-engine/core/adapters/agui/types.js +5 -5
  383. package/es/chat-engine/core/adapters/agui/types.js.map +1 -1
  384. package/es/chat-engine/core/adapters/agui/utils.d.ts +9 -3
  385. package/es/chat-engine/core/adapters/agui/utils.js +23 -4
  386. package/es/chat-engine/core/adapters/agui/utils.js.map +1 -1
  387. package/es/chat-engine/core/adapters/index.d.ts +5 -0
  388. package/es/chat-engine/core/adapters/index.js +34 -0
  389. package/es/chat-engine/core/adapters/index.js.map +1 -0
  390. package/es/chat-engine/core/adapters/json-render/SurfaceStateManager.d.ts +114 -0
  391. package/es/chat-engine/core/adapters/json-render/SurfaceStateManager.js +194 -0
  392. package/es/chat-engine/core/adapters/json-render/SurfaceStateManager.js.map +1 -0
  393. package/es/chat-engine/core/adapters/json-render/a2ui-to-jsonrender.d.ts +49 -0
  394. package/es/chat-engine/core/adapters/json-render/a2ui-to-jsonrender.js +307 -0
  395. package/es/chat-engine/core/adapters/json-render/a2ui-to-jsonrender.js.map +1 -0
  396. package/es/chat-engine/core/adapters/json-render/engine.d.ts +58 -0
  397. package/es/chat-engine/core/adapters/json-render/engine.js +88 -0
  398. package/es/chat-engine/core/adapters/json-render/engine.js.map +1 -0
  399. package/es/chat-engine/core/adapters/json-render/index.d.ts +8 -0
  400. package/es/chat-engine/core/adapters/json-render/index.js +18 -0
  401. package/es/chat-engine/core/adapters/json-render/index.js.map +1 -0
  402. package/es/chat-engine/core/adapters/json-render/types/a2ui.d.ts +96 -0
  403. package/es/chat-engine/core/adapters/json-render/types/a2ui.js +7 -0
  404. package/es/chat-engine/core/adapters/json-render/types/a2ui.js.map +1 -0
  405. package/es/chat-engine/core/adapters/json-render/types/core.d.ts +49 -0
  406. package/es/chat-engine/core/adapters/json-render/types/core.js +7 -0
  407. package/es/chat-engine/core/adapters/json-render/types/core.js.map +1 -0
  408. package/es/chat-engine/core/adapters/json-render/types/index.d.ts +5 -0
  409. package/es/chat-engine/core/adapters/json-render/types/index.js +9 -0
  410. package/es/chat-engine/core/adapters/json-render/types/index.js.map +1 -0
  411. package/es/chat-engine/core/event-bus/ChatEventBus.d.ts +88 -0
  412. package/es/chat-engine/core/event-bus/ChatEventBus.js +295 -0
  413. package/es/chat-engine/core/event-bus/ChatEventBus.js.map +1 -0
  414. package/es/chat-engine/core/event-bus/index.d.ts +5 -0
  415. package/es/chat-engine/core/event-bus/index.js +13 -0
  416. package/es/chat-engine/core/event-bus/index.js.map +1 -0
  417. package/es/chat-engine/core/event-bus/types.d.ts +230 -0
  418. package/es/chat-engine/core/event-bus/types.js +32 -0
  419. package/es/chat-engine/core/event-bus/types.js.map +1 -0
  420. package/es/chat-engine/core/index.d.ts +17 -2
  421. package/es/chat-engine/core/index.js +185 -22
  422. package/es/chat-engine/core/index.js.map +1 -1
  423. package/es/chat-engine/core/processor/index.js +1 -1
  424. package/es/chat-engine/core/server/batch-client.js +1 -1
  425. package/es/chat-engine/core/server/connection-manager.js +1 -1
  426. package/es/chat-engine/core/server/errors.js +1 -1
  427. package/es/chat-engine/core/server/index.js +1 -1
  428. package/es/chat-engine/core/server/llm-service.js +4 -2
  429. package/es/chat-engine/core/server/llm-service.js.map +1 -1
  430. package/es/chat-engine/core/server/sse-client.js +1 -1
  431. package/es/chat-engine/core/server/sse-parser.js +1 -1
  432. package/es/chat-engine/core/server/types.js +1 -1
  433. package/es/chat-engine/core/store/message.js +6 -2
  434. package/es/chat-engine/core/store/message.js.map +1 -1
  435. package/es/chat-engine/core/store/model.js +2 -1
  436. package/es/chat-engine/core/store/model.js.map +1 -1
  437. package/es/chat-engine/core/store/reactiveState.d.ts +4 -0
  438. package/es/chat-engine/core/store/reactiveState.js +15 -1235
  439. package/es/chat-engine/core/store/reactiveState.js.map +1 -1
  440. package/es/chat-engine/core/type.d.ts +25 -1
  441. package/es/chat-engine/core/type.js +1 -1
  442. package/es/chat-engine/core/utils/eventEmitter.js +1 -1
  443. package/es/chat-engine/core/utils/immutable-patch.d.ts +61 -0
  444. package/es/chat-engine/core/utils/immutable-patch.js +147 -0
  445. package/es/chat-engine/core/utils/immutable-patch.js.map +1 -0
  446. package/es/chat-engine/core/utils/index.d.ts +7 -2
  447. package/es/chat-engine/core/utils/index.js +9 -883
  448. package/es/chat-engine/core/utils/index.js.map +1 -1
  449. package/es/chat-engine/core/utils/json-patch/helpers.d.ts +41 -0
  450. package/es/chat-engine/core/utils/json-patch/helpers.js +164 -0
  451. package/es/chat-engine/core/utils/json-patch/helpers.js.map +1 -0
  452. package/es/chat-engine/core/utils/json-patch/index.d.ts +115 -0
  453. package/es/chat-engine/core/utils/json-patch/index.js +387 -0
  454. package/es/chat-engine/core/utils/json-patch/index.js.map +1 -0
  455. package/es/chat-engine/core/utils/logger.js +1 -1
  456. package/es/chat-engine/core/utils/performance.d.ts +94 -0
  457. package/es/chat-engine/core/utils/performance.js +205 -0
  458. package/es/chat-engine/core/utils/performance.js.map +1 -0
  459. package/es/chat-engine/hooks/a2ui/A2UIContext.d.ts +90 -0
  460. package/es/chat-engine/hooks/a2ui/A2UIContext.js +97 -0
  461. package/es/chat-engine/hooks/a2ui/A2UIContext.js.map +1 -0
  462. package/es/chat-engine/hooks/a2ui/index.d.ts +12 -0
  463. package/es/chat-engine/hooks/a2ui/index.js +19 -0
  464. package/es/chat-engine/hooks/a2ui/index.js.map +1 -0
  465. package/es/chat-engine/hooks/a2ui/useA2UIAction.d.ts +40 -0
  466. package/es/chat-engine/hooks/a2ui/useA2UIAction.js +74 -0
  467. package/es/chat-engine/hooks/a2ui/useA2UIAction.js.map +1 -0
  468. package/es/chat-engine/hooks/a2ui/useA2UISurface.d.ts +36 -0
  469. package/es/chat-engine/hooks/a2ui/useA2UISurface.js +39 -0
  470. package/es/chat-engine/hooks/a2ui/useA2UISurface.js.map +1 -0
  471. package/es/chat-engine/hooks/a2ui/useDataBinding.d.ts +53 -0
  472. package/es/chat-engine/hooks/a2ui/useDataBinding.js +111 -0
  473. package/es/chat-engine/hooks/a2ui/useDataBinding.js.map +1 -0
  474. package/es/chat-engine/hooks/index.js +8 -1
  475. package/es/chat-engine/hooks/index.js.map +1 -1
  476. package/es/chat-engine/hooks/useAgentActivity.d.ts +1 -2
  477. package/es/chat-engine/hooks/useAgentActivity.js +10 -2
  478. package/es/chat-engine/hooks/useAgentActivity.js.map +1 -1
  479. package/es/chat-engine/hooks/useAgentState.js +1 -1
  480. package/es/chat-engine/hooks/useAgentState.js.map +1 -1
  481. package/es/chat-engine/hooks/useAgentToolcall.js +10 -2
  482. package/es/chat-engine/hooks/useAgentToolcall.js.map +1 -1
  483. package/es/chat-engine/hooks/useChat.d.ts +1 -1
  484. package/es/chat-engine/hooks/useChat.js +3 -3
  485. package/es/chat-engine/hooks/useChat.js.map +1 -1
  486. package/es/chat-engine/hooks/useJsonRenderActivity.d.ts +56 -0
  487. package/es/chat-engine/hooks/useJsonRenderActivity.js +63 -0
  488. package/es/chat-engine/hooks/useJsonRenderActivity.js.map +1 -0
  489. package/es/chat-engine/index.d.ts +2 -4
  490. package/es/chat-engine/index.js +14 -34
  491. package/es/chat-engine/index.js.map +1 -1
  492. package/es/chat-filecard/index.js +1 -1
  493. package/es/chat-loading/index.js +1 -1
  494. package/es/chat-markdown/index.js +1 -1
  495. package/es/chat-message/index.js +1 -1
  496. package/es/chat-sender/index.js +1 -1
  497. package/es/chat-thinking/index.js +1 -1
  498. package/es/chatbot/docs/react-best-practice.d.ts +13 -0
  499. package/es/chatbot/index.js +1 -1
  500. package/es/index.js +13 -31
  501. package/es/index.js.map +1 -1
  502. package/es/style/index.js +1 -1
  503. package/package.json +10 -5
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dep-1743bd61.js","sources":["../../../pro-components/chat/chat-engine/components/json-render/catalog/atomic/input.tsx","../../../pro-components/chat/chat-engine/components/json-render/registry/a2ui-binding.tsx","../../../pro-components/chat/chat-engine/components/json-render/registry/a2ui-registry.tsx","../../../pro-components/chat/chat-engine/components/json-render/registry/config.tsx","../../../pro-components/chat/chat-engine/components/json-render/registry/index.ts"],"sourcesContent":["/**\n * TDesign Input 组件适配 json-render\n * \n * 这是纯净的 json-render Input 组件,不包含 A2UI 协议绑定逻辑\n * 如需 A2UI 支持,请使用 a2uiRegistry 中的 A2UITextField\n */\n\nimport React from 'react';\nimport { Input, Space } from 'tdesign-react';\nimport type { InputProps } from 'tdesign-react';\nimport type { ComponentRenderProps } from '../../types';\nimport { useDataBinding } from '../..';\n\n/**\n * json-render Input 组件(基础版本,不带数据绑定)\n */\nexport const JsonRenderInput: React.FC<ComponentRenderProps> = ({ element }) => {\n const {\n value,\n defaultValue,\n placeholder,\n disabled = false,\n readonly = false,\n size = 'medium',\n type = 'text',\n maxlength,\n clearable = false,\n status,\n onChange,\n onBlur,\n onFocus,\n onEnter,\n onClear,\n ...restProps\n } = element.props as InputProps;\n\n return (\n <Input\n value={value}\n defaultValue={defaultValue}\n placeholder={placeholder}\n disabled={disabled}\n readonly={readonly}\n size={size}\n type={type}\n maxlength={maxlength}\n clearable={clearable}\n status={status}\n onChange={onChange}\n onBlur={onBlur}\n onFocus={onFocus}\n onEnter={onEnter}\n onClear={onClear}\n {...restProps}\n />\n );\n};\n\nJsonRenderInput.displayName = 'JsonRenderInput';\n\n/**\n * json-render TextField 组件(带 label 和 valuePath 数据绑定)\n * \n * 这是标准 json-render 的 TextField,支持 valuePath 但不支持 A2UI 的 disabledPath\n * 如需完整 A2UI 支持,请使用 a2uiRegistry 中的 A2UITextField\n */\nexport const JsonRenderTextField: React.FC<ComponentRenderProps> = ({ element }) => {\n const {\n label,\n valuePath,\n placeholder,\n type = 'text',\n disabled = false,\n size = 'medium',\n ...restProps\n } = element.props as InputProps & {\n label?: string;\n valuePath?: string;\n };\n\n // 细粒度订阅 + 稳定的 setValue(类似 useState 的 API)\n const [value = '', setValue] = useDataBinding<string>(valuePath!);\n\n if (label) {\n return (\n <Space direction=\"vertical\" size={4} style={{ width: '100%' }}>\n <label style={{ fontSize: '14px', fontWeight: 500 }}>{label}</label>\n <Input\n value={value}\n placeholder={placeholder}\n type={type}\n disabled={disabled}\n size={size}\n onChange={setValue}\n {...restProps}\n />\n </Space>\n );\n }\n\n return (\n <Input\n value={value}\n placeholder={placeholder}\n type={type}\n disabled={disabled}\n size={size}\n onChange={setValue}\n {...restProps}\n />\n );\n};\n\nJsonRenderTextField.displayName = 'JsonRenderTextField';\n\nexport default JsonRenderInput;\n","/**\n * A2UI 数据绑定 HOC\n * \n * 统一处理 A2UI 协议的标准字段:\n * - valuePath: 值的数据绑定路径(如 /userInfo/name)\n * - disabledPath: disabled 状态的数据绑定路径(如 /formDisabled)\n * - action.context: action 参数中的动态数据绑定\n * \n * 性能优化:\n * - 使用 React.memo + 精确值比较避免不必要渲染\n * - Action 参数延迟解析(触发时才计算)\n * - 使用 useRef 缓存回调函数避免重建\n * \n * 使用方式:\n * ```tsx\n * // 创建支持 A2UI 绑定的 Input\n * const A2UIInput = withA2UIBinding(Input, {\n * valueField: 'value',\n * onChangeField: 'onChange',\n * });\n * \n * // 创建支持 action 的 Button\n * const A2UIButton = withA2UIBinding(Button, {\n * supportsAction: true,\n * actionTrigger: 'onClick', // 默认\n * });\n * \n * // Input 支持 onEnter 触发 action\n * const A2UISearchInput = withA2UIBinding(Input, {\n * valueField: 'value',\n * onChangeField: 'onChange',\n * supportsAction: true,\n * actionTrigger: 'onEnter',\n * });\n * ```\n */\n\nimport React, { useCallback, useRef, memo, useMemo } from 'react';\nimport { getByPath } from '@json-render/core';\nimport type { Action } from '@json-render/core';\nimport { useDataValue, useDataBinding, useDataStore } from '..';\nimport { type ComponentRenderProps } from '../types';\n/**\n * A2UI 绑定配置\n */\nexport interface A2UIBindingConfig {\n /** 组件的值字段名,默认 'value' */\n valueField?: string;\n /** 组件的 onChange 字段名,默认 'onChange' */\n onChangeField?: string;\n /** 是否支持 action 绑定,默认 false */\n supportsAction?: boolean;\n /** \n * Action 触发事件名,默认 'onClick'\n * 可设置为 'onEnter'、'onChange' 等\n */\n actionTrigger?: string;\n}\n\n/**\n * 解析 action params 中的动态数据绑定\n * 将 { path: '/xxx' } 格式的引用替换为实际数据\n * \n * 性能优化:使用迭代替代递归,减少调用栈深度\n */\nfunction resolveActionParams(\n params: Record<string, unknown>,\n data: Record<string, unknown>,\n maxDepth = 10,\n): Record<string, unknown> {\n const resolved: Record<string, unknown> = {};\n \n // 使用栈迭代处理,避免深递归\n const stack: Array<{\n source: Record<string, unknown>;\n target: Record<string, unknown>;\n depth: number;\n }> = [{ source: params, target: resolved, depth: 0 }];\n \n while (stack.length > 0) {\n const { source, target, depth } = stack.pop()!;\n \n if (depth >= maxDepth) {\n // 防止无限递归\n Object.assign(target, source);\n continue;\n }\n \n for (const [key, value] of Object.entries(source)) {\n if (value && typeof value === 'object' && 'path' in value) {\n // 动态绑定:{ path: '/userInfo' } → 实际数据\n const pathValue = (value as { path: string }).path;\n target[key] = getByPath(data, pathValue);\n } else if (value && typeof value === 'object' && !Array.isArray(value)) {\n // 嵌套对象,加入栈处理\n const nestedTarget: Record<string, unknown> = {};\n target[key] = nestedTarget;\n stack.push({\n source: value as Record<string, unknown>,\n target: nestedTarget,\n depth: depth + 1,\n });\n } else {\n // 静态值直接保留\n target[key] = value;\n }\n }\n }\n \n return resolved;\n}\n\n/**\n * A2UI 数据绑定 HOC 内部组件\n * 处理实际的数据绑定逻辑\n */\ninterface A2UIBoundInnerProps<P> extends ComponentRenderProps {\n WrappedComponent: React.ComponentType<P>;\n valueField: string;\n onChangeField: string;\n supportsAction: boolean;\n actionTrigger: string;\n}\n\nfunction A2UIBoundInner<P extends Record<string, any>>({\n element,\n children,\n onAction,\n WrappedComponent,\n valueField,\n onChangeField,\n supportsAction,\n actionTrigger,\n}: A2UIBoundInnerProps<P>) {\n // 提取 A2UI 特有字段\n const {\n valuePath,\n disabledPath,\n action,\n disabled: staticDisabled,\n ...componentProps\n } = element.props as P & {\n valuePath?: string;\n disabledPath?: string;\n action?: string | Action;\n disabled?: boolean;\n };\n\n // 细粒度订阅:只订阅需要的路径\n const [boundValue, setBoundValue] = useDataBinding(valuePath!);\n const disabledValue = useDataValue(disabledPath);\n \n // 获取 store(用于 action 触发时读取最新 data)\n const store = useDataStore();\n \n // 使用 ref 缓存 store,action 触发时获取最新值\n const storeRef = useRef(store);\n storeRef.current = store;\n\n // 计算 disabled 状态\n const boundDisabled = useMemo(() => {\n if (disabledPath) {\n return Boolean(disabledValue);\n }\n return staticDisabled ?? false;\n }, [disabledPath, disabledValue, staticDisabled]);\n\n // 创建稳定的 onChange 处理器(useDataBinding 已返回稳定函数)\n const handleChange = useCallback((newValue: unknown) => {\n if (valuePath && setBoundValue) {\n setBoundValue(newValue as any);\n }\n }, [valuePath, setBoundValue]);\n\n // 创建稳定的 action 处理器(延迟解析,触发时才获取最新 data)\n const handleAction = useCallback(() => {\n if (!action || !onAction) return;\n\n // 标准化 action 格式\n const actionObj: Action = typeof action === 'string'\n ? { name: action, params: {} }\n : action;\n\n // 使用最新的 data 解析参数\n const currentData = storeRef.current.getData();\n const resolvedParams = actionObj.params\n ? resolveActionParams(actionObj.params as Record<string, unknown>, currentData)\n : {};\n\n const resolvedAction: Action = {\n name: actionObj.name,\n params: resolvedParams,\n };\n\n onAction(resolvedAction);\n }, [action, onAction]);\n\n // 构建最终 props\n const finalProps = useMemo(() => {\n const props: any = {\n ...componentProps,\n disabled: boundDisabled,\n };\n\n // 如果有 valuePath,注入值和 onChange\n if (valuePath !== undefined) {\n props[valueField] = boundValue;\n props[onChangeField] = handleChange;\n }\n\n // 如果支持 action,注入到指定的触发事件\n if (supportsAction && action) {\n const originalHandler = componentProps[actionTrigger];\n props[actionTrigger] = (...args: any[]) => {\n // 先调用原始处理器\n if (typeof originalHandler === 'function') {\n originalHandler(...args);\n }\n // 再触发 action\n handleAction();\n };\n }\n\n return props;\n }, [\n componentProps,\n boundDisabled,\n valuePath,\n valueField,\n boundValue,\n onChangeField,\n handleChange,\n supportsAction,\n action,\n actionTrigger,\n handleAction,\n ]);\n\n return (\n <WrappedComponent {...finalProps as P}>\n {children}\n </WrappedComponent>\n );\n}\n\n/**\n * A2UI 数据绑定 HOC\n * \n * 自动处理 A2UI 协议的标准字段,让原子组件保持纯净\n * \n * @param WrappedComponent 原始组件\n * @param config 绑定配置\n */\nexport function withA2UIBinding<P extends Record<string, any>>(\n WrappedComponent: React.ComponentType<P>,\n config: A2UIBindingConfig = {},\n): React.FC<ComponentRenderProps> {\n const {\n valueField = 'value',\n onChangeField = 'onChange',\n supportsAction = false,\n actionTrigger = 'onClick',\n } = config;\n\n const A2UIBoundComponent: React.FC<ComponentRenderProps> = (props) => {\n return (\n <A2UIBoundInner\n {...props}\n WrappedComponent={WrappedComponent}\n valueField={valueField}\n onChangeField={onChangeField}\n supportsAction={supportsAction}\n actionTrigger={actionTrigger}\n />\n );\n };\n\n A2UIBoundComponent.displayName = `withA2UIBinding(${WrappedComponent.displayName || WrappedComponent.name || 'Component'})`;\n\n // 使用 memo 包装,通过精确比较避免不必要渲染\n return memo(A2UIBoundComponent, (prevProps, nextProps) => {\n // element 引用相同,跳过渲染\n if (prevProps.element === nextProps.element) return true;\n \n // 比较关键字段\n const prevEl = prevProps.element;\n const nextEl = nextProps.element;\n \n if (prevEl.type !== nextEl.type) return false;\n if (prevEl.key !== nextEl.key) return false;\n \n // 比较 props(浅比较)\n const prevElProps = prevEl.props || {};\n const nextElProps = nextEl.props || {};\n const prevKeys = Object.keys(prevElProps);\n const nextKeys = Object.keys(nextElProps);\n \n if (prevKeys.length !== nextKeys.length) return false;\n \n for (const key of prevKeys) {\n if (prevElProps[key] !== nextElProps[key]) return false;\n }\n \n return true;\n });\n}\n\nexport default withA2UIBinding;\n","/**\n * A2UI 专用组件注册表\n * \n * 使用 withA2UIBinding HOC 包装原子组件,自动处理 A2UI 协议字段:\n * - valuePath: 值的数据绑定(如 /userInfo/name)\n * - disabledPath: disabled 状态的数据绑定(如 /formDisabled)\n * - action.context: action 参数中的动态数据绑定({ path: '/xxx' } 格式)\n * \n * 与 tdesignRegistry 的区别:\n * - tdesignRegistry: 纯净的 TDesign 组件,用于直接的 json-render schema\n * - a2uiRegistry: 支持 A2UI 协议的组件,用于 A2UI → json-render 转换后的渲染\n * \n * 使用方式:\n * ```tsx\n * // 业务使用 A2UI 协议时\n * const config = createA2UIJsonRenderActivityConfig({\n * registry: a2uiRegistry, // 内置 A2UI 组件\n * // 或扩展自定义组件\n * registry: createA2UIRegistry({\n * MyCustomComponent: withA2UIBinding(MyComponent, { supportsAction: true }),\n * }),\n * });\n * ```\n */\n\nimport React from 'react';\nimport { Input, Button, Space } from 'tdesign-react';\nimport type { InputProps, ButtonProps } from 'tdesign-react';\nimport { withA2UIBinding } from './a2ui-binding';\n\n// 导入纯净组件和布局组件(这些不需要 A2UI 绑定)\nimport { JsonRenderCard } from '../catalog/atomic/card';\nimport { JsonRenderText } from '../catalog/atomic/text';\nimport {\n JsonRenderRow,\n JsonRenderCol,\n JsonRenderSpace,\n JsonRenderColumn,\n JsonRenderDivider,\n} from '../catalog/atomic/layout';\n\nimport { type ComponentRegistry } from '../types';\n\n// ==================== 基础组件包装器 ====================\n\n/**\n * 基础 Input 组件(用于 HOC 包装)\n * 接收标准 InputProps,由 HOC 注入 value/onChange/disabled\n */\nconst BaseInput: React.FC<InputProps & { label?: string }> = ({\n label,\n ...props\n}) => {\n if (label) {\n return (\n <Space direction=\"vertical\" size={4} style={{ width: '100%' }}>\n <label style={{ fontSize: '14px', fontWeight: 500 }}>{label}</label>\n <Input {...props} />\n </Space>\n );\n }\n return <Input {...props} />;\n};\n\nBaseInput.displayName = 'BaseInput';\n\n/**\n * 基础 Button 组件(用于 HOC 包装)\n * 接收标准 ButtonProps,由 HOC 注入 onClick/disabled\n */\nconst BaseButton: React.FC<ButtonProps & { label?: string }> = ({\n label,\n children,\n ...props\n}) => {\n const content = label || children;\n return <Button {...props}>{content}</Button>;\n};\n\nBaseButton.displayName = 'BaseButton';\n\n// ==================== A2UI 组件(通过 HOC 生成)====================\n\n/**\n * A2UI TextField 组件\n * 自动支持 valuePath/disabledPath 数据绑定\n */\nexport const A2UITextField = withA2UIBinding<InputProps & { label?: string }>(\n BaseInput,\n {\n valueField: 'value',\n onChangeField: 'onChange',\n supportsAction: false,\n },\n);\n\n/**\n * A2UI Button 组件\n * 自动支持 disabledPath 和 action.context 动态绑定\n */\nexport const A2UIButton = withA2UIBinding<ButtonProps & { label?: string }>(\n BaseButton,\n {\n supportsAction: true,\n },\n);\n\n// ==================== A2UI Registry ====================\n\n/**\n * A2UI 专用组件注册表\n * \n * 用于 A2UI 协议转换后的渲染,组件自动支持:\n * - valuePath: 值绑定到 dataModel\n * - disabledPath: disabled 状态绑定到 dataModel\n * - action.context: action 参数动态解析\n * \n * @example\n * ```tsx\n * import { a2uiRegistry } from './catalog/a2ui-registry';\n * \n * const config = createA2UIJsonRenderActivityConfig({\n * registry: a2uiRegistry, // 使用 A2UI 专用 registry\n * actionHandlers: { ... },\n * });\n * ```\n */\nexport const a2uiRegistry: ComponentRegistry = {\n // A2UI 绑定组件(通过 HOC 包装)\n TextField: A2UITextField,\n Button: A2UIButton,\n \n // 纯净组件(布局类不需要 A2UI 绑定)\n Card: JsonRenderCard,\n Text: JsonRenderText,\n Row: JsonRenderRow,\n Col: JsonRenderCol,\n Space: JsonRenderSpace,\n Column: JsonRenderColumn,\n Divider: JsonRenderDivider,\n};\n\n/**\n * 创建自定义 A2UI 组件注册表\n * \n * 基于 a2uiRegistry 扩展自定义组件\n * 自定义组件如需支持 A2UI 协议,请使用 withA2UIBinding 包装\n * \n * @example\n * ```tsx\n * import { createA2UIRegistry, withA2UIBinding } from '@tdesign-react/chat';\n * \n * // 创建支持 A2UI 的自定义组件\n * const A2UIDatePicker = withA2UIBinding(DatePicker, {\n * valueField: 'value',\n * onChangeField: 'onChange',\n * });\n * \n * const customRegistry = createA2UIRegistry({\n * DatePicker: A2UIDatePicker,\n * });\n * ```\n */\nexport function createA2UIRegistry(\n customComponents: ComponentRegistry,\n): ComponentRegistry {\n return {\n ...a2uiRegistry,\n ...customComponents,\n };\n}\n\nexport default a2uiRegistry;\n","/**\n * json-render Activity 配置工厂函数\n * 便捷创建 ActivityConfig 用于注册\n */\n\nimport React from 'react';\nimport type { ActivityConfig } from '../../activity/types';\nimport type { JsonRenderActivityProps, ComponentRegistry } from '../types';\nimport { JsonRenderActivityRenderer } from '../renderer/JsonRenderActivityRenderer';\nimport { A2UIJsonRenderActivityRenderer } from '../renderer/A2UIJsonRenderActivityRenderer';\nimport { a2uiRegistry, tdesignRegistry } from '.';\n\n/**\n * json-render Activity 配置选项\n */\nexport interface JsonRenderActivityConfigOptions {\n /** Activity 类型标识,默认 'json-render' */\n activityType?: string;\n /** 组件注册表,默认使用 tdesignRegistry */\n registry?: ComponentRegistry;\n /** \n * Action 处理器映射表\n * \n * 重要:json-render 采用预定义 action 模式\n * - AI/服务端只能生成在此预定义的 action 名称\n * - 每个 action 对应一个具体的处理函数\n * - 这确保了生成式 UI 的安全性和可控性\n * \n * @example\n * ```tsx\n * actionHandlers: {\n * // 表单提交\n * submit: async (params) => {\n * await api.submitForm(params);\n * MessagePlugin.success('提交成功');\n * },\n * \n * // 表单重置\n * reset: async (params) => {\n * MessagePlugin.info('表单已重置');\n * },\n * \n * // 删除操作\n * delete: async (params) => {\n * await api.deleteItem(params.id);\n * },\n * \n * // 刷新数据\n * refresh: async () => {\n * await refetchData();\n * }\n * }\n * ```\n */\n actionHandlers?: Record<string, (params: Record<string, unknown>) => void | Promise<void>>;\n /** 显示调试信息 */\n debug?: boolean;\n /** 描述信息 */\n description?: string;\n}\n\n/**\n * 创建 json-render Activity 配置\n * \n * @example\n * 基础用法 - 预定义 action handlers\n * ```tsx\n * const jsonRenderConfig = createJsonRenderActivityConfig({\n * activityType: 'json-render',\n * actionHandlers: {\n * submit: async (params) => {\n * console.log('提交表单:', params);\n * await api.submit(params);\n * MessagePlugin.success('提交成功');\n * },\n * reset: async (params) => {\n * MessagePlugin.info('表单已重置');\n * },\n * delete: async (params) => {\n * await api.delete(params.id);\n * }\n * },\n * });\n * \n * useAgentActivity(jsonRenderConfig);\n * ```\n * \n * @example\n * 结合 ChatEngine 发送消息到服务端\n * ```tsx\n * const jsonRenderConfig = createJsonRenderActivityConfig({\n * actionHandlers: {\n * submit: async (params) => {\n * // 发送到服务端处理\n * await chatEngine.sendAIMessage({\n * params: { userActionMessage: { name: 'submit', params } },\n * sendRequest: true,\n * });\n * },\n * reset: async (params) => {\n * // 本地处理,不发送到服务端\n * MessagePlugin.info('已重置');\n * },\n * },\n * });\n * ```\n * \n * @example\n * 配合自定义组件注册表\n * ```tsx\n * import { createCustomRegistry } from './catalog';\n * \n * const jsonRenderConfig = createJsonRenderActivityConfig({\n * registry: createCustomRegistry({\n * MyCustomComponent: MyComponentRenderer,\n * }),\n * actionHandlers: {\n * custom_action: async (params) => {\n * // 处理自定义操作\n * },\n * },\n * });\n * ```\n */\nexport function createJsonRenderActivityConfig(\n options: JsonRenderActivityConfigOptions = {},\n): ActivityConfig<JsonRenderActivityProps['content']> {\n const {\n activityType = 'json-render',\n registry = tdesignRegistry,\n actionHandlers = {},\n debug = false,\n description = 'json-render 动态 UI 渲染器',\n } = options;\n\n return {\n activityType,\n component: React.memo((props: JsonRenderActivityProps) => (\n <JsonRenderActivityRenderer\n {...props}\n registry={registry}\n actionHandlers={actionHandlers}\n debug={debug}\n />\n )),\n description,\n };\n}\n\n/**\n * 创建 A2UI + json-render Activity 配置\n * 支持将 A2UI 协议转换为 json-render Schema 渲染\n * \n * 注意:默认使用 a2uiRegistry,自动支持 valuePath/disabledPath/action.context 绑定\n * \n * @example\n * ```tsx\n * const a2uiJsonRenderConfig = createA2UIJsonRenderActivityConfig({\n * activityType: 'a2ui-json-render',\n * actionHandlers: {\n * submit: async (params) => {\n * console.log('提交:', params);\n * },\n * cancel: async (params) => {\n * console.log('取消');\n * },\n * },\n * });\n * \n * useAgentActivity(a2uiJsonRenderConfig);\n * ```\n */\nexport function createA2UIJsonRenderActivityConfig(\n options: JsonRenderActivityConfigOptions = {},\n): ActivityConfig<any> {\n const {\n activityType = 'a2ui-json-render',\n registry = a2uiRegistry, // A2UI 默认使用 a2uiRegistry\n actionHandlers = {},\n debug = false,\n description = 'A2UI + json-render 适配渲染器',\n } = options;\n\n return {\n activityType,\n component: React.memo((props: any) => (\n <A2UIJsonRenderActivityRenderer\n {...props}\n registry={registry}\n actionHandlers={actionHandlers}\n debug={debug}\n />\n )),\n description,\n };\n}\n","/**\n * TDesign ComponentRegistry(React 组件注册表)\n * 用于 json-render 渲染层的组件映射\n * \n * 重要概念区分:\n * - ComponentRegistry(本文件):渲染层,映射组件名到 React 组件(传给 Renderer)\n * - Catalog(catalog.ts):约束层,定义组件 props schema 和 actions 白名单(给 AI/服务端)\n * \n * Registry 分类:\n * - tdesignRegistry: 纯净的 TDesign 组件,用于直接的 json-render schema\n * - a2uiRegistry: 支持 A2UI 协议的组件,自动处理 valuePath/disabledPath/action.context\n * \n * 详见:ARCHITECTURE.md\n */\n\nimport React from 'react';\nimport isEqual from 'react-fast-compare';\nimport { JsonRenderButton } from '../catalog/atomic/button';\nimport { JsonRenderInput, JsonRenderTextField } from '../catalog/atomic/input';\nimport { JsonRenderCard } from '../catalog/atomic/card';\nimport { JsonRenderText } from '../catalog/atomic/text';\nimport {\n JsonRenderRow,\n JsonRenderCol,\n JsonRenderSpace,\n JsonRenderColumn,\n JsonRenderDivider,\n} from '../catalog/atomic/layout';\nimport type { ComponentRegistry, ComponentRenderProps } from '../types';\n\n/**\n * 高性能组件包装器(可选)\n * 使用 React.memo + react-fast-compare 实现深比较\n * \n * 注意:由于 ElementRenderer 已经实现了 React.memo + 深比较优化,\n * 大多数情况下叶子组件不需要再使用 withStableProps 包装。\n * \n * 使用场景:\n * - 组件内部有复杂的计算逻辑,希望进一步减少重渲染\n * - 组件使用了 Context,需要避免 Context 变化导致的不必要渲染\n * \n * 原理:\n * - json-render 每次渲染都会创建新的 element 对象引用\n * - 默认的 React.memo 浅比较会认为 props 变化了\n * - 使用 react-fast-compare 进行高效深比较,只在内容真正变化时才重渲染\n * \n * 性能说明:\n * - react-fast-compare 比 JSON.stringify 更快(短路比较)\n * - 发现第一个不同属性时立即停止,不会遍历整个对象\n * - 处理了循环引用等边缘情况\n */\nexport function withStableProps<P extends ComponentRenderProps>(\n Component: React.ComponentType<P>,\n): React.MemoExoticComponent<React.ComponentType<P>> {\n return React.memo(Component, (prevProps, nextProps) => {\n const prevElement = prevProps.element as any;\n const nextElement = nextProps.element as any;\n \n // 1. children 变化必须重渲染\n // 深层更新时,父组件的 element 可能不变,但 children(子组件树)会变化\n if (prevProps.children !== nextProps.children) {\n return false;\n }\n \n // 2. element 引用相同,跳过渲染\n if (prevElement === nextElement) return true;\n \n // 3. 快速路径:id 或 type 不同,需要重渲染\n if (prevElement.id !== nextElement.id || prevElement.type !== nextElement.type) {\n return false;\n }\n \n // 4. 使用 react-fast-compare 进行高效深比较\n return isEqual(prevElement.props, nextElement.props);\n });\n}\n\n/**\n * TDesign 内置组件注册表(渲染层)\n * \n * 这是框架内置的原子组件集合,提供基础 UI 渲染能力\n * 业务层可以通过 createCustomRegistry 扩展自定义组件\n * \n * 使用方式:\n * ```tsx\n * import { tdesignRegistry } from '@tdesign-react/chat';\n * \n * const config = createJsonRenderActivityConfig({\n * registry: tdesignRegistry,\n * actionHandlers: { ... },\n * });\n * ```\n * \n * Schema 示例:\n * ```json\n * {\n * \"root\": \"btn1\",\n * \"elements\": {\n * \"btn1\": {\n * \"key\": \"btn1\",\n * \"type\": \"Button\",\n * \"props\": {\n * \"variant\": \"base\",\n * \"theme\": \"primary\",\n * \"children\": \"点击我\",\n * \"action\": \"submit\"\n * }\n * }\n * }\n * }\n * ```\n */\nexport const tdesignRegistry: ComponentRegistry = {\n // 基础组件\n Button: JsonRenderButton,\n Input: JsonRenderInput,\n TextField: JsonRenderTextField,\n Card: JsonRenderCard,\n Text: JsonRenderText,\n\n // 布局组件\n Row: JsonRenderRow,\n Col: JsonRenderCol,\n Space: JsonRenderSpace,\n Column: JsonRenderColumn,\n Divider: JsonRenderDivider,\n\n // 别名(兼容不同命名风格)\n button: JsonRenderButton,\n input: JsonRenderInput,\n textfield: JsonRenderTextField,\n card: JsonRenderCard,\n text: JsonRenderText,\n row: JsonRenderRow,\n col: JsonRenderCol,\n space: JsonRenderSpace,\n column: JsonRenderColumn,\n divider: JsonRenderDivider,\n};\n\n/**\n * createCustomRegistry 配置选项\n */\nexport interface CreateCustomRegistryOptions {\n /**\n * 是否自动包装组件以优化性能\n * 使用 React.memo + react-fast-compare 深比较 element.props\n * \n * 注意:由于 ElementRenderer 已经实现了 memo 优化,\n * 默认关闭此选项。仅在组件有复杂内部逻辑时考虑开启。\n * \n * @default false\n */\n enableStableProps?: boolean;\n}\n\n/**\n * 创建自定义组件注册表(扩展内置组件)\n * \n * 用于渲染层:扩展自定义业务组件的 React 实现\n * \n * 性能说明:\n * - ElementRenderer 已经使用 React.memo + 深比较优化,会自动跳过无变化节点\n * - 默认情况下,自定义组件无需额外的 memo 包装\n * - 如果组件有复杂内部逻辑,可以设置 enableStableProps: true 进行双重优化\n * \n * @example\n * ```tsx\n * import { createCustomRegistry } from '@tdesign-react/chat';\n * import type { ComponentRenderProps } from '@json-render/react';\n * \n * // 定义自定义组件(无需手动 React.memo)\n * const StatusCard: React.FC<ComponentRenderProps> = ({ element }) => (\n * <div className=\"status-card\">{element.props.status}</div>\n * );\n * \n * const ProgressBar: React.FC<ComponentRenderProps> = ({ element }) => (\n * <div className=\"progress-bar\" style={{ width: `${element.props.percentage}%` }} />\n * );\n * \n * // 扩展 registry(ElementRenderer 已有优化,无需额外包装)\n * const customRegistry = createCustomRegistry({\n * StatusCard,\n * ProgressBar,\n * });\n * \n * // 如果组件有复杂内部逻辑,可以开启双重优化\n * const customRegistry = createCustomRegistry(\n * { StatusCard, ProgressBar },\n * { enableStableProps: true }\n * );\n * ```\n * \n * 注意:\n * - 这里只定义渲染层的组件映射\n * - 约束层(Catalog)需要使用 createCustomCatalog 定义(见 catalog.ts)\n * - 两者需要保持组件名称一致\n */\nexport function createCustomRegistry(\n customComponents: ComponentRegistry,\n options: CreateCustomRegistryOptions = {},\n): ComponentRegistry {\n const { enableStableProps = false } = options;\n\n // 如果启用性能优化,自动包装组件\n const processedComponents: ComponentRegistry = {};\n \n if (enableStableProps) {\n for (const [name, Component] of Object.entries(customComponents)) {\n processedComponents[name] = withStableProps(Component as React.ComponentType<ComponentRenderProps>);\n }\n } else {\n Object.assign(processedComponents, customComponents);\n }\n\n return {\n ...tdesignRegistry,\n ...processedComponents,\n };\n}\n\n// ==================== 重新导出 A2UI Registry ====================\n// A2UI 专用组件,支持 valuePath/disabledPath/action.context 自动绑定\nexport { a2uiRegistry, createA2UIRegistry, A2UITextField, A2UIButton } from './a2ui-registry';\n\n\n// 配置工厂\nexport type { JsonRenderActivityConfigOptions } from './config';\n// 默认导出配置函数\nexport { createJsonRenderActivityConfig, createA2UIJsonRenderActivityConfig } from './config';\n\n// ==================== 重新导出 A2UI Binding HOC ====================\nexport { withA2UIBinding } from './a2ui-binding';\nexport type { A2UIBindingConfig } from './a2ui-binding';\n"],"names":["JsonRenderInput","_ref","element","_element$props","props","value","defaultValue","placeholder","_element$props$disabl","disabled","_element$props$readon","readonly","_element$props$size","size","_element$props$type","type","maxlength","_element$props$cleara","clearable","status","onChange","onBlur","onFocus","onEnter","onClear","restProps","_objectWithoutProperties","_excluded","React","createElement","Input","_objectSpread","displayName","JsonRenderTextField","_ref2","_element$props2","label","valuePath","_element$props2$type","_element$props2$disab","_element$props2$size","_excluded2","_useDataBinding","useDataBinding","_useDataBinding2","_slicedToArray","_useDataBinding2$","setValue","Space","direction","style","width","fontSize","fontWeight","resolveActionParams","params","data","maxDepth","arguments","length","undefined","resolved","stack","source","target","depth","_stack$pop","pop","Object","assign","_i","_Object$entries","entries","_Object$entries$_i","key","_typeof","pathValue","path","getByPath","Array","isArray","nestedTarget","push","A2UIBoundInner","children","onAction","WrappedComponent","valueField","onChangeField","supportsAction","actionTrigger","disabledPath","action","staticDisabled","componentProps","boundValue","setBoundValue","disabledValue","useDataValue","store","useDataStore","storeRef","useRef","current","boundDisabled","useMemo","Boolean","handleChange","useCallback","newValue","handleAction","actionObj","name","currentData","getData","resolvedParams","resolvedAction","finalProps","originalHandler","apply","withA2UIBinding","config","_config$valueField","_config$onChangeField","_config$supportsActio","_config$actionTrigger","A2UIBoundComponent","concat","memo","prevProps","nextProps","prevEl","nextEl","prevElProps","nextElProps","prevKeys","keys","nextKeys","_i2","_prevKeys","BaseInput","BaseButton","content","Button","A2UITextField","A2UIButton","a2uiRegistry","TextField","Card","JsonRenderCard","Text","JsonRenderText","Row","JsonRenderRow","Col","JsonRenderCol","JsonRenderSpace","Column","JsonRenderColumn","Divider","JsonRenderDivider","createA2UIRegistry","customComponents","createJsonRenderActivityConfig","options","_options$activityType","activityType","_options$registry","registry","tdesignRegistry","_options$actionHandle","actionHandlers","_options$debug","debug","_options$description","description","component","JsonRenderActivityRenderer","createA2UIJsonRenderActivityConfig","_options$activityType2","_options$registry2","_options$actionHandle2","_options$debug2","_options$description2","A2UIJsonRenderActivityRenderer","withStableProps","Component","prevElement","nextElement","id","isEqual","JsonRenderButton","button","input","textfield","card","text","row","col","space","column","divider","createCustomRegistry","_options$enableStable","enableStableProps","processedComponents"],"mappings":"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"}