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

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 (526) hide show
  1. package/es/_chunks/{dep-3e40d789.js → dep-5d7a98b7.js} +2 -2
  2. package/es/_chunks/{dep-3e40d789.js.map → dep-5d7a98b7.js.map} +1 -1
  3. package/es/_chunks/{dep-1ca64fef.js → dep-907337f3.js} +2 -2
  4. package/es/_chunks/{dep-93283bbd.js.map → dep-907337f3.js.map} +1 -1
  5. package/es/_chunks/{dep-dfe91b1f.js → dep-e1e84ed7.js} +1 -1
  6. package/es/_chunks/{dep-13fe70ea.js.map → dep-e1e84ed7.js.map} +1 -1
  7. package/es/_chunks/{dep-076af7c3.js → dep-ee7a509c.js} +3 -3
  8. package/es/_chunks/{dep-076af7c3.js.map → dep-ee7a509c.js.map} +1 -1
  9. package/es/_util/reactify.js +1 -1
  10. package/es/_util/useDynamicStyle.js +1 -1
  11. package/es/attachments/index.js +1 -1
  12. package/es/chat-actionbar/index.js +1 -1
  13. package/es/chat-engine/components/activity/index.js +2 -2
  14. package/es/chat-engine/components/activity/registry.js +1 -1
  15. package/es/chat-engine/components/activity/render.js +2 -2
  16. package/es/chat-engine/components/activity/types.js +1 -1
  17. package/es/chat-engine/components/index.js +12 -6
  18. package/es/chat-engine/components/index.js.map +1 -1
  19. package/es/chat-engine/components/json-render/catalog/atomic/button.js +1 -1
  20. package/es/chat-engine/components/json-render/catalog/atomic/card.js +1 -1
  21. package/es/chat-engine/components/json-render/catalog/atomic/input.js +12 -6
  22. package/es/chat-engine/components/json-render/catalog/atomic/input.js.map +1 -1
  23. package/es/chat-engine/components/json-render/catalog/atomic/layout.js +1 -1
  24. package/es/chat-engine/components/json-render/catalog/atomic/text.js +1 -1
  25. package/es/chat-engine/components/json-render/catalog/catalog-to-prompt.js +1 -1
  26. package/es/chat-engine/components/json-render/contexts/actions.js +2 -2
  27. package/es/chat-engine/components/json-render/contexts/data.js +2 -2
  28. package/es/chat-engine/components/json-render/contexts/index.js +2 -2
  29. package/es/chat-engine/components/json-render/contexts/store.js +1 -1
  30. package/es/chat-engine/components/json-render/contexts/tree.js +1 -1
  31. package/es/chat-engine/components/json-render/contexts/validation.js +2 -2
  32. package/es/chat-engine/components/json-render/contexts/visibility.js +2 -2
  33. package/es/chat-engine/components/json-render/index.js +12 -6
  34. package/es/chat-engine/components/json-render/index.js.map +1 -1
  35. package/es/chat-engine/components/json-render/registry/a2ui-binding.js +12 -6
  36. package/es/chat-engine/components/json-render/registry/a2ui-binding.js.map +1 -1
  37. package/es/chat-engine/components/json-render/registry/a2ui-registry.js +12 -6
  38. package/es/chat-engine/components/json-render/registry/a2ui-registry.js.map +1 -1
  39. package/es/chat-engine/components/json-render/registry/config.js +12 -6
  40. package/es/chat-engine/components/json-render/registry/config.js.map +1 -1
  41. package/es/chat-engine/components/json-render/registry/index.js +12 -6
  42. package/es/chat-engine/components/json-render/registry/index.js.map +1 -1
  43. package/es/chat-engine/components/json-render/renderer/A2UIJsonRenderActivityRenderer.js +11 -5
  44. package/es/chat-engine/components/json-render/renderer/A2UIJsonRenderActivityRenderer.js.map +1 -1
  45. package/es/chat-engine/components/json-render/renderer/JsonRenderActivityRenderer.js +3 -3
  46. package/es/chat-engine/components/json-render/renderer/JsonUIRenderer.js +2 -2
  47. package/es/chat-engine/components/json-render/renderer/_index.js +2 -2
  48. package/es/chat-engine/components/json-render/types.js +1 -1
  49. package/es/chat-engine/components/provider/agent-state.js +10 -4
  50. package/es/chat-engine/components/provider/agent-state.js.map +1 -1
  51. package/es/chat-engine/components/shared/ComponentErrorBoundary.js +1 -1
  52. package/es/chat-engine/components/shared/createRegistry.js +1 -1
  53. package/es/chat-engine/components/shared/index.js +1 -1
  54. package/es/chat-engine/components/shared/useRegistrationListener.js +1 -1
  55. package/es/chat-engine/components/toolcall/index.js +10 -4
  56. package/es/chat-engine/components/toolcall/index.js.map +1 -1
  57. package/es/chat-engine/components/toolcall/registry.js +1 -1
  58. package/es/chat-engine/components/toolcall/render.js +9 -3
  59. package/es/chat-engine/components/toolcall/render.js.map +1 -1
  60. package/es/chat-engine/components/toolcall/types.js +1 -1
  61. package/es/chat-engine/core/adapters/a2ui/index.js +1 -1
  62. package/es/chat-engine/core/adapters/a2ui/processor/A2uiMessageProcessor.js +1 -1
  63. package/es/chat-engine/core/adapters/a2ui/processor/ComponentTree.js +1 -1
  64. package/es/chat-engine/core/adapters/a2ui/processor/DataStore.js +1 -1
  65. package/es/chat-engine/core/adapters/a2ui/processor/PathResolver.js +1 -1
  66. package/es/chat-engine/core/adapters/a2ui/types/index.js +1 -1
  67. package/es/chat-engine/core/adapters/a2ui/types/types.js +1 -1
  68. package/es/chat-engine/core/adapters/a2ui/utils/binding.js +1 -1
  69. package/es/chat-engine/core/adapters/a2ui/utils/index.js +1 -1
  70. package/es/chat-engine/core/adapters/a2ui/utils/validation.js +1 -1
  71. package/es/chat-engine/core/adapters/agui/ActivityManager.js +1 -1
  72. package/es/chat-engine/core/adapters/agui/StateManager.js +1 -1
  73. package/es/chat-engine/core/adapters/agui/event-mapper.js +1 -1
  74. package/es/chat-engine/core/adapters/agui/index.js +21 -52
  75. package/es/chat-engine/core/adapters/agui/index.js.map +1 -1
  76. package/es/chat-engine/core/adapters/agui/types/events.js +1 -1
  77. package/es/chat-engine/core/adapters/agui/types/index.js +1 -1
  78. package/es/chat-engine/core/adapters/agui/utils.d.ts +25 -2
  79. package/es/chat-engine/core/adapters/agui/utils.js +52 -12
  80. package/es/chat-engine/core/adapters/agui/utils.js.map +1 -1
  81. package/es/chat-engine/core/adapters/index.js +3 -1
  82. package/es/chat-engine/core/adapters/index.js.map +1 -1
  83. package/es/chat-engine/core/adapters/json-render/SurfaceStateManager.js +1 -1
  84. package/es/chat-engine/core/adapters/json-render/a2ui-to-jsonrender.js +1 -1
  85. package/es/chat-engine/core/adapters/json-render/engine.js +1 -1
  86. package/es/chat-engine/core/adapters/json-render/index.js +1 -1
  87. package/es/chat-engine/core/adapters/json-render/types/a2ui.js +1 -1
  88. package/es/chat-engine/core/adapters/json-render/types/core.js +1 -1
  89. package/es/chat-engine/core/adapters/json-render/types/index.js +1 -1
  90. package/es/chat-engine/core/adapters/openclaw/device-key-manager.d.ts +65 -0
  91. package/es/chat-engine/core/adapters/openclaw/device-key-manager.js +375 -0
  92. package/es/chat-engine/core/adapters/openclaw/device-key-manager.js.map +1 -0
  93. package/es/chat-engine/core/adapters/openclaw/event-mapper.d.ts +36 -14
  94. package/es/chat-engine/core/adapters/openclaw/event-mapper.js +37 -21
  95. package/es/chat-engine/core/adapters/openclaw/event-mapper.js.map +1 -1
  96. package/es/chat-engine/core/adapters/openclaw/history-converter.d.ts +120 -0
  97. package/es/chat-engine/core/adapters/openclaw/history-converter.js +251 -0
  98. package/es/chat-engine/core/adapters/openclaw/history-converter.js.map +1 -0
  99. package/es/chat-engine/core/adapters/openclaw/index.d.ts +41 -0
  100. package/es/chat-engine/core/adapters/openclaw/index.js +146 -46
  101. package/es/chat-engine/core/adapters/openclaw/index.js.map +1 -1
  102. package/es/chat-engine/core/adapters/openclaw/rpc-handler.d.ts +13 -0
  103. package/es/chat-engine/core/adapters/openclaw/rpc-handler.js +20 -1
  104. package/es/chat-engine/core/adapters/openclaw/rpc-handler.js.map +1 -1
  105. package/es/chat-engine/core/adapters/openclaw/types/config.d.ts +17 -18
  106. package/es/chat-engine/core/adapters/openclaw/types/config.js +4 -2
  107. package/es/chat-engine/core/adapters/openclaw/types/config.js.map +1 -1
  108. package/es/chat-engine/core/adapters/openclaw/types/events.d.ts +5 -1
  109. package/es/chat-engine/core/adapters/openclaw/types/events.js +3 -1
  110. package/es/chat-engine/core/adapters/openclaw/types/events.js.map +1 -1
  111. package/es/chat-engine/core/adapters/openclaw/types/index.js +1 -1
  112. package/es/chat-engine/core/adapters/openclaw/types/messages.d.ts +22 -0
  113. package/es/chat-engine/core/adapters/openclaw/types/messages.js +1 -1
  114. package/es/chat-engine/core/adapters/openclaw/types/messages.js.map +1 -1
  115. package/es/chat-engine/core/adapters/openclaw/utils.js +1 -1
  116. package/es/chat-engine/core/adapters/openclaw/utils.js.map +1 -1
  117. package/es/chat-engine/core/adapters/shared/activity-manager.js +1 -1
  118. package/es/chat-engine/core/adapters/shared/content-factory.js +1 -1
  119. package/es/chat-engine/core/adapters/shared/index.js +1 -1
  120. package/es/chat-engine/core/adapters/shared/merge-utils.js +1 -1
  121. package/es/chat-engine/core/event-bus/ChatEventBus.js +1 -1
  122. package/es/chat-engine/core/event-bus/index.js +1 -1
  123. package/es/chat-engine/core/event-bus/types.js +1 -1
  124. package/es/chat-engine/core/index.d.ts +27 -25
  125. package/es/chat-engine/core/index.js +231 -359
  126. package/es/chat-engine/core/index.js.map +1 -1
  127. package/es/chat-engine/core/processor/index.d.ts +32 -0
  128. package/es/chat-engine/core/processor/index.js +76 -1
  129. package/es/chat-engine/core/processor/index.js.map +1 -1
  130. package/es/chat-engine/core/server/batch-client.js +1 -1
  131. package/es/chat-engine/core/server/connection-manager.js +1 -1
  132. package/es/chat-engine/core/server/errors.js +1 -1
  133. package/es/chat-engine/core/server/index.js +1 -21
  134. package/es/chat-engine/core/server/index.js.map +1 -1
  135. package/es/chat-engine/core/server/llm-service.d.ts +7 -7
  136. package/es/chat-engine/core/server/llm-service.js +13 -140
  137. package/es/chat-engine/core/server/llm-service.js.map +1 -1
  138. package/es/chat-engine/core/server/sse-client.js +1 -1
  139. package/es/chat-engine/core/server/sse-parser.js +1 -1
  140. package/es/chat-engine/core/server/types.js +1 -1
  141. package/es/chat-engine/core/server/websocket-client.d.ts +2 -0
  142. package/es/chat-engine/core/server/websocket-client.js +19 -3
  143. package/es/chat-engine/core/server/websocket-client.js.map +1 -1
  144. package/es/chat-engine/core/store/message.js +2 -2
  145. package/es/chat-engine/core/store/model.js +2 -2
  146. package/es/chat-engine/core/store/reactiveState.js +2 -2
  147. package/es/chat-engine/core/stream-handlers/agui-stream-handler.d.ts +24 -0
  148. package/es/chat-engine/core/stream-handlers/agui-stream-handler.js +140 -0
  149. package/es/chat-engine/core/stream-handlers/agui-stream-handler.js.map +1 -0
  150. package/es/chat-engine/core/stream-handlers/default-stream-handler.d.ts +7 -0
  151. package/es/chat-engine/core/stream-handlers/default-stream-handler.js +77 -0
  152. package/es/chat-engine/core/stream-handlers/default-stream-handler.js.map +1 -0
  153. package/es/chat-engine/core/stream-handlers/index.d.ts +21 -0
  154. package/es/chat-engine/core/stream-handlers/index.js +72 -0
  155. package/es/chat-engine/core/stream-handlers/index.js.map +1 -0
  156. package/es/chat-engine/core/stream-handlers/openclaw-stream-handler.d.ts +64 -0
  157. package/es/chat-engine/core/stream-handlers/openclaw-stream-handler.js +320 -0
  158. package/es/chat-engine/core/stream-handlers/openclaw-stream-handler.js.map +1 -0
  159. package/es/chat-engine/core/stream-handlers/types.d.ts +47 -0
  160. package/es/chat-engine/core/stream-handlers/types.js +7 -0
  161. package/es/chat-engine/core/stream-handlers/types.js.map +1 -0
  162. package/es/chat-engine/core/type.d.ts +18 -0
  163. package/es/chat-engine/core/type.js +1 -1
  164. package/es/chat-engine/core/utils/eventEmitter.js +1 -1
  165. package/es/chat-engine/core/utils/immutable-patch.js +1 -1
  166. package/es/chat-engine/core/utils/index.js +1 -1
  167. package/es/chat-engine/core/utils/json-patch/helpers.js +1 -1
  168. package/es/chat-engine/core/utils/json-patch/index.js +1 -1
  169. package/es/chat-engine/core/utils/logger.js +1 -1
  170. package/es/chat-engine/core/utils/performance.js +1 -1
  171. package/es/chat-engine/hooks/index.js +10 -4
  172. package/es/chat-engine/hooks/index.js.map +1 -1
  173. package/es/chat-engine/hooks/useAgentActivity.js +1 -1
  174. package/es/chat-engine/hooks/useAgentState.js +10 -4
  175. package/es/chat-engine/hooks/useAgentState.js.map +1 -1
  176. package/es/chat-engine/hooks/useAgentToolcall.js +1 -1
  177. package/es/chat-engine/hooks/useChat.js +45 -15
  178. package/es/chat-engine/hooks/useChat.js.map +1 -1
  179. package/es/chat-engine/index.js +12 -6
  180. package/es/chat-engine/index.js.map +1 -1
  181. package/es/chat-filecard/index.js +1 -1
  182. package/es/chat-loading/index.js +1 -1
  183. package/es/chat-markdown/index.js +1 -1
  184. package/es/chat-message/index.js +1 -1
  185. package/es/chat-sender/index.js +1 -1
  186. package/es/chat-thinking/index.js +1 -1
  187. package/es/chatbot/index.js +1 -1
  188. package/es/index.js +10 -4
  189. package/es/index.js.map +1 -1
  190. package/es/style/index.js +1 -1
  191. package/package.json +1 -1
  192. package/es/_chunks/dep-1007ac80.js +0 -205
  193. package/es/_chunks/dep-1007ac80.js.map +0 -1
  194. package/es/_chunks/dep-13fe70ea.js +0 -438
  195. package/es/_chunks/dep-16520c2b.js +0 -1247
  196. package/es/_chunks/dep-16520c2b.js.map +0 -1
  197. package/es/_chunks/dep-1743bd61.js +0 -438
  198. package/es/_chunks/dep-1743bd61.js.map +0 -1
  199. package/es/_chunks/dep-1ca64fef.js.map +0 -1
  200. package/es/_chunks/dep-24472232.js +0 -839
  201. package/es/_chunks/dep-24472232.js.map +0 -1
  202. package/es/_chunks/dep-2bfe72cb.js +0 -438
  203. package/es/_chunks/dep-2bfe72cb.js.map +0 -1
  204. package/es/_chunks/dep-3864b369.js +0 -839
  205. package/es/_chunks/dep-3864b369.js.map +0 -1
  206. package/es/_chunks/dep-4dedfbef.js +0 -438
  207. package/es/_chunks/dep-4dedfbef.js.map +0 -1
  208. package/es/_chunks/dep-56f5e08e.js +0 -448
  209. package/es/_chunks/dep-56f5e08e.js.map +0 -1
  210. package/es/_chunks/dep-58d90dfe.js +0 -438
  211. package/es/_chunks/dep-58d90dfe.js.map +0 -1
  212. package/es/_chunks/dep-5b6b17d0.js +0 -169
  213. package/es/_chunks/dep-5b6b17d0.js.map +0 -1
  214. package/es/_chunks/dep-5e2400d2.js +0 -438
  215. package/es/_chunks/dep-5e2400d2.js.map +0 -1
  216. package/es/_chunks/dep-60f2a734.js +0 -169
  217. package/es/_chunks/dep-60f2a734.js.map +0 -1
  218. package/es/_chunks/dep-688e4aaa.js +0 -438
  219. package/es/_chunks/dep-688e4aaa.js.map +0 -1
  220. package/es/_chunks/dep-771678df.js +0 -438
  221. package/es/_chunks/dep-771678df.js.map +0 -1
  222. package/es/_chunks/dep-870f0d35.js +0 -839
  223. package/es/_chunks/dep-870f0d35.js.map +0 -1
  224. package/es/_chunks/dep-93283bbd.js +0 -1247
  225. package/es/_chunks/dep-96eca06f.js +0 -169
  226. package/es/_chunks/dep-96eca06f.js.map +0 -1
  227. package/es/_chunks/dep-98d23dfa.js +0 -169
  228. package/es/_chunks/dep-98d23dfa.js.map +0 -1
  229. package/es/_chunks/dep-991f7c12.js +0 -1247
  230. package/es/_chunks/dep-991f7c12.js.map +0 -1
  231. package/es/_chunks/dep-b4eec30f.js +0 -1247
  232. package/es/_chunks/dep-b4eec30f.js.map +0 -1
  233. package/es/_chunks/dep-ba3bd553.js +0 -169
  234. package/es/_chunks/dep-ba3bd553.js.map +0 -1
  235. package/es/_chunks/dep-bcb234a1.js +0 -839
  236. package/es/_chunks/dep-bcb234a1.js.map +0 -1
  237. package/es/_chunks/dep-dbdfe7d6.js +0 -169
  238. package/es/_chunks/dep-dbdfe7d6.js.map +0 -1
  239. package/es/_chunks/dep-de8ac730.js +0 -1247
  240. package/es/_chunks/dep-de8ac730.js.map +0 -1
  241. package/es/_chunks/dep-dfe91b1f.js.map +0 -1
  242. package/es/_chunks/dep-e9dbff09.js +0 -1247
  243. package/es/_chunks/dep-e9dbff09.js.map +0 -1
  244. package/es/_chunks/dep-ebc4cf30.js +0 -1247
  245. package/es/_chunks/dep-ebc4cf30.js.map +0 -1
  246. package/es/_chunks/dep-f2051ebd.js +0 -839
  247. package/es/_chunks/dep-f2051ebd.js.map +0 -1
  248. package/es/_chunks/dep-f691a67e.js +0 -438
  249. package/es/_chunks/dep-f691a67e.js.map +0 -1
  250. package/es/_chunks/dep-f8016301.js +0 -169
  251. package/es/_chunks/dep-f8016301.js.map +0 -1
  252. package/es/chat-actionbar/_example-js/base.d.ts +0 -2
  253. package/es/chat-actionbar/_example-js/custom.d.ts +0 -2
  254. package/es/chat-actionbar/_example-js/style.d.ts +0 -2
  255. package/es/chat-attachments/_example-js/base.d.ts +0 -2
  256. package/es/chat-attachments/_example-js/scroll-x.d.ts +0 -2
  257. package/es/chat-attachments/_example-js/scroll-y.d.ts +0 -2
  258. package/es/chat-attachments/index.d.ts +0 -5
  259. package/es/chat-attachments/index.js +0 -26
  260. package/es/chat-attachments/index.js.map +0 -1
  261. package/es/chat-engine/_example-js/agui-basic.d.ts +0 -10
  262. package/es/chat-engine/_example-js/agui-comprehensive.d.ts +0 -2
  263. package/es/chat-engine/_example-js/agui-test.d.ts +0 -11
  264. package/es/chat-engine/_example-js/agui-toolcall.d.ts +0 -5
  265. package/es/chat-engine/_example-js/agui-videoclip.d.ts +0 -8
  266. package/es/chat-engine/_example-js/agui.d.ts +0 -1
  267. package/es/chat-engine/_example-js/basic.d.ts +0 -9
  268. package/es/chat-engine/_example-js/components/HotelCard.d.ts +0 -3
  269. package/es/chat-engine/_example-js/components/HumanInputForm.d.ts +0 -6
  270. package/es/chat-engine/_example-js/components/HumanInputResult.d.ts +0 -3
  271. package/es/chat-engine/_example-js/components/ItineraryCard.d.ts +0 -3
  272. package/es/chat-engine/_example-js/components/PlanningStatePanel.d.ts +0 -4
  273. package/es/chat-engine/_example-js/components/Toolcall.d.ts +0 -4
  274. package/es/chat-engine/_example-js/components/WeatherCard.d.ts +0 -3
  275. package/es/chat-engine/_example-js/components/login.d.ts +0 -1
  276. package/es/chat-engine/_example-js/comprehensive.d.ts +0 -12
  277. package/es/chat-engine/_example-js/custom-content.d.ts +0 -1
  278. package/es/chat-engine/_example-js/hookComponent.d.ts +0 -1
  279. package/es/chat-engine/_example-js/initial-messages.d.ts +0 -9
  280. package/es/chat-engine/_example-js/instance-methods.d.ts +0 -13
  281. package/es/chat-engine/_example-js/travel-actions.d.ts +0 -91
  282. package/es/chat-engine/_example-js/travelToolcall.d.ts +0 -1
  283. package/es/chat-engine/components/a2ui/A2UIActivityRenderer.d.ts +0 -196
  284. package/es/chat-engine/components/a2ui/A2UIActivityRenderer.js +0 -301
  285. package/es/chat-engine/components/a2ui/A2UIActivityRenderer.js.map +0 -1
  286. package/es/chat-engine/components/a2ui/A2UIComponentRenderer.d.ts +0 -37
  287. package/es/chat-engine/components/a2ui/A2UIComponentRenderer.js +0 -116
  288. package/es/chat-engine/components/a2ui/A2UIComponentRenderer.js.map +0 -1
  289. package/es/chat-engine/components/a2ui/A2UIErrorBoundary.d.ts +0 -42
  290. package/es/chat-engine/components/a2ui/A2UIErrorBoundary.js +0 -113
  291. package/es/chat-engine/components/a2ui/A2UIErrorBoundary.js.map +0 -1
  292. package/es/chat-engine/components/a2ui/A2UISkeleton.d.ts +0 -60
  293. package/es/chat-engine/components/a2ui/A2UISkeleton.js +0 -197
  294. package/es/chat-engine/components/a2ui/A2UISkeleton.js.map +0 -1
  295. package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.d.ts +0 -44
  296. package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.js +0 -139
  297. package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.js.map +0 -1
  298. package/es/chat-engine/components/a2ui/containers/A2UICard.d.ts +0 -22
  299. package/es/chat-engine/components/a2ui/containers/A2UICard.js +0 -82
  300. package/es/chat-engine/components/a2ui/containers/A2UICard.js.map +0 -1
  301. package/es/chat-engine/components/a2ui/containers/A2UIColumn.d.ts +0 -18
  302. package/es/chat-engine/components/a2ui/containers/A2UIColumn.js +0 -81
  303. package/es/chat-engine/components/a2ui/containers/A2UIColumn.js.map +0 -1
  304. package/es/chat-engine/components/a2ui/containers/A2UIList.d.ts +0 -14
  305. package/es/chat-engine/components/a2ui/containers/A2UIList.js +0 -62
  306. package/es/chat-engine/components/a2ui/containers/A2UIList.js.map +0 -1
  307. package/es/chat-engine/components/a2ui/containers/A2UIRow.d.ts +0 -20
  308. package/es/chat-engine/components/a2ui/containers/A2UIRow.js +0 -84
  309. package/es/chat-engine/components/a2ui/containers/A2UIRow.js.map +0 -1
  310. package/es/chat-engine/components/a2ui/containers/A2UITabs.d.ts +0 -14
  311. package/es/chat-engine/components/a2ui/containers/A2UITabs.js +0 -69
  312. package/es/chat-engine/components/a2ui/containers/A2UITabs.js.map +0 -1
  313. package/es/chat-engine/components/a2ui/containers/index.d.ts +0 -8
  314. package/es/chat-engine/components/a2ui/containers/index.js +0 -30
  315. package/es/chat-engine/components/a2ui/containers/index.js.map +0 -1
  316. package/es/chat-engine/components/a2ui/index.d.ts +0 -11
  317. package/es/chat-engine/components/a2ui/index.js +0 -62
  318. package/es/chat-engine/components/a2ui/index.js.map +0 -1
  319. package/es/chat-engine/components/a2ui/primitives/A2UIButton.d.ts +0 -33
  320. package/es/chat-engine/components/a2ui/primitives/A2UIButton.js +0 -80
  321. package/es/chat-engine/components/a2ui/primitives/A2UIButton.js.map +0 -1
  322. package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.d.ts +0 -12
  323. package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.js +0 -43
  324. package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.js.map +0 -1
  325. package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.d.ts +0 -50
  326. package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.js +0 -54
  327. package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.js.map +0 -1
  328. package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.d.ts +0 -13
  329. package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.js +0 -89
  330. package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.js.map +0 -1
  331. package/es/chat-engine/components/a2ui/primitives/A2UIDivider.d.ts +0 -12
  332. package/es/chat-engine/components/a2ui/primitives/A2UIDivider.js +0 -25
  333. package/es/chat-engine/components/a2ui/primitives/A2UIDivider.js.map +0 -1
  334. package/es/chat-engine/components/a2ui/primitives/A2UIIcon.d.ts +0 -13
  335. package/es/chat-engine/components/a2ui/primitives/A2UIIcon.js +0 -138942
  336. package/es/chat-engine/components/a2ui/primitives/A2UIIcon.js.map +0 -1
  337. package/es/chat-engine/components/a2ui/primitives/A2UIImage.d.ts +0 -12
  338. package/es/chat-engine/components/a2ui/primitives/A2UIImage.js +0 -75
  339. package/es/chat-engine/components/a2ui/primitives/A2UIImage.js.map +0 -1
  340. package/es/chat-engine/components/a2ui/primitives/A2UIInput.d.ts +0 -20
  341. package/es/chat-engine/components/a2ui/primitives/A2UIInput.js +0 -63
  342. package/es/chat-engine/components/a2ui/primitives/A2UIInput.js.map +0 -1
  343. package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.d.ts +0 -56
  344. package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.js +0 -64
  345. package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.js.map +0 -1
  346. package/es/chat-engine/components/a2ui/primitives/A2UISlider.d.ts +0 -12
  347. package/es/chat-engine/components/a2ui/primitives/A2UISlider.js +0 -55
  348. package/es/chat-engine/components/a2ui/primitives/A2UISlider.js.map +0 -1
  349. package/es/chat-engine/components/a2ui/primitives/A2UIText.d.ts +0 -12
  350. package/es/chat-engine/components/a2ui/primitives/A2UIText.js +0 -104
  351. package/es/chat-engine/components/a2ui/primitives/A2UIText.js.map +0 -1
  352. package/es/chat-engine/components/a2ui/primitives/A2UITextField.d.ts +0 -12
  353. package/es/chat-engine/components/a2ui/primitives/A2UITextField.js +0 -80
  354. package/es/chat-engine/components/a2ui/primitives/A2UITextField.js.map +0 -1
  355. package/es/chat-engine/components/a2ui/primitives/index.d.ts +0 -15
  356. package/es/chat-engine/components/a2ui/primitives/index.js +0 -39
  357. package/es/chat-engine/components/a2ui/primitives/index.js.map +0 -1
  358. package/es/chat-engine/components/a2ui/registry.d.ts +0 -35
  359. package/es/chat-engine/components/a2ui/registry.js +0 -74
  360. package/es/chat-engine/components/a2ui/registry.js.map +0 -1
  361. package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.d.ts +0 -36
  362. package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.js +0 -36
  363. package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.js.map +0 -1
  364. package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.d.ts +0 -46
  365. package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.js +0 -36
  366. package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.js.map +0 -1
  367. package/es/chat-engine/components/json-render/SurfaceStateManager.d.ts +0 -113
  368. package/es/chat-engine/components/json-render/SurfaceStateManager.js +0 -195
  369. package/es/chat-engine/components/json-render/SurfaceStateManager.js.map +0 -1
  370. package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.d.ts +0 -49
  371. package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.js +0 -307
  372. package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.js.map +0 -1
  373. package/es/chat-engine/components/json-render/adapters/a2ui-types.d.ts +0 -96
  374. package/es/chat-engine/components/json-render/adapters/a2ui-types.js +0 -7
  375. package/es/chat-engine/components/json-render/adapters/a2ui-types.js.map +0 -1
  376. package/es/chat-engine/components/json-render/adapters/index.d.ts +0 -7
  377. package/es/chat-engine/components/json-render/adapters/index.js +0 -11
  378. package/es/chat-engine/components/json-render/adapters/index.js.map +0 -1
  379. package/es/chat-engine/components/json-render/catalog/a2ui-binding.d.ts +0 -64
  380. package/es/chat-engine/components/json-render/catalog/a2ui-binding.js +0 -36
  381. package/es/chat-engine/components/json-render/catalog/a2ui-binding.js.map +0 -1
  382. package/es/chat-engine/components/json-render/catalog/a2ui-registry.d.ts +0 -78
  383. package/es/chat-engine/components/json-render/catalog/a2ui-registry.js +0 -36
  384. package/es/chat-engine/components/json-render/catalog/a2ui-registry.js.map +0 -1
  385. package/es/chat-engine/components/json-render/catalog/button.d.ts +0 -14
  386. package/es/chat-engine/components/json-render/catalog/button.js +0 -71
  387. package/es/chat-engine/components/json-render/catalog/button.js.map +0 -1
  388. package/es/chat-engine/components/json-render/catalog/card.d.ts +0 -11
  389. package/es/chat-engine/components/json-render/catalog/card.js +0 -57
  390. package/es/chat-engine/components/json-render/catalog/card.js.map +0 -1
  391. package/es/chat-engine/components/json-render/catalog/index.d.ts +0 -128
  392. package/es/chat-engine/components/json-render/catalog/index.js +0 -36
  393. package/es/chat-engine/components/json-render/catalog/index.js.map +0 -1
  394. package/es/chat-engine/components/json-render/catalog/input.d.ts +0 -20
  395. package/es/chat-engine/components/json-render/catalog/input.js +0 -36
  396. package/es/chat-engine/components/json-render/catalog/input.js.map +0 -1
  397. package/es/chat-engine/components/json-render/catalog/layout.d.ts +0 -44
  398. package/es/chat-engine/components/json-render/catalog/layout.js +0 -129
  399. package/es/chat-engine/components/json-render/catalog/layout.js.map +0 -1
  400. package/es/chat-engine/components/json-render/catalog/text.d.ts +0 -11
  401. package/es/chat-engine/components/json-render/catalog/text.js +0 -31
  402. package/es/chat-engine/components/json-render/catalog/text.js.map +0 -1
  403. package/es/chat-engine/components/json-render/catalog.d.ts +0 -614
  404. package/es/chat-engine/components/json-render/catalog.js +0 -779
  405. package/es/chat-engine/components/json-render/catalog.js.map +0 -1
  406. package/es/chat-engine/components/json-render/config.d.ts +0 -154
  407. package/es/chat-engine/components/json-render/config.js +0 -36
  408. package/es/chat-engine/components/json-render/config.js.map +0 -1
  409. package/es/chat-engine/components/json-render/engine.d.ts +0 -58
  410. package/es/chat-engine/components/json-render/engine.js +0 -88
  411. package/es/chat-engine/components/json-render/engine.js.map +0 -1
  412. package/es/chat-engine/components/json-render/performance.d.ts +0 -91
  413. package/es/chat-engine/components/json-render/performance.js +0 -135
  414. package/es/chat-engine/components/json-render/performance.js.map +0 -1
  415. package/es/chat-engine/components/json-render/renderer/index.d.ts +0 -71
  416. package/es/chat-engine/components/json-render/renderer/index.js +0 -125
  417. package/es/chat-engine/components/json-render/renderer/index.js.map +0 -1
  418. package/es/chat-engine/components/json-render/renderer.d.ts +0 -71
  419. package/es/chat-engine/components/json-render/renderer.js +0 -124
  420. package/es/chat-engine/components/json-render/renderer.js.map +0 -1
  421. package/es/chat-engine/core/a2ui/index.d.ts +0 -10
  422. package/es/chat-engine/core/a2ui/index.js +0 -24
  423. package/es/chat-engine/core/a2ui/index.js.map +0 -1
  424. package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.d.ts +0 -197
  425. package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.js +0 -438
  426. package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.js.map +0 -1
  427. package/es/chat-engine/core/a2ui/processor/ComponentTree.d.ts +0 -53
  428. package/es/chat-engine/core/a2ui/processor/ComponentTree.js +0 -158
  429. package/es/chat-engine/core/a2ui/processor/ComponentTree.js.map +0 -1
  430. package/es/chat-engine/core/a2ui/processor/DataStore.d.ts +0 -63
  431. package/es/chat-engine/core/a2ui/processor/DataStore.js +0 -172
  432. package/es/chat-engine/core/a2ui/processor/DataStore.js.map +0 -1
  433. package/es/chat-engine/core/a2ui/processor/PathResolver.d.ts +0 -47
  434. package/es/chat-engine/core/a2ui/processor/PathResolver.js +0 -99
  435. package/es/chat-engine/core/a2ui/processor/PathResolver.js.map +0 -1
  436. package/es/chat-engine/core/a2ui/types/index.d.ts +0 -4
  437. package/es/chat-engine/core/a2ui/types/index.js +0 -9
  438. package/es/chat-engine/core/a2ui/types/index.js.map +0 -1
  439. package/es/chat-engine/core/a2ui/types/types.d.ts +0 -770
  440. package/es/chat-engine/core/a2ui/types/types.js +0 -104
  441. package/es/chat-engine/core/a2ui/types/types.js.map +0 -1
  442. package/es/chat-engine/core/a2ui/utils/binding.d.ts +0 -34
  443. package/es/chat-engine/core/a2ui/utils/binding.js +0 -1784
  444. package/es/chat-engine/core/a2ui/utils/binding.js.map +0 -1
  445. package/es/chat-engine/core/a2ui/utils/index.d.ts +0 -5
  446. package/es/chat-engine/core/a2ui/utils/index.js +0 -13
  447. package/es/chat-engine/core/a2ui/utils/index.js.map +0 -1
  448. package/es/chat-engine/core/a2ui/utils/validation.d.ts +0 -70
  449. package/es/chat-engine/core/a2ui/utils/validation.js +0 -333
  450. package/es/chat-engine/core/a2ui/utils/validation.js.map +0 -1
  451. package/es/chat-engine/core/adapters/agui/activity-manager.d.ts +0 -102
  452. package/es/chat-engine/core/adapters/agui/activity-manager.js +0 -150
  453. package/es/chat-engine/core/adapters/agui/activity-manager.js.map +0 -1
  454. package/es/chat-engine/core/adapters/agui/events.d.ts +0 -1550
  455. package/es/chat-engine/core/adapters/agui/events.js +0 -199
  456. package/es/chat-engine/core/adapters/agui/events.js.map +0 -1
  457. package/es/chat-engine/core/adapters/agui/state-manager.d.ts +0 -99
  458. package/es/chat-engine/core/adapters/agui/state-manager.js +0 -174
  459. package/es/chat-engine/core/adapters/agui/state-manager.js.map +0 -1
  460. package/es/chat-engine/core/adapters/agui/types.d.ts +0 -818
  461. package/es/chat-engine/core/adapters/agui/types.js +0 -95
  462. package/es/chat-engine/core/adapters/agui/types.js.map +0 -1
  463. package/es/chat-engine/hooks/a2ui/A2UIContext.d.ts +0 -90
  464. package/es/chat-engine/hooks/a2ui/A2UIContext.js +0 -97
  465. package/es/chat-engine/hooks/a2ui/A2UIContext.js.map +0 -1
  466. package/es/chat-engine/hooks/a2ui/index.d.ts +0 -12
  467. package/es/chat-engine/hooks/a2ui/index.js +0 -19
  468. package/es/chat-engine/hooks/a2ui/index.js.map +0 -1
  469. package/es/chat-engine/hooks/a2ui/useA2UIAction.d.ts +0 -40
  470. package/es/chat-engine/hooks/a2ui/useA2UIAction.js +0 -74
  471. package/es/chat-engine/hooks/a2ui/useA2UIAction.js.map +0 -1
  472. package/es/chat-engine/hooks/a2ui/useA2UISurface.d.ts +0 -36
  473. package/es/chat-engine/hooks/a2ui/useA2UISurface.js +0 -39
  474. package/es/chat-engine/hooks/a2ui/useA2UISurface.js.map +0 -1
  475. package/es/chat-engine/hooks/a2ui/useDataBinding.d.ts +0 -53
  476. package/es/chat-engine/hooks/a2ui/useDataBinding.js +0 -111
  477. package/es/chat-engine/hooks/a2ui/useDataBinding.js.map +0 -1
  478. package/es/chat-engine/hooks/useJsonRenderActivity.d.ts +0 -56
  479. package/es/chat-engine/hooks/useJsonRenderActivity.js +0 -63
  480. package/es/chat-engine/hooks/useJsonRenderActivity.js.map +0 -1
  481. package/es/chat-filecard/_example-js/base.d.ts +0 -1
  482. package/es/chat-loading/_example-js/base.d.ts +0 -2
  483. package/es/chat-loading/_example-js/text.d.ts +0 -2
  484. package/es/chat-markdown/_example-js/base.d.ts +0 -1
  485. package/es/chat-markdown/_example-js/custom.d.ts +0 -2
  486. package/es/chat-markdown/_example-js/event.d.ts +0 -1
  487. package/es/chat-markdown/_example-js/footnote.d.ts +0 -2
  488. package/es/chat-markdown/_example-js/plugin.d.ts +0 -2
  489. package/es/chat-markdown/_example-js/theme.d.ts +0 -2
  490. package/es/chat-message/_example-js/action.d.ts +0 -1
  491. package/es/chat-message/_example-js/base.d.ts +0 -1
  492. package/es/chat-message/_example-js/configure.d.ts +0 -1
  493. package/es/chat-message/_example-js/content.d.ts +0 -1
  494. package/es/chat-message/_example-js/custom.d.ts +0 -1
  495. package/es/chat-message/_example-js/handle-actions.d.ts +0 -7
  496. package/es/chat-message/_example-js/status.d.ts +0 -1
  497. package/es/chat-message/_example-js/think.d.ts +0 -1
  498. package/es/chat-sender/_example-js/attachment.d.ts +0 -2
  499. package/es/chat-sender/_example-js/base.d.ts +0 -2
  500. package/es/chat-sender/_example-js/custom.d.ts +0 -2
  501. package/es/chat-thinking/_example-js/base.d.ts +0 -1
  502. package/es/chat-thinking/_example-js/style.d.ts +0 -1
  503. package/es/chatbot/_example-js/agent.d.ts +0 -1
  504. package/es/chatbot/_example-js/agui.d.ts +0 -13
  505. package/es/chatbot/_example-js/backup/travel.d.ts +0 -1
  506. package/es/chatbot/_example-js/basic.d.ts +0 -1
  507. package/es/chatbot/_example-js/code.d.ts +0 -1
  508. package/es/chatbot/_example-js/components/ItineraryCard.d.ts +0 -3
  509. package/es/chatbot/_example-js/components/login.d.ts +0 -1
  510. package/es/chatbot/_example-js/comprehensive.d.ts +0 -1
  511. package/es/chatbot/_example-js/custom-content.d.ts +0 -1
  512. package/es/chatbot/_example-js/custom-merge.d.ts +0 -1
  513. package/es/chatbot/_example-js/custom.d.ts +0 -1
  514. package/es/chatbot/_example-js/docs.d.ts +0 -1
  515. package/es/chatbot/_example-js/image.d.ts +0 -1
  516. package/es/chatbot/_example-js/initial-messages.d.ts +0 -9
  517. package/es/chatbot/_example-js/instance-methods.d.ts +0 -14
  518. package/es/chatbot/_example-js/nostream.d.ts +0 -1
  519. package/es/chatbot/_example-js/quick-start.d.ts +0 -9
  520. package/es/chatbot/_example-js/research.d.ts +0 -1
  521. package/es/chatbot/_example-js/role-message-config.d.ts +0 -22
  522. package/es/chatbot/_example-js/sender-config.d.ts +0 -20
  523. package/es/chatbot/_example-js/service-config.d.ts +0 -17
  524. package/es/chatbot/_example-js/simple.d.ts +0 -1
  525. package/es/chatbot/_example-js/utils/messageRenderer.d.ts +0 -5
  526. 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":"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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 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":";;;;;;;;;;;;;;;;;;;;;;"}