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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (518) hide show
  1. package/es/_chunks/{dep-1ca64fef.js → dep-13265eca.js} +2 -2
  2. package/es/_chunks/{dep-93283bbd.js.map → dep-13265eca.js.map} +1 -1
  3. package/es/_chunks/{dep-3e40d789.js → dep-4932f9b9.js} +2 -2
  4. package/es/_chunks/{dep-3e40d789.js.map → dep-4932f9b9.js.map} +1 -1
  5. package/es/_chunks/{dep-076af7c3.js → dep-e1e84ed7.js} +3 -3
  6. package/es/_chunks/{dep-13fe70ea.js.map → dep-e1e84ed7.js.map} +1 -1
  7. package/es/_util/reactify.js +1 -1
  8. package/es/_util/useDynamicStyle.js +1 -1
  9. package/es/attachments/index.js +1 -1
  10. package/es/chat-actionbar/index.js +1 -1
  11. package/es/chat-engine/components/activity/index.js +2 -2
  12. package/es/chat-engine/components/activity/registry.js +1 -1
  13. package/es/chat-engine/components/activity/render.js +2 -2
  14. package/es/chat-engine/components/activity/types.js +1 -1
  15. package/es/chat-engine/components/index.js +11 -6
  16. package/es/chat-engine/components/index.js.map +1 -1
  17. package/es/chat-engine/components/json-render/catalog/atomic/button.js +1 -1
  18. package/es/chat-engine/components/json-render/catalog/atomic/card.js +1 -1
  19. package/es/chat-engine/components/json-render/catalog/atomic/input.js +11 -6
  20. package/es/chat-engine/components/json-render/catalog/atomic/input.js.map +1 -1
  21. package/es/chat-engine/components/json-render/catalog/atomic/layout.js +1 -1
  22. package/es/chat-engine/components/json-render/catalog/atomic/text.js +1 -1
  23. package/es/chat-engine/components/json-render/catalog/catalog-to-prompt.js +1 -1
  24. package/es/chat-engine/components/json-render/contexts/actions.js +2 -2
  25. package/es/chat-engine/components/json-render/contexts/data.js +2 -2
  26. package/es/chat-engine/components/json-render/contexts/index.js +2 -2
  27. package/es/chat-engine/components/json-render/contexts/store.js +1 -1
  28. package/es/chat-engine/components/json-render/contexts/tree.js +1 -1
  29. package/es/chat-engine/components/json-render/contexts/validation.js +2 -2
  30. package/es/chat-engine/components/json-render/contexts/visibility.js +2 -2
  31. package/es/chat-engine/components/json-render/index.js +11 -6
  32. package/es/chat-engine/components/json-render/index.js.map +1 -1
  33. package/es/chat-engine/components/json-render/registry/a2ui-binding.js +11 -6
  34. package/es/chat-engine/components/json-render/registry/a2ui-binding.js.map +1 -1
  35. package/es/chat-engine/components/json-render/registry/a2ui-registry.js +11 -6
  36. package/es/chat-engine/components/json-render/registry/a2ui-registry.js.map +1 -1
  37. package/es/chat-engine/components/json-render/registry/config.js +11 -6
  38. package/es/chat-engine/components/json-render/registry/config.js.map +1 -1
  39. package/es/chat-engine/components/json-render/registry/index.js +11 -6
  40. package/es/chat-engine/components/json-render/registry/index.js.map +1 -1
  41. package/es/chat-engine/components/json-render/renderer/A2UIJsonRenderActivityRenderer.js +10 -5
  42. package/es/chat-engine/components/json-render/renderer/A2UIJsonRenderActivityRenderer.js.map +1 -1
  43. package/es/chat-engine/components/json-render/renderer/JsonRenderActivityRenderer.js +3 -3
  44. package/es/chat-engine/components/json-render/renderer/JsonUIRenderer.js +2 -2
  45. package/es/chat-engine/components/json-render/renderer/_index.js +2 -2
  46. package/es/chat-engine/components/json-render/types.js +1 -1
  47. package/es/chat-engine/components/provider/agent-state.js +9 -4
  48. package/es/chat-engine/components/provider/agent-state.js.map +1 -1
  49. package/es/chat-engine/components/shared/ComponentErrorBoundary.js +1 -1
  50. package/es/chat-engine/components/shared/createRegistry.js +1 -1
  51. package/es/chat-engine/components/shared/index.js +1 -1
  52. package/es/chat-engine/components/shared/useRegistrationListener.js +1 -1
  53. package/es/chat-engine/components/toolcall/index.js +9 -4
  54. package/es/chat-engine/components/toolcall/index.js.map +1 -1
  55. package/es/chat-engine/components/toolcall/registry.js +1 -1
  56. package/es/chat-engine/components/toolcall/render.js +8 -3
  57. package/es/chat-engine/components/toolcall/render.js.map +1 -1
  58. package/es/chat-engine/components/toolcall/types.js +1 -1
  59. package/es/chat-engine/core/adapters/a2ui/index.js +1 -1
  60. package/es/chat-engine/core/adapters/a2ui/processor/A2uiMessageProcessor.js +1 -1
  61. package/es/chat-engine/core/adapters/a2ui/processor/ComponentTree.js +1 -1
  62. package/es/chat-engine/core/adapters/a2ui/processor/DataStore.js +1 -1
  63. package/es/chat-engine/core/adapters/a2ui/processor/PathResolver.js +1 -1
  64. package/es/chat-engine/core/adapters/a2ui/types/index.js +1 -1
  65. package/es/chat-engine/core/adapters/a2ui/types/types.js +1 -1
  66. package/es/chat-engine/core/adapters/a2ui/utils/binding.js +1 -1
  67. package/es/chat-engine/core/adapters/a2ui/utils/index.js +1 -1
  68. package/es/chat-engine/core/adapters/a2ui/utils/validation.js +1 -1
  69. package/es/chat-engine/core/adapters/agui/ActivityManager.js +1 -1
  70. package/es/chat-engine/core/adapters/agui/StateManager.js +1 -1
  71. package/es/chat-engine/core/adapters/agui/event-mapper.js +1 -1
  72. package/es/chat-engine/core/adapters/agui/index.js +6 -51
  73. package/es/chat-engine/core/adapters/agui/index.js.map +1 -1
  74. package/es/chat-engine/core/adapters/agui/types/events.js +1 -1
  75. package/es/chat-engine/core/adapters/agui/types/index.js +1 -1
  76. package/es/chat-engine/core/adapters/agui/utils.d.ts +25 -2
  77. package/es/chat-engine/core/adapters/agui/utils.js +52 -12
  78. package/es/chat-engine/core/adapters/agui/utils.js.map +1 -1
  79. package/es/chat-engine/core/adapters/index.js +2 -1
  80. package/es/chat-engine/core/adapters/index.js.map +1 -1
  81. package/es/chat-engine/core/adapters/json-render/SurfaceStateManager.js +1 -1
  82. package/es/chat-engine/core/adapters/json-render/a2ui-to-jsonrender.js +1 -1
  83. package/es/chat-engine/core/adapters/json-render/engine.js +1 -1
  84. package/es/chat-engine/core/adapters/json-render/index.js +1 -1
  85. package/es/chat-engine/core/adapters/json-render/types/a2ui.js +1 -1
  86. package/es/chat-engine/core/adapters/json-render/types/core.js +1 -1
  87. package/es/chat-engine/core/adapters/json-render/types/index.js +1 -1
  88. package/es/chat-engine/core/adapters/openclaw/event-mapper.d.ts +36 -14
  89. package/es/chat-engine/core/adapters/openclaw/event-mapper.js +36 -21
  90. package/es/chat-engine/core/adapters/openclaw/event-mapper.js.map +1 -1
  91. package/es/chat-engine/core/adapters/openclaw/history-converter.d.ts +120 -0
  92. package/es/chat-engine/core/adapters/openclaw/history-converter.js +251 -0
  93. package/es/chat-engine/core/adapters/openclaw/history-converter.js.map +1 -0
  94. package/es/chat-engine/core/adapters/openclaw/index.d.ts +30 -0
  95. package/es/chat-engine/core/adapters/openclaw/index.js +89 -69
  96. package/es/chat-engine/core/adapters/openclaw/index.js.map +1 -1
  97. package/es/chat-engine/core/adapters/openclaw/rpc-handler.d.ts +13 -0
  98. package/es/chat-engine/core/adapters/openclaw/rpc-handler.js +20 -1
  99. package/es/chat-engine/core/adapters/openclaw/rpc-handler.js.map +1 -1
  100. package/es/chat-engine/core/adapters/openclaw/types/config.d.ts +2 -42
  101. package/es/chat-engine/core/adapters/openclaw/types/config.js +4 -8
  102. package/es/chat-engine/core/adapters/openclaw/types/config.js.map +1 -1
  103. package/es/chat-engine/core/adapters/openclaw/types/events.d.ts +2 -0
  104. package/es/chat-engine/core/adapters/openclaw/types/events.js +2 -1
  105. package/es/chat-engine/core/adapters/openclaw/types/events.js.map +1 -1
  106. package/es/chat-engine/core/adapters/openclaw/types/index.js +1 -1
  107. package/es/chat-engine/core/adapters/openclaw/types/messages.d.ts +9 -13
  108. package/es/chat-engine/core/adapters/openclaw/types/messages.js +1 -1
  109. package/es/chat-engine/core/adapters/openclaw/types/messages.js.map +1 -1
  110. package/es/chat-engine/core/adapters/openclaw/utils.d.ts +0 -26
  111. package/es/chat-engine/core/adapters/openclaw/utils.js +2 -93
  112. package/es/chat-engine/core/adapters/openclaw/utils.js.map +1 -1
  113. package/es/chat-engine/core/adapters/shared/activity-manager.js +1 -1
  114. package/es/chat-engine/core/adapters/shared/content-factory.js +1 -1
  115. package/es/chat-engine/core/adapters/shared/index.js +1 -1
  116. package/es/chat-engine/core/adapters/shared/merge-utils.js +1 -1
  117. package/es/chat-engine/core/event-bus/ChatEventBus.js +1 -1
  118. package/es/chat-engine/core/event-bus/index.js +1 -1
  119. package/es/chat-engine/core/event-bus/types.js +1 -1
  120. package/es/chat-engine/core/index.d.ts +24 -24
  121. package/es/chat-engine/core/index.js +152 -319
  122. package/es/chat-engine/core/index.js.map +1 -1
  123. package/es/chat-engine/core/processor/index.d.ts +32 -0
  124. package/es/chat-engine/core/processor/index.js +76 -1
  125. package/es/chat-engine/core/processor/index.js.map +1 -1
  126. package/es/chat-engine/core/server/batch-client.js +1 -1
  127. package/es/chat-engine/core/server/connection-manager.js +1 -1
  128. package/es/chat-engine/core/server/errors.js +1 -1
  129. package/es/chat-engine/core/server/index.js +1 -21
  130. package/es/chat-engine/core/server/index.js.map +1 -1
  131. package/es/chat-engine/core/server/llm-service.d.ts +7 -7
  132. package/es/chat-engine/core/server/llm-service.js +13 -140
  133. package/es/chat-engine/core/server/llm-service.js.map +1 -1
  134. package/es/chat-engine/core/server/sse-client.js +1 -1
  135. package/es/chat-engine/core/server/sse-parser.js +1 -1
  136. package/es/chat-engine/core/server/types.js +1 -1
  137. package/es/chat-engine/core/server/websocket-client.js +1 -1
  138. package/es/chat-engine/core/store/message.js +2 -2
  139. package/es/chat-engine/core/store/model.js +2 -2
  140. package/es/chat-engine/core/store/reactiveState.js +2 -2
  141. package/es/chat-engine/core/stream-handlers/agui-stream-handler.d.ts +24 -0
  142. package/es/chat-engine/core/stream-handlers/agui-stream-handler.js +140 -0
  143. package/es/chat-engine/core/stream-handlers/agui-stream-handler.js.map +1 -0
  144. package/es/chat-engine/core/stream-handlers/default-stream-handler.d.ts +7 -0
  145. package/es/chat-engine/core/stream-handlers/default-stream-handler.js +77 -0
  146. package/es/chat-engine/core/stream-handlers/default-stream-handler.js.map +1 -0
  147. package/es/chat-engine/core/stream-handlers/index.d.ts +21 -0
  148. package/es/chat-engine/core/stream-handlers/index.js +71 -0
  149. package/es/chat-engine/core/stream-handlers/index.js.map +1 -0
  150. package/es/chat-engine/core/stream-handlers/openclaw-stream-handler.d.ts +56 -0
  151. package/es/chat-engine/core/stream-handlers/openclaw-stream-handler.js +269 -0
  152. package/es/chat-engine/core/stream-handlers/openclaw-stream-handler.js.map +1 -0
  153. package/es/chat-engine/core/stream-handlers/types.d.ts +47 -0
  154. package/es/chat-engine/core/stream-handlers/types.js +7 -0
  155. package/es/chat-engine/core/stream-handlers/types.js.map +1 -0
  156. package/es/chat-engine/core/type.d.ts +18 -0
  157. package/es/chat-engine/core/type.js +1 -1
  158. package/es/chat-engine/core/utils/eventEmitter.js +1 -1
  159. package/es/chat-engine/core/utils/immutable-patch.js +1 -1
  160. package/es/chat-engine/core/utils/index.js +1 -1
  161. package/es/chat-engine/core/utils/json-patch/helpers.js +1 -1
  162. package/es/chat-engine/core/utils/json-patch/index.js +1 -1
  163. package/es/chat-engine/core/utils/logger.js +1 -1
  164. package/es/chat-engine/core/utils/performance.js +1 -1
  165. package/es/chat-engine/hooks/index.js +9 -4
  166. package/es/chat-engine/hooks/index.js.map +1 -1
  167. package/es/chat-engine/hooks/useAgentActivity.js +1 -1
  168. package/es/chat-engine/hooks/useAgentState.js +9 -4
  169. package/es/chat-engine/hooks/useAgentState.js.map +1 -1
  170. package/es/chat-engine/hooks/useAgentToolcall.js +1 -1
  171. package/es/chat-engine/hooks/useChat.js +13 -7
  172. package/es/chat-engine/hooks/useChat.js.map +1 -1
  173. package/es/chat-engine/index.js +9 -4
  174. package/es/chat-engine/index.js.map +1 -1
  175. package/es/chat-filecard/index.js +1 -1
  176. package/es/chat-loading/index.js +1 -1
  177. package/es/chat-markdown/index.js +1 -1
  178. package/es/chat-message/index.js +1 -1
  179. package/es/chat-sender/index.js +1 -1
  180. package/es/chat-thinking/index.js +1 -1
  181. package/es/chatbot/index.js +1 -1
  182. package/es/index.js +9 -4
  183. package/es/index.js.map +1 -1
  184. package/es/style/index.js +1 -1
  185. package/package.json +1 -1
  186. package/es/_chunks/dep-076af7c3.js.map +0 -1
  187. package/es/_chunks/dep-1007ac80.js +0 -205
  188. package/es/_chunks/dep-1007ac80.js.map +0 -1
  189. package/es/_chunks/dep-13fe70ea.js +0 -438
  190. package/es/_chunks/dep-16520c2b.js +0 -1247
  191. package/es/_chunks/dep-16520c2b.js.map +0 -1
  192. package/es/_chunks/dep-1743bd61.js +0 -438
  193. package/es/_chunks/dep-1743bd61.js.map +0 -1
  194. package/es/_chunks/dep-1ca64fef.js.map +0 -1
  195. package/es/_chunks/dep-24472232.js +0 -839
  196. package/es/_chunks/dep-24472232.js.map +0 -1
  197. package/es/_chunks/dep-3864b369.js +0 -839
  198. package/es/_chunks/dep-3864b369.js.map +0 -1
  199. package/es/_chunks/dep-4dedfbef.js +0 -438
  200. package/es/_chunks/dep-4dedfbef.js.map +0 -1
  201. package/es/_chunks/dep-56f5e08e.js +0 -448
  202. package/es/_chunks/dep-56f5e08e.js.map +0 -1
  203. package/es/_chunks/dep-58d90dfe.js +0 -438
  204. package/es/_chunks/dep-58d90dfe.js.map +0 -1
  205. package/es/_chunks/dep-5b6b17d0.js +0 -169
  206. package/es/_chunks/dep-5b6b17d0.js.map +0 -1
  207. package/es/_chunks/dep-5e2400d2.js +0 -438
  208. package/es/_chunks/dep-5e2400d2.js.map +0 -1
  209. package/es/_chunks/dep-60f2a734.js +0 -169
  210. package/es/_chunks/dep-60f2a734.js.map +0 -1
  211. package/es/_chunks/dep-688e4aaa.js +0 -438
  212. package/es/_chunks/dep-688e4aaa.js.map +0 -1
  213. package/es/_chunks/dep-771678df.js +0 -438
  214. package/es/_chunks/dep-771678df.js.map +0 -1
  215. package/es/_chunks/dep-870f0d35.js +0 -839
  216. package/es/_chunks/dep-870f0d35.js.map +0 -1
  217. package/es/_chunks/dep-93283bbd.js +0 -1247
  218. package/es/_chunks/dep-96eca06f.js +0 -169
  219. package/es/_chunks/dep-96eca06f.js.map +0 -1
  220. package/es/_chunks/dep-98d23dfa.js +0 -169
  221. package/es/_chunks/dep-98d23dfa.js.map +0 -1
  222. package/es/_chunks/dep-991f7c12.js +0 -1247
  223. package/es/_chunks/dep-991f7c12.js.map +0 -1
  224. package/es/_chunks/dep-b4eec30f.js +0 -1247
  225. package/es/_chunks/dep-b4eec30f.js.map +0 -1
  226. package/es/_chunks/dep-ba3bd553.js +0 -169
  227. package/es/_chunks/dep-ba3bd553.js.map +0 -1
  228. package/es/_chunks/dep-bcb234a1.js +0 -839
  229. package/es/_chunks/dep-bcb234a1.js.map +0 -1
  230. package/es/_chunks/dep-dbdfe7d6.js +0 -169
  231. package/es/_chunks/dep-dbdfe7d6.js.map +0 -1
  232. package/es/_chunks/dep-de8ac730.js +0 -1247
  233. package/es/_chunks/dep-de8ac730.js.map +0 -1
  234. package/es/_chunks/dep-e9dbff09.js +0 -1247
  235. package/es/_chunks/dep-e9dbff09.js.map +0 -1
  236. package/es/_chunks/dep-ebc4cf30.js +0 -1247
  237. package/es/_chunks/dep-ebc4cf30.js.map +0 -1
  238. package/es/_chunks/dep-f2051ebd.js +0 -839
  239. package/es/_chunks/dep-f2051ebd.js.map +0 -1
  240. package/es/_chunks/dep-f691a67e.js +0 -438
  241. package/es/_chunks/dep-f691a67e.js.map +0 -1
  242. package/es/_chunks/dep-f8016301.js +0 -169
  243. package/es/_chunks/dep-f8016301.js.map +0 -1
  244. package/es/chat-actionbar/_example-js/base.d.ts +0 -2
  245. package/es/chat-actionbar/_example-js/custom.d.ts +0 -2
  246. package/es/chat-actionbar/_example-js/style.d.ts +0 -2
  247. package/es/chat-attachments/_example-js/base.d.ts +0 -2
  248. package/es/chat-attachments/_example-js/scroll-x.d.ts +0 -2
  249. package/es/chat-attachments/_example-js/scroll-y.d.ts +0 -2
  250. package/es/chat-attachments/index.d.ts +0 -5
  251. package/es/chat-attachments/index.js +0 -26
  252. package/es/chat-attachments/index.js.map +0 -1
  253. package/es/chat-engine/_example-js/agui-basic.d.ts +0 -10
  254. package/es/chat-engine/_example-js/agui-comprehensive.d.ts +0 -2
  255. package/es/chat-engine/_example-js/agui-test.d.ts +0 -11
  256. package/es/chat-engine/_example-js/agui-toolcall.d.ts +0 -5
  257. package/es/chat-engine/_example-js/agui-videoclip.d.ts +0 -8
  258. package/es/chat-engine/_example-js/agui.d.ts +0 -1
  259. package/es/chat-engine/_example-js/basic.d.ts +0 -9
  260. package/es/chat-engine/_example-js/components/HotelCard.d.ts +0 -3
  261. package/es/chat-engine/_example-js/components/HumanInputForm.d.ts +0 -6
  262. package/es/chat-engine/_example-js/components/HumanInputResult.d.ts +0 -3
  263. package/es/chat-engine/_example-js/components/ItineraryCard.d.ts +0 -3
  264. package/es/chat-engine/_example-js/components/PlanningStatePanel.d.ts +0 -4
  265. package/es/chat-engine/_example-js/components/Toolcall.d.ts +0 -4
  266. package/es/chat-engine/_example-js/components/WeatherCard.d.ts +0 -3
  267. package/es/chat-engine/_example-js/components/login.d.ts +0 -1
  268. package/es/chat-engine/_example-js/comprehensive.d.ts +0 -12
  269. package/es/chat-engine/_example-js/custom-content.d.ts +0 -1
  270. package/es/chat-engine/_example-js/hookComponent.d.ts +0 -1
  271. package/es/chat-engine/_example-js/initial-messages.d.ts +0 -9
  272. package/es/chat-engine/_example-js/instance-methods.d.ts +0 -13
  273. package/es/chat-engine/_example-js/travel-actions.d.ts +0 -91
  274. package/es/chat-engine/_example-js/travelToolcall.d.ts +0 -1
  275. package/es/chat-engine/components/a2ui/A2UIActivityRenderer.d.ts +0 -196
  276. package/es/chat-engine/components/a2ui/A2UIActivityRenderer.js +0 -301
  277. package/es/chat-engine/components/a2ui/A2UIActivityRenderer.js.map +0 -1
  278. package/es/chat-engine/components/a2ui/A2UIComponentRenderer.d.ts +0 -37
  279. package/es/chat-engine/components/a2ui/A2UIComponentRenderer.js +0 -116
  280. package/es/chat-engine/components/a2ui/A2UIComponentRenderer.js.map +0 -1
  281. package/es/chat-engine/components/a2ui/A2UIErrorBoundary.d.ts +0 -42
  282. package/es/chat-engine/components/a2ui/A2UIErrorBoundary.js +0 -113
  283. package/es/chat-engine/components/a2ui/A2UIErrorBoundary.js.map +0 -1
  284. package/es/chat-engine/components/a2ui/A2UISkeleton.d.ts +0 -60
  285. package/es/chat-engine/components/a2ui/A2UISkeleton.js +0 -197
  286. package/es/chat-engine/components/a2ui/A2UISkeleton.js.map +0 -1
  287. package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.d.ts +0 -44
  288. package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.js +0 -139
  289. package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.js.map +0 -1
  290. package/es/chat-engine/components/a2ui/containers/A2UICard.d.ts +0 -22
  291. package/es/chat-engine/components/a2ui/containers/A2UICard.js +0 -82
  292. package/es/chat-engine/components/a2ui/containers/A2UICard.js.map +0 -1
  293. package/es/chat-engine/components/a2ui/containers/A2UIColumn.d.ts +0 -18
  294. package/es/chat-engine/components/a2ui/containers/A2UIColumn.js +0 -81
  295. package/es/chat-engine/components/a2ui/containers/A2UIColumn.js.map +0 -1
  296. package/es/chat-engine/components/a2ui/containers/A2UIList.d.ts +0 -14
  297. package/es/chat-engine/components/a2ui/containers/A2UIList.js +0 -62
  298. package/es/chat-engine/components/a2ui/containers/A2UIList.js.map +0 -1
  299. package/es/chat-engine/components/a2ui/containers/A2UIRow.d.ts +0 -20
  300. package/es/chat-engine/components/a2ui/containers/A2UIRow.js +0 -84
  301. package/es/chat-engine/components/a2ui/containers/A2UIRow.js.map +0 -1
  302. package/es/chat-engine/components/a2ui/containers/A2UITabs.d.ts +0 -14
  303. package/es/chat-engine/components/a2ui/containers/A2UITabs.js +0 -69
  304. package/es/chat-engine/components/a2ui/containers/A2UITabs.js.map +0 -1
  305. package/es/chat-engine/components/a2ui/containers/index.d.ts +0 -8
  306. package/es/chat-engine/components/a2ui/containers/index.js +0 -30
  307. package/es/chat-engine/components/a2ui/containers/index.js.map +0 -1
  308. package/es/chat-engine/components/a2ui/index.d.ts +0 -11
  309. package/es/chat-engine/components/a2ui/index.js +0 -62
  310. package/es/chat-engine/components/a2ui/index.js.map +0 -1
  311. package/es/chat-engine/components/a2ui/primitives/A2UIButton.d.ts +0 -33
  312. package/es/chat-engine/components/a2ui/primitives/A2UIButton.js +0 -80
  313. package/es/chat-engine/components/a2ui/primitives/A2UIButton.js.map +0 -1
  314. package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.d.ts +0 -12
  315. package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.js +0 -43
  316. package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.js.map +0 -1
  317. package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.d.ts +0 -50
  318. package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.js +0 -54
  319. package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.js.map +0 -1
  320. package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.d.ts +0 -13
  321. package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.js +0 -89
  322. package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.js.map +0 -1
  323. package/es/chat-engine/components/a2ui/primitives/A2UIDivider.d.ts +0 -12
  324. package/es/chat-engine/components/a2ui/primitives/A2UIDivider.js +0 -25
  325. package/es/chat-engine/components/a2ui/primitives/A2UIDivider.js.map +0 -1
  326. package/es/chat-engine/components/a2ui/primitives/A2UIIcon.d.ts +0 -13
  327. package/es/chat-engine/components/a2ui/primitives/A2UIIcon.js +0 -138942
  328. package/es/chat-engine/components/a2ui/primitives/A2UIIcon.js.map +0 -1
  329. package/es/chat-engine/components/a2ui/primitives/A2UIImage.d.ts +0 -12
  330. package/es/chat-engine/components/a2ui/primitives/A2UIImage.js +0 -75
  331. package/es/chat-engine/components/a2ui/primitives/A2UIImage.js.map +0 -1
  332. package/es/chat-engine/components/a2ui/primitives/A2UIInput.d.ts +0 -20
  333. package/es/chat-engine/components/a2ui/primitives/A2UIInput.js +0 -63
  334. package/es/chat-engine/components/a2ui/primitives/A2UIInput.js.map +0 -1
  335. package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.d.ts +0 -56
  336. package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.js +0 -64
  337. package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.js.map +0 -1
  338. package/es/chat-engine/components/a2ui/primitives/A2UISlider.d.ts +0 -12
  339. package/es/chat-engine/components/a2ui/primitives/A2UISlider.js +0 -55
  340. package/es/chat-engine/components/a2ui/primitives/A2UISlider.js.map +0 -1
  341. package/es/chat-engine/components/a2ui/primitives/A2UIText.d.ts +0 -12
  342. package/es/chat-engine/components/a2ui/primitives/A2UIText.js +0 -104
  343. package/es/chat-engine/components/a2ui/primitives/A2UIText.js.map +0 -1
  344. package/es/chat-engine/components/a2ui/primitives/A2UITextField.d.ts +0 -12
  345. package/es/chat-engine/components/a2ui/primitives/A2UITextField.js +0 -80
  346. package/es/chat-engine/components/a2ui/primitives/A2UITextField.js.map +0 -1
  347. package/es/chat-engine/components/a2ui/primitives/index.d.ts +0 -15
  348. package/es/chat-engine/components/a2ui/primitives/index.js +0 -39
  349. package/es/chat-engine/components/a2ui/primitives/index.js.map +0 -1
  350. package/es/chat-engine/components/a2ui/registry.d.ts +0 -35
  351. package/es/chat-engine/components/a2ui/registry.js +0 -74
  352. package/es/chat-engine/components/a2ui/registry.js.map +0 -1
  353. package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.d.ts +0 -36
  354. package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.js +0 -36
  355. package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.js.map +0 -1
  356. package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.d.ts +0 -46
  357. package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.js +0 -36
  358. package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.js.map +0 -1
  359. package/es/chat-engine/components/json-render/SurfaceStateManager.d.ts +0 -113
  360. package/es/chat-engine/components/json-render/SurfaceStateManager.js +0 -195
  361. package/es/chat-engine/components/json-render/SurfaceStateManager.js.map +0 -1
  362. package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.d.ts +0 -49
  363. package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.js +0 -307
  364. package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.js.map +0 -1
  365. package/es/chat-engine/components/json-render/adapters/a2ui-types.d.ts +0 -96
  366. package/es/chat-engine/components/json-render/adapters/a2ui-types.js +0 -7
  367. package/es/chat-engine/components/json-render/adapters/a2ui-types.js.map +0 -1
  368. package/es/chat-engine/components/json-render/adapters/index.d.ts +0 -7
  369. package/es/chat-engine/components/json-render/adapters/index.js +0 -11
  370. package/es/chat-engine/components/json-render/adapters/index.js.map +0 -1
  371. package/es/chat-engine/components/json-render/catalog/a2ui-binding.d.ts +0 -64
  372. package/es/chat-engine/components/json-render/catalog/a2ui-binding.js +0 -36
  373. package/es/chat-engine/components/json-render/catalog/a2ui-binding.js.map +0 -1
  374. package/es/chat-engine/components/json-render/catalog/a2ui-registry.d.ts +0 -78
  375. package/es/chat-engine/components/json-render/catalog/a2ui-registry.js +0 -36
  376. package/es/chat-engine/components/json-render/catalog/a2ui-registry.js.map +0 -1
  377. package/es/chat-engine/components/json-render/catalog/button.d.ts +0 -14
  378. package/es/chat-engine/components/json-render/catalog/button.js +0 -71
  379. package/es/chat-engine/components/json-render/catalog/button.js.map +0 -1
  380. package/es/chat-engine/components/json-render/catalog/card.d.ts +0 -11
  381. package/es/chat-engine/components/json-render/catalog/card.js +0 -57
  382. package/es/chat-engine/components/json-render/catalog/card.js.map +0 -1
  383. package/es/chat-engine/components/json-render/catalog/index.d.ts +0 -128
  384. package/es/chat-engine/components/json-render/catalog/index.js +0 -36
  385. package/es/chat-engine/components/json-render/catalog/index.js.map +0 -1
  386. package/es/chat-engine/components/json-render/catalog/input.d.ts +0 -20
  387. package/es/chat-engine/components/json-render/catalog/input.js +0 -36
  388. package/es/chat-engine/components/json-render/catalog/input.js.map +0 -1
  389. package/es/chat-engine/components/json-render/catalog/layout.d.ts +0 -44
  390. package/es/chat-engine/components/json-render/catalog/layout.js +0 -129
  391. package/es/chat-engine/components/json-render/catalog/layout.js.map +0 -1
  392. package/es/chat-engine/components/json-render/catalog/text.d.ts +0 -11
  393. package/es/chat-engine/components/json-render/catalog/text.js +0 -31
  394. package/es/chat-engine/components/json-render/catalog/text.js.map +0 -1
  395. package/es/chat-engine/components/json-render/catalog.d.ts +0 -614
  396. package/es/chat-engine/components/json-render/catalog.js +0 -779
  397. package/es/chat-engine/components/json-render/catalog.js.map +0 -1
  398. package/es/chat-engine/components/json-render/config.d.ts +0 -154
  399. package/es/chat-engine/components/json-render/config.js +0 -36
  400. package/es/chat-engine/components/json-render/config.js.map +0 -1
  401. package/es/chat-engine/components/json-render/engine.d.ts +0 -58
  402. package/es/chat-engine/components/json-render/engine.js +0 -88
  403. package/es/chat-engine/components/json-render/engine.js.map +0 -1
  404. package/es/chat-engine/components/json-render/performance.d.ts +0 -91
  405. package/es/chat-engine/components/json-render/performance.js +0 -135
  406. package/es/chat-engine/components/json-render/performance.js.map +0 -1
  407. package/es/chat-engine/components/json-render/renderer/index.d.ts +0 -71
  408. package/es/chat-engine/components/json-render/renderer/index.js +0 -125
  409. package/es/chat-engine/components/json-render/renderer/index.js.map +0 -1
  410. package/es/chat-engine/components/json-render/renderer.d.ts +0 -71
  411. package/es/chat-engine/components/json-render/renderer.js +0 -124
  412. package/es/chat-engine/components/json-render/renderer.js.map +0 -1
  413. package/es/chat-engine/core/a2ui/index.d.ts +0 -10
  414. package/es/chat-engine/core/a2ui/index.js +0 -24
  415. package/es/chat-engine/core/a2ui/index.js.map +0 -1
  416. package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.d.ts +0 -197
  417. package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.js +0 -438
  418. package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.js.map +0 -1
  419. package/es/chat-engine/core/a2ui/processor/ComponentTree.d.ts +0 -53
  420. package/es/chat-engine/core/a2ui/processor/ComponentTree.js +0 -158
  421. package/es/chat-engine/core/a2ui/processor/ComponentTree.js.map +0 -1
  422. package/es/chat-engine/core/a2ui/processor/DataStore.d.ts +0 -63
  423. package/es/chat-engine/core/a2ui/processor/DataStore.js +0 -172
  424. package/es/chat-engine/core/a2ui/processor/DataStore.js.map +0 -1
  425. package/es/chat-engine/core/a2ui/processor/PathResolver.d.ts +0 -47
  426. package/es/chat-engine/core/a2ui/processor/PathResolver.js +0 -99
  427. package/es/chat-engine/core/a2ui/processor/PathResolver.js.map +0 -1
  428. package/es/chat-engine/core/a2ui/types/index.d.ts +0 -4
  429. package/es/chat-engine/core/a2ui/types/index.js +0 -9
  430. package/es/chat-engine/core/a2ui/types/index.js.map +0 -1
  431. package/es/chat-engine/core/a2ui/types/types.d.ts +0 -770
  432. package/es/chat-engine/core/a2ui/types/types.js +0 -104
  433. package/es/chat-engine/core/a2ui/types/types.js.map +0 -1
  434. package/es/chat-engine/core/a2ui/utils/binding.d.ts +0 -34
  435. package/es/chat-engine/core/a2ui/utils/binding.js +0 -1784
  436. package/es/chat-engine/core/a2ui/utils/binding.js.map +0 -1
  437. package/es/chat-engine/core/a2ui/utils/index.d.ts +0 -5
  438. package/es/chat-engine/core/a2ui/utils/index.js +0 -13
  439. package/es/chat-engine/core/a2ui/utils/index.js.map +0 -1
  440. package/es/chat-engine/core/a2ui/utils/validation.d.ts +0 -70
  441. package/es/chat-engine/core/a2ui/utils/validation.js +0 -333
  442. package/es/chat-engine/core/a2ui/utils/validation.js.map +0 -1
  443. package/es/chat-engine/core/adapters/agui/activity-manager.d.ts +0 -102
  444. package/es/chat-engine/core/adapters/agui/activity-manager.js +0 -150
  445. package/es/chat-engine/core/adapters/agui/activity-manager.js.map +0 -1
  446. package/es/chat-engine/core/adapters/agui/events.d.ts +0 -1550
  447. package/es/chat-engine/core/adapters/agui/events.js +0 -199
  448. package/es/chat-engine/core/adapters/agui/events.js.map +0 -1
  449. package/es/chat-engine/core/adapters/agui/state-manager.d.ts +0 -99
  450. package/es/chat-engine/core/adapters/agui/state-manager.js +0 -174
  451. package/es/chat-engine/core/adapters/agui/state-manager.js.map +0 -1
  452. package/es/chat-engine/core/adapters/agui/types.d.ts +0 -818
  453. package/es/chat-engine/core/adapters/agui/types.js +0 -95
  454. package/es/chat-engine/core/adapters/agui/types.js.map +0 -1
  455. package/es/chat-engine/hooks/a2ui/A2UIContext.d.ts +0 -90
  456. package/es/chat-engine/hooks/a2ui/A2UIContext.js +0 -97
  457. package/es/chat-engine/hooks/a2ui/A2UIContext.js.map +0 -1
  458. package/es/chat-engine/hooks/a2ui/index.d.ts +0 -12
  459. package/es/chat-engine/hooks/a2ui/index.js +0 -19
  460. package/es/chat-engine/hooks/a2ui/index.js.map +0 -1
  461. package/es/chat-engine/hooks/a2ui/useA2UIAction.d.ts +0 -40
  462. package/es/chat-engine/hooks/a2ui/useA2UIAction.js +0 -74
  463. package/es/chat-engine/hooks/a2ui/useA2UIAction.js.map +0 -1
  464. package/es/chat-engine/hooks/a2ui/useA2UISurface.d.ts +0 -36
  465. package/es/chat-engine/hooks/a2ui/useA2UISurface.js +0 -39
  466. package/es/chat-engine/hooks/a2ui/useA2UISurface.js.map +0 -1
  467. package/es/chat-engine/hooks/a2ui/useDataBinding.d.ts +0 -53
  468. package/es/chat-engine/hooks/a2ui/useDataBinding.js +0 -111
  469. package/es/chat-engine/hooks/a2ui/useDataBinding.js.map +0 -1
  470. package/es/chat-engine/hooks/useJsonRenderActivity.d.ts +0 -56
  471. package/es/chat-engine/hooks/useJsonRenderActivity.js +0 -63
  472. package/es/chat-engine/hooks/useJsonRenderActivity.js.map +0 -1
  473. package/es/chat-filecard/_example-js/base.d.ts +0 -1
  474. package/es/chat-loading/_example-js/base.d.ts +0 -2
  475. package/es/chat-loading/_example-js/text.d.ts +0 -2
  476. package/es/chat-markdown/_example-js/base.d.ts +0 -1
  477. package/es/chat-markdown/_example-js/custom.d.ts +0 -2
  478. package/es/chat-markdown/_example-js/event.d.ts +0 -1
  479. package/es/chat-markdown/_example-js/footnote.d.ts +0 -2
  480. package/es/chat-markdown/_example-js/plugin.d.ts +0 -2
  481. package/es/chat-markdown/_example-js/theme.d.ts +0 -2
  482. package/es/chat-message/_example-js/action.d.ts +0 -1
  483. package/es/chat-message/_example-js/base.d.ts +0 -1
  484. package/es/chat-message/_example-js/configure.d.ts +0 -1
  485. package/es/chat-message/_example-js/content.d.ts +0 -1
  486. package/es/chat-message/_example-js/custom.d.ts +0 -1
  487. package/es/chat-message/_example-js/handle-actions.d.ts +0 -7
  488. package/es/chat-message/_example-js/status.d.ts +0 -1
  489. package/es/chat-message/_example-js/think.d.ts +0 -1
  490. package/es/chat-sender/_example-js/attachment.d.ts +0 -2
  491. package/es/chat-sender/_example-js/base.d.ts +0 -2
  492. package/es/chat-sender/_example-js/custom.d.ts +0 -2
  493. package/es/chat-thinking/_example-js/base.d.ts +0 -1
  494. package/es/chat-thinking/_example-js/style.d.ts +0 -1
  495. package/es/chatbot/_example-js/agent.d.ts +0 -1
  496. package/es/chatbot/_example-js/agui.d.ts +0 -13
  497. package/es/chatbot/_example-js/backup/travel.d.ts +0 -1
  498. package/es/chatbot/_example-js/basic.d.ts +0 -1
  499. package/es/chatbot/_example-js/code.d.ts +0 -1
  500. package/es/chatbot/_example-js/components/ItineraryCard.d.ts +0 -3
  501. package/es/chatbot/_example-js/components/login.d.ts +0 -1
  502. package/es/chatbot/_example-js/comprehensive.d.ts +0 -1
  503. package/es/chatbot/_example-js/custom-content.d.ts +0 -1
  504. package/es/chatbot/_example-js/custom-merge.d.ts +0 -1
  505. package/es/chatbot/_example-js/custom.d.ts +0 -1
  506. package/es/chatbot/_example-js/docs.d.ts +0 -1
  507. package/es/chatbot/_example-js/image.d.ts +0 -1
  508. package/es/chatbot/_example-js/initial-messages.d.ts +0 -9
  509. package/es/chatbot/_example-js/instance-methods.d.ts +0 -14
  510. package/es/chatbot/_example-js/nostream.d.ts +0 -1
  511. package/es/chatbot/_example-js/quick-start.d.ts +0 -9
  512. package/es/chatbot/_example-js/research.d.ts +0 -1
  513. package/es/chatbot/_example-js/role-message-config.d.ts +0 -22
  514. package/es/chatbot/_example-js/sender-config.d.ts +0 -20
  515. package/es/chatbot/_example-js/service-config.d.ts +0 -17
  516. package/es/chatbot/_example-js/simple.d.ts +0 -1
  517. package/es/chatbot/_example-js/utils/messageRenderer.d.ts +0 -5
  518. package/es/chatbot/docs/react-best-practice.d.ts +0 -13
@@ -1,135 +0,0 @@
1
- /**
2
- * tdesign v1.1.0-alpha.4
3
- * (c) 2026 tdesign
4
- * @license MIT
5
- */
6
-
7
- import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
8
- import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
9
- import _createClass from '@babel/runtime/helpers/createClass';
10
- import _defineProperty from '@babel/runtime/helpers/defineProperty';
11
-
12
- var PerformanceMonitor = /*#__PURE__*/function () {
13
- function PerformanceMonitor() {
14
- _classCallCheck(this, PerformanceMonitor);
15
- _defineProperty(this, "metrics", []);
16
- _defineProperty(this, "maxMetricsCount", 100);
17
- }
18
- return _createClass(PerformanceMonitor, [{
19
- key: "start",
20
- value: function start() {
21
- var _this = this;
22
- var startTime = performance.now();
23
- return function (type, elementCount, deltaInfo) {
24
- var endTime = performance.now();
25
- var duration = endTime - startTime;
26
- var metric = {
27
- type: type,
28
- startTime: startTime,
29
- endTime: endTime,
30
- duration: duration,
31
- elementCount: elementCount,
32
- deltaInfo: deltaInfo ? {
33
- fromIndex: deltaInfo.fromIndex,
34
- toIndex: deltaInfo.toIndex,
35
- newElementsCount: deltaInfo.toIndex - deltaInfo.fromIndex
36
- } : void 0
37
- };
38
- _this.addMetric(metric);
39
- return metric;
40
- };
41
- }
42
- }, {
43
- key: "addMetric",
44
- value: function addMetric(metric) {
45
- this.metrics.push(metric);
46
- if (this.metrics.length > this.maxMetricsCount) {
47
- this.metrics.shift();
48
- }
49
- }
50
- }, {
51
- key: "getMetrics",
52
- value: function getMetrics() {
53
- return _toConsumableArray(this.metrics);
54
- }
55
- }, {
56
- key: "getAverageDuration",
57
- value: function getAverageDuration(type) {
58
- var filteredMetrics = type ? this.metrics.filter(function (m) {
59
- return m.type === type;
60
- }) : this.metrics;
61
- if (filteredMetrics.length === 0) return 0;
62
- var totalDuration = filteredMetrics.reduce(function (sum, m) {
63
- return sum + m.duration;
64
- }, 0);
65
- return totalDuration / filteredMetrics.length;
66
- }
67
- }, {
68
- key: "getRecentAverageDuration",
69
- value: function getRecentAverageDuration() {
70
- var count = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 10;
71
- var recentMetrics = this.metrics.slice(-count);
72
- if (recentMetrics.length === 0) return 0;
73
- var totalDuration = recentMetrics.reduce(function (sum, m) {
74
- return sum + m.duration;
75
- }, 0);
76
- return totalDuration / recentMetrics.length;
77
- }
78
- }, {
79
- key: "getSummary",
80
- value: function getSummary() {
81
- return {
82
- totalRenders: this.metrics.length,
83
- snapshotRenders: this.metrics.filter(function (m) {
84
- return m.type === "snapshot";
85
- }).length,
86
- deltaRenders: this.metrics.filter(function (m) {
87
- return m.type === "delta";
88
- }).length,
89
- avgSnapshotDuration: this.getAverageDuration("snapshot"),
90
- avgDeltaDuration: this.getAverageDuration("delta"),
91
- recentAvgDuration: this.getRecentAverageDuration()
92
- };
93
- }
94
- }, {
95
- key: "reset",
96
- value: function reset() {
97
- this.metrics = [];
98
- }
99
- }, {
100
- key: "printSummary",
101
- value: function printSummary() {
102
- var summary = this.getSummary();
103
- console.log("[json-render Performance Summary]", {
104
- "\u603B\u6E32\u67D3\u6B21\u6570": summary.totalRenders,
105
- "\u5FEB\u7167\u6E32\u67D3": summary.snapshotRenders,
106
- "\u589E\u91CF\u6E32\u67D3": summary.deltaRenders,
107
- "\u5FEB\u7167\u5E73\u5747\u8017\u65F6(ms)": summary.avgSnapshotDuration.toFixed(2),
108
- "\u589E\u91CF\u5E73\u5747\u8017\u65F6(ms)": summary.avgDeltaDuration.toFixed(2),
109
- "\u6700\u8FD110\u6B21\u5E73\u5747\u8017\u65F6(ms)": summary.recentAvgDuration.toFixed(2)
110
- });
111
- }
112
- }]);
113
- }();
114
- var globalPerformanceMonitor = new PerformanceMonitor();
115
- var PERFORMANCE_THRESHOLDS = {
116
- snapshot: 50,
117
- delta: 16
118
- };
119
- function checkPerformance(metric) {
120
- var threshold = PERFORMANCE_THRESHOLDS[metric.type];
121
- if (metric.duration > threshold) {
122
- console.warn("[json-render Performance Warning] ".concat(metric.type, " \u6E32\u67D3\u8017\u65F6 ").concat(metric.duration.toFixed(2), "ms\uFF0C\u8D85\u8FC7\u9608\u503C ").concat(threshold, "ms"), {
123
- elementCount: metric.elementCount,
124
- deltaInfo: metric.deltaInfo
125
- });
126
- }
127
- }
128
- var performance$1 = {
129
- PerformanceMonitor: PerformanceMonitor,
130
- globalPerformanceMonitor: globalPerformanceMonitor,
131
- checkPerformance: checkPerformance
132
- };
133
-
134
- export { PERFORMANCE_THRESHOLDS, PerformanceMonitor, checkPerformance, performance$1 as default, globalPerformanceMonitor };
135
- //# sourceMappingURL=performance.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"performance.js","sources":["../../../../../pro-components/chat/chat-engine/components/json-render/performance.ts"],"sourcesContent":["/**\n * json-render 性能监控和优化工具\n */\n\n/**\n * 性能指标\n */\nexport interface PerformanceMetrics {\n /** 渲染类型 */\n type: 'snapshot' | 'delta';\n /** 渲染开始时间 */\n startTime: number;\n /** 渲染结束时间 */\n endTime: number;\n /** 渲染耗时(ms) */\n duration: number;\n /** Schema 元素数量 */\n elementCount: number;\n /** 增量信息(仅 delta 类型) */\n deltaInfo?: {\n fromIndex: number;\n toIndex: number;\n newElementsCount: number;\n };\n}\n\n/**\n * 性能监控器\n */\nexport class PerformanceMonitor {\n private metrics: PerformanceMetrics[] = [];\n private maxMetricsCount = 100; // 最多保留 100 条记录\n\n /**\n * 开始性能测量\n */\n start(): () => PerformanceMetrics {\n const startTime = performance.now();\n \n return (\n type: 'snapshot' | 'delta',\n elementCount: number,\n deltaInfo?: { fromIndex: number; toIndex: number },\n ): PerformanceMetrics => {\n const endTime = performance.now();\n const duration = endTime - startTime;\n\n const metric: PerformanceMetrics = {\n type,\n startTime,\n endTime,\n duration,\n elementCount,\n deltaInfo: deltaInfo\n ? {\n fromIndex: deltaInfo.fromIndex,\n toIndex: deltaInfo.toIndex,\n newElementsCount: deltaInfo.toIndex - deltaInfo.fromIndex,\n }\n : undefined,\n };\n\n this.addMetric(metric);\n return metric;\n };\n }\n\n /**\n * 添加性能指标\n */\n private addMetric(metric: PerformanceMetrics): void {\n this.metrics.push(metric);\n\n // 限制记录数量\n if (this.metrics.length > this.maxMetricsCount) {\n this.metrics.shift();\n }\n }\n\n /**\n * 获取所有指标\n */\n getMetrics(): PerformanceMetrics[] {\n return [...this.metrics];\n }\n\n /**\n * 获取平均渲染时间\n */\n getAverageDuration(type?: 'snapshot' | 'delta'): number {\n const filteredMetrics = type\n ? this.metrics.filter((m) => m.type === type)\n : this.metrics;\n\n if (filteredMetrics.length === 0) return 0;\n\n const totalDuration = filteredMetrics.reduce((sum, m) => sum + m.duration, 0);\n return totalDuration / filteredMetrics.length;\n }\n\n /**\n * 获取最近 N 次渲染的平均时间\n */\n getRecentAverageDuration(count: number = 10): number {\n const recentMetrics = this.metrics.slice(-count);\n if (recentMetrics.length === 0) return 0;\n\n const totalDuration = recentMetrics.reduce((sum, m) => sum + m.duration, 0);\n return totalDuration / recentMetrics.length;\n }\n\n /**\n * 获取性能统计摘要\n */\n getSummary() {\n return {\n totalRenders: this.metrics.length,\n snapshotRenders: this.metrics.filter((m) => m.type === 'snapshot').length,\n deltaRenders: this.metrics.filter((m) => m.type === 'delta').length,\n avgSnapshotDuration: this.getAverageDuration('snapshot'),\n avgDeltaDuration: this.getAverageDuration('delta'),\n recentAvgDuration: this.getRecentAverageDuration(),\n };\n }\n\n /**\n * 重置所有指标\n */\n reset(): void {\n this.metrics = [];\n }\n\n /**\n * 打印性能摘要\n */\n printSummary(): void {\n const summary = this.getSummary();\n console.log('[json-render Performance Summary]', {\n '总渲染次数': summary.totalRenders,\n '快照渲染': summary.snapshotRenders,\n '增量渲染': summary.deltaRenders,\n '快照平均耗时(ms)': summary.avgSnapshotDuration.toFixed(2),\n '增量平均耗时(ms)': summary.avgDeltaDuration.toFixed(2),\n '最近10次平均耗时(ms)': summary.recentAvgDuration.toFixed(2),\n });\n }\n}\n\n/**\n * 全局性能监控实例\n */\nexport const globalPerformanceMonitor = new PerformanceMonitor();\n\n/**\n * 性能警告阈值(ms)\n */\nexport const PERFORMANCE_THRESHOLDS = {\n snapshot: 50, // 快照渲染超过 50ms 发出警告\n delta: 16, // 增量渲染超过 16ms 发出警告(1帧)\n};\n\n/**\n * 检查性能并发出警告\n */\nexport function checkPerformance(metric: PerformanceMetrics): void {\n const threshold = PERFORMANCE_THRESHOLDS[metric.type];\n \n if (metric.duration > threshold) {\n console.warn(\n `[json-render Performance Warning] ${metric.type} 渲染耗时 ${metric.duration.toFixed(2)}ms,超过阈值 ${threshold}ms`,\n {\n elementCount: metric.elementCount,\n deltaInfo: metric.deltaInfo,\n },\n );\n }\n}\n\nexport default {\n PerformanceMonitor,\n globalPerformanceMonitor,\n checkPerformance,\n};\n"],"names":["PerformanceMonitor","_classCallCheck","_defineProperty","_createClass","key","value","start","_this","startTime","performance","now","type","elementCount","deltaInfo","endTime","duration","metric","fromIndex","toIndex","newElementsCount","addMetric","metrics","push","length","maxMetricsCount","shift","getMetrics","_toConsumableArray","getAverageDuration","filteredMetrics","filter","m","totalDuration","reduce","sum","getRecentAverageDuration","count","recentMetrics","slice","getSummary","totalRenders","snapshotRenders","deltaRenders","avgSnapshotDuration","avgDeltaDuration","recentAvgDuration","reset","printSummary","summary","console","log","toFixed","globalPerformanceMonitor","PERFORMANCE_THRESHOLDS","snapshot","delta","checkPerformance","threshold","warn","concat"],"mappings":";;;;;;;;;;;AA6BO,IAAMA,kBAAmB,gBAAA,YAAA;AAAA,EAAA,SAAAA,kBAAA,GAAA;AAAAC,IAAAA,eAAA,OAAAD,kBAAA,CAAA,CAAA;AAAAE,IAAAA,eAAA,kBACU,EAAC,CAAA,CAAA;AAAAA,IAAAA,eAAA,0BACf,GAAA,CAAA,CAAA;AAAA,GAAA;EAAA,OAAAC,YAAA,CAAAH,kBAAA,EAAA,CAAA;IAAAI,GAAA,EAAA,OAAA;AAAAC,IAAAA,KAAA,EAK1B,SAAAC,KAAkCA,GAAA;AAAA,MAAA,IAAAC,KAAA,GAAA,IAAA,CAAA;AAC1B,MAAA,IAAAC,SAAA,GAAYC,YAAYC,GAAI,EAAA,CAAA;AAE3B,MAAA,OAAA,UACLC,IACA,EAAAC,YAAA,EACAC,SACuB,EAAA;AACjB,QAAA,IAAAC,OAAA,GAAUL,YAAYC,GAAI,EAAA,CAAA;AAChC,QAAA,IAAMK,WAAWD,OAAU,GAAAN,SAAA,CAAA;AAE3B,QAAA,IAAMQ,MAA6B,GAAA;AACjCL,UAAAA,IAAA,EAAAA,IAAA;AACAH,UAAAA,SAAA,EAAAA,SAAA;AACAM,UAAAA,OAAA,EAAAA,OAAA;AACAC,UAAAA,QAAA,EAAAA,QAAA;AACAH,UAAAA,YAAA,EAAAA,YAAA;UACAC,WAAWA,SACP,GAAA;YACEI,WAAWJ,SAAU,CAAAI,SAAA;YACrBC,SAASL,SAAU,CAAAK,OAAA;AACnBC,YAAAA,gBAAA,EAAkBN,SAAU,CAAAK,OAAA,GAAUL,SAAU,CAAAI,SAAAA;AAClD,WACA,GAAA,KAAA,CAAA;SACN,CAAA;AAEAV,QAAAA,KAAA,CAAKa,UAAUJ,MAAM,CAAA,CAAA;AACd,QAAA,OAAAA,MAAA,CAAA;OACT,CAAA;AACF,KAAA;AAAA,GAAA,EAAA;IAAAZ,GAAA,EAAA,WAAA;AAAAC,IAAAA,KAAA,EAKQ,SAAAe,UAAUJ,MAAkC,EAAA;AAC7C,MAAA,IAAA,CAAAK,OAAA,CAAQC,KAAKN,MAAM,CAAA,CAAA;MAGxB,IAAI,IAAK,CAAAK,OAAA,CAAQE,MAAS,GAAA,IAAA,CAAKC,eAAiB,EAAA;AAC9C,QAAA,IAAA,CAAKH,QAAQI,KAAM,EAAA,CAAA;AACrB,OAAA;AACF,KAAA;AAAA,GAAA,EAAA;IAAArB,GAAA,EAAA,YAAA;AAAAC,IAAAA,KAAA,EAKA,SAAAqB,UAAmCA,GAAA;AAC1B,MAAA,OAAAC,kBAAA,CAAI,IAAA,CAAKN,OAAO,CAAA,CAAA;AACzB,KAAA;AAAA,GAAA,EAAA;IAAAjB,GAAA,EAAA,oBAAA;AAAAC,IAAAA,KAAA,EAKA,SAAAuB,mBAAmBjB,IAAqC,EAAA;MAChD,IAAAkB,eAAA,GAAkBlB,IACpB,GAAA,IAAA,CAAKU,OAAQ,CAAAS,MAAA,CAAO,UAACC,CAAA,EAAA;AAAA,QAAA,OAAMA,CAAE,CAAApB,IAAA,KAASA,IAAI,CAAA;OAAA,CAAA,GAC1C,IAAK,CAAAU,OAAA,CAAA;AAET,MAAA,IAAIQ,gBAAgBN,MAAW,KAAA,CAAA,EAAU,OAAA,CAAA,CAAA;MAEnC,IAAAS,aAAA,GAAgBH,gBAAgBI,MAAO,CAAA,UAACC,KAAKH,CAAM,EAAA;AAAA,QAAA,OAAAG,GAAA,GAAMH,CAAE,CAAAhB,QAAA,CAAA;AAAA,OAAA,EAAU,CAAC,CAAA,CAAA;AAC5E,MAAA,OAAOiB,gBAAgBH,eAAgB,CAAAN,MAAA,CAAA;AACzC,KAAA;AAAA,GAAA,EAAA;IAAAnB,GAAA,EAAA,0BAAA;AAAAC,IAAAA,KAAA,EAKA,SAAA8B,wBAAAA,GAAqD;AAAA,MAAA,IAA5BC,4EAAgB,EAAY,CAAA;MACnD,IAAMC,aAAgB,GAAA,IAAA,CAAKhB,OAAQ,CAAAiB,KAAA,CAAM,CAACF,KAAK,CAAA,CAAA;AAC/C,MAAA,IAAIC,cAAcd,MAAW,KAAA,CAAA,EAAU,OAAA,CAAA,CAAA;MAEjC,IAAAS,aAAA,GAAgBK,cAAcJ,MAAO,CAAA,UAACC,KAAKH,CAAM,EAAA;AAAA,QAAA,OAAAG,GAAA,GAAMH,CAAE,CAAAhB,QAAA,CAAA;AAAA,OAAA,EAAU,CAAC,CAAA,CAAA;AAC1E,MAAA,OAAOiB,gBAAgBK,aAAc,CAAAd,MAAA,CAAA;AACvC,KAAA;AAAA,GAAA,EAAA;IAAAnB,GAAA,EAAA,YAAA;AAAAC,IAAAA,KAAA,EAKA,SAAAkC,UAAaA,GAAA;MACJ,OAAA;AACLC,QAAAA,YAAA,EAAc,KAAKnB,OAAQ,CAAAE,MAAA;QAC3BkB,eAAA,EAAiB,KAAKpB,OAAQ,CAAAS,MAAA,CAAO,UAACC,CAAM,EAAA;AAAA,UAAA,OAAAA,CAAA,CAAEpB,IAAS,KAAA,UAAU,CAAA;AAAA,SAAA,CAAE,CAAAY,MAAA;QACnEmB,YAAA,EAAc,KAAKrB,OAAQ,CAAAS,MAAA,CAAO,UAACC,CAAM,EAAA;AAAA,UAAA,OAAAA,CAAA,CAAEpB,IAAS,KAAA,OAAO,CAAA;AAAA,SAAA,CAAE,CAAAY,MAAA;AAC7DoB,QAAAA,mBAAA,EAAqB,IAAK,CAAAf,kBAAA,CAAmB,UAAU,CAAA;AACvDgB,QAAAA,gBAAA,EAAkB,IAAK,CAAAhB,kBAAA,CAAmB,OAAO,CAAA;AACjDiB,QAAAA,iBAAA,EAAmB,KAAKV,wBAAyB,EAAA;OACnD,CAAA;AACF,KAAA;AAAA,GAAA,EAAA;IAAA/B,GAAA,EAAA,OAAA;AAAAC,IAAAA,KAAA,EAKA,SAAAyC,KAAcA,GAAA;MACZ,IAAA,CAAKzB,UAAU,EAAC,CAAA;AAClB,KAAA;AAAA,GAAA,EAAA;IAAAjB,GAAA,EAAA,cAAA;AAAAC,IAAAA,KAAA,EAKA,SAAA0C,YAAqBA,GAAA;AACb,MAAA,IAAAC,OAAA,GAAU,KAAKT,UAAW,EAAA,CAAA;AAChCU,MAAAA,OAAA,CAAQC,IAAI,mCAAqC,EAAA;QAC/C,kCAASF,OAAQ,CAAAR,YAAA;QACjB,4BAAQQ,OAAQ,CAAAP,eAAA;QAChB,4BAAQO,OAAQ,CAAAN,YAAA;QAChB,0CAAc,EAAAM,OAAA,CAAQL,mBAAoB,CAAAQ,OAAA,CAAQ,CAAC,CAAA;QACnD,0CAAc,EAAAH,OAAA,CAAQJ,gBAAiB,CAAAO,OAAA,CAAQ,CAAC,CAAA;AAChD,QAAA,kDAAiB,EAAAH,OAAA,CAAQH,iBAAkB,CAAAM,OAAA,CAAQ,CAAC,CAAA;AACtD,OAAC,CAAA,CAAA;AACH,KAAA;AAAA,GAAA,CAAA,CAAA,CAAA;AAAA,CAAA,GAAA;IAMWC,wBAAA,GAA2B,IAAIpD,kBAAmB,GAAA;AAKxD,IAAMqD,sBAAyB,GAAA;AACpCC,EAAAA,QAAU,EAAA,EAAA;AACVC,EAAAA,KAAO,EAAA,EAAA;AACT,EAAA;AAKO,SAASC,iBAAiBxC,MAAkC,EAAA;AAC3D,EAAA,IAAAyC,SAAA,GAAYJ,uBAAuBrC,MAAO,CAAAL,IAAA,CAAA,CAAA;AAE5C,EAAA,IAAAK,MAAA,CAAOD,WAAW0C,SAAW,EAAA;IACvBR,OAAA,CAAAS,IAAA,CAAAC,oCAAAA,CAAAA,MAAA,CAC+B3C,MAAO,CAAAL,IAAA,EAAA,4BAAA,CAAA,CAAAgD,MAAA,CAAa3C,OAAOD,QAAS,CAAAoC,OAAA,CAAQ,CAAC,CAAY,EAAAQ,mCAAAA,CAAAA,CAAAA,MAAA,CAAAF,SAAA,EAC9F,IAAA,CAAA,EAAA;MACE7C,cAAcI,MAAO,CAAAJ,YAAA;MACrBC,WAAWG,MAAO,CAAAH,SAAAA;AACpB,KACF,CAAA,CAAA;AACF,GAAA;AACF,CAAA;AAEA,oBAAe;AACbb,EAAAA,kBAAA,EAAAA,kBAAA;AACAoD,EAAAA,wBAAA,EAAAA,wBAAA;AACAI,EAAAA,gBAAA,EAAAA,gBAAAA;AACF,CAAA;;;;"}
@@ -1,71 +0,0 @@
1
- import { type ComponentType, type ReactNode } from "react";
2
- import type { UIElement, UITree, Action, Catalog, ComponentDefinition } from "@json-render/core";
3
- /**
4
- * Props passed to component renderers
5
- */
6
- export interface ComponentRenderProps<P = Record<string, unknown>> {
7
- /** The element being rendered */
8
- element: UIElement<string, P>;
9
- /** Rendered children */
10
- children?: ReactNode;
11
- /** Execute an action */
12
- onAction?: (action: Action) => void;
13
- /** Whether the parent is loading */
14
- loading?: boolean;
15
- }
16
- /**
17
- * Component renderer type
18
- */
19
- export type ComponentRenderer<P = Record<string, unknown>> = ComponentType<ComponentRenderProps<P>>;
20
- /**
21
- * Registry of component renderers
22
- */
23
- export type ComponentRegistry = Record<string, ComponentRenderer<any>>;
24
- /**
25
- * Props for the Renderer component
26
- */
27
- export interface RendererProps {
28
- /** The UI tree to render */
29
- tree: UITree | null;
30
- /** Component registry */
31
- registry: ComponentRegistry;
32
- /** Whether the tree is currently loading/streaming */
33
- loading?: boolean;
34
- /** Fallback component for unknown types */
35
- fallback?: ComponentRenderer;
36
- }
37
- /**
38
- * Main renderer component
39
- */
40
- export declare function JsonRenderElement({ tree, registry, loading, fallback }: RendererProps): import("react/jsx-runtime").JSX.Element;
41
- /**
42
- * Props for JSONUIProvider
43
- */
44
- export interface JSONUIProviderProps {
45
- /** Component registry */
46
- registry: ComponentRegistry;
47
- /** Initial data model */
48
- initialData?: Record<string, unknown>;
49
- /** Auth state */
50
- authState?: {
51
- isSignedIn: boolean;
52
- user?: Record<string, unknown>;
53
- };
54
- /** Action handlers */
55
- actionHandlers?: Record<string, (params: Record<string, unknown>) => Promise<unknown> | unknown>;
56
- /** Navigation function */
57
- navigate?: (path: string) => void;
58
- /** Custom validation functions */
59
- validationFunctions?: Record<string, (value: unknown, args?: Record<string, unknown>) => boolean>;
60
- /** Callback when data changes */
61
- onDataChange?: (path: string, value: unknown) => void;
62
- children: ReactNode;
63
- }
64
- /**
65
- * Combined provider for all JSONUI contexts
66
- */
67
- export declare function JSONUIProvider({ registry, initialData, authState, actionHandlers, navigate, validationFunctions, onDataChange, children, }: JSONUIProviderProps): import("react/jsx-runtime").JSX.Element;
68
- /**
69
- * Helper to create a renderer component from a catalog
70
- */
71
- export declare function createRendererFromCatalog<C extends Catalog<Record<string, ComponentDefinition>>>(_catalog: C, registry: ComponentRegistry): ComponentType<Omit<RendererProps, "registry">>;
@@ -1,125 +0,0 @@
1
- /**
2
- * tdesign v1.1.0-alpha.5
3
- * (c) 2026 tdesign
4
- * @license MIT
5
- */
6
-
7
- import _defineProperty from '@babel/runtime/helpers/defineProperty';
8
- import React from 'react';
9
- import '../contexts/index.js';
10
- import { useIsVisible, VisibilityProvider } from '../contexts/visibility.js';
11
- import { useActions, ActionProvider, ConfirmDialog } from '../contexts/actions.js';
12
- import { DataProvider } from '../contexts/data.js';
13
- import { ValidationProvider } from '../contexts/validation.js';
14
- import '@json-render/core';
15
- import '@babel/runtime/helpers/asyncToGenerator';
16
- import '@babel/runtime/helpers/slicedToArray';
17
- import '@babel/runtime/regenerator';
18
- import '@babel/runtime/helpers/typeof';
19
- import '@babel/runtime/helpers/objectWithoutProperties';
20
-
21
- "use client";
22
- 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; }
23
- 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; }
24
- function ElementRenderer(_ref) {
25
- var _registry$element$typ, _element$children;
26
- var element = _ref.element,
27
- tree = _ref.tree,
28
- registry = _ref.registry,
29
- loading = _ref.loading,
30
- fallback = _ref.fallback;
31
- var isVisible = useIsVisible(element.visible);
32
- var _useActions = useActions(),
33
- execute = _useActions.execute;
34
- if (!isVisible) {
35
- return null;
36
- }
37
- var Component = (_registry$element$typ = registry[element.type]) !== null && _registry$element$typ !== void 0 ? _registry$element$typ : fallback;
38
- if (!Component) {
39
- console.warn("No renderer for component type: ".concat(element.type));
40
- return null;
41
- }
42
- var children = (_element$children = element.children) === null || _element$children === void 0 ? void 0 : _element$children.map(function (childKey) {
43
- var childElement = tree.elements[childKey];
44
- if (!childElement) {
45
- return null;
46
- }
47
- return /* @__PURE__ */React.createElement(ElementRenderer, {
48
- key: childKey,
49
- element: childElement,
50
- tree: tree,
51
- registry: registry,
52
- loading: loading,
53
- fallback: fallback
54
- });
55
- });
56
- return /* @__PURE__ */React.createElement(Component, {
57
- element: element,
58
- onAction: execute,
59
- loading: loading
60
- }, children);
61
- }
62
- function JsonRenderElement(_ref2) {
63
- var tree = _ref2.tree,
64
- registry = _ref2.registry,
65
- loading = _ref2.loading,
66
- fallback = _ref2.fallback;
67
- if (!tree || !tree.root) {
68
- return null;
69
- }
70
- var rootElement = tree.elements[tree.root];
71
- if (!rootElement) {
72
- return null;
73
- }
74
- return /* @__PURE__ */React.createElement(ElementRenderer, {
75
- element: rootElement,
76
- tree: tree,
77
- registry: registry,
78
- loading: loading,
79
- fallback: fallback
80
- });
81
- }
82
- function JSONUIProvider(_ref3) {
83
- var registry = _ref3.registry,
84
- initialData = _ref3.initialData,
85
- authState = _ref3.authState,
86
- actionHandlers = _ref3.actionHandlers,
87
- navigate = _ref3.navigate,
88
- validationFunctions = _ref3.validationFunctions,
89
- onDataChange = _ref3.onDataChange,
90
- children = _ref3.children;
91
- return /* @__PURE__ */React.createElement(DataProvider, {
92
- initialData: initialData,
93
- authState: authState,
94
- onDataChange: onDataChange
95
- }, /* @__PURE__ */React.createElement(VisibilityProvider, null, /* @__PURE__ */React.createElement(ActionProvider, {
96
- handlers: actionHandlers,
97
- navigate: navigate
98
- }, /* @__PURE__ */React.createElement(ValidationProvider, {
99
- customFunctions: validationFunctions
100
- }, children, /* @__PURE__ */React.createElement(ConfirmationDialogManager, null)))));
101
- }
102
- function ConfirmationDialogManager() {
103
- var _useActions2 = useActions(),
104
- pendingConfirmation = _useActions2.pendingConfirmation,
105
- confirm = _useActions2.confirm,
106
- cancel = _useActions2.cancel;
107
- if (!(pendingConfirmation !== null && pendingConfirmation !== void 0 && pendingConfirmation.action.confirm)) {
108
- return null;
109
- }
110
- return /* @__PURE__ */React.createElement(ConfirmDialog, {
111
- confirm: pendingConfirmation.action.confirm,
112
- onConfirm: confirm,
113
- onCancel: cancel
114
- });
115
- }
116
- function createRendererFromCatalog(_catalog, registry) {
117
- return function CatalogRenderer(props) {
118
- return /* @__PURE__ */React.createElement(JsonRenderElement, _objectSpread(_objectSpread({}, props), {}, {
119
- registry: registry
120
- }));
121
- };
122
- }
123
-
124
- export { JSONUIProvider, JsonRenderElement, createRendererFromCatalog };
125
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../pro-components/chat/chat-engine/components/json-render/renderer/index.tsx"],"sourcesContent":["\"use client\";\n\nimport React, { type ComponentType, type ReactNode } from \"react\";\nimport type {\n UIElement,\n UITree,\n Action,\n Catalog,\n ComponentDefinition,\n} from \"@json-render/core\";\nimport { useIsVisible, useActions, ConfirmDialog } from \"../contexts\";\nimport { DataProvider, ValidationProvider, ActionProvider, VisibilityProvider } from \"../contexts\";\n\n/**\n * Props passed to component renderers\n */\nexport interface ComponentRenderProps<P = Record<string, unknown>> {\n /** The element being rendered */\n element: UIElement<string, P>;\n /** Rendered children */\n children?: ReactNode;\n /** Execute an action */\n onAction?: (action: Action) => void;\n /** Whether the parent is loading */\n loading?: boolean;\n}\n\n/**\n * Component renderer type\n */\nexport type ComponentRenderer<P = Record<string, unknown>> = ComponentType<\n ComponentRenderProps<P>\n>;\n\n/**\n * Registry of component renderers\n */\nexport type ComponentRegistry = Record<string, ComponentRenderer<any>>;\n\n/**\n * Props for the Renderer component\n */\nexport interface RendererProps {\n /** The UI tree to render */\n tree: UITree | null;\n /** Component registry */\n registry: ComponentRegistry;\n /** Whether the tree is currently loading/streaming */\n loading?: boolean;\n /** Fallback component for unknown types */\n fallback?: ComponentRenderer;\n}\n\n/**\n * Element renderer component\n */\nfunction ElementRenderer({\n element,\n tree,\n registry,\n loading,\n fallback,\n}: {\n element: UIElement;\n tree: UITree;\n registry: ComponentRegistry;\n loading?: boolean;\n fallback?: ComponentRenderer;\n}) {\n const isVisible = useIsVisible(element.visible);\n const { execute } = useActions();\n\n // Don't render if not visible\n if (!isVisible) {\n return null;\n }\n\n // Get the component renderer\n const Component = registry[element.type] ?? fallback;\n\n if (!Component) {\n console.warn(`No renderer for component type: ${element.type}`);\n return null;\n }\n\n // Render children\n const children = element.children?.map((childKey) => {\n const childElement = tree.elements[childKey];\n if (!childElement) {\n return null;\n }\n return (\n <ElementRenderer\n key={childKey}\n element={childElement}\n tree={tree}\n registry={registry}\n loading={loading}\n fallback={fallback}\n />\n );\n });\n\n return (\n <Component element={element} onAction={execute} loading={loading}>\n {children}\n </Component>\n );\n}\n\n/**\n * Main renderer component\n */\nexport function JsonRenderElement({ tree, registry, loading, fallback }: RendererProps) {\n if (!tree || !tree.root) {\n return null;\n }\n\n const rootElement = tree.elements[tree.root];\n if (!rootElement) {\n return null;\n }\n\n return (\n <ElementRenderer\n element={rootElement}\n tree={tree}\n registry={registry}\n loading={loading}\n fallback={fallback}\n />\n );\n}\n\n/**\n * Props for JSONUIProvider\n */\nexport interface JSONUIProviderProps {\n /** Component registry */\n registry: ComponentRegistry;\n /** Initial data model */\n initialData?: Record<string, unknown>;\n /** Auth state */\n authState?: { isSignedIn: boolean; user?: Record<string, unknown> };\n /** Action handlers */\n actionHandlers?: Record<\n string,\n (params: Record<string, unknown>) => Promise<unknown> | unknown\n >;\n /** Navigation function */\n navigate?: (path: string) => void;\n /** Custom validation functions */\n validationFunctions?: Record<\n string,\n (value: unknown, args?: Record<string, unknown>) => boolean\n >;\n /** Callback when data changes */\n onDataChange?: (path: string, value: unknown) => void;\n children: ReactNode;\n}\n\n\n/**\n * Combined provider for all JSONUI contexts\n */\nexport function JSONUIProvider({\n registry,\n initialData,\n authState,\n actionHandlers,\n navigate,\n validationFunctions,\n onDataChange,\n children,\n}: JSONUIProviderProps) {\n return (\n <DataProvider\n initialData={initialData}\n authState={authState}\n onDataChange={onDataChange}\n >\n <VisibilityProvider>\n <ActionProvider handlers={actionHandlers} navigate={navigate}>\n <ValidationProvider customFunctions={validationFunctions}>\n {children}\n <ConfirmationDialogManager />\n </ValidationProvider>\n </ActionProvider>\n </VisibilityProvider>\n </DataProvider>\n );\n}\n\n/**\n * Renders the confirmation dialog when needed\n */\nfunction ConfirmationDialogManager() {\n const { pendingConfirmation, confirm, cancel } = useActions();\n\n if (!pendingConfirmation?.action.confirm) {\n return null;\n }\n\n return (\n <ConfirmDialog\n confirm={pendingConfirmation.action.confirm}\n onConfirm={confirm}\n onCancel={cancel}\n />\n );\n}\n\n/**\n * Helper to create a renderer component from a catalog\n */\nexport function createRendererFromCatalog<\n C extends Catalog<Record<string, ComponentDefinition>>,\n>(\n _catalog: C,\n registry: ComponentRegistry,\n): ComponentType<Omit<RendererProps, \"registry\">> {\n return function CatalogRenderer(props: Omit<RendererProps, \"registry\">) {\n return <JsonRenderElement {...props} registry={registry} />;\n };\n}\n"],"names":["ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","ElementRenderer","_ref","_registry$element$typ","_element$children","element","tree","registry","loading","fallback","isVisible","useIsVisible","visible","_useActions","useActions","execute","Component","type","console","warn","concat","children","map","childKey","childElement","elements","React","createElement","key","onAction","JsonRenderElement","_ref2","root","rootElement","JSONUIProvider","_ref3","initialData","authState","actionHandlers","navigate","validationFunctions","onDataChange","DataProvider","VisibilityProvider","ActionProvider","handlers","ValidationProvider","customFunctions","ConfirmationDialogManager","_useActions2","pendingConfirmation","confirm","cancel","action","ConfirmDialog","onConfirm","onCancel","createRendererFromCatalog","_catalog","CatalogRenderer","props"],"mappings":"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"}
@@ -1,71 +0,0 @@
1
- import { type ComponentType, type ReactNode } from "react";
2
- import type { UIElement, UITree, Action, Catalog, ComponentDefinition } from "@json-render/core";
3
- /**
4
- * Props passed to component renderers
5
- */
6
- export interface ComponentRenderProps<P = Record<string, unknown>> {
7
- /** The element being rendered */
8
- element: UIElement<string, P>;
9
- /** Rendered children */
10
- children?: ReactNode;
11
- /** Execute an action */
12
- onAction?: (action: Action) => void;
13
- /** Whether the parent is loading */
14
- loading?: boolean;
15
- }
16
- /**
17
- * Component renderer type
18
- */
19
- export type ComponentRenderer<P = Record<string, unknown>> = ComponentType<ComponentRenderProps<P>>;
20
- /**
21
- * Registry of component renderers
22
- */
23
- export type ComponentRegistry = Record<string, ComponentRenderer<any>>;
24
- /**
25
- * Props for the Renderer component
26
- */
27
- export interface RendererProps {
28
- /** The UI tree to render */
29
- tree: UITree | null;
30
- /** Component registry */
31
- registry: ComponentRegistry;
32
- /** Whether the tree is currently loading/streaming */
33
- loading?: boolean;
34
- /** Fallback component for unknown types */
35
- fallback?: ComponentRenderer;
36
- }
37
- /**
38
- * Main renderer component
39
- */
40
- export declare function Renderer({ tree, registry, loading, fallback }: RendererProps): import("react/jsx-runtime").JSX.Element;
41
- /**
42
- * Props for JSONUIProvider
43
- */
44
- export interface JSONUIProviderProps {
45
- /** Component registry */
46
- registry: ComponentRegistry;
47
- /** Initial data model */
48
- initialData?: Record<string, unknown>;
49
- /** Auth state */
50
- authState?: {
51
- isSignedIn: boolean;
52
- user?: Record<string, unknown>;
53
- };
54
- /** Action handlers */
55
- actionHandlers?: Record<string, (params: Record<string, unknown>) => Promise<unknown> | unknown>;
56
- /** Navigation function */
57
- navigate?: (path: string) => void;
58
- /** Custom validation functions */
59
- validationFunctions?: Record<string, (value: unknown, args?: Record<string, unknown>) => boolean>;
60
- /** Callback when data changes */
61
- onDataChange?: (path: string, value: unknown) => void;
62
- children: ReactNode;
63
- }
64
- /**
65
- * Combined provider for all JSONUI contexts
66
- */
67
- export declare function JSONUIProvider({ registry, initialData, authState, actionHandlers, navigate, validationFunctions, onDataChange, children, }: JSONUIProviderProps): import("react/jsx-runtime").JSX.Element;
68
- /**
69
- * Helper to create a renderer component from a catalog
70
- */
71
- export declare function createRendererFromCatalog<C extends Catalog<Record<string, ComponentDefinition>>>(_catalog: C, registry: ComponentRegistry): ComponentType<Omit<RendererProps, "registry">>;
@@ -1,124 +0,0 @@
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 React from 'react';
9
- import { useIsVisible, VisibilityProvider } from './contexts/visibility.js';
10
- import { useActions, ActionProvider, ConfirmDialog } from './contexts/actions.js';
11
- import { DataProvider } from './contexts/data.js';
12
- import { ValidationProvider } from './contexts/validation.js';
13
- import '@json-render/core';
14
- import '@babel/runtime/helpers/typeof';
15
- import '@babel/runtime/helpers/slicedToArray';
16
- import '@babel/runtime/helpers/asyncToGenerator';
17
- import '@babel/runtime/regenerator';
18
- import '@babel/runtime/helpers/objectWithoutProperties';
19
-
20
- "use client";
21
- 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; }
22
- 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; }
23
- function ElementRenderer(_ref) {
24
- var _registry$element$typ, _element$children;
25
- var element = _ref.element,
26
- tree = _ref.tree,
27
- registry = _ref.registry,
28
- loading = _ref.loading,
29
- fallback = _ref.fallback;
30
- var isVisible = useIsVisible(element.visible);
31
- var _useActions = useActions(),
32
- execute = _useActions.execute;
33
- if (!isVisible) {
34
- return null;
35
- }
36
- var Component = (_registry$element$typ = registry[element.type]) !== null && _registry$element$typ !== void 0 ? _registry$element$typ : fallback;
37
- if (!Component) {
38
- console.warn("No renderer for component type: ".concat(element.type));
39
- return null;
40
- }
41
- var children = (_element$children = element.children) === null || _element$children === void 0 ? void 0 : _element$children.map(function (childKey) {
42
- var childElement = tree.elements[childKey];
43
- if (!childElement) {
44
- return null;
45
- }
46
- return /* @__PURE__ */React.createElement(ElementRenderer, {
47
- key: childKey,
48
- element: childElement,
49
- tree: tree,
50
- registry: registry,
51
- loading: loading,
52
- fallback: fallback
53
- });
54
- });
55
- return /* @__PURE__ */React.createElement(Component, {
56
- element: element,
57
- onAction: execute,
58
- loading: loading
59
- }, children);
60
- }
61
- function Renderer(_ref2) {
62
- var tree = _ref2.tree,
63
- registry = _ref2.registry,
64
- loading = _ref2.loading,
65
- fallback = _ref2.fallback;
66
- if (!tree || !tree.root) {
67
- return null;
68
- }
69
- var rootElement = tree.elements[tree.root];
70
- if (!rootElement) {
71
- return null;
72
- }
73
- return /* @__PURE__ */React.createElement(ElementRenderer, {
74
- element: rootElement,
75
- tree: tree,
76
- registry: registry,
77
- loading: loading,
78
- fallback: fallback
79
- });
80
- }
81
- function JSONUIProvider(_ref3) {
82
- var registry = _ref3.registry,
83
- initialData = _ref3.initialData,
84
- authState = _ref3.authState,
85
- actionHandlers = _ref3.actionHandlers,
86
- navigate = _ref3.navigate,
87
- validationFunctions = _ref3.validationFunctions,
88
- onDataChange = _ref3.onDataChange,
89
- children = _ref3.children;
90
- return /* @__PURE__ */React.createElement(DataProvider, {
91
- initialData: initialData,
92
- authState: authState,
93
- onDataChange: onDataChange
94
- }, /* @__PURE__ */React.createElement(VisibilityProvider, null, /* @__PURE__ */React.createElement(ActionProvider, {
95
- handlers: actionHandlers,
96
- navigate: navigate
97
- }, /* @__PURE__ */React.createElement(ValidationProvider, {
98
- customFunctions: validationFunctions
99
- }, children, /* @__PURE__ */React.createElement(ConfirmationDialogManager, null)))));
100
- }
101
- function ConfirmationDialogManager() {
102
- var _useActions2 = useActions(),
103
- pendingConfirmation = _useActions2.pendingConfirmation,
104
- confirm = _useActions2.confirm,
105
- cancel = _useActions2.cancel;
106
- if (!(pendingConfirmation !== null && pendingConfirmation !== void 0 && pendingConfirmation.action.confirm)) {
107
- return null;
108
- }
109
- return /* @__PURE__ */React.createElement(ConfirmDialog, {
110
- confirm: pendingConfirmation.action.confirm,
111
- onConfirm: confirm,
112
- onCancel: cancel
113
- });
114
- }
115
- function createRendererFromCatalog(_catalog, registry) {
116
- return function CatalogRenderer(props) {
117
- return /* @__PURE__ */React.createElement(Renderer, _objectSpread(_objectSpread({}, props), {}, {
118
- registry: registry
119
- }));
120
- };
121
- }
122
-
123
- export { JSONUIProvider, Renderer, createRendererFromCatalog };
124
- //# sourceMappingURL=renderer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"renderer.js","sources":["../../../../../pro-components/chat/chat-engine/components/json-render/renderer.tsx"],"sourcesContent":["\"use client\";\n\nimport React, { type ComponentType, type ReactNode, useMemo } from \"react\";\nimport type {\n UIElement,\n UITree,\n Action,\n Catalog,\n ComponentDefinition,\n} from \"@json-render/core\";\nimport { useIsVisible } from \"./contexts/visibility\";\nimport { useActions } from \"./contexts/actions\";\n\n/**\n * Props passed to component renderers\n */\nexport interface ComponentRenderProps<P = Record<string, unknown>> {\n /** The element being rendered */\n element: UIElement<string, P>;\n /** Rendered children */\n children?: ReactNode;\n /** Execute an action */\n onAction?: (action: Action) => void;\n /** Whether the parent is loading */\n loading?: boolean;\n}\n\n/**\n * Component renderer type\n */\nexport type ComponentRenderer<P = Record<string, unknown>> = ComponentType<\n ComponentRenderProps<P>\n>;\n\n/**\n * Registry of component renderers\n */\nexport type ComponentRegistry = Record<string, ComponentRenderer<any>>;\n\n/**\n * Props for the Renderer component\n */\nexport interface RendererProps {\n /** The UI tree to render */\n tree: UITree | null;\n /** Component registry */\n registry: ComponentRegistry;\n /** Whether the tree is currently loading/streaming */\n loading?: boolean;\n /** Fallback component for unknown types */\n fallback?: ComponentRenderer;\n}\n\n/**\n * Element renderer component\n */\nfunction ElementRenderer({\n element,\n tree,\n registry,\n loading,\n fallback,\n}: {\n element: UIElement;\n tree: UITree;\n registry: ComponentRegistry;\n loading?: boolean;\n fallback?: ComponentRenderer;\n}) {\n const isVisible = useIsVisible(element.visible);\n const { execute } = useActions();\n\n // Don't render if not visible\n if (!isVisible) {\n return null;\n }\n\n // Get the component renderer\n const Component = registry[element.type] ?? fallback;\n\n if (!Component) {\n console.warn(`No renderer for component type: ${element.type}`);\n return null;\n }\n\n // Render children\n const children = element.children?.map((childKey) => {\n const childElement = tree.elements[childKey];\n if (!childElement) {\n return null;\n }\n return (\n <ElementRenderer\n key={childKey}\n element={childElement}\n tree={tree}\n registry={registry}\n loading={loading}\n fallback={fallback}\n />\n );\n });\n\n return (\n <Component element={element} onAction={execute} loading={loading}>\n {children}\n </Component>\n );\n}\n\n/**\n * Main renderer component\n */\nexport function Renderer({ tree, registry, loading, fallback }: RendererProps) {\n if (!tree || !tree.root) {\n return null;\n }\n\n const rootElement = tree.elements[tree.root];\n if (!rootElement) {\n return null;\n }\n\n return (\n <ElementRenderer\n element={rootElement}\n tree={tree}\n registry={registry}\n loading={loading}\n fallback={fallback}\n />\n );\n}\n\n/**\n * Props for JSONUIProvider\n */\nexport interface JSONUIProviderProps {\n /** Component registry */\n registry: ComponentRegistry;\n /** Initial data model */\n initialData?: Record<string, unknown>;\n /** Auth state */\n authState?: { isSignedIn: boolean; user?: Record<string, unknown> };\n /** Action handlers */\n actionHandlers?: Record<\n string,\n (params: Record<string, unknown>) => Promise<unknown> | unknown\n >;\n /** Navigation function */\n navigate?: (path: string) => void;\n /** Custom validation functions */\n validationFunctions?: Record<\n string,\n (value: unknown, args?: Record<string, unknown>) => boolean\n >;\n /** Callback when data changes */\n onDataChange?: (path: string, value: unknown) => void;\n children: ReactNode;\n}\n\n// Import the providers\nimport { DataProvider } from \"./contexts/data\";\nimport { VisibilityProvider } from \"./contexts/visibility\";\nimport { ActionProvider } from \"./contexts/actions\";\nimport { ValidationProvider } from \"./contexts/validation\";\nimport { ConfirmDialog } from \"./contexts/actions\";\n\n/**\n * Combined provider for all JSONUI contexts\n */\nexport function JSONUIProvider({\n registry,\n initialData,\n authState,\n actionHandlers,\n navigate,\n validationFunctions,\n onDataChange,\n children,\n}: JSONUIProviderProps) {\n return (\n <DataProvider\n initialData={initialData}\n authState={authState}\n onDataChange={onDataChange}\n >\n <VisibilityProvider>\n <ActionProvider handlers={actionHandlers} navigate={navigate}>\n <ValidationProvider customFunctions={validationFunctions}>\n {children}\n <ConfirmationDialogManager />\n </ValidationProvider>\n </ActionProvider>\n </VisibilityProvider>\n </DataProvider>\n );\n}\n\n/**\n * Renders the confirmation dialog when needed\n */\nfunction ConfirmationDialogManager() {\n const { pendingConfirmation, confirm, cancel } = useActions();\n\n if (!pendingConfirmation?.action.confirm) {\n return null;\n }\n\n return (\n <ConfirmDialog\n confirm={pendingConfirmation.action.confirm}\n onConfirm={confirm}\n onCancel={cancel}\n />\n );\n}\n\n/**\n * Helper to create a renderer component from a catalog\n */\nexport function createRendererFromCatalog<\n C extends Catalog<Record<string, ComponentDefinition>>,\n>(\n _catalog: C,\n registry: ComponentRegistry,\n): ComponentType<Omit<RendererProps, \"registry\">> {\n return function CatalogRenderer(props: Omit<RendererProps, \"registry\">) {\n return <Renderer {...props} registry={registry} />;\n };\n}\n"],"names":["ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","ElementRenderer","_ref","_registry$element$typ","_element$children","element","tree","registry","loading","fallback","isVisible","useIsVisible","visible","_useActions","useActions","execute","Component","type","console","warn","concat","children","map","childKey","childElement","elements","React","createElement","key","onAction","Renderer","_ref2","root","rootElement","JSONUIProvider","_ref3","initialData","authState","actionHandlers","navigate","validationFunctions","onDataChange","DataProvider","VisibilityProvider","ActionProvider","handlers","ValidationProvider","customFunctions","ConfirmationDialogManager","_useActions2","pendingConfirmation","confirm","cancel","action","ConfirmDialog","onConfirm","onCancel","createRendererFromCatalog","_catalog","CatalogRenderer","props"],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- /**
2
- * A2UI 核心层导出
3
- * 框架无关,可跨 React/Vue 复用
4
- */
5
- export * from './types';
6
- export * from './utils';
7
- export { A2uiMessageProcessor, createA2uiProcessor, type A2uiMessageProcessorOptions, type SurfaceSnapshot, type SurfaceListener, } from './processor/A2uiMessageProcessor';
8
- export { DataStore, createDataStore } from './processor/DataStore';
9
- export { ComponentTree } from './processor/ComponentTree';
10
- export { PathResolver, pathResolver } from './processor/PathResolver';
@@ -1,24 +0,0 @@
1
- /**
2
- * tdesign v1.0.2-alpha.14
3
- * (c) 2026 tdesign
4
- * @license MIT
5
- */
6
-
7
- import './types/index.js';
8
- import './utils/index.js';
9
- export { A2uiMessageProcessor, createA2uiProcessor } from './processor/A2uiMessageProcessor.js';
10
- export { DataStore, createDataStore } from './processor/DataStore.js';
11
- export { ComponentTree } from './processor/ComponentTree.js';
12
- export { PathResolver, pathResolver } from './processor/PathResolver.js';
13
- export { A2UIActionSchema, A2UIComponentBaseSchema, A2UIComponentType, A2UISurfaceSchema, ExprBindingSchema, PathBindingSchema, booleanOrPathSchema, childrenPropertySchema, componentCommonSchema, createSurfaceMessageSchema, deleteSurfaceMessageSchema, numberOrPathSchema, serverMessageSchema, stringArrayOrPathSchema, stringOrPathSchema, updateComponentsMessageSchema, updateDataModelMessageSchema } from './types/types.js';
14
- export { evaluateExpression, formatValue, isExprBinding, isPathBinding, resolveBinding, resolveExprBinding, resolvePathBinding } from './utils/binding.js';
15
- export { formatValidationErrors, safeParseJSON, validateAction, validateBindingPath, validateComponent, validateOperation, validateOperations } from './utils/validation.js';
16
- import '@babel/runtime/helpers/typeof';
17
- import '@babel/runtime/helpers/classCallCheck';
18
- import '@babel/runtime/helpers/createClass';
19
- import '@babel/runtime/helpers/defineProperty';
20
- import '@babel/runtime/helpers/slicedToArray';
21
- import '@babel/runtime/helpers/toArray';
22
- import 'zod';
23
- import '@babel/runtime/helpers/toConsumableArray';
24
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;"}