@tdesign-react/chat 1.0.2 → 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 (524) hide show
  1. package/CHANGELOG.md +0 -4
  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.d.ts +1 -2
  48. package/es/_util/reactify.js +102 -232
  49. package/es/_util/reactify.js.map +1 -1
  50. package/es/attachments/index.js +3 -5
  51. package/es/attachments/index.js.map +1 -1
  52. package/es/chat-actionbar/index.js +3 -5
  53. package/es/chat-actionbar/index.js.map +1 -1
  54. package/es/chat-engine/components/a2ui/A2UIActivityRenderer.d.ts +196 -0
  55. package/es/chat-engine/components/a2ui/A2UIActivityRenderer.js +301 -0
  56. package/es/chat-engine/components/a2ui/A2UIActivityRenderer.js.map +1 -0
  57. package/es/chat-engine/components/a2ui/A2UIComponentRenderer.d.ts +37 -0
  58. package/es/chat-engine/components/a2ui/A2UIComponentRenderer.js +116 -0
  59. package/es/chat-engine/components/a2ui/A2UIComponentRenderer.js.map +1 -0
  60. package/es/chat-engine/components/a2ui/A2UIErrorBoundary.d.ts +42 -0
  61. package/es/chat-engine/components/a2ui/A2UIErrorBoundary.js +113 -0
  62. package/es/chat-engine/components/a2ui/A2UIErrorBoundary.js.map +1 -0
  63. package/es/chat-engine/components/a2ui/A2UISkeleton.d.ts +60 -0
  64. package/es/chat-engine/components/a2ui/A2UISkeleton.js +197 -0
  65. package/es/chat-engine/components/a2ui/A2UISkeleton.js.map +1 -0
  66. package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.d.ts +44 -0
  67. package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.js +139 -0
  68. package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.js.map +1 -0
  69. package/es/chat-engine/components/a2ui/containers/A2UICard.d.ts +22 -0
  70. package/es/chat-engine/components/a2ui/containers/A2UICard.js +82 -0
  71. package/es/chat-engine/components/a2ui/containers/A2UICard.js.map +1 -0
  72. package/es/chat-engine/components/a2ui/containers/A2UIColumn.d.ts +18 -0
  73. package/es/chat-engine/components/a2ui/containers/A2UIColumn.js +81 -0
  74. package/es/chat-engine/components/a2ui/containers/A2UIColumn.js.map +1 -0
  75. package/es/chat-engine/components/a2ui/containers/A2UIList.d.ts +14 -0
  76. package/es/chat-engine/components/a2ui/containers/A2UIList.js +62 -0
  77. package/es/chat-engine/components/a2ui/containers/A2UIList.js.map +1 -0
  78. package/es/chat-engine/components/a2ui/containers/A2UIRow.d.ts +20 -0
  79. package/es/chat-engine/components/a2ui/containers/A2UIRow.js +84 -0
  80. package/es/chat-engine/components/a2ui/containers/A2UIRow.js.map +1 -0
  81. package/es/chat-engine/components/a2ui/containers/A2UITabs.d.ts +14 -0
  82. package/es/chat-engine/components/a2ui/containers/A2UITabs.js +69 -0
  83. package/es/chat-engine/components/a2ui/containers/A2UITabs.js.map +1 -0
  84. package/es/chat-engine/components/a2ui/containers/index.d.ts +8 -0
  85. package/es/chat-engine/components/a2ui/containers/index.js +30 -0
  86. package/es/chat-engine/components/a2ui/containers/index.js.map +1 -0
  87. package/es/chat-engine/components/a2ui/index.d.ts +11 -0
  88. package/es/chat-engine/components/a2ui/index.js +62 -0
  89. package/es/chat-engine/components/a2ui/index.js.map +1 -0
  90. package/es/chat-engine/components/a2ui/primitives/A2UIButton.d.ts +33 -0
  91. package/es/chat-engine/components/a2ui/primitives/A2UIButton.js +80 -0
  92. package/es/chat-engine/components/a2ui/primitives/A2UIButton.js.map +1 -0
  93. package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.d.ts +12 -0
  94. package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.js +43 -0
  95. package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.js.map +1 -0
  96. package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.d.ts +50 -0
  97. package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.js +54 -0
  98. package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.js.map +1 -0
  99. package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.d.ts +13 -0
  100. package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.js +89 -0
  101. package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.js.map +1 -0
  102. package/es/chat-engine/components/a2ui/primitives/A2UIDivider.d.ts +12 -0
  103. package/es/chat-engine/components/a2ui/primitives/A2UIDivider.js +25 -0
  104. package/es/chat-engine/components/a2ui/primitives/A2UIDivider.js.map +1 -0
  105. package/es/chat-engine/components/a2ui/primitives/A2UIIcon.d.ts +13 -0
  106. package/es/chat-engine/components/a2ui/primitives/A2UIIcon.js +138942 -0
  107. package/es/chat-engine/components/a2ui/primitives/A2UIIcon.js.map +1 -0
  108. package/es/chat-engine/components/a2ui/primitives/A2UIImage.d.ts +12 -0
  109. package/es/chat-engine/components/a2ui/primitives/A2UIImage.js +75 -0
  110. package/es/chat-engine/components/a2ui/primitives/A2UIImage.js.map +1 -0
  111. package/es/chat-engine/components/a2ui/primitives/A2UIInput.d.ts +20 -0
  112. package/es/chat-engine/components/a2ui/primitives/A2UIInput.js +63 -0
  113. package/es/chat-engine/components/a2ui/primitives/A2UIInput.js.map +1 -0
  114. package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.d.ts +56 -0
  115. package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.js +64 -0
  116. package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.js.map +1 -0
  117. package/es/chat-engine/components/a2ui/primitives/A2UISlider.d.ts +12 -0
  118. package/es/chat-engine/components/a2ui/primitives/A2UISlider.js +55 -0
  119. package/es/chat-engine/components/a2ui/primitives/A2UISlider.js.map +1 -0
  120. package/es/chat-engine/components/a2ui/primitives/A2UIText.d.ts +12 -0
  121. package/es/chat-engine/components/a2ui/primitives/A2UIText.js +104 -0
  122. package/es/chat-engine/components/a2ui/primitives/A2UIText.js.map +1 -0
  123. package/es/chat-engine/components/a2ui/primitives/A2UITextField.d.ts +12 -0
  124. package/es/chat-engine/components/a2ui/primitives/A2UITextField.js +80 -0
  125. package/es/chat-engine/components/a2ui/primitives/A2UITextField.js.map +1 -0
  126. package/es/chat-engine/components/a2ui/primitives/index.d.ts +15 -0
  127. package/es/chat-engine/components/a2ui/primitives/index.js +39 -0
  128. package/es/chat-engine/components/a2ui/primitives/index.js.map +1 -0
  129. package/es/chat-engine/components/a2ui/registry.d.ts +35 -0
  130. package/es/chat-engine/components/a2ui/registry.js +74 -0
  131. package/es/chat-engine/components/a2ui/registry.js.map +1 -0
  132. package/es/chat-engine/components/activity/index.js +8 -4
  133. package/es/chat-engine/components/activity/index.js.map +1 -1
  134. package/es/chat-engine/components/activity/registry.d.ts +6 -40
  135. package/es/chat-engine/components/activity/registry.js +22 -76
  136. package/es/chat-engine/components/activity/registry.js.map +1 -1
  137. package/es/chat-engine/components/activity/render.d.ts +1 -1
  138. package/es/chat-engine/components/activity/render.js +21 -69
  139. package/es/chat-engine/components/activity/render.js.map +1 -1
  140. package/es/chat-engine/components/index.js +8 -4
  141. package/es/chat-engine/components/index.js.map +1 -1
  142. package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.d.ts +36 -0
  143. package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.js +36 -0
  144. package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.js.map +1 -0
  145. package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.d.ts +46 -0
  146. package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.js +36 -0
  147. package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.js.map +1 -0
  148. package/es/chat-engine/components/json-render/SurfaceStateManager.d.ts +113 -0
  149. package/es/chat-engine/components/json-render/SurfaceStateManager.js +195 -0
  150. package/es/chat-engine/components/json-render/SurfaceStateManager.js.map +1 -0
  151. package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.d.ts +49 -0
  152. package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.js +307 -0
  153. package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.js.map +1 -0
  154. package/es/chat-engine/components/json-render/adapters/a2ui-types.d.ts +96 -0
  155. package/es/chat-engine/components/json-render/adapters/a2ui-types.js +7 -0
  156. package/es/chat-engine/components/json-render/adapters/a2ui-types.js.map +1 -0
  157. package/es/chat-engine/components/json-render/adapters/index.d.ts +7 -0
  158. package/es/chat-engine/components/json-render/adapters/index.js +11 -0
  159. package/es/chat-engine/components/json-render/adapters/index.js.map +1 -0
  160. package/es/chat-engine/components/json-render/catalog/a2ui-binding.d.ts +64 -0
  161. package/es/chat-engine/components/json-render/catalog/a2ui-binding.js +36 -0
  162. package/es/chat-engine/components/json-render/catalog/a2ui-binding.js.map +1 -0
  163. package/es/chat-engine/components/json-render/catalog/a2ui-registry.d.ts +78 -0
  164. package/es/chat-engine/components/json-render/catalog/a2ui-registry.js +36 -0
  165. package/es/chat-engine/components/json-render/catalog/a2ui-registry.js.map +1 -0
  166. package/es/chat-engine/components/json-render/catalog/atomic/button.d.ts +14 -0
  167. package/es/chat-engine/components/json-render/catalog/atomic/button.js +71 -0
  168. package/es/chat-engine/components/json-render/catalog/atomic/button.js.map +1 -0
  169. package/es/chat-engine/components/json-render/catalog/atomic/card.d.ts +11 -0
  170. package/es/chat-engine/components/json-render/catalog/atomic/card.js +57 -0
  171. package/es/chat-engine/components/json-render/catalog/atomic/card.js.map +1 -0
  172. package/es/chat-engine/components/json-render/catalog/atomic/input.d.ts +20 -0
  173. package/es/chat-engine/components/json-render/catalog/atomic/input.js +76 -0
  174. package/es/chat-engine/components/json-render/catalog/atomic/input.js.map +1 -0
  175. package/es/chat-engine/components/json-render/catalog/atomic/layout.d.ts +44 -0
  176. package/es/chat-engine/components/json-render/catalog/atomic/layout.js +129 -0
  177. package/es/chat-engine/components/json-render/catalog/atomic/layout.js.map +1 -0
  178. package/es/chat-engine/components/json-render/catalog/atomic/text.d.ts +11 -0
  179. package/es/chat-engine/components/json-render/catalog/atomic/text.js +31 -0
  180. package/es/chat-engine/components/json-render/catalog/atomic/text.js.map +1 -0
  181. package/es/chat-engine/components/json-render/catalog/button.d.ts +14 -0
  182. package/es/chat-engine/components/json-render/catalog/button.js +71 -0
  183. package/es/chat-engine/components/json-render/catalog/button.js.map +1 -0
  184. package/es/chat-engine/components/json-render/catalog/card.d.ts +11 -0
  185. package/es/chat-engine/components/json-render/catalog/card.js +57 -0
  186. package/es/chat-engine/components/json-render/catalog/card.js.map +1 -0
  187. package/es/chat-engine/components/json-render/catalog/catalog-to-prompt.d.ts +614 -0
  188. package/es/chat-engine/components/json-render/catalog/catalog-to-prompt.js +779 -0
  189. package/es/chat-engine/components/json-render/catalog/catalog-to-prompt.js.map +1 -0
  190. package/es/chat-engine/components/json-render/catalog/index.d.ts +128 -0
  191. package/es/chat-engine/components/json-render/catalog/index.js +36 -0
  192. package/es/chat-engine/components/json-render/catalog/index.js.map +1 -0
  193. package/es/chat-engine/components/json-render/catalog/input.d.ts +20 -0
  194. package/es/chat-engine/components/json-render/catalog/input.js +36 -0
  195. package/es/chat-engine/components/json-render/catalog/input.js.map +1 -0
  196. package/es/chat-engine/components/json-render/catalog/layout.d.ts +44 -0
  197. package/es/chat-engine/components/json-render/catalog/layout.js +129 -0
  198. package/es/chat-engine/components/json-render/catalog/layout.js.map +1 -0
  199. package/es/chat-engine/components/json-render/catalog/text.d.ts +11 -0
  200. package/es/chat-engine/components/json-render/catalog/text.js +31 -0
  201. package/es/chat-engine/components/json-render/catalog/text.js.map +1 -0
  202. package/es/chat-engine/components/json-render/catalog.d.ts +614 -0
  203. package/es/chat-engine/components/json-render/catalog.js +779 -0
  204. package/es/chat-engine/components/json-render/catalog.js.map +1 -0
  205. package/es/chat-engine/components/json-render/config.d.ts +154 -0
  206. package/es/chat-engine/components/json-render/config.js +36 -0
  207. package/es/chat-engine/components/json-render/config.js.map +1 -0
  208. package/es/chat-engine/components/json-render/contexts/actions.d.ts +79 -0
  209. package/es/chat-engine/components/json-render/contexts/actions.js +313 -0
  210. package/es/chat-engine/components/json-render/contexts/actions.js.map +1 -0
  211. package/es/chat-engine/components/json-render/contexts/data.d.ts +137 -0
  212. package/es/chat-engine/components/json-render/contexts/data.js +183 -0
  213. package/es/chat-engine/components/json-render/contexts/data.js.map +1 -0
  214. package/es/chat-engine/components/json-render/contexts/index.d.ts +4 -0
  215. package/es/chat-engine/components/json-render/contexts/index.js +27 -0
  216. package/es/chat-engine/components/json-render/contexts/index.js.map +1 -0
  217. package/es/chat-engine/components/json-render/contexts/store.d.ts +67 -0
  218. package/es/chat-engine/components/json-render/contexts/store.js +104 -0
  219. package/es/chat-engine/components/json-render/contexts/store.js.map +1 -0
  220. package/es/chat-engine/components/json-render/contexts/tree.d.ts +44 -0
  221. package/es/chat-engine/components/json-render/contexts/tree.js +78 -0
  222. package/es/chat-engine/components/json-render/contexts/tree.js.map +1 -0
  223. package/es/chat-engine/components/json-render/contexts/validation.d.ts +59 -0
  224. package/es/chat-engine/components/json-render/contexts/validation.js +159 -0
  225. package/es/chat-engine/components/json-render/contexts/validation.js.map +1 -0
  226. package/es/chat-engine/components/json-render/contexts/visibility.d.ts +39 -0
  227. package/es/chat-engine/components/json-render/contexts/visibility.js +66 -0
  228. package/es/chat-engine/components/json-render/contexts/visibility.js.map +1 -0
  229. package/es/chat-engine/components/json-render/engine.d.ts +58 -0
  230. package/es/chat-engine/components/json-render/engine.js +88 -0
  231. package/es/chat-engine/components/json-render/engine.js.map +1 -0
  232. package/es/chat-engine/components/json-render/index.d.ts +13 -0
  233. package/es/chat-engine/components/json-render/index.js +76 -0
  234. package/es/chat-engine/components/json-render/index.js.map +1 -0
  235. package/es/chat-engine/components/json-render/performance.d.ts +91 -0
  236. package/es/chat-engine/components/json-render/performance.js +135 -0
  237. package/es/chat-engine/components/json-render/performance.js.map +1 -0
  238. package/es/chat-engine/components/json-render/registry/a2ui-binding.d.ts +64 -0
  239. package/es/chat-engine/components/json-render/registry/a2ui-binding.js +76 -0
  240. package/es/chat-engine/components/json-render/registry/a2ui-binding.js.map +1 -0
  241. package/es/chat-engine/components/json-render/registry/a2ui-registry.d.ts +78 -0
  242. package/es/chat-engine/components/json-render/registry/a2ui-registry.js +76 -0
  243. package/es/chat-engine/components/json-render/registry/a2ui-registry.js.map +1 -0
  244. package/es/chat-engine/components/json-render/registry/config.d.ts +142 -0
  245. package/es/chat-engine/components/json-render/registry/config.js +76 -0
  246. package/es/chat-engine/components/json-render/registry/config.js.map +1 -0
  247. package/es/chat-engine/components/json-render/registry/index.d.ts +137 -0
  248. package/es/chat-engine/components/json-render/registry/index.js +76 -0
  249. package/es/chat-engine/components/json-render/registry/index.js.map +1 -0
  250. package/es/chat-engine/components/json-render/renderer/A2UIJsonRenderActivityRenderer.d.ts +35 -0
  251. package/es/chat-engine/components/json-render/renderer/A2UIJsonRenderActivityRenderer.js +271 -0
  252. package/es/chat-engine/components/json-render/renderer/A2UIJsonRenderActivityRenderer.js.map +1 -0
  253. package/es/chat-engine/components/json-render/renderer/JsonRenderActivityRenderer.d.ts +44 -0
  254. package/es/chat-engine/components/json-render/renderer/JsonRenderActivityRenderer.js +63 -0
  255. package/es/chat-engine/components/json-render/renderer/JsonRenderActivityRenderer.js.map +1 -0
  256. package/es/chat-engine/components/json-render/renderer/JsonUIRenderer.d.ts +44 -0
  257. package/es/chat-engine/components/json-render/renderer/JsonUIRenderer.js +131 -0
  258. package/es/chat-engine/components/json-render/renderer/JsonUIRenderer.js.map +1 -0
  259. package/es/chat-engine/components/json-render/renderer/_index.d.ts +71 -0
  260. package/es/chat-engine/components/json-render/renderer/_index.js +133 -0
  261. package/es/chat-engine/components/json-render/renderer/_index.js.map +1 -0
  262. package/es/chat-engine/components/json-render/renderer/index.d.ts +71 -0
  263. package/es/chat-engine/components/json-render/renderer/index.js +125 -0
  264. package/es/chat-engine/components/json-render/renderer/index.js.map +1 -0
  265. package/es/chat-engine/components/json-render/renderer.d.ts +71 -0
  266. package/es/chat-engine/components/json-render/renderer.js +124 -0
  267. package/es/chat-engine/components/json-render/renderer.js.map +1 -0
  268. package/es/chat-engine/components/json-render/types.d.ts +87 -0
  269. package/es/chat-engine/components/json-render/types.js +7 -0
  270. package/es/chat-engine/components/json-render/types.js.map +1 -0
  271. package/es/chat-engine/components/shared/ComponentErrorBoundary.d.ts +25 -0
  272. package/es/chat-engine/components/shared/ComponentErrorBoundary.js +58 -0
  273. package/es/chat-engine/components/shared/ComponentErrorBoundary.js.map +1 -0
  274. package/es/chat-engine/components/shared/createRegistry.d.ts +36 -0
  275. package/es/chat-engine/components/shared/createRegistry.js +72 -0
  276. package/es/chat-engine/components/shared/createRegistry.js.map +1 -0
  277. package/es/chat-engine/components/shared/index.d.ts +4 -0
  278. package/es/chat-engine/components/shared/index.js +18 -0
  279. package/es/chat-engine/components/shared/index.js.map +1 -0
  280. package/es/chat-engine/components/shared/useRegistrationListener.d.ts +22 -0
  281. package/es/chat-engine/components/shared/useRegistrationListener.js +45 -0
  282. package/es/chat-engine/components/shared/useRegistrationListener.js.map +1 -0
  283. package/es/chat-engine/components/toolcall/index.d.ts +1 -1
  284. package/es/chat-engine/components/toolcall/index.js +11 -7
  285. package/es/chat-engine/components/toolcall/index.js.map +1 -1
  286. package/es/chat-engine/components/toolcall/registry.d.ts +6 -32
  287. package/es/chat-engine/components/toolcall/registry.js +22 -66
  288. package/es/chat-engine/components/toolcall/registry.js.map +1 -1
  289. package/es/chat-engine/components/toolcall/render.js +27 -75
  290. package/es/chat-engine/components/toolcall/render.js.map +1 -1
  291. package/es/chat-engine/core/a2ui/index.d.ts +10 -0
  292. package/es/chat-engine/core/a2ui/index.js +24 -0
  293. package/es/chat-engine/core/a2ui/index.js.map +1 -0
  294. package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.d.ts +197 -0
  295. package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.js +438 -0
  296. package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.js.map +1 -0
  297. package/es/chat-engine/core/a2ui/processor/ComponentTree.d.ts +53 -0
  298. package/es/chat-engine/core/a2ui/processor/ComponentTree.js +158 -0
  299. package/es/chat-engine/core/a2ui/processor/ComponentTree.js.map +1 -0
  300. package/es/chat-engine/core/a2ui/processor/DataStore.d.ts +63 -0
  301. package/es/chat-engine/core/a2ui/processor/DataStore.js +172 -0
  302. package/es/chat-engine/core/a2ui/processor/DataStore.js.map +1 -0
  303. package/es/chat-engine/core/a2ui/processor/PathResolver.d.ts +47 -0
  304. package/es/chat-engine/core/a2ui/processor/PathResolver.js +99 -0
  305. package/es/chat-engine/core/a2ui/processor/PathResolver.js.map +1 -0
  306. package/es/chat-engine/core/a2ui/types/index.d.ts +4 -0
  307. package/es/chat-engine/core/a2ui/types/index.js +9 -0
  308. package/es/chat-engine/core/a2ui/types/index.js.map +1 -0
  309. package/es/chat-engine/core/a2ui/types/types.d.ts +770 -0
  310. package/es/chat-engine/core/a2ui/types/types.js +104 -0
  311. package/es/chat-engine/core/a2ui/types/types.js.map +1 -0
  312. package/es/chat-engine/core/a2ui/utils/binding.d.ts +34 -0
  313. package/es/chat-engine/core/a2ui/utils/binding.js +1784 -0
  314. package/es/chat-engine/core/a2ui/utils/binding.js.map +1 -0
  315. package/es/chat-engine/core/a2ui/utils/index.d.ts +5 -0
  316. package/es/chat-engine/core/a2ui/utils/index.js +13 -0
  317. package/es/chat-engine/core/a2ui/utils/index.js.map +1 -0
  318. package/es/chat-engine/core/a2ui/utils/validation.d.ts +70 -0
  319. package/es/chat-engine/core/a2ui/utils/validation.js +333 -0
  320. package/es/chat-engine/core/a2ui/utils/validation.js.map +1 -0
  321. package/es/chat-engine/core/adapters/a2ui/index.d.ts +10 -0
  322. package/es/chat-engine/core/adapters/a2ui/index.js +24 -0
  323. package/es/chat-engine/core/adapters/a2ui/index.js.map +1 -0
  324. package/es/chat-engine/core/adapters/a2ui/processor/A2uiMessageProcessor.d.ts +197 -0
  325. package/es/chat-engine/core/adapters/a2ui/processor/A2uiMessageProcessor.js +438 -0
  326. package/es/chat-engine/core/adapters/a2ui/processor/A2uiMessageProcessor.js.map +1 -0
  327. package/es/chat-engine/core/adapters/a2ui/processor/ComponentTree.d.ts +53 -0
  328. package/es/chat-engine/core/adapters/a2ui/processor/ComponentTree.js +158 -0
  329. package/es/chat-engine/core/adapters/a2ui/processor/ComponentTree.js.map +1 -0
  330. package/es/chat-engine/core/adapters/a2ui/processor/DataStore.d.ts +63 -0
  331. package/es/chat-engine/core/adapters/a2ui/processor/DataStore.js +172 -0
  332. package/es/chat-engine/core/adapters/a2ui/processor/DataStore.js.map +1 -0
  333. package/es/chat-engine/core/adapters/a2ui/processor/PathResolver.d.ts +47 -0
  334. package/es/chat-engine/core/adapters/a2ui/processor/PathResolver.js +99 -0
  335. package/es/chat-engine/core/adapters/a2ui/processor/PathResolver.js.map +1 -0
  336. package/es/chat-engine/core/adapters/a2ui/types/index.d.ts +4 -0
  337. package/es/chat-engine/core/adapters/a2ui/types/index.js +9 -0
  338. package/es/chat-engine/core/adapters/a2ui/types/index.js.map +1 -0
  339. package/es/chat-engine/core/adapters/a2ui/types/types.d.ts +770 -0
  340. package/es/chat-engine/core/adapters/a2ui/types/types.js +104 -0
  341. package/es/chat-engine/core/adapters/a2ui/types/types.js.map +1 -0
  342. package/es/chat-engine/core/adapters/a2ui/utils/binding.d.ts +34 -0
  343. package/es/chat-engine/core/adapters/a2ui/utils/binding.js +1784 -0
  344. package/es/chat-engine/core/adapters/a2ui/utils/binding.js.map +1 -0
  345. package/es/chat-engine/core/adapters/a2ui/utils/index.d.ts +5 -0
  346. package/es/chat-engine/core/adapters/a2ui/utils/index.js +13 -0
  347. package/es/chat-engine/core/adapters/a2ui/utils/index.js.map +1 -0
  348. package/es/chat-engine/core/adapters/a2ui/utils/validation.d.ts +70 -0
  349. package/es/chat-engine/core/adapters/a2ui/utils/validation.js +333 -0
  350. package/es/chat-engine/core/adapters/a2ui/utils/validation.js.map +1 -0
  351. package/es/chat-engine/core/adapters/agui/ActivityManager.d.ts +93 -0
  352. package/es/chat-engine/core/adapters/agui/ActivityManager.js +148 -0
  353. package/es/chat-engine/core/adapters/agui/ActivityManager.js.map +1 -0
  354. package/es/chat-engine/core/adapters/agui/StateManager.d.ts +99 -0
  355. package/es/chat-engine/core/adapters/agui/StateManager.js +172 -0
  356. package/es/chat-engine/core/adapters/agui/StateManager.js.map +1 -0
  357. package/es/chat-engine/core/adapters/agui/activity-manager.d.ts +102 -0
  358. package/es/chat-engine/core/adapters/agui/activity-manager.js +150 -0
  359. package/es/chat-engine/core/adapters/agui/activity-manager.js.map +1 -0
  360. package/es/chat-engine/core/adapters/agui/event-mapper.d.ts +149 -0
  361. package/es/chat-engine/core/adapters/agui/event-mapper.js +417 -0
  362. package/es/chat-engine/core/adapters/agui/event-mapper.js.map +1 -0
  363. package/es/chat-engine/core/adapters/agui/events.d.ts +1550 -0
  364. package/es/chat-engine/core/adapters/agui/events.js +199 -0
  365. package/es/chat-engine/core/adapters/agui/events.js.map +1 -0
  366. package/es/chat-engine/core/adapters/agui/index.d.ts +92 -0
  367. package/es/chat-engine/core/adapters/agui/index.js +200 -0
  368. package/es/chat-engine/core/adapters/agui/index.js.map +1 -0
  369. package/es/chat-engine/core/adapters/agui/state-manager.d.ts +99 -0
  370. package/es/chat-engine/core/adapters/agui/state-manager.js +174 -0
  371. package/es/chat-engine/core/adapters/agui/state-manager.js.map +1 -0
  372. package/es/chat-engine/core/adapters/agui/types/events.d.ts +1570 -0
  373. package/es/chat-engine/core/adapters/agui/types/events.js +15 -0
  374. package/es/chat-engine/core/adapters/agui/types/events.js.map +1 -0
  375. package/es/chat-engine/core/adapters/agui/types/index.d.ts +854 -0
  376. package/es/chat-engine/core/adapters/agui/types/index.js +279 -0
  377. package/es/chat-engine/core/adapters/agui/types/index.js.map +1 -0
  378. package/es/chat-engine/core/adapters/agui/types.d.ts +818 -0
  379. package/es/chat-engine/core/adapters/agui/types.js +95 -0
  380. package/es/chat-engine/core/adapters/agui/types.js.map +1 -0
  381. package/es/chat-engine/core/adapters/agui/utils.d.ts +203 -0
  382. package/es/chat-engine/core/adapters/agui/utils.js +330 -0
  383. package/es/chat-engine/core/adapters/agui/utils.js.map +1 -0
  384. package/es/chat-engine/core/adapters/index.d.ts +5 -0
  385. package/es/chat-engine/core/adapters/index.js +34 -0
  386. package/es/chat-engine/core/adapters/index.js.map +1 -0
  387. package/es/chat-engine/core/adapters/json-render/SurfaceStateManager.d.ts +114 -0
  388. package/es/chat-engine/core/adapters/json-render/SurfaceStateManager.js +194 -0
  389. package/es/chat-engine/core/adapters/json-render/SurfaceStateManager.js.map +1 -0
  390. package/es/chat-engine/core/adapters/json-render/a2ui-to-jsonrender.d.ts +49 -0
  391. package/es/chat-engine/core/adapters/json-render/a2ui-to-jsonrender.js +307 -0
  392. package/es/chat-engine/core/adapters/json-render/a2ui-to-jsonrender.js.map +1 -0
  393. package/es/chat-engine/core/adapters/json-render/engine.d.ts +58 -0
  394. package/es/chat-engine/core/adapters/json-render/engine.js +88 -0
  395. package/es/chat-engine/core/adapters/json-render/engine.js.map +1 -0
  396. package/es/chat-engine/core/adapters/json-render/index.d.ts +8 -0
  397. package/es/chat-engine/core/adapters/json-render/index.js +18 -0
  398. package/es/chat-engine/core/adapters/json-render/index.js.map +1 -0
  399. package/es/chat-engine/core/adapters/json-render/types/a2ui.d.ts +96 -0
  400. package/es/chat-engine/core/adapters/json-render/types/a2ui.js +7 -0
  401. package/es/chat-engine/core/adapters/json-render/types/a2ui.js.map +1 -0
  402. package/es/chat-engine/core/adapters/json-render/types/core.d.ts +49 -0
  403. package/es/chat-engine/core/adapters/json-render/types/core.js +7 -0
  404. package/es/chat-engine/core/adapters/json-render/types/core.js.map +1 -0
  405. package/es/chat-engine/core/adapters/json-render/types/index.d.ts +5 -0
  406. package/es/chat-engine/core/adapters/json-render/types/index.js +9 -0
  407. package/es/chat-engine/core/adapters/json-render/types/index.js.map +1 -0
  408. package/es/chat-engine/core/event-bus/ChatEventBus.d.ts +88 -0
  409. package/es/chat-engine/core/event-bus/ChatEventBus.js +295 -0
  410. package/es/chat-engine/core/event-bus/ChatEventBus.js.map +1 -0
  411. package/es/chat-engine/core/event-bus/index.d.ts +5 -0
  412. package/es/chat-engine/core/event-bus/index.js +13 -0
  413. package/es/chat-engine/core/event-bus/index.js.map +1 -0
  414. package/es/chat-engine/core/event-bus/types.d.ts +230 -0
  415. package/es/chat-engine/core/event-bus/types.js +32 -0
  416. package/es/chat-engine/core/event-bus/types.js.map +1 -0
  417. package/es/chat-engine/core/index.d.ts +147 -0
  418. package/es/chat-engine/core/index.js +760 -0
  419. package/es/chat-engine/core/index.js.map +1 -0
  420. package/es/chat-engine/core/processor/index.d.ts +20 -0
  421. package/es/chat-engine/core/processor/index.js +146 -0
  422. package/es/chat-engine/core/processor/index.js.map +1 -0
  423. package/es/chat-engine/core/server/batch-client.d.ts +20 -0
  424. package/es/chat-engine/core/server/batch-client.js +114 -0
  425. package/es/chat-engine/core/server/batch-client.js.map +1 -0
  426. package/es/chat-engine/core/server/connection-manager.d.ts +39 -0
  427. package/es/chat-engine/core/server/connection-manager.js +84 -0
  428. package/es/chat-engine/core/server/connection-manager.js.map +1 -0
  429. package/es/chat-engine/core/server/errors.d.ts +22 -0
  430. package/es/chat-engine/core/server/errors.js +80 -0
  431. package/es/chat-engine/core/server/errors.js.map +1 -0
  432. package/es/chat-engine/core/server/index.d.ts +11 -0
  433. package/es/chat-engine/core/server/index.js +26 -0
  434. package/es/chat-engine/core/server/index.js.map +1 -0
  435. package/es/chat-engine/core/server/llm-service.d.ts +44 -0
  436. package/es/chat-engine/core/server/llm-service.js +200 -0
  437. package/es/chat-engine/core/server/llm-service.js.map +1 -0
  438. package/es/chat-engine/core/server/sse-client.d.ts +77 -0
  439. package/es/chat-engine/core/server/sse-client.js +362 -0
  440. package/es/chat-engine/core/server/sse-client.js.map +1 -0
  441. package/es/chat-engine/core/server/sse-parser.d.ts +49 -0
  442. package/es/chat-engine/core/server/sse-parser.js +116 -0
  443. package/es/chat-engine/core/server/sse-parser.js.map +1 -0
  444. package/es/chat-engine/core/server/types.d.ts +54 -0
  445. package/es/chat-engine/core/server/types.js +28 -0
  446. package/es/chat-engine/core/server/types.js.map +1 -0
  447. package/es/chat-engine/core/store/message.d.ts +27 -0
  448. package/es/chat-engine/core/store/message.js +267 -0
  449. package/es/chat-engine/core/store/message.js.map +1 -0
  450. package/es/chat-engine/core/store/model.d.ts +8 -0
  451. package/es/chat-engine/core/store/model.js +66 -0
  452. package/es/chat-engine/core/store/model.js.map +1 -0
  453. package/es/chat-engine/core/store/reactiveState.d.ts +56 -0
  454. package/es/chat-engine/core/store/reactiveState.js +139 -0
  455. package/es/chat-engine/core/store/reactiveState.js.map +1 -0
  456. package/es/chat-engine/core/type.d.ts +279 -0
  457. package/es/chat-engine/core/type.js +7 -0
  458. package/es/chat-engine/core/type.js.map +1 -0
  459. package/es/chat-engine/core/utils/eventEmitter.d.ts +10 -0
  460. package/es/chat-engine/core/utils/eventEmitter.js +67 -0
  461. package/es/chat-engine/core/utils/eventEmitter.js.map +1 -0
  462. package/es/chat-engine/core/utils/immutable-patch.d.ts +61 -0
  463. package/es/chat-engine/core/utils/immutable-patch.js +147 -0
  464. package/es/chat-engine/core/utils/immutable-patch.js.map +1 -0
  465. package/es/chat-engine/core/utils/index.d.ts +38 -0
  466. package/es/chat-engine/core/utils/index.js +125 -0
  467. package/es/chat-engine/core/utils/index.js.map +1 -0
  468. package/es/chat-engine/core/utils/json-patch/helpers.d.ts +41 -0
  469. package/es/chat-engine/core/utils/json-patch/helpers.js +164 -0
  470. package/es/chat-engine/core/utils/json-patch/helpers.js.map +1 -0
  471. package/es/chat-engine/core/utils/json-patch/index.d.ts +115 -0
  472. package/es/chat-engine/core/utils/json-patch/index.js +387 -0
  473. package/es/chat-engine/core/utils/json-patch/index.js.map +1 -0
  474. package/es/chat-engine/core/utils/logger.d.ts +30 -0
  475. package/es/chat-engine/core/utils/logger.js +87 -0
  476. package/es/chat-engine/core/utils/logger.js.map +1 -0
  477. package/es/chat-engine/core/utils/performance.d.ts +94 -0
  478. package/es/chat-engine/core/utils/performance.js +205 -0
  479. package/es/chat-engine/core/utils/performance.js.map +1 -0
  480. package/es/chat-engine/hooks/a2ui/A2UIContext.d.ts +90 -0
  481. package/es/chat-engine/hooks/a2ui/A2UIContext.js +97 -0
  482. package/es/chat-engine/hooks/a2ui/A2UIContext.js.map +1 -0
  483. package/es/chat-engine/hooks/a2ui/index.d.ts +12 -0
  484. package/es/chat-engine/hooks/a2ui/index.js +19 -0
  485. package/es/chat-engine/hooks/a2ui/index.js.map +1 -0
  486. package/es/chat-engine/hooks/a2ui/useA2UIAction.d.ts +40 -0
  487. package/es/chat-engine/hooks/a2ui/useA2UIAction.js +74 -0
  488. package/es/chat-engine/hooks/a2ui/useA2UIAction.js.map +1 -0
  489. package/es/chat-engine/hooks/a2ui/useA2UISurface.d.ts +36 -0
  490. package/es/chat-engine/hooks/a2ui/useA2UISurface.js +39 -0
  491. package/es/chat-engine/hooks/a2ui/useA2UISurface.js.map +1 -0
  492. package/es/chat-engine/hooks/a2ui/useDataBinding.d.ts +53 -0
  493. package/es/chat-engine/hooks/a2ui/useDataBinding.js +111 -0
  494. package/es/chat-engine/hooks/a2ui/useDataBinding.js.map +1 -0
  495. package/es/chat-engine/hooks/index.js +7 -0
  496. package/es/chat-engine/hooks/index.js.map +1 -1
  497. package/es/chat-engine/hooks/useAgentActivity.js +9 -1
  498. package/es/chat-engine/hooks/useAgentActivity.js.map +1 -1
  499. package/es/chat-engine/hooks/useAgentToolcall.js +9 -1
  500. package/es/chat-engine/hooks/useAgentToolcall.js.map +1 -1
  501. package/es/chat-engine/hooks/useJsonRenderActivity.d.ts +56 -0
  502. package/es/chat-engine/hooks/useJsonRenderActivity.js +63 -0
  503. package/es/chat-engine/hooks/useJsonRenderActivity.js.map +1 -0
  504. package/es/chat-engine/index.js +8 -4
  505. package/es/chat-engine/index.js.map +1 -1
  506. package/es/chat-filecard/index.js +3 -5
  507. package/es/chat-filecard/index.js.map +1 -1
  508. package/es/chat-loading/index.js +3 -5
  509. package/es/chat-loading/index.js.map +1 -1
  510. package/es/chat-markdown/index.js +3 -5
  511. package/es/chat-markdown/index.js.map +1 -1
  512. package/es/chat-message/index.js +3 -5
  513. package/es/chat-message/index.js.map +1 -1
  514. package/es/chat-sender/index.js +3 -5
  515. package/es/chat-sender/index.js.map +1 -1
  516. package/es/chat-thinking/index.js +3 -5
  517. package/es/chat-thinking/index.js.map +1 -1
  518. package/es/chatbot/docs/react-best-practice.d.ts +13 -0
  519. package/es/chatbot/index.js +3 -5
  520. package/es/chatbot/index.js.map +1 -1
  521. package/es/index.js +10 -7
  522. package/es/index.js.map +1 -1
  523. package/package.json +16 -11
  524. package/es/chatbot/_example-js/agui-toolcall.d.ts +0 -11
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog-to-prompt.js","sources":["../../../../../../pro-components/chat/chat-engine/components/json-render/catalog/catalog-to-prompt.ts"],"sourcesContent":["/**\n * TDesign Catalog 定义(约束层)\n * 用于定义组件 props schema 和 actions 白名单\n * \n * 概念区分:\n * - Catalog(本文件):约束层,定义组件 props 的 Zod schemas 和 actions 白名单(给 AI/服务端用)\n * - ComponentRegistry(catalog/index.ts):渲染层,映射组件名到 React 组件(给 Renderer 用)\n */\n\nimport { createCatalog } from '@json-render/core';\nimport { z } from 'zod';\n\n/**\n * TDesign 内置组件 Catalog\n * 定义所有内置组件的 props schema 和可用 actions\n * \n * 这个 Catalog 用于:\n * 1. 告诉 AI/LLM 可以生成哪些组件\n * 2. 约束每个组件的 props 类型\n * 3. 定义可触发的 actions 白名单\n */\nexport const tdesignCatalog = createCatalog({\n name: 'tdesign',\n components: {\n // ==================== 基础组件 ====================\n \n Button: {\n props: z.object({\n // 支持 label 或 children 两种方式传递按钮文本\n label: z.string().optional(),\n children: z.string().optional(),\n variant: z.enum(['base', 'outline', 'dashed', 'text']).nullable(),\n theme: z.enum(['default', 'primary', 'success', 'warning', 'danger']).nullable(),\n size: z.enum(['small', 'medium', 'large']).nullable(),\n disabled: z.boolean().nullable(),\n loading: z.boolean().nullable(),\n block: z.boolean().nullable(),\n // action 支持字符串(action 名称)或 Action 对象 { name, params }\n action: z.union([\n z.string(),\n z.object({\n name: z.string(),\n params: z.record(z.any()).optional(),\n }),\n ]).nullable(),\n }),\n description: 'TDesign Button component with action support',\n },\n\n Input: {\n props: z.object({\n value: z.string().nullable(),\n placeholder: z.string().nullable(),\n type: z.enum(['text', 'password', 'number']).nullable(),\n disabled: z.boolean().nullable(),\n clearable: z.boolean().nullable(),\n maxlength: z.number().nullable(),\n showLimitNumber: z.boolean().nullable(),\n }),\n description: 'TDesign Input component',\n },\n\n TextField: {\n props: z.object({\n label: z.string(),\n name: z.string().optional(), // 表单字段名称(可选)\n valuePath: z.string(), // 数据绑定路径(必需)\n placeholder: z.string().nullable(),\n required: z.boolean().nullable(),\n type: z.enum(['text', 'password', 'email', 'number', 'tel']).nullable(),\n disabled: z.boolean().nullable(),\n helperText: z.string().nullable(),\n }),\n description: 'Form text field with label and data binding (combines Input + label)',\n },\n\n Text: {\n props: z.object({\n content: z.string(),\n variant: z.enum(['body', 'caption', 'label']).nullable(),\n color: z.enum(['default', 'primary', 'secondary', 'success', 'warning', 'error']).nullable(),\n weight: z.enum(['normal', 'medium', 'bold']).nullable(),\n }),\n description: 'Text display component',\n },\n\n Card: {\n props: z.object({\n title: z.string().nullable(),\n description: z.string().nullable(),\n bordered: z.boolean().nullable(),\n shadow: z.boolean().nullable(),\n loading: z.boolean().nullable(),\n }),\n hasChildren: true,\n description: 'TDesign Card container',\n },\n\n // ==================== 布局组件 ====================\n\n Row: {\n props: z.object({\n gutter: z.number().nullable(),\n justify: z.enum(['start', 'end', 'center', 'space-around', 'space-between']).nullable(),\n align: z.enum(['top', 'middle', 'bottom']).nullable(),\n }),\n hasChildren: true,\n description: 'Grid row layout',\n },\n\n Col: {\n props: z.object({\n span: z.number().min(1).max(24).nullable(),\n offset: z.number().nullable(),\n }),\n hasChildren: true,\n description: 'Grid column layout',\n },\n\n Space: {\n props: z.object({\n direction: z.enum(['horizontal', 'vertical']).nullable(),\n // size 支持字符串枚举或数字\n size: z.union([\n z.enum(['small', 'medium', 'large']),\n z.number(),\n z.string(),\n ]).nullable(),\n align: z.enum(['start', 'center', 'end', 'baseline']).nullable(),\n }),\n hasChildren: true,\n description: 'Space layout component',\n },\n\n Column: {\n props: z.object({\n gap: z.number().nullable(),\n align: z.enum(['start', 'center', 'end', 'stretch']).nullable(),\n }),\n hasChildren: true,\n description: 'Vertical column layout',\n },\n\n Divider: {\n props: z.object({\n layout: z.enum(['horizontal', 'vertical']).nullable(),\n dashed: z.boolean().nullable(),\n }),\n description: 'Divider line',\n },\n },\n \n actions: {\n submit: { \n description: 'Submit form data to server' \n },\n reset: { \n description: 'Reset form to initial state (handled by Button component automatically)' \n },\n cancel: { \n description: 'Cancel current operation' \n },\n },\n \n validation: 'strict',\n});\n\n/**\n * 创建自定义 Catalog(扩展 TDesign 内置 Catalog)\n * \n * @param customConfig - 自定义 Catalog 配置\n * @returns 合并后的 Catalog\n * \n * @example\n * ```typescript\n * import { createCustomCatalog } from '@tdesign-react/chat';\n * import { z } from 'zod';\n * \n * const customCatalog = createCustomCatalog({\n * name: 'my-dashboard',\n * components: {\n * StatusCard: {\n * props: z.object({\n * title: z.string(),\n * status: z.enum(['success', 'warning', 'error', 'info']),\n * description: z.string().nullable(),\n * }),\n * description: 'Custom status card component',\n * },\n * ProgressBar: {\n * props: z.object({\n * label: z.string().nullable(),\n * percentage: z.number().min(0).max(100),\n * showInfo: z.boolean().nullable(),\n * }),\n * description: 'Custom progress bar component',\n * },\n * },\n * actions: {\n * refresh: { description: 'Refresh data' },\n * export: { description: 'Export to file' },\n * },\n * });\n * \n * // 使用自定义 Catalog\n * // 1. 在服务端:告诉 AI 可以生成哪些组件\n * // 2. 在前端:配合 createCustomRegistry 提供渲染能力\n * ```\n */\nexport function createCustomCatalog(customConfig: {\n name: string;\n components?: Record<string, any>;\n actions?: Record<string, { description: string }>;\n validation?: 'strict' | 'warn';\n}) {\n // 获取 TDesign 内置配置\n const tdesignComponents = tdesignCatalog.components;\n const tdesignActions = tdesignCatalog.actions;\n\n // 合并配置\n return createCatalog({\n name: customConfig.name,\n components: {\n ...tdesignComponents,\n ...(customConfig.components || {}),\n },\n actions: {\n ...tdesignActions,\n ...(customConfig.actions || {}),\n },\n validation: customConfig.validation || 'strict',\n });\n}\n\n/**\n * 导出 TDesign Catalog 的组件列表(给 AI prompt 用)\n */\nexport const tdesignComponentList = tdesignCatalog.componentNames as string[];\n\n/**\n * 导出 TDesign Catalog 的 actions 列表(给 AI prompt 用)\n */\nexport const tdesignActionList = tdesignCatalog.actionNames as string[];\n\n/**\n * 内置组件的详细 Props 文档(用于生成详细 prompt)\n */\nconst BUILTIN_COMPONENT_DOCS: Record<string, { \n description: string;\n props: Record<string, string>;\n hasChildren?: boolean;\n}> = {\n Button: {\n description: 'Button component with action support',\n props: {\n label: 'string - Button text (alternative to children)',\n children: 'string - Button text',\n variant: '\"base\" | \"outline\" | \"dashed\" | \"text\" - Button style variant',\n theme: '\"default\" | \"primary\" | \"success\" | \"warning\" | \"danger\" - Color theme',\n size: '\"small\" | \"medium\" | \"large\" - Button size',\n disabled: 'boolean - Whether button is disabled',\n loading: 'boolean - Whether to show loading state',\n block: 'boolean - Whether button should be full width',\n action: 'string | { name: string, params?: object } - Action to trigger on click',\n },\n },\n Input: {\n description: 'Input component for text entry',\n props: {\n value: 'string - Input value',\n placeholder: 'string - Placeholder text',\n type: '\"text\" | \"password\" | \"number\" - Input type',\n disabled: 'boolean - Whether input is disabled',\n clearable: 'boolean - Whether to show clear button',\n maxlength: 'number - Maximum input length',\n showLimitNumber: 'boolean - Whether to show character count',\n },\n },\n TextField: {\n description: 'Form text field with label and data binding',\n props: {\n label: 'string (required) - Field label',\n name: 'string - Form field name',\n valuePath: 'string (required) - Data binding path in data model',\n placeholder: 'string - Placeholder text',\n required: 'boolean - Whether field is required',\n type: '\"text\" | \"password\" | \"email\" | \"number\" | \"tel\" - Input type',\n disabled: 'boolean - Whether field is disabled',\n disabledPath: 'string - Data path to control disabled state dynamically',\n helperText: 'string - Helper text below the field',\n },\n },\n Text: {\n description: 'Text display component',\n props: {\n content: 'string (required) - Text content to display',\n variant: '\"body\" | \"caption\" | \"label\" - Text style variant',\n color: '\"default\" | \"primary\" | \"secondary\" | \"success\" | \"warning\" | \"error\" - Text color',\n weight: '\"normal\" | \"medium\" | \"bold\" - Font weight',\n },\n },\n Card: {\n description: 'Card container component',\n props: {\n title: 'string - Card title',\n description: 'string - Card description',\n bordered: 'boolean - Whether to show border',\n shadow: 'boolean - Whether to show shadow',\n loading: 'boolean - Whether to show loading state',\n },\n hasChildren: true,\n },\n Row: {\n description: 'Grid row layout (24-column grid system)',\n props: {\n gutter: 'number - Gap between columns in pixels',\n justify: '\"start\" | \"end\" | \"center\" | \"space-around\" | \"space-between\" - Horizontal alignment',\n align: '\"top\" | \"middle\" | \"bottom\" - Vertical alignment',\n },\n hasChildren: true,\n },\n Col: {\n description: 'Grid column layout (use inside Row)',\n props: {\n span: 'number (1-24) - Column width, out of 24 total',\n offset: 'number - Column offset from left',\n },\n hasChildren: true,\n },\n Space: {\n description: 'Space layout component for spacing children',\n props: {\n direction: '\"horizontal\" | \"vertical\" - Layout direction',\n size: '\"small\" | \"medium\" | \"large\" | number - Gap size',\n align: '\"start\" | \"center\" | \"end\" | \"baseline\" - Alignment',\n },\n hasChildren: true,\n },\n Column: {\n description: 'Vertical column layout',\n props: {\n gap: 'number - Gap between children in pixels',\n align: '\"start\" | \"center\" | \"end\" | \"stretch\" - Horizontal alignment',\n },\n hasChildren: true,\n },\n Divider: {\n description: 'Divider line',\n props: {\n layout: '\"horizontal\" | \"vertical\" - Divider direction',\n dashed: 'boolean - Whether to use dashed line',\n },\n },\n};\n\n/**\n * Prompt 模板模式\n * - 'default': 默认模板,生成标准的 JSON Schema UI\n * - 'a2ui': A2UI 模板,使用 A2UI 特定的消息格式和协议\n * - 'custom': 自定义模板,完全由 customTemplate 参数控制\n */\nexport type PromptTemplateMode = 'default' | 'a2ui' | 'custom';\n\n/**\n * 组件文档定义类型\n * props 支持两种格式:\n * 1. Record<string, string> - 人可读的 props 描述,如 { label: 'string - Button text' }\n * 2. ZodObject - Zod schema 对象,会自动转换为描述\n */\nexport interface ComponentDoc {\n description: string;\n /** Props 定义:可以是字符串描述映射,也可以是 Zod schema */\n props: Record<string, string> | z.ZodObject<any>;\n hasChildren?: boolean;\n}\n\n/**\n * 内部使用的标准化组件文档类型(props 已转为字符串)\n */\nexport interface NormalizedComponentDoc {\n description: string;\n props: Record<string, string>;\n hasChildren?: boolean;\n}\n\n/**\n * 将 Zod schema 转换为 props 描述字符串\n */\nfunction zodSchemaToPropsDoc(schema: z.ZodObject<any>): Record<string, string> {\n const result: Record<string, string> = {};\n const shape = schema.shape;\n \n for (const [key, value] of Object.entries(shape)) {\n result[key] = zodTypeToString(value as z.ZodTypeAny);\n }\n \n return result;\n}\n\n/**\n * 将 Zod 类型转换为可读字符串\n */\nfunction zodTypeToString(type: z.ZodTypeAny): string {\n // 处理 nullable\n if (type instanceof z.ZodNullable) {\n return `${zodTypeToString(type.unwrap())} (nullable)`;\n }\n \n // 处理 optional\n if (type instanceof z.ZodOptional) {\n return `${zodTypeToString(type.unwrap())} (optional)`;\n }\n \n // 处理 enum\n if (type instanceof z.ZodEnum) {\n const values = type.options as string[];\n return values.map(v => `\"${v}\"`).join(' | ');\n }\n \n // 处理 union\n if (type instanceof z.ZodUnion) {\n const options = (type as any)._def.options as z.ZodTypeAny[];\n return options.map(o => zodTypeToString(o)).join(' | ');\n }\n \n // 处理基础类型\n if (type instanceof z.ZodString) return 'string';\n if (type instanceof z.ZodNumber) return 'number';\n if (type instanceof z.ZodBoolean) return 'boolean';\n if (type instanceof z.ZodObject) return 'object';\n if (type instanceof z.ZodArray) return 'array';\n \n return 'any';\n}\n\n/**\n * 标准化组件文档(将 Zod schema 转换为字符串描述)\n */\nfunction normalizeComponentDoc(doc: ComponentDoc): NormalizedComponentDoc {\n let props: Record<string, string>;\n \n if (doc.props instanceof z.ZodObject) {\n props = zodSchemaToPropsDoc(doc.props);\n } else {\n props = doc.props;\n }\n \n return {\n description: doc.description,\n props,\n hasChildren: doc.hasChildren,\n };\n}\n\n/**\n * 自定义模板生成器函数类型\n * 接收标准化后的组件文档(props 已转为字符串描述)\n */\nexport type CustomTemplateGenerator = (context: {\n name: string;\n components: Record<string, NormalizedComponentDoc>;\n actions: Record<string, { description: string }>;\n}) => string;\n\n/**\n * 生成增强版 Catalog Prompt(包含完整 Props 文档和 Schema 示例)\n * \n * @param options - 配置选项\n * @returns 详细的 AI Prompt 字符串\n */\nexport function generateCatalogPrompt(options: {\n name?: string;\n components?: Record<string, ComponentDoc>;\n actions?: Record<string, { description: string }>;\n /** 是否包含 Schema 示例 */\n includeExample?: boolean;\n /** \n * Prompt 模板模式\n * - 'default': 标准 JSON Schema UI 模板\n * - 'a2ui': A2UI 协议模板(需服务端配合)\n * - 'custom': 使用自定义模板生成器\n */\n templateMode?: PromptTemplateMode;\n /**\n * 自定义模板生成器(仅当 templateMode='custom' 时使用)\n * 接收组件和 actions 上下文,返回完整的 prompt 字符串\n */\n customTemplate?: CustomTemplateGenerator;\n} = {}): string {\n const {\n name = 'tdesign',\n components = {},\n actions = {},\n includeExample = true,\n templateMode = 'default',\n customTemplate,\n } = options;\n\n // 合并内置组件和自定义组件,并标准化(将 Zod schema 转为字符串描述)\n const mergedComponents = { ...BUILTIN_COMPONENT_DOCS, ...components };\n const allComponents: Record<string, NormalizedComponentDoc> = {};\n for (const [key, doc] of Object.entries(mergedComponents)) {\n allComponents[key] = normalizeComponentDoc(doc);\n }\n \n // 合并内置 actions 和自定义 actions\n const builtinActions = {\n submit: { description: 'Submit form data to server' },\n reset: { description: 'Reset form to initial state' },\n cancel: { description: 'Cancel current operation' },\n };\n const allActions = { ...builtinActions, ...actions };\n\n // 自定义模板模式\n if (templateMode === 'custom' && customTemplate) {\n return customTemplate({ name, components: allComponents, actions: allActions });\n }\n\n // A2UI 模板模式 - 预留给服务端实现具体模板\n if (templateMode === 'a2ui') {\n return generateA2UIPrompt({ name, components: allComponents, actions: allActions, includeExample });\n }\n\n // 默认模板\n const lines: string[] = [\n `# ${name} UI Component Catalog`,\n '',\n 'You can generate dynamic UI using the following components and JSON schema format.',\n '',\n '## Output Format',\n '',\n 'Generate a JSON object with this structure:',\n '```json',\n '{',\n ' \"root\": \"element_id\", // ID of the root element',\n ' \"elements\": {',\n ' \"element_id\": {',\n ' \"key\": \"element_id\", // Same as the key in elements object',\n ' \"type\": \"ComponentName\", // One of the available components',\n ' \"props\": { ... }, // Component-specific props',\n ' \"children\": [\"child_id_1\", \"child_id_2\"] // Optional: IDs of child elements',\n ' }',\n ' },',\n ' \"data\": { // Optional: Initial data model for data binding',\n ' \"fieldName\": \"value\"',\n ' }',\n '}',\n '```',\n '',\n '## AG-UI ACTIVITY_DELTA Format (for Incremental Updates)',\n '',\n 'For updating existing UI, you can also generate AG-UI ACTIVITY_DELTA messages:',\n '```json',\n '{',\n ' \"type\": \"ACTIVITY_DELTA\",',\n ' \"messageId\": \"unique_message_id\",',\n ' \"activityType\": \"json-render-main-card\",',\n ' \"patch\": [',\n ' {\"op\": \"add\", \"path\": \"/elements/new-element\", \"value\": {...}},',\n ' {\"op\": \"replace\", \"path\": \"/elements/parent/children\", \"value\": [...]}',\n ' ]',\n '}',\n '```',\n '',\n '### JSON Patch Operations for ACTIVITY_DELTA',\n '',\n '**Add New Element:**',\n '```json',\n '{\"op\": \"add\", \"path\": \"/elements/new-button\", \"value\": {',\n ' \"key\": \"new-button\",',\n ' \"type\": \"Button\",',\n ' \"props\": {\"children\": \"Click Me\", \"theme\": \"primary\"}',\n '}}',\n '```',\n '',\n '**Update Element Properties:**',\n '```json',\n '{\"op\": \"replace\", \"path\": \"/elements/my-card/props/title\", \"value\": \"Updated Title\"}',\n '```',\n '',\n '**Replace Children Array:**',\n '```json',\n '{\"op\": \"replace\", \"path\": \"/elements/container/children\", \"value\": [\"child1\", \"child2\", \"new-child\"]}',\n '```',\n '',\n '**Add Child to Parent:**',\n '```json',\n '{\"op\": \"add\", \"path\": \"/elements/parent/children/-\", \"value\": \"new-child-id\"}',\n '```',\n '',\n '**Update Data Model:**',\n '```json',\n '{\"op\": \"replace\", \"path\": \"/data/user/name\", \"value\": \"John Doe\"}',\n '```',\n '',\n '**Complete ACTIVITY_DELTA Example:**',\n '```json',\n '{',\n ' \"type\": \"ACTIVITY_DELTA\",',\n ' \"messageId\": \"update_123456\",',\n ' \"activityType\": \"json-render-main-card\",',\n ' \"patch\": [',\n ' {',\n ' \"op\": \"add\",',\n ' \"path\": \"/elements/success-message\",',\n ' \"value\": {',\n ' \"key\": \"success-message\",',\n ' \"type\": \"Text\",',\n ' \"props\": {',\n ' \"content\": \"Operation completed successfully!\",',\n ' \"color\": \"success\"',\n ' }',\n ' }',\n ' },',\n ' {',\n ' \"op\": \"add\",',\n ' \"path\": \"/elements/main-container/children/-\",',\n ' \"value\": \"success-message\"',\n ' }',\n ' ]',\n '}',\n '```',\n '',\n '## JSON-Render Data Structure Details',\n '',\n 'Understanding the structure is crucial for generating valid UI:',\n '',\n '### Root Level Properties',\n '- `root`: String - ID of the root element (must exist in elements)',\n '- `elements`: Object - Contains all UI elements indexed by their IDs',\n '- `data`: Object - Optional data model for form bindings and dynamic content',\n '',\n '### Element Structure',\n 'Each element in the `elements` object has:',\n '- `key`: String - Unique identifier (should match the object key)',\n '- `type`: String - Component type name (must be from available components)',\n '- `props`: Object - Component-specific properties',\n '- `children`: Array<String> - Optional array of child element IDs',\n '',\n '### Element Hierarchy Rules',\n '1. **Root Element**: Must be specified in `root` and exist in `elements`',\n '2. **Parent-Child Relationship**: Parent elements reference children by ID in `children` array',\n '3. **Child Order**: Order in `children` array determines rendering order',\n '4. **Unique IDs**: Each element must have a unique ID across the entire structure',\n '5. **Container Components**: Only components marked with \"can have children\" support `children`',\n '',\n '### Data Binding Paths',\n 'Form components can bind to data using dot notation:',\n '- `\"valuePath\": \"user.name\"` → binds to `data.user.name`',\n '- `\"valuePath\": \"settings.theme\"` → binds to `data.settings.theme`',\n '- `\"disabledPath\": \"form.disabled\"` → controls disabled state from `data.form.disabled`',\n '',\n '### Element ID Best Practices',\n '- Use descriptive names: `\"user_name_field\"` instead of `\"field1\"`',\n '- Use consistent naming: `snake_case` or `kebab-case`',\n '- Include purpose: `\"submit_button\"`, `\"main_container\"`, `\"status_card\"`',\n '',\n '## Available Components',\n '',\n ];\n\n // 组件文档\n for (const [name, doc] of Object.entries(allComponents)) {\n lines.push(`### ${name}`);\n lines.push(doc.description);\n if (doc.hasChildren) {\n lines.push('*This component can have children.*');\n }\n lines.push('');\n lines.push('**Props:**');\n for (const [propName, propDesc] of Object.entries(doc.props)) {\n lines.push(`- \\`${propName}\\`: ${propDesc}`);\n }\n lines.push('');\n }\n\n // Actions\n lines.push('## Available Actions');\n lines.push('');\n lines.push('Actions can be triggered by Button components. Use the `action` prop:');\n lines.push('- Simple: `\"action\": \"actionName\"`');\n lines.push('- With params: `\"action\": { \"name\": \"actionName\", \"params\": { ... } }`');\n lines.push('');\n for (const [name, def] of Object.entries(allActions)) {\n lines.push(`- \\`${name}\\`: ${def.description}`);\n }\n lines.push('');\n\n // Data Binding\n lines.push('## Data Binding');\n lines.push('');\n lines.push('Use `valuePath` to bind form fields to the data model:');\n lines.push('- `\"valuePath\": \"user.name\"` binds to `data.user.name`');\n lines.push('- `\"disabledPath\": \"formDisabled\"` controls disabled state from `data.formDisabled`');\n lines.push('');\n\n // 示例\n if (includeExample) {\n lines.push('## Examples');\n lines.push('');\n \n lines.push('### 1. Simple Form Structure');\n lines.push('A basic form with validation and data binding:');\n lines.push('```json');\n lines.push(JSON.stringify({\n root: 'main_card',\n elements: {\n main_card: {\n key: 'main_card',\n type: 'Card',\n props: { title: 'User Registration', bordered: true },\n children: ['form_layout'],\n },\n form_layout: {\n key: 'form_layout',\n type: 'Column',\n props: { gap: 16 },\n children: ['name_field', 'email_field', 'button_group'],\n },\n name_field: {\n key: 'name_field',\n type: 'TextField',\n props: {\n label: 'Full Name',\n valuePath: 'user.name',\n placeholder: 'Enter your full name',\n required: true,\n },\n },\n email_field: {\n key: 'email_field',\n type: 'TextField',\n props: {\n label: 'Email Address',\n valuePath: 'user.email',\n placeholder: 'Enter your email',\n type: 'email',\n required: true,\n },\n },\n button_group: {\n key: 'button_group',\n type: 'Space',\n props: { direction: 'horizontal', size: 'medium' },\n children: ['submit_btn', 'reset_btn'],\n },\n submit_btn: {\n key: 'submit_btn',\n type: 'Button',\n props: {\n children: 'Register',\n theme: 'primary',\n action: { name: 'submit', params: { form: 'registration' } },\n },\n },\n reset_btn: {\n key: 'reset_btn',\n type: 'Button',\n props: {\n children: 'Reset',\n variant: 'outline',\n action: 'reset',\n },\n },\n },\n data: {\n user: { name: '', email: '' },\n },\n }, null, 2));\n lines.push('```');\n lines.push('');\n \n lines.push('### 2. Dashboard Layout');\n lines.push('A more complex layout with grid system and multiple components:');\n lines.push('```json');\n lines.push(JSON.stringify({\n root: 'dashboard',\n elements: {\n dashboard: {\n key: 'dashboard',\n type: 'Column',\n props: { gap: 24 },\n children: ['header', 'content_row'],\n },\n header: {\n key: 'header',\n type: 'Card',\n props: { title: 'Dashboard Overview' },\n children: ['status_text'],\n },\n status_text: {\n key: 'status_text',\n type: 'Text',\n props: {\n content: 'System is running normally',\n color: 'success',\n weight: 'medium',\n },\n },\n content_row: {\n key: 'content_row',\n type: 'Row',\n props: { gutter: 16 },\n children: ['left_col', 'right_col'],\n },\n left_col: {\n key: 'left_col',\n type: 'Col',\n props: { span: 16 },\n children: ['main_content'],\n },\n right_col: {\n key: 'right_col',\n type: 'Col',\n props: { span: 8 },\n children: ['sidebar_card'],\n },\n main_content: {\n key: 'main_content',\n type: 'Card',\n props: { title: 'Main Content', shadow: true },\n children: ['content_text'],\n },\n content_text: {\n key: 'content_text',\n type: 'Text',\n props: { content: 'This is the main content area.' },\n },\n sidebar_card: {\n key: 'sidebar_card',\n type: 'Card',\n props: { title: 'Quick Actions' },\n children: ['action_buttons'],\n },\n action_buttons: {\n key: 'action_buttons',\n type: 'Column',\n props: { gap: 8 },\n children: ['refresh_btn', 'export_btn'],\n },\n refresh_btn: {\n key: 'refresh_btn',\n type: 'Button',\n props: {\n children: 'Refresh Data',\n block: true,\n action: 'refresh',\n },\n },\n export_btn: {\n key: 'export_btn',\n type: 'Button',\n props: {\n children: 'Export Report',\n variant: 'outline',\n block: true,\n action: 'export',\n },\n },\n },\n data: {\n lastUpdated: new Date().toISOString(),\n },\n }, null, 2));\n lines.push('```');\n lines.push('');\n \n lines.push('### 3. Dynamic Content with Data Binding');\n lines.push('Form with conditional disabled states:');\n lines.push('```json');\n lines.push(JSON.stringify({\n root: 'settings_form',\n elements: {\n settings_form: {\n key: 'settings_form',\n type: 'Card',\n props: { title: 'Settings' },\n children: ['form_fields'],\n },\n form_fields: {\n key: 'form_fields',\n type: 'Column',\n props: { gap: 16 },\n children: ['enable_notifications', 'email_field', 'save_btn'],\n },\n enable_notifications: {\n key: 'enable_notifications',\n type: 'TextField',\n props: {\n label: 'Enable Notifications',\n valuePath: 'settings.notifications',\n type: 'text',\n },\n },\n email_field: {\n key: 'email_field',\n type: 'TextField',\n props: {\n label: 'Notification Email',\n valuePath: 'settings.email',\n disabledPath: 'settings.emailDisabled',\n placeholder: 'Enter email for notifications',\n },\n },\n save_btn: {\n key: 'save_btn',\n type: 'Button',\n props: {\n children: 'Save Settings',\n theme: 'primary',\n action: 'submit',\n },\n },\n },\n data: {\n settings: {\n notifications: 'enabled',\n email: '',\n emailDisabled: false,\n },\n },\n }, null, 2));\n lines.push('```');\n }\n\n return lines.join('\\n');\n}\n\n/**\n * A2UI 协议专用 Prompt 生成器\n * 生成符合 A2UI 消息格式的系统提示词\n * \n * @internal 内部函数,由 generateDetailedCatalogPrompt 调用\n */\nfunction generateA2UIPrompt(context: {\n name: string;\n components: Record<string, NormalizedComponentDoc>;\n actions: Record<string, { description: string }>;\n includeExample?: boolean;\n}): string {\n const { name, components, actions, includeExample = true } = context;\n\n const lines: string[] = [\n `# ${name} A2UI Component Catalog`,\n '',\n 'You can generate dynamic UI using A2UI protocol messages.',\n '',\n '## AG-UI ACTIVITY_DELTA Format',\n '',\n 'When generating UI updates, use the AG-UI ACTIVITY_DELTA message format:',\n '```json',\n '{',\n ' \"type\": \"ACTIVITY_DELTA\",',\n ' \"messageId\": \"unique_message_id\",',\n ' \"activityType\": \"json-render-main-card\",',\n ' \"patch\": [',\n ' {\"op\": \"add\", \"path\": \"/elements/element-id\", \"value\": {...}},',\n ' {\"op\": \"replace\", \"path\": \"/elements/parent/children\", \"value\": [...]}',\n ' ]',\n '}',\n '```',\n '',\n '## JSON Patch Operations for AG-UI ACTIVITY_DELTA',\n '',\n 'The `patch` array contains JSON Patch operations that modify the UI structure:',\n '',\n '### Add New Element',\n 'Create a new UI element in the elements object:',\n '```json',\n '{\"op\": \"add\", \"path\": \"/elements/new-element-id\", \"value\": {',\n ' \"key\": \"new-element-id\",',\n ' \"type\": \"ComponentName\",',\n ' \"props\": {...},',\n ' \"children\": [\"child1\", \"child2\"] // optional',\n '}}',\n '```',\n '',\n '### Update Element Properties',\n 'Modify specific properties of an existing element:',\n '```json',\n '{\"op\": \"replace\", \"path\": \"/elements/element-id/props/title\", \"value\": \"New Title\"}',\n '```',\n '',\n '### Replace Children Array',\n 'Update the children of a container element:',\n '```json',\n '{\"op\": \"replace\", \"path\": \"/elements/parent-id/children\", \"value\": [\"child1\", \"child2\", \"new-child\"]}',\n '```',\n '',\n '### Add Child to Parent',\n 'Append a child to the end of parent\\'s children array:',\n '```json',\n '{\"op\": \"add\", \"path\": \"/elements/parent-id/children/-\", \"value\": \"new-child-id\"}',\n '```',\n '',\n '### Remove Element',\n 'Delete an element (ensure it\\'s removed from parent\\'s children first):',\n '```json',\n '{\"op\": \"remove\", \"path\": \"/elements/element-id\"}',\n '```',\n '',\n '### Update Data Model',\n 'Modify the data model for form bindings:',\n '```json',\n '{\"op\": \"replace\", \"path\": \"/data/user/name\", \"value\": \"John Doe\"}',\n '```',\n '',\n '### Complete AG-UI ACTIVITY_DELTA Example',\n 'Adding a status card and updating container children:',\n '```json',\n '{',\n ' \"type\": \"ACTIVITY_DELTA\",',\n ' \"messageId\": \"update_1234567890\",',\n ' \"activityType\": \"json-render-main-card\",',\n ' \"patch\": [',\n ' {',\n ' \"op\": \"add\",',\n ' \"path\": \"/elements/status-card\",',\n ' \"value\": {',\n ' \"key\": \"status-card\",',\n ' \"type\": \"Card\",',\n ' \"props\": {',\n ' \"title\": \"Status Update\",',\n ' \"description\": \"Operation completed successfully\"',\n ' }',\n ' }',\n ' },',\n ' {',\n ' \"op\": \"replace\",',\n ' \"path\": \"/elements/main-container/children\",',\n ' \"value\": [\"existing-element\", \"status-card\"]',\n ' }',\n ' ]',\n '}',\n '```',\n '',\n '## A2UI Message Types (Alternative Formats)',\n '',\n 'Besides AG-UI ACTIVITY_DELTA, A2UI also supports these message types:',\n '',\n '### createSurface',\n 'Create a new UI surface with initial elements:',\n '```json',\n '{',\n ' \"type\": \"createSurface\",',\n ' \"surfaceId\": \"unique_surface_id\",',\n ' \"ui\": {',\n ' \"root\": \"element_id\",',\n ' \"elements\": { ... }',\n ' },',\n ' \"data\": { ... }',\n '}',\n '```',\n '',\n '### updateComponents',\n 'Update existing UI elements (similar to ACTIVITY_DELTA but different format):',\n '```json',\n '{',\n ' \"type\": \"updateComponents\",',\n ' \"surfaceId\": \"existing_surface_id\",',\n ' \"patch\": [',\n ' {\"op\": \"add\", \"path\": \"/elements/new-element\", \"value\": {...}}',\n ' ]',\n '}',\n '```',\n '',\n '### updateDataModel',\n 'Update data model without changing UI:',\n '```json',\n '{',\n ' \"type\": \"updateDataModel\",',\n ' \"surfaceId\": \"existing_surface_id\",',\n ' \"data\": { ... }',\n '}',\n '```',\n '',\n '### deleteSurface',\n 'Remove a UI surface:',\n '```json',\n '{',\n ' \"type\": \"deleteSurface\",',\n ' \"surfaceId\": \"surface_to_delete\"',\n '}',\n '```',\n '',\n '## Available Components',\n '',\n ];\n\n // 组件文档\n for (const [compName, doc] of Object.entries(components)) {\n lines.push(`### ${compName}`);\n lines.push(doc.description);\n if (doc.hasChildren) {\n lines.push('*This component can have children.*');\n }\n lines.push('');\n lines.push('**Props:**');\n for (const [propName, propDesc] of Object.entries(doc.props)) {\n lines.push(`- \\`${propName}\\`: ${propDesc}`);\n }\n lines.push('');\n }\n\n // Actions\n lines.push('## Available Actions');\n lines.push('');\n for (const [actionName, def] of Object.entries(actions)) {\n lines.push(`- \\`${actionName}\\`: ${def.description}`);\n }\n lines.push('');\n\n // 示例\n if (includeExample) {\n lines.push('## Examples');\n lines.push('');\n \n lines.push('### 1. Create a form surface:');\n lines.push('```json');\n lines.push(JSON.stringify({\n type: 'createSurface',\n surfaceId: 'user_form_1',\n ui: {\n root: 'form_card',\n elements: {\n form_card: {\n key: 'form_card',\n type: 'Card',\n props: { title: 'User Form' },\n children: ['name_field', 'submit_btn'],\n },\n name_field: {\n key: 'name_field',\n type: 'TextField',\n props: { label: 'Name', valuePath: 'user.name' },\n },\n submit_btn: {\n key: 'submit_btn',\n type: 'Button',\n props: { children: 'Submit', theme: 'primary', action: 'submit' },\n },\n },\n },\n data: { user: { name: '' } },\n }, null, 2));\n lines.push('```');\n lines.push('');\n \n lines.push('### 2. Update existing surface with JSON Patch:');\n lines.push('Add a status card and update the form title:');\n lines.push('```json');\n lines.push(JSON.stringify({\n type: 'updateComponents',\n surfaceId: 'user_form_1',\n patch: [\n {\n op: 'replace',\n path: '/elements/form_card/props/title',\n value: 'Updated User Form'\n },\n {\n op: 'add',\n path: '/elements/status_card',\n value: {\n key: 'status_card',\n type: 'Card',\n props: { \n title: 'Status',\n description: 'Form is ready for submission'\n }\n }\n },\n {\n op: 'add',\n path: '/elements/form_card/children/0',\n value: 'status_card'\n }\n ]\n }, null, 2));\n lines.push('```');\n lines.push('');\n \n lines.push('### 3. Update data model:');\n lines.push('```json');\n lines.push(JSON.stringify({\n type: 'updateDataModel',\n surfaceId: 'user_form_1',\n data: { \n user: { name: 'John Doe' },\n formStatus: 'ready'\n }\n }, null, 2));\n lines.push('```');\n }\n\n return lines.join('\\n');\n}\n"],"names":["tdesignCatalog","createCatalog","name","components","Button","props","z","object","label","string","optional","children","variant","nullable","theme","size","disabled","loading","block","action","union","params","record","any","description","Input","value","placeholder","type","clearable","maxlength","number","showLimitNumber","TextField","valuePath","required","helperText","Text","content","color","weight","Card","title","bordered","shadow","hasChildren","Row","gutter","justify","align","Col","span","min","max","offset","Space","direction","Column","gap","Divider","layout","dashed","actions","submit","reset","cancel","validation","createCustomCatalog","customConfig","tdesignComponents","tdesignActions","_objectSpread","tdesignComponentList","componentNames","tdesignActionList","actionNames","BUILTIN_COMPONENT_DOCS","disabledPath","zodSchemaToPropsDoc","schema","result","shape","_i","_Object$entries","Object","entries","length","_Object$entries$_i","_slicedToArray","key","zodTypeToString","ZodNullable","concat","unwrap","ZodOptional","ZodEnum","values","options","map","v","join","ZodUnion","_def","o","ZodString","ZodNumber","ZodBoolean","ZodObject","ZodArray","normalizeComponentDoc","doc","generateCatalogPrompt","arguments","undefined","_options$name","_options$components","_options$actions","_options$includeExamp","includeExample","_options$templateMode","templateMode","customTemplate","mergedComponents","allComponents","_i2","_Object$entries2","_Object$entries2$_i","builtinActions","allActions","generateA2UIPrompt","lines","_i3","_Object$entries3","_Object$entries3$_i","push","_i4","_Object$entries4","_Object$entries4$_i","propName","propDesc","_i5","_Object$entries5","_Object$entries5$_i","def","JSON","stringify","root","elements","main_card","form_layout","name_field","email_field","button_group","submit_btn","form","reset_btn","data","user","email","dashboard","header","status_text","content_row","left_col","right_col","main_content","content_text","sidebar_card","action_buttons","refresh_btn","export_btn","lastUpdated","Date","toISOString","settings_form","form_fields","enable_notifications","save_btn","settings","notifications","emailDisabled","context","_context$includeExamp","_i6","_Object$entries6","_Object$entries6$_i","compName","_i7","_Object$entries7","_Object$entries7$_i","_i8","_Object$entries8","_Object$entries8$_i","actionName","surfaceId","ui","form_card","patch","op","path","formStatus"],"mappings":"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BAAA,EACA,mBAAA,EACA,iDAAA,EACA,IAAA,EACA,KAAA,EACA,EAAA,EACA,+BAAA,EACA,oDAAA,EACA,SAAA,EACA,qFAAA,EACA,KAAA,EACA,EAAA,EACA,4BAAA,EACA,6CAAA,EACA,SAAA,EACA,uGAAA,EACA,KAAA,EACA,EAAA,EACA,yBAAA,EACA,uDAAA,EACA,SAAA,EACA,kFAAA,EACA,KAAA,EACA,EAAA,EACA,oBAAA,EACA,uEAAA,EACA,SAAA,EACA,kDAAA,EACA,KAAA,EACA,EAAA,EACA,uBAAA,EACA,0CAAA,EACA,SAAA,EACA,mEAAA,EACA,KAAA,EACA,EAAA,EACA,2CAAA,EACA,uDAAA,EACA,SAAA,EACA,GAAA,EACA,6BAAA,EACA,qCAAA,EACA,4CAAA,EACA,cAAA,EACA,OAAA,EACA,oBAAA,EACA,wCAAA,EACA,kBAAA,EACA,+BAAA,EACA,yBAAA,EACA,oBAAA,EACA,qCAAA,EACA,6DAAA,EACA,WAAA,EACA,SAAA,EACA,QAAA,EACA,OAAA,EACA,wBAAA,EACA,oDAAA,EACA,oDAAA,EACA,OAAA,EACA,KAAA,EACA,GAAA,EACA,KAAA,EACA,EAAA,EACA,6CAAA,EACA,EAAA,EACA,uEAAA,EACA,EAAA,EACA,mBAAA,EACA,gDAAA,EACA,SAAA,EACA,GAAA,EACA,4BAAA,EACA,qCAAA,EACA,WAAA,EACA,2BAAA,EACA,yBAAA,EACA,MAAA,EACA,mBAAA,EACA,GAAA,EACA,KAAA,EACA,EAAA,EACA,sBAAA,EACA,+EAAA,EACA,SAAA,EACA,GAAA,EACA,+BAAA,EACA,uCAAA,EACA,cAAA,EACA,oEAAA,EACA,KAAA,EACA,GAAA,EACA,KAAA,EACA,EAAA,EACA,qBAAA,EACA,wCAAA,EACA,SAAA,EACA,GAAA,EACA,8BAAA,EACA,uCAAA,EACA,mBAAA,EACA,GAAA,EACA,KAAA,EACA,EAAA,EACA,mBAAA,EACA,sBAAA,EACA,SAAA,EACA,GAAA,EACA,4BAAA,EACA,oCAAA,EACA,GAAA,EACA,KAAA,EACA,EAAA,EACA,yBAA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"}
@@ -0,0 +1,128 @@
1
+ /**
2
+ * TDesign ComponentRegistry(React 组件注册表)
3
+ * 用于 json-render 渲染层的组件映射
4
+ *
5
+ * 重要概念区分:
6
+ * - ComponentRegistry(本文件):渲染层,映射组件名到 React 组件(传给 Renderer)
7
+ * - Catalog(catalog.ts):约束层,定义组件 props schema 和 actions 白名单(给 AI/服务端)
8
+ *
9
+ * Registry 分类:
10
+ * - tdesignRegistry: 纯净的 TDesign 组件,用于直接的 json-render schema
11
+ * - a2uiRegistry: 支持 A2UI 协议的组件,自动处理 valuePath/disabledPath/action.context
12
+ *
13
+ * 详见:ARCHITECTURE.md
14
+ */
15
+ import React from 'react';
16
+ import type { ComponentRegistry, ComponentRenderProps } from '../renderer';
17
+ /**
18
+ * 高性能组件包装器
19
+ * 使用 React.memo + react-fast-compare 实现深比较
20
+ *
21
+ * 原理:
22
+ * - json-render 每次渲染都会创建新的 element 对象引用
23
+ * - 默认的 React.memo 浅比较会认为 props 变化了
24
+ * - 使用 react-fast-compare 进行高效深比较,只在内容真正变化时才重渲染
25
+ *
26
+ * 性能说明(来自 performance_suggestion.md):
27
+ * - react-fast-compare 比 JSON.stringify 更快(短路比较)
28
+ * - 发现第一个不同属性时立即停止,不会遍历整个对象
29
+ * - 处理了循环引用等边缘情况
30
+ */
31
+ export declare function withStableProps<P extends ComponentRenderProps>(Component: React.ComponentType<P>): React.MemoExoticComponent<React.ComponentType<P>>;
32
+ /**
33
+ * TDesign 内置组件注册表(渲染层)
34
+ *
35
+ * 这是框架内置的原子组件集合,提供基础 UI 渲染能力
36
+ * 业务层可以通过 createCustomRegistry 扩展自定义组件
37
+ *
38
+ * 使用方式:
39
+ * ```tsx
40
+ * import { tdesignRegistry } from '@tdesign-react/chat';
41
+ *
42
+ * const config = createJsonRenderActivityConfig({
43
+ * registry: tdesignRegistry,
44
+ * actionHandlers: { ... },
45
+ * });
46
+ * ```
47
+ *
48
+ * Schema 示例:
49
+ * ```json
50
+ * {
51
+ * "root": "btn1",
52
+ * "elements": {
53
+ * "btn1": {
54
+ * "key": "btn1",
55
+ * "type": "Button",
56
+ * "props": {
57
+ * "variant": "base",
58
+ * "theme": "primary",
59
+ * "children": "点击我",
60
+ * "action": "submit"
61
+ * }
62
+ * }
63
+ * }
64
+ * }
65
+ * ```
66
+ */
67
+ export declare const tdesignRegistry: ComponentRegistry;
68
+ /**
69
+ * createCustomRegistry 配置选项
70
+ */
71
+ export interface CreateCustomRegistryOptions {
72
+ /**
73
+ * 是否自动包装组件以优化性能
74
+ * 使用 React.memo + react-fast-compare 深比较 element.props
75
+ *
76
+ * @default true
77
+ */
78
+ enableStableProps?: boolean;
79
+ }
80
+ /**
81
+ * 创建自定义组件注册表(扩展内置组件)
82
+ *
83
+ * 用于渲染层:扩展自定义业务组件的 React 实现
84
+ *
85
+ * 性能优化(默认开启):
86
+ * - 自动使用 withStableProps 包装组件
87
+ * - 使用 react-fast-compare 进行高效深比较
88
+ * - 业务组件无需手动写 React.memo 比较函数
89
+ *
90
+ * @example
91
+ * ```tsx
92
+ * import { createCustomRegistry } from '@tdesign-react/chat';
93
+ * import type { ComponentRenderProps } from '@json-render/react';
94
+ *
95
+ * // 定义自定义组件(无需手动 React.memo)
96
+ * const StatusCard: React.FC<ComponentRenderProps> = ({ element }) => (
97
+ * <div className="status-card">{element.props.status}</div>
98
+ * );
99
+ *
100
+ * const ProgressBar: React.FC<ComponentRenderProps> = ({ element }) => (
101
+ * <div className="progress-bar" style={{ width: `${element.props.percentage}%` }} />
102
+ * );
103
+ *
104
+ * // 扩展 registry(自动优化性能)
105
+ * const customRegistry = createCustomRegistry({
106
+ * StatusCard,
107
+ * ProgressBar,
108
+ * });
109
+ *
110
+ * // 禁用自动优化(如果需要自己控制)
111
+ * const customRegistry = createCustomRegistry(
112
+ * { StatusCard, ProgressBar },
113
+ * { enableStableProps: false }
114
+ * );
115
+ * ```
116
+ *
117
+ * 注意:
118
+ * - 这里只定义渲染层的组件映射
119
+ * - 约束层(Catalog)需要使用 createCustomCatalog 定义(见 catalog.ts)
120
+ * - 两者需要保持组件名称一致
121
+ */
122
+ export declare function createCustomRegistry(customComponents: ComponentRegistry, options?: CreateCustomRegistryOptions): ComponentRegistry;
123
+ export { tdesignCatalog, createCustomCatalog, tdesignComponentList, tdesignActionList, generateCatalogPrompt, } from '../catalog';
124
+ export type { PromptTemplateMode, CustomTemplateGenerator, ComponentDoc, NormalizedComponentDoc } from '../catalog';
125
+ export { a2uiRegistry, createA2UIRegistry, A2UITextField, A2UIButton } from './a2ui-registry';
126
+ export { withA2UIBinding } from './a2ui-binding';
127
+ export type { A2UIBindingConfig } from './a2ui-binding';
128
+ export default tdesignRegistry;
@@ -0,0 +1,36 @@
1
+ /**
2
+ * tdesign v1.1.0-alpha.4
3
+ * (c) 2026 tdesign
4
+ * @license MIT
5
+ */
6
+
7
+ import '@babel/runtime/helpers/defineProperty';
8
+ import '@babel/runtime/helpers/slicedToArray';
9
+ import 'react';
10
+ export { e as A2UIButton, d as A2UITextField, a as a2uiRegistry, b as createA2UIRegistry, c as createCustomRegistry, t as default, t as tdesignRegistry, f as withA2UIBinding, w as withStableProps } from '../../../../_chunks/dep-bcb234a1.js';
11
+ import './button.js';
12
+ import './card.js';
13
+ import './text.js';
14
+ import './layout.js';
15
+ export { createCustomCatalog, generateCatalogPrompt, tdesignActionList, tdesignCatalog, tdesignComponentList } from '../catalog.js';
16
+ import '@babel/runtime/helpers/typeof';
17
+ import '../adapters/index.js';
18
+ import '../adapters/a2ui-to-jsonrender.js';
19
+ import '@babel/runtime/helpers/objectWithoutProperties';
20
+ import '../SurfaceStateManager.js';
21
+ import '@babel/runtime/helpers/classCallCheck';
22
+ import '@babel/runtime/helpers/createClass';
23
+ import '../engine.js';
24
+ import '../performance.js';
25
+ import '@babel/runtime/helpers/toConsumableArray';
26
+ import 'tdesign-react';
27
+ import '@json-render/core';
28
+ import '../contexts/data.js';
29
+ import '../contexts/visibility.js';
30
+ import '../contexts/actions.js';
31
+ import '@babel/runtime/helpers/asyncToGenerator';
32
+ import '@babel/runtime/regenerator';
33
+ import '../contexts/validation.js';
34
+ import '../renderer.js';
35
+ import 'zod';
36
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * TDesign Input 组件适配 json-render
3
+ *
4
+ * 这是纯净的 json-render Input 组件,不包含 A2UI 协议绑定逻辑
5
+ * 如需 A2UI 支持,请使用 a2uiRegistry 中的 A2UITextField
6
+ */
7
+ import React from 'react';
8
+ import type { ComponentRenderProps } from '../types';
9
+ /**
10
+ * json-render Input 组件(基础版本,不带数据绑定)
11
+ */
12
+ export declare const JsonRenderInput: React.FC<ComponentRenderProps>;
13
+ /**
14
+ * json-render TextField 组件(带 label 和 valuePath 数据绑定)
15
+ *
16
+ * 这是标准 json-render 的 TextField,支持 valuePath 但不支持 A2UI 的 disabledPath
17
+ * 如需完整 A2UI 支持,请使用 a2uiRegistry 中的 A2UITextField
18
+ */
19
+ export declare const JsonRenderTextField: React.FC<ComponentRenderProps>;
20
+ export default JsonRenderInput;
@@ -0,0 +1,36 @@
1
+ /**
2
+ * tdesign v1.1.0-alpha.4
3
+ * (c) 2026 tdesign
4
+ * @license MIT
5
+ */
6
+
7
+ import '@babel/runtime/helpers/defineProperty';
8
+ import '@babel/runtime/helpers/objectWithoutProperties';
9
+ import 'react';
10
+ import 'tdesign-react';
11
+ export { g as JsonRenderInput, l as JsonRenderTextField, g as default } from '../../../../_chunks/dep-bcb234a1.js';
12
+ import '@json-render/core';
13
+ import '../contexts/data.js';
14
+ import '@babel/runtime/helpers/typeof';
15
+ import '@babel/runtime/helpers/slicedToArray';
16
+ import '../adapters/index.js';
17
+ import '../adapters/a2ui-to-jsonrender.js';
18
+ import '../SurfaceStateManager.js';
19
+ import '@babel/runtime/helpers/classCallCheck';
20
+ import '@babel/runtime/helpers/createClass';
21
+ import '../engine.js';
22
+ import '../performance.js';
23
+ import '@babel/runtime/helpers/toConsumableArray';
24
+ import './button.js';
25
+ import './card.js';
26
+ import './text.js';
27
+ import './layout.js';
28
+ import '../catalog.js';
29
+ import 'zod';
30
+ import '../contexts/visibility.js';
31
+ import '../contexts/actions.js';
32
+ import '@babel/runtime/helpers/asyncToGenerator';
33
+ import '@babel/runtime/regenerator';
34
+ import '../contexts/validation.js';
35
+ import '../renderer.js';
36
+ //# sourceMappingURL=input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * TDesign 布局组件适配 json-render
3
+ * 包含 Row、Col、Space、Column、Divider 等布局组件
4
+ */
5
+ import React from 'react';
6
+ import type { SpaceProps, DividerProps } from 'tdesign-react';
7
+ import type { ComponentRenderProps } from '../types';
8
+ /**
9
+ * json-render Row 组件
10
+ */
11
+ export declare const JsonRenderRow: React.FC<ComponentRenderProps>;
12
+ /**
13
+ * json-render Col 组件
14
+ */
15
+ export declare const JsonRenderCol: React.FC<ComponentRenderProps>;
16
+ /**
17
+ * json-render Space 组件
18
+ */
19
+ export declare const JsonRenderSpace: React.FC<ComponentRenderProps>;
20
+ /**
21
+ * json-render Column 组件
22
+ * 垂直布局的便捷组件(基于 Space direction="vertical")
23
+ */
24
+ export interface JsonRenderColumnProps extends Omit<SpaceProps, 'direction'> {
25
+ /** 间距大小 */
26
+ gap?: number | string;
27
+ }
28
+ export declare const JsonRenderColumn: React.FC<ComponentRenderProps>;
29
+ /**
30
+ * json-render Divider 组件
31
+ */
32
+ export declare const JsonRenderDivider: React.FC<DividerProps & {
33
+ children?: React.ReactNode;
34
+ }>;
35
+ declare const _default: {
36
+ JsonRenderRow: React.FC<ComponentRenderProps<Record<string, unknown>>>;
37
+ JsonRenderCol: React.FC<ComponentRenderProps<Record<string, unknown>>>;
38
+ JsonRenderSpace: React.FC<ComponentRenderProps<Record<string, unknown>>>;
39
+ JsonRenderColumn: React.FC<ComponentRenderProps<Record<string, unknown>>>;
40
+ JsonRenderDivider: React.FC<DividerProps & {
41
+ children?: React.ReactNode;
42
+ }>;
43
+ };
44
+ export default _default;
@@ -0,0 +1,129 @@
1
+ /**
2
+ * tdesign v1.1.0-alpha.4
3
+ * (c) 2026 tdesign
4
+ * @license MIT
5
+ */
6
+
7
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
8
+ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
9
+ import React from 'react';
10
+ import { Row, Col, Space, Divider } from 'tdesign-react';
11
+
12
+ var _excluded = ["align", "gutter", "justify"],
13
+ _excluded2 = ["span", "offset", "order", "push", "pull", "flex"],
14
+ _excluded3 = ["align", "direction", "size", "separator", "breakLine"],
15
+ _excluded4 = ["gap", "size", "align"],
16
+ _excluded5 = ["align", "dashed", "layout", "children", "lineColor", "theme", "onAction"];
17
+ 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; }
18
+ 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; }
19
+ var JsonRenderRow = function JsonRenderRow(_ref) {
20
+ var element = _ref.element,
21
+ children = _ref.children;
22
+ var _element$props = element.props,
23
+ _element$props$align = _element$props.align,
24
+ align = _element$props$align === void 0 ? "top" : _element$props$align,
25
+ _element$props$gutter = _element$props.gutter,
26
+ gutter = _element$props$gutter === void 0 ? 0 : _element$props$gutter,
27
+ _element$props$justif = _element$props.justify,
28
+ justify = _element$props$justif === void 0 ? "start" : _element$props$justif,
29
+ restProps = _objectWithoutProperties(_element$props, _excluded);
30
+ return /* @__PURE__ */React.createElement(Row, _objectSpread({
31
+ align: align,
32
+ gutter: gutter,
33
+ justify: justify
34
+ }, restProps), children);
35
+ };
36
+ JsonRenderRow.displayName = "JsonRenderRow";
37
+ var JsonRenderCol = function JsonRenderCol(_ref2) {
38
+ var element = _ref2.element,
39
+ children = _ref2.children;
40
+ var _element$props2 = element.props,
41
+ span = _element$props2.span,
42
+ offset = _element$props2.offset,
43
+ order = _element$props2.order,
44
+ push = _element$props2.push,
45
+ pull = _element$props2.pull,
46
+ flex = _element$props2.flex,
47
+ restProps = _objectWithoutProperties(_element$props2, _excluded2);
48
+ return /* @__PURE__ */React.createElement(Col, _objectSpread({
49
+ span: span,
50
+ offset: offset,
51
+ order: order,
52
+ push: push,
53
+ pull: pull,
54
+ flex: flex
55
+ }, restProps), children);
56
+ };
57
+ JsonRenderCol.displayName = "JsonRenderCol";
58
+ var JsonRenderSpace = function JsonRenderSpace(_ref3) {
59
+ var element = _ref3.element,
60
+ children = _ref3.children;
61
+ var _element$props3 = element.props,
62
+ _element$props3$align = _element$props3.align,
63
+ align = _element$props3$align === void 0 ? "center" : _element$props3$align,
64
+ _element$props3$direc = _element$props3.direction,
65
+ direction = _element$props3$direc === void 0 ? "horizontal" : _element$props3$direc,
66
+ _element$props3$size = _element$props3.size,
67
+ size = _element$props3$size === void 0 ? "small" : _element$props3$size,
68
+ separator = _element$props3.separator,
69
+ _element$props3$break = _element$props3.breakLine,
70
+ breakLine = _element$props3$break === void 0 ? false : _element$props3$break,
71
+ restProps = _objectWithoutProperties(_element$props3, _excluded3);
72
+ return /* @__PURE__ */React.createElement(Space, _objectSpread({
73
+ align: align,
74
+ direction: direction,
75
+ size: size,
76
+ separator: separator,
77
+ breakLine: breakLine
78
+ }, restProps), children);
79
+ };
80
+ JsonRenderSpace.displayName = "JsonRenderSpace";
81
+ var JsonRenderColumn = function JsonRenderColumn(_ref4) {
82
+ var element = _ref4.element,
83
+ children = _ref4.children;
84
+ var _element$props4 = element.props,
85
+ gap = _element$props4.gap,
86
+ _element$props4$size = _element$props4.size,
87
+ size = _element$props4$size === void 0 ? gap || "small" : _element$props4$size,
88
+ _element$props4$align = _element$props4.align,
89
+ align = _element$props4$align === void 0 ? "stretch" : _element$props4$align,
90
+ restProps = _objectWithoutProperties(_element$props4, _excluded4);
91
+ return /* @__PURE__ */React.createElement(Space, _objectSpread({
92
+ direction: "vertical",
93
+ align: align,
94
+ size: size,
95
+ style: {
96
+ width: "100%"
97
+ }
98
+ }, restProps), children);
99
+ };
100
+ JsonRenderColumn.displayName = "JsonRenderColumn";
101
+ var JsonRenderDivider = function JsonRenderDivider(props) {
102
+ var _props$align = props.align,
103
+ align = _props$align === void 0 ? "center" : _props$align,
104
+ _props$dashed = props.dashed,
105
+ dashed = _props$dashed === void 0 ? false : _props$dashed,
106
+ _props$layout = props.layout,
107
+ layout = _props$layout === void 0 ? "horizontal" : _props$layout,
108
+ children = props.children,
109
+ _lineColor = props.lineColor,
110
+ _theme = props.theme,
111
+ _onAction = props.onAction,
112
+ restProps = _objectWithoutProperties(props, _excluded5);
113
+ return /* @__PURE__ */React.createElement(Divider, _objectSpread({
114
+ align: align,
115
+ dashed: dashed,
116
+ layout: layout
117
+ }, restProps), children);
118
+ };
119
+ JsonRenderDivider.displayName = "JsonRenderDivider";
120
+ var layout = {
121
+ JsonRenderRow: JsonRenderRow,
122
+ JsonRenderCol: JsonRenderCol,
123
+ JsonRenderSpace: JsonRenderSpace,
124
+ JsonRenderColumn: JsonRenderColumn,
125
+ JsonRenderDivider: JsonRenderDivider
126
+ };
127
+
128
+ export { JsonRenderCol, JsonRenderColumn, JsonRenderDivider, JsonRenderRow, JsonRenderSpace, layout as default };
129
+ //# sourceMappingURL=layout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout.js","sources":["../../../../../../pro-components/chat/chat-engine/components/json-render/catalog/layout.tsx"],"sourcesContent":["/**\n * TDesign 布局组件适配 json-render\n * 包含 Row、Col、Space、Column、Divider 等布局组件\n */\n\nimport React from 'react';\nimport { Row, Col, Space, Divider } from 'tdesign-react';\nimport type { RowProps, ColProps, SpaceProps, DividerProps } from 'tdesign-react';\nimport type { ComponentRenderProps } from '../types';\n\n/**\n * json-render Row 组件\n */\nexport const JsonRenderRow: React.FC<ComponentRenderProps> = ({ element, children }) => {\n const {\n align = 'top',\n gutter = 0,\n justify = 'start',\n ...restProps\n } = element.props as RowProps;\n\n return (\n <Row align={align} gutter={gutter} justify={justify} {...restProps}>\n {children}\n </Row>\n );\n};\n\nJsonRenderRow.displayName = 'JsonRenderRow';\n\n/**\n * json-render Col 组件\n */\nexport const JsonRenderCol: React.FC<ComponentRenderProps> = ({ element, children }) => {\n const { span, offset, order, push, pull, flex, ...restProps } = element.props as ColProps;\n\n return (\n <Col span={span} offset={offset} order={order} push={push} pull={pull} flex={flex} {...restProps}>\n {children}\n </Col>\n );\n};\n\nJsonRenderCol.displayName = 'JsonRenderCol';\n\n/**\n * json-render Space 组件\n */\nexport const JsonRenderSpace: React.FC<ComponentRenderProps> = ({ element, children }) => {\n const {\n align = 'center',\n direction = 'horizontal',\n size = 'small',\n separator,\n breakLine = false,\n ...restProps\n } = element.props as SpaceProps;\n\n return (\n <Space\n align={align}\n direction={direction}\n size={size}\n separator={separator}\n breakLine={breakLine}\n {...restProps}\n >\n {children}\n </Space>\n );\n};\n\nJsonRenderSpace.displayName = 'JsonRenderSpace';\n\n/**\n * json-render Column 组件\n * 垂直布局的便捷组件(基于 Space direction=\"vertical\")\n */\nexport interface JsonRenderColumnProps extends Omit<SpaceProps, 'direction'> {\n /** 间距大小 */\n gap?: number | string;\n}\n\nexport const JsonRenderColumn: React.FC<ComponentRenderProps> = ({ element, children }) => {\n const {\n gap,\n size = gap || 'small',\n align = 'stretch',\n ...restProps\n } = element.props as JsonRenderColumnProps;\n\n return (\n <Space direction=\"vertical\" align={align} size={size} style={{ width: '100%' }} {...restProps}>\n {children}\n </Space>\n );\n};\n\nJsonRenderColumn.displayName = 'JsonRenderColumn';\n\n/**\n * json-render Divider 组件\n */\nexport const JsonRenderDivider: React.FC<DividerProps & { children?: React.ReactNode }> = (props) => {\n const {\n align = 'center',\n dashed = false,\n layout = 'horizontal',\n children,\n // 过滤掉不支持的属性\n lineColor: _lineColor,\n theme: _theme,\n onAction: _onAction,\n ...restProps\n } = props as any;\n\n return (\n <Divider\n align={align}\n dashed={dashed}\n layout={layout}\n {...restProps}\n >\n {children}\n </Divider>\n );\n};\n\nJsonRenderDivider.displayName = 'JsonRenderDivider';\n\nexport default {\n JsonRenderRow,\n JsonRenderCol,\n JsonRenderSpace,\n JsonRenderColumn,\n JsonRenderDivider,\n};\n"],"names":["JsonRenderRow","_ref","element","children","_element$props","props","_element$props$align","align","_element$props$gutter","gutter","_element$props$justif","justify","restProps","_objectWithoutProperties","_excluded","React","createElement","Row","_objectSpread","displayName","JsonRenderCol","_ref2","_element$props2","span","offset","order","push","pull","flex","_excluded2","Col","JsonRenderSpace","_ref3","_element$props3","_element$props3$align","_element$props3$direc","direction","_element$props3$size","size","separator","_element$props3$break","breakLine","_excluded3","Space","JsonRenderColumn","_ref4","_element$props4","gap","_element$props4$size","_element$props4$align","_excluded4","style","width","JsonRenderDivider","_props$align","_props$dashed","dashed","_props$layout","layout","_lineColor","lineColor","_theme","theme","_onAction","onAction","_excluded5","Divider"],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Text 组件 - 用于 json-render 静态文本展示
3
+ */
4
+ import React from 'react';
5
+ import type { ComponentRenderProps } from '../types';
6
+ /**
7
+ * json-render Text 组件
8
+ * 简单的文本展示组件
9
+ */
10
+ export declare const JsonRenderText: React.FC<ComponentRenderProps>;
11
+ export default JsonRenderText;