@tdesign-react/chat 1.0.2 → 1.1.0-alpha.10

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 (516) hide show
  1. package/CHANGELOG.md +0 -4
  2. package/README.md +76 -22
  3. package/es/_chunks/dep-1007ac80.js +205 -0
  4. package/es/_chunks/dep-1007ac80.js.map +1 -0
  5. package/es/_chunks/dep-16520c2b.js +1247 -0
  6. package/es/_chunks/dep-16520c2b.js.map +1 -0
  7. package/es/_chunks/dep-1743bd61.js +438 -0
  8. package/es/_chunks/dep-1743bd61.js.map +1 -0
  9. package/es/_chunks/dep-24472232.js +839 -0
  10. package/es/_chunks/dep-24472232.js.map +1 -0
  11. package/es/_chunks/dep-3864b369.js +839 -0
  12. package/es/_chunks/dep-3864b369.js.map +1 -0
  13. package/es/_chunks/dep-3e40d789.js +169 -0
  14. package/es/_chunks/dep-3e40d789.js.map +1 -0
  15. package/es/_chunks/dep-4dedfbef.js +438 -0
  16. package/es/_chunks/dep-4dedfbef.js.map +1 -0
  17. package/es/_chunks/dep-56f5e08e.js +448 -0
  18. package/es/_chunks/dep-56f5e08e.js.map +1 -0
  19. package/es/_chunks/dep-688e4aaa.js +438 -0
  20. package/es/_chunks/dep-688e4aaa.js.map +1 -0
  21. package/es/_chunks/dep-870f0d35.js +839 -0
  22. package/es/_chunks/dep-870f0d35.js.map +1 -0
  23. package/es/_chunks/dep-96eca06f.js +169 -0
  24. package/es/_chunks/dep-96eca06f.js.map +1 -0
  25. package/es/_chunks/dep-ba3bd553.js +169 -0
  26. package/es/_chunks/dep-ba3bd553.js.map +1 -0
  27. package/es/_chunks/dep-bcb234a1.js +839 -0
  28. package/es/_chunks/dep-bcb234a1.js.map +1 -0
  29. package/es/_chunks/dep-de8ac730.js +1247 -0
  30. package/es/_chunks/dep-de8ac730.js.map +1 -0
  31. package/es/_chunks/dep-e9dbff09.js +1247 -0
  32. package/es/_chunks/dep-e9dbff09.js.map +1 -0
  33. package/es/_chunks/dep-ebc4cf30.js +1247 -0
  34. package/es/_chunks/dep-ebc4cf30.js.map +1 -0
  35. package/es/_chunks/dep-f2051ebd.js +839 -0
  36. package/es/_chunks/dep-f2051ebd.js.map +1 -0
  37. package/es/_chunks/dep-f691a67e.js +438 -0
  38. package/es/_chunks/dep-f691a67e.js.map +1 -0
  39. package/es/_chunks/dep-f8016301.js +169 -0
  40. package/es/_chunks/dep-f8016301.js.map +1 -0
  41. package/es/_util/reactify.d.ts +1 -2
  42. package/es/_util/reactify.js +103 -233
  43. package/es/_util/reactify.js.map +1 -1
  44. package/es/_util/useDynamicStyle.js +1 -1
  45. package/es/attachments/index.js +4 -6
  46. package/es/attachments/index.js.map +1 -1
  47. package/es/chat-actionbar/index.d.ts +13 -4
  48. package/es/chat-actionbar/index.js +37 -9
  49. package/es/chat-actionbar/index.js.map +1 -1
  50. package/es/chat-engine/components/a2ui/A2UIActivityRenderer.d.ts +196 -0
  51. package/es/chat-engine/components/a2ui/A2UIActivityRenderer.js +301 -0
  52. package/es/chat-engine/components/a2ui/A2UIActivityRenderer.js.map +1 -0
  53. package/es/chat-engine/components/a2ui/A2UIComponentRenderer.d.ts +37 -0
  54. package/es/chat-engine/components/a2ui/A2UIComponentRenderer.js +116 -0
  55. package/es/chat-engine/components/a2ui/A2UIComponentRenderer.js.map +1 -0
  56. package/es/chat-engine/components/a2ui/A2UIErrorBoundary.d.ts +42 -0
  57. package/es/chat-engine/components/a2ui/A2UIErrorBoundary.js +113 -0
  58. package/es/chat-engine/components/a2ui/A2UIErrorBoundary.js.map +1 -0
  59. package/es/chat-engine/components/a2ui/A2UISkeleton.d.ts +60 -0
  60. package/es/chat-engine/components/a2ui/A2UISkeleton.js +197 -0
  61. package/es/chat-engine/components/a2ui/A2UISkeleton.js.map +1 -0
  62. package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.d.ts +44 -0
  63. package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.js +139 -0
  64. package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.js.map +1 -0
  65. package/es/chat-engine/components/a2ui/containers/A2UICard.d.ts +22 -0
  66. package/es/chat-engine/components/a2ui/containers/A2UICard.js +82 -0
  67. package/es/chat-engine/components/a2ui/containers/A2UICard.js.map +1 -0
  68. package/es/chat-engine/components/a2ui/containers/A2UIColumn.d.ts +18 -0
  69. package/es/chat-engine/components/a2ui/containers/A2UIColumn.js +81 -0
  70. package/es/chat-engine/components/a2ui/containers/A2UIColumn.js.map +1 -0
  71. package/es/chat-engine/components/a2ui/containers/A2UIList.d.ts +14 -0
  72. package/es/chat-engine/components/a2ui/containers/A2UIList.js +62 -0
  73. package/es/chat-engine/components/a2ui/containers/A2UIList.js.map +1 -0
  74. package/es/chat-engine/components/a2ui/containers/A2UIRow.d.ts +20 -0
  75. package/es/chat-engine/components/a2ui/containers/A2UIRow.js +84 -0
  76. package/es/chat-engine/components/a2ui/containers/A2UIRow.js.map +1 -0
  77. package/es/chat-engine/components/a2ui/containers/A2UITabs.d.ts +14 -0
  78. package/es/chat-engine/components/a2ui/containers/A2UITabs.js +69 -0
  79. package/es/chat-engine/components/a2ui/containers/A2UITabs.js.map +1 -0
  80. package/es/chat-engine/components/a2ui/containers/index.d.ts +8 -0
  81. package/es/chat-engine/components/a2ui/containers/index.js +30 -0
  82. package/es/chat-engine/components/a2ui/containers/index.js.map +1 -0
  83. package/es/chat-engine/components/a2ui/index.d.ts +11 -0
  84. package/es/chat-engine/components/a2ui/index.js +62 -0
  85. package/es/chat-engine/components/a2ui/index.js.map +1 -0
  86. package/es/chat-engine/components/a2ui/primitives/A2UIButton.d.ts +33 -0
  87. package/es/chat-engine/components/a2ui/primitives/A2UIButton.js +80 -0
  88. package/es/chat-engine/components/a2ui/primitives/A2UIButton.js.map +1 -0
  89. package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.d.ts +12 -0
  90. package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.js +43 -0
  91. package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.js.map +1 -0
  92. package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.d.ts +50 -0
  93. package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.js +54 -0
  94. package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.js.map +1 -0
  95. package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.d.ts +13 -0
  96. package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.js +89 -0
  97. package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.js.map +1 -0
  98. package/es/chat-engine/components/a2ui/primitives/A2UIDivider.d.ts +12 -0
  99. package/es/chat-engine/components/a2ui/primitives/A2UIDivider.js +25 -0
  100. package/es/chat-engine/components/a2ui/primitives/A2UIDivider.js.map +1 -0
  101. package/es/chat-engine/components/a2ui/primitives/A2UIIcon.d.ts +13 -0
  102. package/es/chat-engine/components/a2ui/primitives/A2UIIcon.js +138942 -0
  103. package/es/chat-engine/components/a2ui/primitives/A2UIIcon.js.map +1 -0
  104. package/es/chat-engine/components/a2ui/primitives/A2UIImage.d.ts +12 -0
  105. package/es/chat-engine/components/a2ui/primitives/A2UIImage.js +75 -0
  106. package/es/chat-engine/components/a2ui/primitives/A2UIImage.js.map +1 -0
  107. package/es/chat-engine/components/a2ui/primitives/A2UIInput.d.ts +20 -0
  108. package/es/chat-engine/components/a2ui/primitives/A2UIInput.js +63 -0
  109. package/es/chat-engine/components/a2ui/primitives/A2UIInput.js.map +1 -0
  110. package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.d.ts +56 -0
  111. package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.js +64 -0
  112. package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.js.map +1 -0
  113. package/es/chat-engine/components/a2ui/primitives/A2UISlider.d.ts +12 -0
  114. package/es/chat-engine/components/a2ui/primitives/A2UISlider.js +55 -0
  115. package/es/chat-engine/components/a2ui/primitives/A2UISlider.js.map +1 -0
  116. package/es/chat-engine/components/a2ui/primitives/A2UIText.d.ts +12 -0
  117. package/es/chat-engine/components/a2ui/primitives/A2UIText.js +104 -0
  118. package/es/chat-engine/components/a2ui/primitives/A2UIText.js.map +1 -0
  119. package/es/chat-engine/components/a2ui/primitives/A2UITextField.d.ts +12 -0
  120. package/es/chat-engine/components/a2ui/primitives/A2UITextField.js +80 -0
  121. package/es/chat-engine/components/a2ui/primitives/A2UITextField.js.map +1 -0
  122. package/es/chat-engine/components/a2ui/primitives/index.d.ts +15 -0
  123. package/es/chat-engine/components/a2ui/primitives/index.js +39 -0
  124. package/es/chat-engine/components/a2ui/primitives/index.js.map +1 -0
  125. package/es/chat-engine/components/a2ui/registry.d.ts +35 -0
  126. package/es/chat-engine/components/a2ui/registry.js +74 -0
  127. package/es/chat-engine/components/a2ui/registry.js.map +1 -0
  128. package/es/chat-engine/components/activity/index.d.ts +1 -0
  129. package/es/chat-engine/components/activity/index.js +3 -2
  130. package/es/chat-engine/components/activity/index.js.map +1 -1
  131. package/es/chat-engine/components/activity/registry.js +1 -1
  132. package/es/chat-engine/components/activity/render.d.ts +1 -1
  133. package/es/chat-engine/components/activity/render.js +4 -3
  134. package/es/chat-engine/components/activity/render.js.map +1 -1
  135. package/es/chat-engine/components/activity/types.js +1 -1
  136. package/es/chat-engine/components/index.d.ts +1 -0
  137. package/es/chat-engine/components/index.js +62 -5
  138. package/es/chat-engine/components/index.js.map +1 -1
  139. package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.d.ts +36 -0
  140. package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.js +36 -0
  141. package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.js.map +1 -0
  142. package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.d.ts +46 -0
  143. package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.js +36 -0
  144. package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.js.map +1 -0
  145. package/es/chat-engine/components/json-render/SurfaceStateManager.d.ts +113 -0
  146. package/es/chat-engine/components/json-render/SurfaceStateManager.js +195 -0
  147. package/es/chat-engine/components/json-render/SurfaceStateManager.js.map +1 -0
  148. package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.d.ts +49 -0
  149. package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.js +307 -0
  150. package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.js.map +1 -0
  151. package/es/chat-engine/components/json-render/adapters/a2ui-types.d.ts +96 -0
  152. package/es/chat-engine/components/json-render/adapters/a2ui-types.js +7 -0
  153. package/es/chat-engine/components/json-render/adapters/a2ui-types.js.map +1 -0
  154. package/es/chat-engine/components/json-render/adapters/index.d.ts +7 -0
  155. package/es/chat-engine/components/json-render/adapters/index.js +11 -0
  156. package/es/chat-engine/components/json-render/adapters/index.js.map +1 -0
  157. package/es/chat-engine/components/json-render/catalog/a2ui-binding.d.ts +64 -0
  158. package/es/chat-engine/components/json-render/catalog/a2ui-binding.js +36 -0
  159. package/es/chat-engine/components/json-render/catalog/a2ui-binding.js.map +1 -0
  160. package/es/chat-engine/components/json-render/catalog/a2ui-registry.d.ts +78 -0
  161. package/es/chat-engine/components/json-render/catalog/a2ui-registry.js +36 -0
  162. package/es/chat-engine/components/json-render/catalog/a2ui-registry.js.map +1 -0
  163. package/es/chat-engine/components/json-render/catalog/atomic/button.d.ts +14 -0
  164. package/es/chat-engine/components/json-render/catalog/atomic/button.js +71 -0
  165. package/es/chat-engine/components/json-render/catalog/atomic/button.js.map +1 -0
  166. package/es/chat-engine/components/json-render/catalog/atomic/card.d.ts +11 -0
  167. package/es/chat-engine/components/json-render/catalog/atomic/card.js +57 -0
  168. package/es/chat-engine/components/json-render/catalog/atomic/card.js.map +1 -0
  169. package/es/chat-engine/components/json-render/catalog/atomic/input.d.ts +20 -0
  170. package/es/chat-engine/components/json-render/catalog/atomic/input.js +76 -0
  171. package/es/chat-engine/components/json-render/catalog/atomic/input.js.map +1 -0
  172. package/es/chat-engine/components/json-render/catalog/atomic/layout.d.ts +44 -0
  173. package/es/chat-engine/components/json-render/catalog/atomic/layout.js +129 -0
  174. package/es/chat-engine/components/json-render/catalog/atomic/layout.js.map +1 -0
  175. package/es/chat-engine/components/json-render/catalog/atomic/text.d.ts +11 -0
  176. package/es/chat-engine/components/json-render/catalog/atomic/text.js +31 -0
  177. package/es/chat-engine/components/json-render/catalog/atomic/text.js.map +1 -0
  178. package/es/chat-engine/components/json-render/catalog/button.d.ts +14 -0
  179. package/es/chat-engine/components/json-render/catalog/button.js +71 -0
  180. package/es/chat-engine/components/json-render/catalog/button.js.map +1 -0
  181. package/es/chat-engine/components/json-render/catalog/card.d.ts +11 -0
  182. package/es/chat-engine/components/json-render/catalog/card.js +57 -0
  183. package/es/chat-engine/components/json-render/catalog/card.js.map +1 -0
  184. package/es/chat-engine/components/json-render/catalog/catalog-to-prompt.d.ts +614 -0
  185. package/es/chat-engine/components/json-render/catalog/catalog-to-prompt.js +779 -0
  186. package/es/chat-engine/components/json-render/catalog/catalog-to-prompt.js.map +1 -0
  187. package/es/chat-engine/components/json-render/catalog/index.d.ts +128 -0
  188. package/es/chat-engine/components/json-render/catalog/index.js +36 -0
  189. package/es/chat-engine/components/json-render/catalog/index.js.map +1 -0
  190. package/es/chat-engine/components/json-render/catalog/input.d.ts +20 -0
  191. package/es/chat-engine/components/json-render/catalog/input.js +36 -0
  192. package/es/chat-engine/components/json-render/catalog/input.js.map +1 -0
  193. package/es/chat-engine/components/json-render/catalog/layout.d.ts +44 -0
  194. package/es/chat-engine/components/json-render/catalog/layout.js +129 -0
  195. package/es/chat-engine/components/json-render/catalog/layout.js.map +1 -0
  196. package/es/chat-engine/components/json-render/catalog/text.d.ts +11 -0
  197. package/es/chat-engine/components/json-render/catalog/text.js +31 -0
  198. package/es/chat-engine/components/json-render/catalog/text.js.map +1 -0
  199. package/es/chat-engine/components/json-render/catalog.d.ts +614 -0
  200. package/es/chat-engine/components/json-render/catalog.js +779 -0
  201. package/es/chat-engine/components/json-render/catalog.js.map +1 -0
  202. package/es/chat-engine/components/json-render/config.d.ts +154 -0
  203. package/es/chat-engine/components/json-render/config.js +36 -0
  204. package/es/chat-engine/components/json-render/config.js.map +1 -0
  205. package/es/chat-engine/components/json-render/contexts/actions.d.ts +79 -0
  206. package/es/chat-engine/components/json-render/contexts/actions.js +313 -0
  207. package/es/chat-engine/components/json-render/contexts/actions.js.map +1 -0
  208. package/es/chat-engine/components/json-render/contexts/data.d.ts +137 -0
  209. package/es/chat-engine/components/json-render/contexts/data.js +183 -0
  210. package/es/chat-engine/components/json-render/contexts/data.js.map +1 -0
  211. package/es/chat-engine/components/json-render/contexts/index.d.ts +4 -0
  212. package/es/chat-engine/components/json-render/contexts/index.js +27 -0
  213. package/es/chat-engine/components/json-render/contexts/index.js.map +1 -0
  214. package/es/chat-engine/components/json-render/contexts/store.d.ts +67 -0
  215. package/es/chat-engine/components/json-render/contexts/store.js +104 -0
  216. package/es/chat-engine/components/json-render/contexts/store.js.map +1 -0
  217. package/es/chat-engine/components/json-render/contexts/tree.d.ts +44 -0
  218. package/es/chat-engine/components/json-render/contexts/tree.js +78 -0
  219. package/es/chat-engine/components/json-render/contexts/tree.js.map +1 -0
  220. package/es/chat-engine/components/json-render/contexts/validation.d.ts +59 -0
  221. package/es/chat-engine/components/json-render/contexts/validation.js +159 -0
  222. package/es/chat-engine/components/json-render/contexts/validation.js.map +1 -0
  223. package/es/chat-engine/components/json-render/contexts/visibility.d.ts +39 -0
  224. package/es/chat-engine/components/json-render/contexts/visibility.js +66 -0
  225. package/es/chat-engine/components/json-render/contexts/visibility.js.map +1 -0
  226. package/es/chat-engine/components/json-render/engine.d.ts +58 -0
  227. package/es/chat-engine/components/json-render/engine.js +88 -0
  228. package/es/chat-engine/components/json-render/engine.js.map +1 -0
  229. package/es/chat-engine/components/json-render/index.d.ts +13 -0
  230. package/es/chat-engine/components/json-render/index.js +76 -0
  231. package/es/chat-engine/components/json-render/index.js.map +1 -0
  232. package/es/chat-engine/components/json-render/performance.d.ts +91 -0
  233. package/es/chat-engine/components/json-render/performance.js +135 -0
  234. package/es/chat-engine/components/json-render/performance.js.map +1 -0
  235. package/es/chat-engine/components/json-render/registry/a2ui-binding.d.ts +64 -0
  236. package/es/chat-engine/components/json-render/registry/a2ui-binding.js +76 -0
  237. package/es/chat-engine/components/json-render/registry/a2ui-binding.js.map +1 -0
  238. package/es/chat-engine/components/json-render/registry/a2ui-registry.d.ts +78 -0
  239. package/es/chat-engine/components/json-render/registry/a2ui-registry.js +76 -0
  240. package/es/chat-engine/components/json-render/registry/a2ui-registry.js.map +1 -0
  241. package/es/chat-engine/components/json-render/registry/config.d.ts +142 -0
  242. package/es/chat-engine/components/json-render/registry/config.js +76 -0
  243. package/es/chat-engine/components/json-render/registry/config.js.map +1 -0
  244. package/es/chat-engine/components/json-render/registry/index.d.ts +137 -0
  245. package/es/chat-engine/components/json-render/registry/index.js +76 -0
  246. package/es/chat-engine/components/json-render/registry/index.js.map +1 -0
  247. package/es/chat-engine/components/json-render/renderer/A2UIJsonRenderActivityRenderer.d.ts +35 -0
  248. package/es/chat-engine/components/json-render/renderer/A2UIJsonRenderActivityRenderer.js +271 -0
  249. package/es/chat-engine/components/json-render/renderer/A2UIJsonRenderActivityRenderer.js.map +1 -0
  250. package/es/chat-engine/components/json-render/renderer/JsonRenderActivityRenderer.d.ts +44 -0
  251. package/es/chat-engine/components/json-render/renderer/JsonRenderActivityRenderer.js +63 -0
  252. package/es/chat-engine/components/json-render/renderer/JsonRenderActivityRenderer.js.map +1 -0
  253. package/es/chat-engine/components/json-render/renderer/JsonUIRenderer.d.ts +44 -0
  254. package/es/chat-engine/components/json-render/renderer/JsonUIRenderer.js +131 -0
  255. package/es/chat-engine/components/json-render/renderer/JsonUIRenderer.js.map +1 -0
  256. package/es/chat-engine/components/json-render/renderer/_index.d.ts +71 -0
  257. package/es/chat-engine/components/json-render/renderer/_index.js +133 -0
  258. package/es/chat-engine/components/json-render/renderer/_index.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 +125 -0
  261. package/es/chat-engine/components/json-render/renderer/index.js.map +1 -0
  262. package/es/chat-engine/components/json-render/renderer.d.ts +71 -0
  263. package/es/chat-engine/components/json-render/renderer.js +124 -0
  264. package/es/chat-engine/components/json-render/renderer.js.map +1 -0
  265. package/es/chat-engine/components/json-render/types.d.ts +87 -0
  266. package/es/chat-engine/components/json-render/types.js +7 -0
  267. package/es/chat-engine/components/json-render/types.js.map +1 -0
  268. package/es/chat-engine/components/provider/agent-state.js +48 -2
  269. package/es/chat-engine/components/provider/agent-state.js.map +1 -1
  270. package/es/chat-engine/components/toolcall/index.js +41 -2
  271. package/es/chat-engine/components/toolcall/index.js.map +1 -1
  272. package/es/chat-engine/components/toolcall/registry.js +1 -1
  273. package/es/chat-engine/components/toolcall/render.d.ts +1 -1
  274. package/es/chat-engine/components/toolcall/render.js +41 -2
  275. package/es/chat-engine/components/toolcall/render.js.map +1 -1
  276. package/es/chat-engine/components/toolcall/types.js +1 -1
  277. package/es/chat-engine/core/a2ui/index.d.ts +10 -0
  278. package/es/chat-engine/core/a2ui/index.js +24 -0
  279. package/es/chat-engine/core/a2ui/index.js.map +1 -0
  280. package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.d.ts +197 -0
  281. package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.js +438 -0
  282. package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.js.map +1 -0
  283. package/es/chat-engine/core/a2ui/processor/ComponentTree.d.ts +53 -0
  284. package/es/chat-engine/core/a2ui/processor/ComponentTree.js +158 -0
  285. package/es/chat-engine/core/a2ui/processor/ComponentTree.js.map +1 -0
  286. package/es/chat-engine/core/a2ui/processor/DataStore.d.ts +63 -0
  287. package/es/chat-engine/core/a2ui/processor/DataStore.js +172 -0
  288. package/es/chat-engine/core/a2ui/processor/DataStore.js.map +1 -0
  289. package/es/chat-engine/core/a2ui/processor/PathResolver.d.ts +47 -0
  290. package/es/chat-engine/core/a2ui/processor/PathResolver.js +99 -0
  291. package/es/chat-engine/core/a2ui/processor/PathResolver.js.map +1 -0
  292. package/es/chat-engine/core/a2ui/types/index.d.ts +4 -0
  293. package/es/chat-engine/core/a2ui/types/index.js +9 -0
  294. package/es/chat-engine/core/a2ui/types/index.js.map +1 -0
  295. package/es/chat-engine/core/a2ui/types/types.d.ts +770 -0
  296. package/es/chat-engine/core/a2ui/types/types.js +104 -0
  297. package/es/chat-engine/core/a2ui/types/types.js.map +1 -0
  298. package/es/chat-engine/core/a2ui/utils/binding.d.ts +34 -0
  299. package/es/chat-engine/core/a2ui/utils/binding.js +1784 -0
  300. package/es/chat-engine/core/a2ui/utils/binding.js.map +1 -0
  301. package/es/chat-engine/core/a2ui/utils/index.d.ts +5 -0
  302. package/es/chat-engine/core/a2ui/utils/index.js +13 -0
  303. package/es/chat-engine/core/a2ui/utils/index.js.map +1 -0
  304. package/es/chat-engine/core/a2ui/utils/validation.d.ts +70 -0
  305. package/es/chat-engine/core/a2ui/utils/validation.js +333 -0
  306. package/es/chat-engine/core/a2ui/utils/validation.js.map +1 -0
  307. package/es/chat-engine/core/adapters/a2ui/index.d.ts +10 -0
  308. package/es/chat-engine/core/adapters/a2ui/index.js +24 -0
  309. package/es/chat-engine/core/adapters/a2ui/index.js.map +1 -0
  310. package/es/chat-engine/core/adapters/a2ui/processor/A2uiMessageProcessor.d.ts +197 -0
  311. package/es/chat-engine/core/adapters/a2ui/processor/A2uiMessageProcessor.js +438 -0
  312. package/es/chat-engine/core/adapters/a2ui/processor/A2uiMessageProcessor.js.map +1 -0
  313. package/es/chat-engine/core/adapters/a2ui/processor/ComponentTree.d.ts +53 -0
  314. package/es/chat-engine/core/adapters/a2ui/processor/ComponentTree.js +158 -0
  315. package/es/chat-engine/core/adapters/a2ui/processor/ComponentTree.js.map +1 -0
  316. package/es/chat-engine/core/adapters/a2ui/processor/DataStore.d.ts +63 -0
  317. package/es/chat-engine/core/adapters/a2ui/processor/DataStore.js +172 -0
  318. package/es/chat-engine/core/adapters/a2ui/processor/DataStore.js.map +1 -0
  319. package/es/chat-engine/core/adapters/a2ui/processor/PathResolver.d.ts +47 -0
  320. package/es/chat-engine/core/adapters/a2ui/processor/PathResolver.js +99 -0
  321. package/es/chat-engine/core/adapters/a2ui/processor/PathResolver.js.map +1 -0
  322. package/es/chat-engine/core/adapters/a2ui/types/index.d.ts +4 -0
  323. package/es/chat-engine/core/adapters/a2ui/types/index.js +9 -0
  324. package/es/chat-engine/core/adapters/a2ui/types/index.js.map +1 -0
  325. package/es/chat-engine/core/adapters/a2ui/types/types.d.ts +770 -0
  326. package/es/chat-engine/core/adapters/a2ui/types/types.js +104 -0
  327. package/es/chat-engine/core/adapters/a2ui/types/types.js.map +1 -0
  328. package/es/chat-engine/core/adapters/a2ui/utils/binding.d.ts +34 -0
  329. package/es/chat-engine/core/adapters/a2ui/utils/binding.js +1784 -0
  330. package/es/chat-engine/core/adapters/a2ui/utils/binding.js.map +1 -0
  331. package/es/chat-engine/core/adapters/a2ui/utils/index.d.ts +5 -0
  332. package/es/chat-engine/core/adapters/a2ui/utils/index.js +13 -0
  333. package/es/chat-engine/core/adapters/a2ui/utils/index.js.map +1 -0
  334. package/es/chat-engine/core/adapters/a2ui/utils/validation.d.ts +70 -0
  335. package/es/chat-engine/core/adapters/a2ui/utils/validation.js +333 -0
  336. package/es/chat-engine/core/adapters/a2ui/utils/validation.js.map +1 -0
  337. package/es/chat-engine/core/adapters/agui/ActivityManager.d.ts +93 -0
  338. package/es/chat-engine/core/adapters/agui/ActivityManager.js +148 -0
  339. package/es/chat-engine/core/adapters/agui/ActivityManager.js.map +1 -0
  340. package/es/chat-engine/core/adapters/agui/StateManager.d.ts +99 -0
  341. package/es/chat-engine/core/adapters/agui/StateManager.js +172 -0
  342. package/es/chat-engine/core/adapters/agui/StateManager.js.map +1 -0
  343. package/es/chat-engine/core/adapters/agui/activity-manager.d.ts +102 -0
  344. package/es/chat-engine/core/adapters/agui/activity-manager.js +150 -0
  345. package/es/chat-engine/core/adapters/agui/activity-manager.js.map +1 -0
  346. package/es/chat-engine/core/adapters/agui/event-mapper.d.ts +149 -0
  347. package/es/chat-engine/core/adapters/agui/event-mapper.js +417 -0
  348. package/es/chat-engine/core/adapters/agui/event-mapper.js.map +1 -0
  349. package/es/chat-engine/core/adapters/agui/events.d.ts +1550 -0
  350. package/es/chat-engine/core/adapters/agui/events.js +199 -0
  351. package/es/chat-engine/core/adapters/agui/events.js.map +1 -0
  352. package/es/chat-engine/core/adapters/agui/index.d.ts +92 -0
  353. package/es/chat-engine/core/adapters/agui/index.js +200 -0
  354. package/es/chat-engine/core/adapters/agui/index.js.map +1 -0
  355. package/es/chat-engine/core/adapters/agui/state-manager.d.ts +99 -0
  356. package/es/chat-engine/core/adapters/agui/state-manager.js +174 -0
  357. package/es/chat-engine/core/adapters/agui/state-manager.js.map +1 -0
  358. package/es/chat-engine/core/adapters/agui/types/events.d.ts +1570 -0
  359. package/es/chat-engine/core/adapters/agui/types/events.js +15 -0
  360. package/es/chat-engine/core/adapters/agui/types/events.js.map +1 -0
  361. package/es/chat-engine/core/adapters/agui/types/index.d.ts +854 -0
  362. package/es/chat-engine/core/adapters/agui/types/index.js +279 -0
  363. package/es/chat-engine/core/adapters/agui/types/index.js.map +1 -0
  364. package/es/chat-engine/core/adapters/agui/types.d.ts +818 -0
  365. package/es/chat-engine/core/adapters/agui/types.js +95 -0
  366. package/es/chat-engine/core/adapters/agui/types.js.map +1 -0
  367. package/es/chat-engine/core/adapters/agui/utils.d.ts +203 -0
  368. package/es/chat-engine/core/adapters/agui/utils.js +330 -0
  369. package/es/chat-engine/core/adapters/agui/utils.js.map +1 -0
  370. package/es/chat-engine/core/adapters/index.d.ts +5 -0
  371. package/es/chat-engine/core/adapters/index.js +34 -0
  372. package/es/chat-engine/core/adapters/index.js.map +1 -0
  373. package/es/chat-engine/core/adapters/json-render/SurfaceStateManager.d.ts +114 -0
  374. package/es/chat-engine/core/adapters/json-render/SurfaceStateManager.js +194 -0
  375. package/es/chat-engine/core/adapters/json-render/SurfaceStateManager.js.map +1 -0
  376. package/es/chat-engine/core/adapters/json-render/a2ui-to-jsonrender.d.ts +49 -0
  377. package/es/chat-engine/core/adapters/json-render/a2ui-to-jsonrender.js +307 -0
  378. package/es/chat-engine/core/adapters/json-render/a2ui-to-jsonrender.js.map +1 -0
  379. package/es/chat-engine/core/adapters/json-render/engine.d.ts +58 -0
  380. package/es/chat-engine/core/adapters/json-render/engine.js +88 -0
  381. package/es/chat-engine/core/adapters/json-render/engine.js.map +1 -0
  382. package/es/chat-engine/core/adapters/json-render/index.d.ts +8 -0
  383. package/es/chat-engine/core/adapters/json-render/index.js +18 -0
  384. package/es/chat-engine/core/adapters/json-render/index.js.map +1 -0
  385. package/es/chat-engine/core/adapters/json-render/types/a2ui.d.ts +96 -0
  386. package/es/chat-engine/core/adapters/json-render/types/a2ui.js +7 -0
  387. package/es/chat-engine/core/adapters/json-render/types/a2ui.js.map +1 -0
  388. package/es/chat-engine/core/adapters/json-render/types/core.d.ts +49 -0
  389. package/es/chat-engine/core/adapters/json-render/types/core.js +7 -0
  390. package/es/chat-engine/core/adapters/json-render/types/core.js.map +1 -0
  391. package/es/chat-engine/core/adapters/json-render/types/index.d.ts +5 -0
  392. package/es/chat-engine/core/adapters/json-render/types/index.js +9 -0
  393. package/es/chat-engine/core/adapters/json-render/types/index.js.map +1 -0
  394. package/es/chat-engine/core/event-bus/ChatEventBus.d.ts +88 -0
  395. package/es/chat-engine/core/event-bus/ChatEventBus.js +295 -0
  396. package/es/chat-engine/core/event-bus/ChatEventBus.js.map +1 -0
  397. package/es/chat-engine/core/event-bus/index.d.ts +5 -0
  398. package/es/chat-engine/core/event-bus/index.js +13 -0
  399. package/es/chat-engine/core/event-bus/index.js.map +1 -0
  400. package/es/chat-engine/core/event-bus/types.d.ts +230 -0
  401. package/es/chat-engine/core/event-bus/types.js +32 -0
  402. package/es/chat-engine/core/event-bus/types.js.map +1 -0
  403. package/es/chat-engine/core/index.d.ts +147 -0
  404. package/es/chat-engine/core/index.js +760 -0
  405. package/es/chat-engine/core/index.js.map +1 -0
  406. package/es/chat-engine/core/processor/index.d.ts +20 -0
  407. package/es/chat-engine/core/processor/index.js +146 -0
  408. package/es/chat-engine/core/processor/index.js.map +1 -0
  409. package/es/chat-engine/core/server/batch-client.d.ts +20 -0
  410. package/es/chat-engine/core/server/batch-client.js +114 -0
  411. package/es/chat-engine/core/server/batch-client.js.map +1 -0
  412. package/es/chat-engine/core/server/connection-manager.d.ts +39 -0
  413. package/es/chat-engine/core/server/connection-manager.js +84 -0
  414. package/es/chat-engine/core/server/connection-manager.js.map +1 -0
  415. package/es/chat-engine/core/server/errors.d.ts +22 -0
  416. package/es/chat-engine/core/server/errors.js +80 -0
  417. package/es/chat-engine/core/server/errors.js.map +1 -0
  418. package/es/chat-engine/core/server/index.d.ts +11 -0
  419. package/es/chat-engine/core/server/index.js +26 -0
  420. package/es/chat-engine/core/server/index.js.map +1 -0
  421. package/es/chat-engine/core/server/llm-service.d.ts +44 -0
  422. package/es/chat-engine/core/server/llm-service.js +200 -0
  423. package/es/chat-engine/core/server/llm-service.js.map +1 -0
  424. package/es/chat-engine/core/server/sse-client.d.ts +77 -0
  425. package/es/chat-engine/core/server/sse-client.js +362 -0
  426. package/es/chat-engine/core/server/sse-client.js.map +1 -0
  427. package/es/chat-engine/core/server/sse-parser.d.ts +49 -0
  428. package/es/chat-engine/core/server/sse-parser.js +116 -0
  429. package/es/chat-engine/core/server/sse-parser.js.map +1 -0
  430. package/es/chat-engine/core/server/types.d.ts +54 -0
  431. package/es/chat-engine/core/server/types.js +28 -0
  432. package/es/chat-engine/core/server/types.js.map +1 -0
  433. package/es/chat-engine/core/store/message.d.ts +27 -0
  434. package/es/chat-engine/core/store/message.js +267 -0
  435. package/es/chat-engine/core/store/message.js.map +1 -0
  436. package/es/chat-engine/core/store/model.d.ts +8 -0
  437. package/es/chat-engine/core/store/model.js +66 -0
  438. package/es/chat-engine/core/store/model.js.map +1 -0
  439. package/es/chat-engine/core/store/reactiveState.d.ts +56 -0
  440. package/es/chat-engine/core/store/reactiveState.js +139 -0
  441. package/es/chat-engine/core/store/reactiveState.js.map +1 -0
  442. package/es/chat-engine/core/type.d.ts +279 -0
  443. package/es/chat-engine/core/type.js +7 -0
  444. package/es/chat-engine/core/type.js.map +1 -0
  445. package/es/chat-engine/core/utils/eventEmitter.d.ts +10 -0
  446. package/es/chat-engine/core/utils/eventEmitter.js +67 -0
  447. package/es/chat-engine/core/utils/eventEmitter.js.map +1 -0
  448. package/es/chat-engine/core/utils/immutable-patch.d.ts +61 -0
  449. package/es/chat-engine/core/utils/immutable-patch.js +147 -0
  450. package/es/chat-engine/core/utils/immutable-patch.js.map +1 -0
  451. package/es/chat-engine/core/utils/index.d.ts +38 -0
  452. package/es/chat-engine/core/utils/index.js +125 -0
  453. package/es/chat-engine/core/utils/index.js.map +1 -0
  454. package/es/chat-engine/core/utils/json-patch/helpers.d.ts +41 -0
  455. package/es/chat-engine/core/utils/json-patch/helpers.js +164 -0
  456. package/es/chat-engine/core/utils/json-patch/helpers.js.map +1 -0
  457. package/es/chat-engine/core/utils/json-patch/index.d.ts +115 -0
  458. package/es/chat-engine/core/utils/json-patch/index.js +387 -0
  459. package/es/chat-engine/core/utils/json-patch/index.js.map +1 -0
  460. package/es/chat-engine/core/utils/logger.d.ts +30 -0
  461. package/es/chat-engine/core/utils/logger.js +87 -0
  462. package/es/chat-engine/core/utils/logger.js.map +1 -0
  463. package/es/chat-engine/core/utils/performance.d.ts +94 -0
  464. package/es/chat-engine/core/utils/performance.js +205 -0
  465. package/es/chat-engine/core/utils/performance.js.map +1 -0
  466. package/es/chat-engine/hooks/a2ui/A2UIContext.d.ts +90 -0
  467. package/es/chat-engine/hooks/a2ui/A2UIContext.js +97 -0
  468. package/es/chat-engine/hooks/a2ui/A2UIContext.js.map +1 -0
  469. package/es/chat-engine/hooks/a2ui/index.d.ts +12 -0
  470. package/es/chat-engine/hooks/a2ui/index.js +19 -0
  471. package/es/chat-engine/hooks/a2ui/index.js.map +1 -0
  472. package/es/chat-engine/hooks/a2ui/useA2UIAction.d.ts +40 -0
  473. package/es/chat-engine/hooks/a2ui/useA2UIAction.js +74 -0
  474. package/es/chat-engine/hooks/a2ui/useA2UIAction.js.map +1 -0
  475. package/es/chat-engine/hooks/a2ui/useA2UISurface.d.ts +36 -0
  476. package/es/chat-engine/hooks/a2ui/useA2UISurface.js +39 -0
  477. package/es/chat-engine/hooks/a2ui/useA2UISurface.js.map +1 -0
  478. package/es/chat-engine/hooks/a2ui/useDataBinding.d.ts +53 -0
  479. package/es/chat-engine/hooks/a2ui/useDataBinding.js +111 -0
  480. package/es/chat-engine/hooks/a2ui/useDataBinding.js.map +1 -0
  481. package/es/chat-engine/hooks/index.js +47 -4
  482. package/es/chat-engine/hooks/index.js.map +1 -1
  483. package/es/chat-engine/hooks/useAgentActivity.js +1 -1
  484. package/es/chat-engine/hooks/useAgentActivity.js.map +1 -1
  485. package/es/chat-engine/hooks/useAgentState.js +48 -2
  486. package/es/chat-engine/hooks/useAgentState.js.map +1 -1
  487. package/es/chat-engine/hooks/useAgentToolcall.js +1 -1
  488. package/es/chat-engine/hooks/useChat.d.ts +2 -2
  489. package/es/chat-engine/hooks/useChat.js +50 -3
  490. package/es/chat-engine/hooks/useChat.js.map +1 -1
  491. package/es/chat-engine/hooks/useJsonRenderActivity.d.ts +56 -0
  492. package/es/chat-engine/hooks/useJsonRenderActivity.js +63 -0
  493. package/es/chat-engine/hooks/useJsonRenderActivity.js.map +1 -0
  494. package/es/chat-engine/index.d.ts +1 -1
  495. package/es/chat-engine/index.js +61 -5
  496. package/es/chat-engine/index.js.map +1 -1
  497. package/es/chat-filecard/index.js +4 -6
  498. package/es/chat-filecard/index.js.map +1 -1
  499. package/es/chat-loading/index.js +4 -6
  500. package/es/chat-loading/index.js.map +1 -1
  501. package/es/chat-markdown/index.js +4 -6
  502. package/es/chat-markdown/index.js.map +1 -1
  503. package/es/chat-message/index.js +4 -6
  504. package/es/chat-message/index.js.map +1 -1
  505. package/es/chat-sender/index.js +4 -6
  506. package/es/chat-sender/index.js.map +1 -1
  507. package/es/chat-thinking/index.js +4 -6
  508. package/es/chat-thinking/index.js.map +1 -1
  509. package/es/chatbot/docs/react-best-practice.d.ts +13 -0
  510. package/es/chatbot/index.js +4 -6
  511. package/es/chatbot/index.js.map +1 -1
  512. package/es/index.js +63 -10
  513. package/es/index.js.map +1 -1
  514. package/es/style/index.js +1 -1
  515. package/package.json +19 -15
  516. package/es/chatbot/_example-js/agui-toolcall.d.ts +0 -11
package/CHANGELOG.md CHANGED
@@ -18,10 +18,6 @@ spline: explain
18
18
  - `ChatMarkdown`: 大幅优化依赖CherryMarkdown造成的打包体积膨胀问题,**不再内置highlight代码块样式高亮**,需要业务自行引入配置 @LzhengH @carolin913 ([#4119](https://github.com/Tencent/tdesign-react/pull/4119))
19
19
  - `ChatSender`: 支持readyToSend可以接管发送前校验 @LzhengH ([#4119](https://github.com/Tencent/tdesign-react/pull/4119))
20
20
 
21
- ### 📝 Documentation
22
-
23
- - `ChatEngine`: 增加AI友好型文档:AGENTS.md和llm.txt @carolin913 ([#4119](https://github.com/Tencent/tdesign-react/pull/4119))
24
-
25
21
  ## 🌈 1.0.0 `2026-11-20`
26
22
 
27
23
  - Release 1st version
package/README.md CHANGED
@@ -23,54 +23,108 @@ TDesign AIGC Components for React Framework
23
23
 
24
24
  # 📦 Installation
25
25
 
26
- ```shell
27
- npm i @tdesign-react/chat
28
- ```
26
+ ```bash
27
+ # npm
28
+ npm install @tdesign-react/chat
29
29
 
30
- ```shell
30
+ # yarn
31
31
  yarn add @tdesign-react/chat
32
- ```
33
32
 
34
- ```shell
33
+ # pnpm
35
34
  pnpm add @tdesign-react/chat
36
35
  ```
37
36
 
38
- # 🔨 Usage
37
+ **依赖要求**: React >= 18.0.0
38
+
39
+ # 🔨 Quick Start
40
+
41
+ ## 一体化组件集成
42
+
43
+ 直接使用 `ChatBot` 组件,内置完整的 UI 结构和交互逻辑,适合快速集成标准聊天界面。
39
44
 
40
45
  ```tsx
41
46
  import React from 'react';
42
47
  import { ChatBot } from '@tdesign-react/chat';
43
48
  import '@tdesign-react/chat/es/style/index.js';
44
49
 
45
- function App() {
50
+ export default function App() {
46
51
  return (
47
- <div style={{ height: '600px' }}>
48
- <ChatBot
49
- chatServiceConfig={{
50
- endpoint: 'https://your-api-endpoint.com/chat',
51
- }}
52
- />
53
- </div>
52
+ <ChatBot
53
+ chatServiceConfig={{
54
+ endpoint: 'https://your-api-endpoint.com/chat',
55
+ stream: true,
56
+ }}
57
+ />
54
58
  );
55
59
  }
60
+ ```
61
+
62
+ ## 组合式开发
63
+
64
+ 通过 `useChat` Hook 自由组合 UI 组件,适合需要深度定制 UI 结构和交互逻辑的场景。
65
+
66
+ ```tsx
67
+ import React from 'react';
68
+ import { useChat, ChatList, ChatMessage, ChatSender } from '@tdesign-react/chat';
69
+ import '@tdesign-react/chat/es/style/index.js';
56
70
 
57
- ReactDOM.createRoot(document.getElementById('app')).render(<App />);
71
+ export default function CompositeChat() {
72
+ const { chatEngine, messages, status } = useChat({
73
+ chatServiceConfig: {
74
+ endpoint: 'https://your-api-endpoint.com/chat',
75
+ stream: true,
76
+ },
77
+ });
78
+
79
+ return (
80
+ <>
81
+ <ChatList>
82
+ {messages.map((message) => (
83
+ <ChatMessage key={message.id} message={message} />
84
+ ))}
85
+ </ChatList>
86
+ <ChatSender
87
+ loading={status === 'streaming'}
88
+ onSend={(e) => chatEngine.sendUserMessage({ prompt: e.detail.value })}
89
+ onStop={() => chatEngine.abortChat()}
90
+ />
91
+ </>
92
+ );
93
+ }
58
94
  ```
59
95
 
60
- # Browser Support
96
+ ## 协议配置
61
97
 
62
- | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png" alt="IE / Edge" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)<br/> IE / Edge | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png" alt="Firefox" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)<br/>Firefox | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png" alt="Chrome" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)<br/>Chrome | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_48x48.png" alt="Safari" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)<br/>Safari |
63
- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
64
- | Edge >=84 | Firefox >=83 | Chrome >=84 | Safari >=14.1 |
98
+ 支持**自定义协议**和**AG-UI 标准协议**两种模式:
65
99
 
66
- Read our [browser compatibility](https://github.com/Tencent/tdesign/wiki/Browser-Compatibility) for more details.
100
+ | 场景 | 推荐协议 |
101
+ | ------------------ | ---------- |
102
+ | 快速集成到现有服务 | 自定义协议 |
103
+ | 构建复杂 AI 应用 | AG-UI 协议 |
104
+ | 多工具调用场景 | AG-UI 协议 |
67
105
 
106
+ ```javascript
107
+ // 通过 onMessage 解析数据
108
+ const customConfig = {
109
+ endpoint: '/api/chat',
110
+ protocol: 'agui', // 开启 AG-UI 协议,自动解析标准事件
111
+ onMessage: (chunk) => chunk.data,
112
+ };
113
+
114
+ ```
115
+
116
+ 📖 [体验示例和完整文档](https://tdesign.tencent.com/react-chat/overview)
117
+
118
+ # Browser Support
119
+
120
+ | IE / Edge | Firefox | Chrome | Safari |
121
+ | --------- | ------------ | ----------- | ------------- |
122
+ | Edge >=84 | Firefox >=83 | Chrome >=84 | Safari >=14.1 |
68
123
 
69
124
  # Contributing
70
125
 
71
126
  Contributing is welcome. Read [guidelines for contributing](https://github.com/Tencent/tdesign-react/blob/develop/CONTRIBUTING.md) before submitting your [Pull Request](https://github.com/Tencent/tdesign-react/pulls).
72
127
 
73
-
74
128
  # Feedback
75
129
 
76
130
  Create your [Github issues](https://github.com/Tencent/tdesign-react/issues) or scan the QR code below to join our user groups
@@ -0,0 +1,205 @@
1
+ /**
2
+ * tdesign v1.1.0-alpha.5
3
+ * (c) 2026 tdesign
4
+ * @license MIT
5
+ */
6
+
7
+ import React, { useMemo } from 'react';
8
+ import _typeof from '@babel/runtime/helpers/typeof';
9
+ import { JsonRenderElement } from '../chat-engine/components/json-render/renderer/index.js';
10
+ import '../chat-engine/components/json-render/contexts/index.js';
11
+ import { DataProvider } from '../chat-engine/components/json-render/contexts/data.js';
12
+ import { VisibilityProvider } from '../chat-engine/components/json-render/contexts/visibility.js';
13
+ import { ActionProvider } from '../chat-engine/components/json-render/contexts/actions.js';
14
+
15
+ var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
16
+
17
+ function getDefaultExportFromCjs (x) {
18
+ return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
19
+ }
20
+
21
+ function getDefaultExportFromNamespaceIfPresent (n) {
22
+ return n && Object.prototype.hasOwnProperty.call(n, 'default') ? n['default'] : n;
23
+ }
24
+
25
+ function getDefaultExportFromNamespaceIfNotNamed (n) {
26
+ return n && Object.prototype.hasOwnProperty.call(n, 'default') && Object.keys(n).length === 1 ? n['default'] : n;
27
+ }
28
+
29
+ function getAugmentedNamespace(n) {
30
+ if (n.__esModule) return n;
31
+ var a = Object.defineProperty({}, '__esModule', {value: true});
32
+ Object.keys(n).forEach(function (k) {
33
+ var d = Object.getOwnPropertyDescriptor(n, k);
34
+ Object.defineProperty(a, k, d.get ? d : {
35
+ enumerable: true,
36
+ get: function () {
37
+ return n[k];
38
+ }
39
+ });
40
+ });
41
+ return a;
42
+ }
43
+
44
+ function commonjsRequire (path) {
45
+ throw new Error('Could not dynamically require "' + path + '". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.');
46
+ }
47
+
48
+ var hasElementType = typeof Element !== 'undefined';
49
+ var hasMap = typeof Map === 'function';
50
+ var hasSet = typeof Set === 'function';
51
+ var hasArrayBuffer = typeof ArrayBuffer === 'function' && !!ArrayBuffer.isView;
52
+
53
+ // Note: We **don't** need `envHasBigInt64Array` in fde es6/index.js
54
+
55
+ function equal(a, b) {
56
+ // START: fast-deep-equal es6/index.js 3.1.3
57
+ if (a === b) return true;
58
+ if (a && b && _typeof(a) == 'object' && _typeof(b) == 'object') {
59
+ if (a.constructor !== b.constructor) return false;
60
+ var length, i, keys;
61
+ if (Array.isArray(a)) {
62
+ length = a.length;
63
+ if (length != b.length) return false;
64
+ for (i = length; i-- !== 0;) if (!equal(a[i], b[i])) return false;
65
+ return true;
66
+ }
67
+
68
+ // START: Modifications:
69
+ // 1. Extra `has<Type> &&` helpers in initial condition allow es6 code
70
+ // to co-exist with es5.
71
+ // 2. Replace `for of` with es5 compliant iteration using `for`.
72
+ // Basically, take:
73
+ //
74
+ // ```js
75
+ // for (i of a.entries())
76
+ // if (!b.has(i[0])) return false;
77
+ // ```
78
+ //
79
+ // ... and convert to:
80
+ //
81
+ // ```js
82
+ // it = a.entries();
83
+ // while (!(i = it.next()).done)
84
+ // if (!b.has(i.value[0])) return false;
85
+ // ```
86
+ //
87
+ // **Note**: `i` access switches to `i.value`.
88
+ var it;
89
+ if (hasMap && a instanceof Map && b instanceof Map) {
90
+ if (a.size !== b.size) return false;
91
+ it = a.entries();
92
+ while (!(i = it.next()).done) if (!b.has(i.value[0])) return false;
93
+ it = a.entries();
94
+ while (!(i = it.next()).done) if (!equal(i.value[1], b.get(i.value[0]))) return false;
95
+ return true;
96
+ }
97
+ if (hasSet && a instanceof Set && b instanceof Set) {
98
+ if (a.size !== b.size) return false;
99
+ it = a.entries();
100
+ while (!(i = it.next()).done) if (!b.has(i.value[0])) return false;
101
+ return true;
102
+ }
103
+ // END: Modifications
104
+
105
+ if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {
106
+ length = a.length;
107
+ if (length != b.length) return false;
108
+ for (i = length; i-- !== 0;) if (a[i] !== b[i]) return false;
109
+ return true;
110
+ }
111
+ if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;
112
+ // START: Modifications:
113
+ // Apply guards for `Object.create(null)` handling. See:
114
+ // - https://github.com/FormidableLabs/react-fast-compare/issues/64
115
+ // - https://github.com/epoberezkin/fast-deep-equal/issues/49
116
+ if (a.valueOf !== Object.prototype.valueOf && typeof a.valueOf === 'function' && typeof b.valueOf === 'function') return a.valueOf() === b.valueOf();
117
+ if (a.toString !== Object.prototype.toString && typeof a.toString === 'function' && typeof b.toString === 'function') return a.toString() === b.toString();
118
+ // END: Modifications
119
+
120
+ keys = Object.keys(a);
121
+ length = keys.length;
122
+ if (length !== Object.keys(b).length) return false;
123
+ for (i = length; i-- !== 0;) if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;
124
+ // END: fast-deep-equal
125
+
126
+ // START: react-fast-compare
127
+ // custom handling for DOM elements
128
+ if (hasElementType && a instanceof Element) return false;
129
+
130
+ // custom handling for React/Preact
131
+ for (i = length; i-- !== 0;) {
132
+ if ((keys[i] === '_owner' || keys[i] === '__v' || keys[i] === '__o') && a.$$typeof) {
133
+ // React-specific: avoid traversing React elements' _owner
134
+ // Preact-specific: avoid traversing Preact elements' __v and __o
135
+ // __v = $_original / $_vnode
136
+ // __o = $_owner
137
+ // These properties contain circular references and are not needed when
138
+ // comparing the actual elements (and not their owners)
139
+ // .$$typeof and ._store on just reasonable markers of elements
140
+
141
+ continue;
142
+ }
143
+
144
+ // all other properties should be traversed as usual
145
+ if (!equal(a[keys[i]], b[keys[i]])) return false;
146
+ }
147
+ // END: react-fast-compare
148
+
149
+ // START: fast-deep-equal
150
+ return true;
151
+ }
152
+ return a !== a && b !== b;
153
+ }
154
+ // end fast-deep-equal
155
+
156
+ var reactFastCompare = function isEqual(a, b) {
157
+ try {
158
+ return equal(a, b);
159
+ } catch (error) {
160
+ if ((error.message || '').match(/stack|recursion/i)) {
161
+ // warn on circular references, don't crash
162
+ // browsers give this different errors name and messages:
163
+ // chrome/safari: "RangeError", "Maximum call stack size exceeded"
164
+ // firefox: "InternalError", too much recursion"
165
+ // edge: "Error", "Out of stack space"
166
+ console.warn('react-fast-compare cannot handle circular refs');
167
+ return false;
168
+ }
169
+ // some other error. we should definitely know about these
170
+ throw error;
171
+ }
172
+ };
173
+
174
+ var JsonRenderActivityRendererInner = function JsonRenderActivityRendererInner(_ref) {
175
+ var activityType = _ref.activityType,
176
+ content = _ref.content,
177
+ messageId = _ref.messageId,
178
+ registry = _ref.registry,
179
+ _ref$actionHandlers = _ref.actionHandlers,
180
+ actionHandlers = _ref$actionHandlers === void 0 ? {} : _ref$actionHandlers;
181
+ var isValidSchema = content && content.root && content.elements && content.elements[content.root];
182
+ var renderData = useMemo(function () {
183
+ return (content === null || content === void 0 ? void 0 : content.data) || {};
184
+ }, [content === null || content === void 0 ? void 0 : content.data]);
185
+ return /* @__PURE__ */React.createElement("div", {
186
+ "data-activity-type": activityType,
187
+ "data-message-id": messageId
188
+ }, /* @__PURE__ */React.createElement(DataProvider, {
189
+ initialData: renderData
190
+ }, /* @__PURE__ */React.createElement(VisibilityProvider, null, /* @__PURE__ */React.createElement(ActionProvider, {
191
+ handlers: actionHandlers
192
+ }, /* @__PURE__ */React.createElement(JsonRenderElement, {
193
+ tree: content,
194
+ registry: registry
195
+ })))));
196
+ };
197
+ var JsonRenderActivityRenderer = /*#__PURE__*/React.memo(JsonRenderActivityRendererInner, function (prevProps, nextProps) {
198
+ if (prevProps.registry !== nextProps.registry) return false;
199
+ if (prevProps.actionHandlers !== nextProps.actionHandlers) return false;
200
+ if (prevProps.content === nextProps.content) return true;
201
+ return reactFastCompare(prevProps.content, nextProps.content);
202
+ });
203
+
204
+ export { JsonRenderActivityRenderer as J, reactFastCompare as r };
205
+ //# sourceMappingURL=dep-1007ac80.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dep-1007ac80.js","sources":["../../../../node_modules/.pnpm/react-fast-compare@3.2.2/node_modules/react-fast-compare/index.js","../../../pro-components/chat/chat-engine/components/json-render/renderer/JsonRenderActivityRenderer.tsx"],"sourcesContent":["/* global Map:readonly, Set:readonly, ArrayBuffer:readonly */\n\nvar hasElementType = typeof Element !== 'undefined';\nvar hasMap = typeof Map === 'function';\nvar hasSet = typeof Set === 'function';\nvar hasArrayBuffer = typeof ArrayBuffer === 'function' && !!ArrayBuffer.isView;\n\n// Note: We **don't** need `envHasBigInt64Array` in fde es6/index.js\n\nfunction equal(a, b) {\n // START: fast-deep-equal es6/index.js 3.1.3\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n // START: Modifications:\n // 1. Extra `has<Type> &&` helpers in initial condition allow es6 code\n // to co-exist with es5.\n // 2. Replace `for of` with es5 compliant iteration using `for`.\n // Basically, take:\n //\n // ```js\n // for (i of a.entries())\n // if (!b.has(i[0])) return false;\n // ```\n //\n // ... and convert to:\n //\n // ```js\n // it = a.entries();\n // while (!(i = it.next()).done)\n // if (!b.has(i.value[0])) return false;\n // ```\n //\n // **Note**: `i` access switches to `i.value`.\n var it;\n if (hasMap && (a instanceof Map) && (b instanceof Map)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!equal(i.value[1], b.get(i.value[0]))) return false;\n return true;\n }\n\n if (hasSet && (a instanceof Set) && (b instanceof Set)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n return true;\n }\n // END: Modifications\n\n if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (a[i] !== b[i]) return false;\n return true;\n }\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n // START: Modifications:\n // Apply guards for `Object.create(null)` handling. See:\n // - https://github.com/FormidableLabs/react-fast-compare/issues/64\n // - https://github.com/epoberezkin/fast-deep-equal/issues/49\n if (a.valueOf !== Object.prototype.valueOf && typeof a.valueOf === 'function' && typeof b.valueOf === 'function') return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString && typeof a.toString === 'function' && typeof b.toString === 'function') return a.toString() === b.toString();\n // END: Modifications\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n // END: fast-deep-equal\n\n // START: react-fast-compare\n // custom handling for DOM elements\n if (hasElementType && a instanceof Element) return false;\n\n // custom handling for React/Preact\n for (i = length; i-- !== 0;) {\n if ((keys[i] === '_owner' || keys[i] === '__v' || keys[i] === '__o') && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner\n // Preact-specific: avoid traversing Preact elements' __v and __o\n // __v = $_original / $_vnode\n // __o = $_owner\n // These properties contain circular references and are not needed when\n // comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of elements\n\n continue;\n }\n\n // all other properties should be traversed as usual\n if (!equal(a[keys[i]], b[keys[i]])) return false;\n }\n // END: react-fast-compare\n\n // START: fast-deep-equal\n return true;\n }\n\n return a !== a && b !== b;\n}\n// end fast-deep-equal\n\nmodule.exports = function isEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if (((error.message || '').match(/stack|recursion/i))) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn('react-fast-compare cannot handle circular refs');\n return false;\n }\n // some other error. we should definitely know about these\n throw error;\n }\n};\n","/**\n * json-render Activity 渲染器\n * 基于 TDesign ChatEngine 的 Activity 机制集成 json-render\n * \n * 核心特性:\n * 1. 支持 ACTIVITY_SNAPSHOT 全量渲染\n * 2. 支持 ACTIVITY_DELTA 增量更新(Delta Merge 由数据层完成,此处接收完整 Schema)\n * 3. 使用 React.memo + react-fast-compare 优化渲染性能\n * \n */\n\nimport React, { useMemo } from 'react';\nimport isEqual from 'react-fast-compare';\nimport { type ComponentRegistry, JsonRenderElement } from './';\nimport { DataProvider, ActionProvider, VisibilityProvider } from '../contexts';\nimport type { JsonRenderActivityProps } from '../types';\n\nexport interface JsonRenderActivityRendererProps extends JsonRenderActivityProps {\n /** 组件注册表(必须) */\n registry: ComponentRegistry;\n /** \n * Action 处理器映射表\n * \n * 示例:\n * ```tsx\n * const actionHandlers = {\n * submit: async (params) => { ... },\n * reset: async (params) => { ... },\n * cancel: async (params) => { ... },\n * };\n * ```\n */\n actionHandlers?: Record<string, (params: Record<string, unknown>) => void | Promise<void>>;\n /** 显示调试信息 */\n debug?: boolean;\n}\n\n/**\n * json-render Activity 渲染器组件\n */\nconst JsonRenderActivityRendererInner: React.FC<JsonRenderActivityRendererProps> = ({\n activityType,\n content,\n messageId,\n registry,\n actionHandlers = {},\n}) => {\n // 直接在渲染阶段做校验\n const isValidSchema = content && content.root && content.elements && content.elements[content.root];\n\n // 数据处理:使用 useMemo 缓存,只在 content.data 变化时重新计算\n const renderData = useMemo(() => content?.data || {}, [content?.data]);\n\n // todo: Schema 无效时显示加载状态\n // if (!isValidSchema) {\n // return (\n // <div style={{ padding: '16px', color: 'var(--td-text-color-secondary)' }}>\n // 数据初始化中...\n // </div>\n // );\n // }\n return (\n <div data-activity-type={activityType} data-message-id={messageId}>\n <DataProvider initialData={renderData}>\n <VisibilityProvider>\n <ActionProvider handlers={actionHandlers}>\n <JsonRenderElement tree={content} registry={registry} />\n </ActionProvider>\n </VisibilityProvider>\n </DataProvider>\n </div>\n );\n};\n\n/**\n * 使用 React.memo 包装,配合 react-fast-compare 进行高效的深比较\n * \n * 对比策略:\n * 1. registry 引用比较(通常是稳定的)\n * 2. actionHandlers 引用比较(建议使用 useMemo 稳定化)\n * 3. content 使用 react-fast-compare 深比较(比 JSON.stringify 快 3-5 倍)\n */\nexport const JsonRenderActivityRenderer = React.memo(\n JsonRenderActivityRendererInner,\n (prevProps, nextProps) => {\n // registry 变化必须重渲染\n if (prevProps.registry !== nextProps.registry) return false;\n \n // actionHandlers 变化必须重渲染\n if (prevProps.actionHandlers !== nextProps.actionHandlers) return false;\n\n // content 引用相同,跳过渲染\n if (prevProps.content === nextProps.content) return true;\n\n // 使用 react-fast-compare 进行高效深比较\n // 比 JSON.stringify 快 3-5 倍,且能正确处理循环引用\n return isEqual(prevProps.content, nextProps.content);\n },\n);\n\n/**\n * 默认导出\n */\nexport default JsonRenderActivityRenderer;\n"],"names":["hasElementType","Element","hasMap","Map","hasSet","Set","hasArrayBuffer","ArrayBuffer","isView","equal","a","b","_typeof","constructor","length","i","keys","Array","isArray","it","size","entries","next","done","has","value","get","RegExp","source","flags","valueOf","Object","prototype","toString","hasOwnProperty","call","$$typeof","reactFastCompare","isEqual","error","message","match","console","warn","JsonRenderActivityRendererInner","activityType","_ref","content","messageId","registry","_ref$actionHandlers","actionHandlers","isValidSchema","root","elements","renderData","useMemo","data","React","createElement","DataProvider","initialData","VisibilityProvider","ActionProvider","handlers","JsonRenderElement","tree","JsonRenderActivityRenderer","memo","prevProps","nextProps"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAIA,cAAc,GAAG,OAAOC,OAAO,KAAK,WAAW,CAAA;AACnD,IAAIC,MAAM,GAAG,OAAOC,GAAG,KAAK,UAAU,CAAA;AACtC,IAAIC,MAAM,GAAG,OAAOC,GAAG,KAAK,UAAU,CAAA;AACtC,IAAIC,cAAc,GAAG,OAAOC,WAAW,KAAK,UAAU,IAAI,CAAC,CAACA,WAAW,CAACC,MAAM,CAAA;;AAE9E;;AAEA,SAASC,KAAKA,CAACC,CAAC,EAAEC,CAAC,EAAE;AACrB;AACE,EAAA,IAAID,CAAC,KAAKC,CAAC,EAAE,OAAO,IAAI,CAAA;AAExB,EAAA,IAAID,CAAC,IAAIC,CAAC,IAAIC,OAAA,CAAOF,CAAC,CAAI,IAAA,QAAQ,IAAIE,OAAA,CAAOD,CAAC,CAAA,IAAI,QAAQ,EAAE;IAC1D,IAAID,CAAC,CAACG,WAAW,KAAKF,CAAC,CAACE,WAAW,EAAE,OAAO,KAAK,CAAA;AAEjD,IAAA,IAAIC,MAAM,EAAEC,CAAC,EAAEC,IAAI,CAAA;AACnB,IAAA,IAAIC,KAAK,CAACC,OAAO,CAACR,CAAC,CAAC,EAAE;MACpBI,MAAM,GAAGJ,CAAC,CAACI,MAAM,CAAA;AACjB,MAAA,IAAIA,MAAM,IAAIH,CAAC,CAACG,MAAM,EAAE,OAAO,KAAK,CAAA;MACpC,KAAKC,CAAC,GAAGD,MAAM,EAAEC,CAAC,EAAE,KAAK,CAAC,GACxB,IAAI,CAACN,KAAK,CAACC,CAAC,CAACK,CAAC,CAAC,EAAEJ,CAAC,CAACI,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK,CAAA;AACtC,MAAA,OAAO,IAAI,CAAA;AACZ,KAAA;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACI,IAAA,IAAII,EAAE,CAAA;IACN,IAAIjB,MAAM,IAAKQ,CAAC,YAAYP,GAAI,IAAKQ,CAAC,YAAYR,GAAI,EAAE;MACtD,IAAIO,CAAC,CAACU,IAAI,KAAKT,CAAC,CAACS,IAAI,EAAE,OAAO,KAAK,CAAA;AACnCD,MAAAA,EAAE,GAAGT,CAAC,CAACW,OAAO,EAAE,CAAA;MAChB,OAAO,CAAC,CAACN,CAAC,GAAGI,EAAE,CAACG,IAAI,EAAE,EAAEC,IAAI,EAC1B,IAAI,CAACZ,CAAC,CAACa,GAAG,CAACT,CAAC,CAACU,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK,CAAA;AACtCN,MAAAA,EAAE,GAAGT,CAAC,CAACW,OAAO,EAAE,CAAA;AAChB,MAAA,OAAO,CAAC,CAACN,CAAC,GAAGI,EAAE,CAACG,IAAI,EAAE,EAAEC,IAAI,EAC1B,IAAI,CAACd,KAAK,CAACM,CAAC,CAACU,KAAK,CAAC,CAAC,CAAC,EAAEd,CAAC,CAACe,GAAG,CAACX,CAAC,CAACU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK,CAAA;AACzD,MAAA,OAAO,IAAI,CAAA;AACZ,KAAA;IAED,IAAIrB,MAAM,IAAKM,CAAC,YAAYL,GAAI,IAAKM,CAAC,YAAYN,GAAI,EAAE;MACtD,IAAIK,CAAC,CAACU,IAAI,KAAKT,CAAC,CAACS,IAAI,EAAE,OAAO,KAAK,CAAA;AACnCD,MAAAA,EAAE,GAAGT,CAAC,CAACW,OAAO,EAAE,CAAA;MAChB,OAAO,CAAC,CAACN,CAAC,GAAGI,EAAE,CAACG,IAAI,EAAE,EAAEC,IAAI,EAC1B,IAAI,CAACZ,CAAC,CAACa,GAAG,CAACT,CAAC,CAACU,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK,CAAA;AACtC,MAAA,OAAO,IAAI,CAAA;AACZ,KAAA;AACL;;AAEI,IAAA,IAAInB,cAAc,IAAIC,WAAW,CAACC,MAAM,CAACE,CAAC,CAAC,IAAIH,WAAW,CAACC,MAAM,CAACG,CAAC,CAAC,EAAE;MACpEG,MAAM,GAAGJ,CAAC,CAACI,MAAM,CAAA;AACjB,MAAA,IAAIA,MAAM,IAAIH,CAAC,CAACG,MAAM,EAAE,OAAO,KAAK,CAAA;MACpC,KAAKC,CAAC,GAAGD,MAAM,EAAEC,CAAC,EAAE,KAAK,CAAC,GACxB,IAAIL,CAAC,CAACK,CAAC,CAAC,KAAKJ,CAAC,CAACI,CAAC,CAAC,EAAE,OAAO,KAAK,CAAA;AACjC,MAAA,OAAO,IAAI,CAAA;AACZ,KAAA;IAED,IAAIL,CAAC,CAACG,WAAW,KAAKc,MAAM,EAAE,OAAOjB,CAAC,CAACkB,MAAM,KAAKjB,CAAC,CAACiB,MAAM,IAAIlB,CAAC,CAACmB,KAAK,KAAKlB,CAAC,CAACkB,KAAK,CAAA;AACrF;AACA;AACA;AACA;AACI,IAAA,IAAInB,CAAC,CAACoB,OAAO,KAAKC,MAAM,CAACC,SAAS,CAACF,OAAO,IAAI,OAAOpB,CAAC,CAACoB,OAAO,KAAK,UAAU,IAAI,OAAOnB,CAAC,CAACmB,OAAO,KAAK,UAAU,EAAE,OAAOpB,CAAC,CAACoB,OAAO,EAAE,KAAKnB,CAAC,CAACmB,OAAO,EAAE,CAAA;AACpJ,IAAA,IAAIpB,CAAC,CAACuB,QAAQ,KAAKF,MAAM,CAACC,SAAS,CAACC,QAAQ,IAAI,OAAOvB,CAAC,CAACuB,QAAQ,KAAK,UAAU,IAAI,OAAOtB,CAAC,CAACsB,QAAQ,KAAK,UAAU,EAAE,OAAOvB,CAAC,CAACuB,QAAQ,EAAE,KAAKtB,CAAC,CAACsB,QAAQ,EAAE,CAAA;AAC9J;;AAEIjB,IAAAA,IAAI,GAAGe,MAAM,CAACf,IAAI,CAACN,CAAC,CAAC,CAAA;IACrBI,MAAM,GAAGE,IAAI,CAACF,MAAM,CAAA;AACpB,IAAA,IAAIA,MAAM,KAAKiB,MAAM,CAACf,IAAI,CAACL,CAAC,CAAC,CAACG,MAAM,EAAE,OAAO,KAAK,CAAA;AAElD,IAAA,KAAKC,CAAC,GAAGD,MAAM,EAAEC,CAAC,EAAE,KAAK,CAAC,GACxB,IAAI,CAACgB,MAAM,CAACC,SAAS,CAACE,cAAc,CAACC,IAAI,CAACxB,CAAC,EAAEK,IAAI,CAACD,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK,CAAA;AACzE;;AAEA;AACA;AACI,IAAA,IAAIf,cAAc,IAAIU,CAAC,YAAYT,OAAO,EAAE,OAAO,KAAK,CAAA;;AAE5D;IACI,KAAKc,CAAC,GAAGD,MAAM,EAAEC,CAAC,EAAE,KAAK,CAAC,GAAG;MAC3B,IAAI,CAACC,IAAI,CAACD,CAAC,CAAC,KAAK,QAAQ,IAAIC,IAAI,CAACD,CAAC,CAAC,KAAK,KAAK,IAAIC,IAAI,CAACD,CAAC,CAAC,KAAK,KAAK,KAAKL,CAAC,CAAC0B,QAAQ,EAAE;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;;AAEQ,QAAA,SAAA;AACD,OAAA;;AAEP;MACM,IAAI,CAAC3B,KAAK,CAACC,CAAC,CAACM,IAAI,CAACD,CAAC,CAAC,CAAC,EAAEJ,CAAC,CAACK,IAAI,CAACD,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK,CAAA;AACjD,KAAA;AACL;;AAEA;AACI,IAAA,OAAO,IAAI,CAAA;AACZ,GAAA;AAED,EAAA,OAAOL,CAAC,KAAKA,CAAC,IAAIC,CAAC,KAAKA,CAAC,CAAA;AAC3B,CAAA;AACA;;AAEA0B,IAAAA,gBAAc,GAAG,SAASC,OAAOA,CAAC5B,CAAC,EAAEC,CAAC,EAAE;EACtC,IAAI;AACF,IAAA,OAAOF,KAAK,CAACC,CAAC,EAAEC,CAAC,CAAC,CAAA;GACnB,CAAC,OAAO4B,KAAK,EAAE;IACd,IAAK,CAACA,KAAK,CAACC,OAAO,IAAI,EAAE,EAAEC,KAAK,CAAC,kBAAkB,CAAC,EAAG;AAC3D;AACA;AACA;AACA;AACA;AACMC,MAAAA,OAAO,CAACC,IAAI,CAAC,gDAAgD,CAAC,CAAA;AAC9D,MAAA,OAAO,KAAK,CAAA;AACb,KAAA;AACL;AACI,IAAA,MAAMJ,KAAK,CAAA;AACZ,GAAA;AACH;;AClGA,IAAMK,kCAA6E,SAA7EA,sCAMA;AAAA,EAAA,IALJC,YAAA,GAAAC,IAAA,CAAAD,YAAA;IACAE,OAAA,GAAAD,IAAA,CAAAC,OAAA;IACAC,SAAA,GAAAF,IAAA,CAAAE,SAAA;IACAC,QAAA,GAAAH,IAAA,CAAAG,QAAA;IAAAC,mBAAA,GAAAJ,IAAA,CACAK;AAAAA,IAAAA,kDAAiB,EAAC,GAAAD,mBAAA,CAAA;AAGZ,EAAA,IAAAE,aAAA,GAAgBL,WAAWA,OAAQ,CAAAM,IAAA,IAAQN,QAAQO,QAAY,IAAAP,OAAA,CAAQO,SAASP,OAAQ,CAAAM,IAAA,CAAA,CAAA;EAGxF,IAAAE,UAAA,GAAaC,OAAQ,CAAA,YAAA;IAAA,OAAM,CAAAT,OAAS,KAAA,IAAA,IAATA,OAAS,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAATA,OAAS,CAAAU,IAAA,KAAQ,EAAI,CAAA;GAAA,EAAA,CAACV,OAAS,KAATA,IAAAA,IAAAA,OAAS,uBAATA,OAAS,CAAAU,IAAI,CAAC,CAAA,CAAA;AAUrE,EAAA,sBACGC,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAI,IAAA,oBAAoB,EAAAd,YAAA;AAAc,IAAA,iBAAiB,EAAAG,SAAAA;AAAA,GAAA,iBACrDU,KAAA,CAAAC,aAAA,CAAAC,YAAA,EAAA;AAAaC,IAAAA,WAAa,EAAAN,UAAAA;AACzB,GAAA,iBAAAG,KAAA,CAAAC,aAAA,CAACG,yCACEJ,KAAA,CAAAC,aAAA,CAAAI,cAAA,EAAA;AAAeC,IAAAA,QAAU,EAAAb,cAAAA;AAAA,GAAA,iBACvBO,KAAA,CAAAC,aAAA,CAAAM,iBAAA,EAAA;AAAkBC,IAAAA,IAAM,EAAAnB,OAAA;AAASE,IAAAA,QAAA,EAAAA,QAAAA;AAAoB,GAAA,CACxD,CACF,CACF,CACF,CAAA,CAAA;AAEJ,CAAA,CAAA;AAUakB,IAAAA,0CAA6BT,KAAM,CAAAU,IAAA,CAC9CxB,+BAAA,EACA,UAACyB,WAAWC,SAAc,EAAA;EAEpB,IAAAD,SAAA,CAAUpB,aAAaqB,SAAU,CAAArB,QAAA,EAAiB,OAAA,KAAA,CAAA;EAGlD,IAAAoB,SAAA,CAAUlB,mBAAmBmB,SAAU,CAAAnB,cAAA,EAAuB,OAAA,KAAA,CAAA;EAG9D,IAAAkB,SAAA,CAAUtB,YAAYuB,SAAU,CAAAvB,OAAA,EAAgB,OAAA,IAAA,CAAA;EAIpD,OAAOT,gBAAQ,CAAA+B,SAAA,CAAUtB,OAAS,EAAAuB,SAAA,CAAUvB,OAAO,CAAA,CAAA;AACrD,CACF;;;;"}