@tdesign-react/chat 1.1.0-alpha.5 → 1.1.0-alpha.6

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 (233) hide show
  1. package/es/_chunks/dep-1007ac80.js +205 -0
  2. package/es/_chunks/dep-1007ac80.js.map +1 -0
  3. package/es/_chunks/dep-16520c2b.js +1247 -0
  4. package/es/_chunks/dep-16520c2b.js.map +1 -0
  5. package/es/_chunks/dep-1743bd61.js +438 -0
  6. package/es/_chunks/dep-1743bd61.js.map +1 -0
  7. package/es/_chunks/dep-56f5e08e.js +448 -0
  8. package/es/_chunks/dep-56f5e08e.js.map +1 -0
  9. package/es/_chunks/dep-96eca06f.js +169 -0
  10. package/es/_chunks/dep-96eca06f.js.map +1 -0
  11. package/es/_util/reactify.js +1 -1
  12. package/es/_util/useDynamicStyle.js +1 -1
  13. package/es/attachments/index.js +1 -1
  14. package/es/chat-actionbar/index.js +1 -1
  15. package/es/chat-engine/components/activity/index.js +3 -1
  16. package/es/chat-engine/components/activity/index.js.map +1 -1
  17. package/es/chat-engine/components/activity/registry.js +1 -1
  18. package/es/chat-engine/components/activity/render.d.ts +4 -0
  19. package/es/chat-engine/components/activity/render.js +14 -2
  20. package/es/chat-engine/components/activity/render.js.map +1 -1
  21. package/es/chat-engine/components/activity/types.js +1 -1
  22. package/es/chat-engine/components/index.js +28 -20
  23. package/es/chat-engine/components/index.js.map +1 -1
  24. package/es/chat-engine/components/json-render/catalog/atomic/button.d.ts +14 -0
  25. package/es/chat-engine/components/json-render/catalog/atomic/button.js +71 -0
  26. package/es/chat-engine/components/json-render/catalog/atomic/button.js.map +1 -0
  27. package/es/chat-engine/components/json-render/catalog/atomic/card.d.ts +11 -0
  28. package/es/chat-engine/components/json-render/catalog/atomic/card.js +57 -0
  29. package/es/chat-engine/components/json-render/catalog/atomic/card.js.map +1 -0
  30. package/es/chat-engine/components/json-render/catalog/atomic/input.d.ts +20 -0
  31. package/es/chat-engine/components/json-render/catalog/atomic/input.js +76 -0
  32. package/es/chat-engine/components/json-render/catalog/atomic/input.js.map +1 -0
  33. package/es/chat-engine/components/json-render/catalog/atomic/layout.d.ts +44 -0
  34. package/es/chat-engine/components/json-render/catalog/atomic/layout.js +129 -0
  35. package/es/chat-engine/components/json-render/catalog/atomic/layout.js.map +1 -0
  36. package/es/chat-engine/components/json-render/catalog/atomic/text.d.ts +11 -0
  37. package/es/chat-engine/components/json-render/catalog/atomic/text.js +31 -0
  38. package/es/chat-engine/components/json-render/catalog/atomic/text.js.map +1 -0
  39. package/es/chat-engine/components/json-render/catalog/catalog-to-prompt.d.ts +614 -0
  40. package/es/chat-engine/components/json-render/catalog/catalog-to-prompt.js +779 -0
  41. package/es/chat-engine/components/json-render/catalog/catalog-to-prompt.js.map +1 -0
  42. package/es/chat-engine/components/json-render/contexts/actions.d.ts +5 -0
  43. package/es/chat-engine/components/json-render/contexts/actions.js +39 -16
  44. package/es/chat-engine/components/json-render/contexts/actions.js.map +1 -1
  45. package/es/chat-engine/components/json-render/contexts/data.d.ts +99 -7
  46. package/es/chat-engine/components/json-render/contexts/data.js +155 -76
  47. package/es/chat-engine/components/json-render/contexts/data.js.map +1 -1
  48. package/es/chat-engine/components/json-render/contexts/index.d.ts +4 -0
  49. package/es/chat-engine/components/json-render/contexts/index.js +27 -0
  50. package/es/chat-engine/components/json-render/contexts/index.js.map +1 -0
  51. package/es/chat-engine/components/json-render/contexts/store.d.ts +67 -0
  52. package/es/chat-engine/components/json-render/contexts/store.js +104 -0
  53. package/es/chat-engine/components/json-render/contexts/store.js.map +1 -0
  54. package/es/chat-engine/components/json-render/contexts/tree.d.ts +44 -0
  55. package/es/chat-engine/components/json-render/contexts/tree.js +78 -0
  56. package/es/chat-engine/components/json-render/contexts/tree.js.map +1 -0
  57. package/es/chat-engine/components/json-render/contexts/validation.js +13 -5
  58. package/es/chat-engine/components/json-render/contexts/validation.js.map +1 -1
  59. package/es/chat-engine/components/json-render/contexts/visibility.d.ts +12 -2
  60. package/es/chat-engine/components/json-render/contexts/visibility.js +32 -22
  61. package/es/chat-engine/components/json-render/contexts/visibility.js.map +1 -1
  62. package/es/chat-engine/components/json-render/index.d.ts +9 -32
  63. package/es/chat-engine/components/json-render/index.js +59 -19
  64. package/es/chat-engine/components/json-render/index.js.map +1 -1
  65. package/es/chat-engine/components/json-render/registry/a2ui-binding.d.ts +64 -0
  66. package/es/chat-engine/components/json-render/registry/a2ui-binding.js +76 -0
  67. package/es/chat-engine/components/json-render/registry/a2ui-binding.js.map +1 -0
  68. package/es/chat-engine/components/json-render/registry/a2ui-registry.d.ts +78 -0
  69. package/es/chat-engine/components/json-render/registry/a2ui-registry.js +76 -0
  70. package/es/chat-engine/components/json-render/registry/a2ui-registry.js.map +1 -0
  71. package/es/chat-engine/components/json-render/registry/config.d.ts +142 -0
  72. package/es/chat-engine/components/json-render/registry/config.js +76 -0
  73. package/es/chat-engine/components/json-render/registry/config.js.map +1 -0
  74. package/es/chat-engine/components/json-render/registry/index.d.ts +137 -0
  75. package/es/chat-engine/components/json-render/registry/index.js +76 -0
  76. package/es/chat-engine/components/json-render/registry/index.js.map +1 -0
  77. package/es/chat-engine/components/json-render/renderer/A2UIJsonRenderActivityRenderer.d.ts +35 -0
  78. package/es/chat-engine/components/json-render/renderer/A2UIJsonRenderActivityRenderer.js +271 -0
  79. package/es/chat-engine/components/json-render/renderer/A2UIJsonRenderActivityRenderer.js.map +1 -0
  80. package/es/chat-engine/components/json-render/renderer/JsonRenderActivityRenderer.d.ts +44 -0
  81. package/es/chat-engine/components/json-render/renderer/JsonRenderActivityRenderer.js +63 -0
  82. package/es/chat-engine/components/json-render/renderer/JsonRenderActivityRenderer.js.map +1 -0
  83. package/es/chat-engine/components/json-render/renderer/JsonUIRenderer.d.ts +44 -0
  84. package/es/chat-engine/components/json-render/renderer/JsonUIRenderer.js +131 -0
  85. package/es/chat-engine/components/json-render/renderer/JsonUIRenderer.js.map +1 -0
  86. package/es/chat-engine/components/json-render/renderer/_index.d.ts +71 -0
  87. package/es/chat-engine/components/json-render/renderer/_index.js +133 -0
  88. package/es/chat-engine/components/json-render/renderer/_index.js.map +1 -0
  89. package/es/chat-engine/components/json-render/renderer/index.d.ts +71 -0
  90. package/es/chat-engine/components/json-render/renderer/index.js +125 -0
  91. package/es/chat-engine/components/json-render/renderer/index.js.map +1 -0
  92. package/es/chat-engine/components/json-render/types.d.ts +37 -19
  93. package/es/chat-engine/components/json-render/types.js +1 -1
  94. package/es/chat-engine/components/provider/agent-state.js +14 -7
  95. package/es/chat-engine/components/provider/agent-state.js.map +1 -1
  96. package/es/chat-engine/components/toolcall/index.js +14 -7
  97. package/es/chat-engine/components/toolcall/index.js.map +1 -1
  98. package/es/chat-engine/components/toolcall/registry.js +1 -1
  99. package/es/chat-engine/components/toolcall/render.js +16 -9
  100. package/es/chat-engine/components/toolcall/render.js.map +1 -1
  101. package/es/chat-engine/components/toolcall/types.js +1 -1
  102. package/es/chat-engine/core/adapters/a2ui/index.d.ts +10 -0
  103. package/es/chat-engine/core/adapters/a2ui/index.js +24 -0
  104. package/es/chat-engine/core/adapters/a2ui/index.js.map +1 -0
  105. package/es/chat-engine/core/adapters/a2ui/processor/A2uiMessageProcessor.d.ts +197 -0
  106. package/es/chat-engine/core/adapters/a2ui/processor/A2uiMessageProcessor.js +438 -0
  107. package/es/chat-engine/core/adapters/a2ui/processor/A2uiMessageProcessor.js.map +1 -0
  108. package/es/chat-engine/core/adapters/a2ui/processor/ComponentTree.d.ts +53 -0
  109. package/es/chat-engine/core/adapters/a2ui/processor/ComponentTree.js +158 -0
  110. package/es/chat-engine/core/adapters/a2ui/processor/ComponentTree.js.map +1 -0
  111. package/es/chat-engine/core/adapters/a2ui/processor/DataStore.d.ts +63 -0
  112. package/es/chat-engine/core/adapters/a2ui/processor/DataStore.js +172 -0
  113. package/es/chat-engine/core/adapters/a2ui/processor/DataStore.js.map +1 -0
  114. package/es/chat-engine/core/adapters/a2ui/processor/PathResolver.d.ts +47 -0
  115. package/es/chat-engine/core/adapters/a2ui/processor/PathResolver.js +99 -0
  116. package/es/chat-engine/core/adapters/a2ui/processor/PathResolver.js.map +1 -0
  117. package/es/chat-engine/core/adapters/a2ui/types/index.d.ts +4 -0
  118. package/es/chat-engine/core/adapters/a2ui/types/index.js +9 -0
  119. package/es/chat-engine/core/adapters/a2ui/types/index.js.map +1 -0
  120. package/es/chat-engine/core/adapters/a2ui/types/types.d.ts +770 -0
  121. package/es/chat-engine/core/adapters/a2ui/types/types.js +104 -0
  122. package/es/chat-engine/core/adapters/a2ui/types/types.js.map +1 -0
  123. package/es/chat-engine/core/adapters/a2ui/utils/binding.d.ts +34 -0
  124. package/es/chat-engine/core/adapters/a2ui/utils/binding.js +1784 -0
  125. package/es/chat-engine/core/adapters/a2ui/utils/binding.js.map +1 -0
  126. package/es/chat-engine/core/adapters/a2ui/utils/index.d.ts +5 -0
  127. package/es/chat-engine/core/adapters/a2ui/utils/index.js +13 -0
  128. package/es/chat-engine/core/adapters/a2ui/utils/index.js.map +1 -0
  129. package/es/chat-engine/core/adapters/a2ui/utils/validation.d.ts +70 -0
  130. package/es/chat-engine/core/adapters/a2ui/utils/validation.js +333 -0
  131. package/es/chat-engine/core/adapters/a2ui/utils/validation.js.map +1 -0
  132. package/es/chat-engine/core/adapters/agui/ActivityManager.d.ts +93 -0
  133. package/es/chat-engine/core/adapters/agui/ActivityManager.js +148 -0
  134. package/es/chat-engine/core/adapters/agui/ActivityManager.js.map +1 -0
  135. package/es/chat-engine/core/adapters/agui/StateManager.d.ts +99 -0
  136. package/es/chat-engine/core/adapters/agui/StateManager.js +172 -0
  137. package/es/chat-engine/core/adapters/agui/StateManager.js.map +1 -0
  138. package/es/chat-engine/core/adapters/agui/event-mapper.d.ts +1 -1
  139. package/es/chat-engine/core/adapters/agui/event-mapper.js +7 -7
  140. package/es/chat-engine/core/adapters/agui/event-mapper.js.map +1 -1
  141. package/es/chat-engine/core/adapters/agui/index.d.ts +4 -7
  142. package/es/chat-engine/core/adapters/agui/index.js +11 -16
  143. package/es/chat-engine/core/adapters/agui/index.js.map +1 -1
  144. package/es/chat-engine/core/adapters/agui/types/events.d.ts +1550 -0
  145. package/es/chat-engine/core/adapters/agui/types/events.js +15 -0
  146. package/es/chat-engine/core/adapters/agui/types/events.js.map +1 -0
  147. package/es/chat-engine/core/adapters/agui/types/index.d.ts +818 -0
  148. package/es/chat-engine/core/adapters/agui/types/index.js +277 -0
  149. package/es/chat-engine/core/adapters/agui/types/index.js.map +1 -0
  150. package/es/chat-engine/core/adapters/agui/utils.js +1 -1
  151. package/es/chat-engine/core/adapters/index.d.ts +5 -0
  152. package/es/chat-engine/core/adapters/index.js +34 -0
  153. package/es/chat-engine/core/adapters/index.js.map +1 -0
  154. package/es/chat-engine/core/adapters/json-render/SurfaceStateManager.d.ts +114 -0
  155. package/es/chat-engine/core/adapters/json-render/SurfaceStateManager.js +194 -0
  156. package/es/chat-engine/core/adapters/json-render/SurfaceStateManager.js.map +1 -0
  157. package/es/chat-engine/core/adapters/json-render/a2ui-to-jsonrender.d.ts +49 -0
  158. package/es/chat-engine/core/adapters/json-render/a2ui-to-jsonrender.js +307 -0
  159. package/es/chat-engine/core/adapters/json-render/a2ui-to-jsonrender.js.map +1 -0
  160. package/es/chat-engine/core/adapters/json-render/engine.d.ts +58 -0
  161. package/es/chat-engine/core/adapters/json-render/engine.js +88 -0
  162. package/es/chat-engine/core/adapters/json-render/engine.js.map +1 -0
  163. package/es/chat-engine/core/adapters/json-render/index.d.ts +8 -0
  164. package/es/chat-engine/core/adapters/json-render/index.js +18 -0
  165. package/es/chat-engine/core/adapters/json-render/index.js.map +1 -0
  166. package/es/chat-engine/core/adapters/json-render/types/a2ui.d.ts +96 -0
  167. package/es/chat-engine/core/adapters/json-render/types/a2ui.js +7 -0
  168. package/es/chat-engine/core/adapters/json-render/types/a2ui.js.map +1 -0
  169. package/es/chat-engine/core/adapters/json-render/types/core.d.ts +49 -0
  170. package/es/chat-engine/core/adapters/json-render/types/core.js +7 -0
  171. package/es/chat-engine/core/adapters/json-render/types/core.js.map +1 -0
  172. package/es/chat-engine/core/adapters/json-render/types/index.d.ts +5 -0
  173. package/es/chat-engine/core/adapters/json-render/types/index.js +9 -0
  174. package/es/chat-engine/core/adapters/json-render/types/index.js.map +1 -0
  175. package/es/chat-engine/core/event-bus/ChatEventBus.js +1 -1
  176. package/es/chat-engine/core/event-bus/index.js +1 -1
  177. package/es/chat-engine/core/event-bus/types.js +1 -1
  178. package/es/chat-engine/core/index.d.ts +2 -3
  179. package/es/chat-engine/core/index.js +16 -8
  180. package/es/chat-engine/core/index.js.map +1 -1
  181. package/es/chat-engine/core/processor/index.js +1 -1
  182. package/es/chat-engine/core/server/batch-client.js +1 -1
  183. package/es/chat-engine/core/server/connection-manager.js +1 -1
  184. package/es/chat-engine/core/server/errors.js +1 -1
  185. package/es/chat-engine/core/server/index.js +1 -1
  186. package/es/chat-engine/core/server/llm-service.js +15 -17
  187. package/es/chat-engine/core/server/llm-service.js.map +1 -1
  188. package/es/chat-engine/core/server/sse-client.js +1 -1
  189. package/es/chat-engine/core/server/sse-parser.js +1 -1
  190. package/es/chat-engine/core/server/types.js +1 -1
  191. package/es/chat-engine/core/store/message.js +6 -4
  192. package/es/chat-engine/core/store/message.js.map +1 -1
  193. package/es/chat-engine/core/store/model.js +2 -1
  194. package/es/chat-engine/core/store/model.js.map +1 -1
  195. package/es/chat-engine/core/store/reactiveState.d.ts +4 -0
  196. package/es/chat-engine/core/store/reactiveState.js +15 -1235
  197. package/es/chat-engine/core/store/reactiveState.js.map +1 -1
  198. package/es/chat-engine/core/type.d.ts +8 -19
  199. package/es/chat-engine/core/type.js +1 -1
  200. package/es/chat-engine/core/utils/eventEmitter.js +1 -1
  201. package/es/chat-engine/core/utils/immutable-patch.d.ts +61 -0
  202. package/es/chat-engine/core/utils/immutable-patch.js +147 -0
  203. package/es/chat-engine/core/utils/immutable-patch.js.map +1 -0
  204. package/es/chat-engine/core/utils/index.d.ts +7 -2
  205. package/es/chat-engine/core/utils/index.js +8 -12
  206. package/es/chat-engine/core/utils/index.js.map +1 -1
  207. package/es/chat-engine/core/utils/json-patch/helpers.js +1 -1
  208. package/es/chat-engine/core/utils/json-patch/index.js +1 -1
  209. package/es/chat-engine/core/utils/logger.js +1 -1
  210. package/es/chat-engine/core/utils/performance.d.ts +94 -0
  211. package/es/chat-engine/core/utils/performance.js +205 -0
  212. package/es/chat-engine/core/utils/performance.js.map +1 -0
  213. package/es/chat-engine/hooks/index.js +14 -7
  214. package/es/chat-engine/hooks/index.js.map +1 -1
  215. package/es/chat-engine/hooks/useAgentActivity.js +1 -1
  216. package/es/chat-engine/hooks/useAgentState.js +14 -7
  217. package/es/chat-engine/hooks/useAgentState.js.map +1 -1
  218. package/es/chat-engine/hooks/useAgentToolcall.js +1 -1
  219. package/es/chat-engine/hooks/useChat.js +14 -7
  220. package/es/chat-engine/hooks/useChat.js.map +1 -1
  221. package/es/chat-engine/index.js +28 -20
  222. package/es/chat-engine/index.js.map +1 -1
  223. package/es/chat-filecard/index.js +1 -1
  224. package/es/chat-loading/index.js +1 -1
  225. package/es/chat-markdown/index.js +1 -1
  226. package/es/chat-message/index.js +1 -1
  227. package/es/chat-sender/index.js +1 -1
  228. package/es/chat-thinking/index.js +1 -1
  229. package/es/chatbot/index.js +1 -1
  230. package/es/index.js +28 -20
  231. package/es/index.js.map +1 -1
  232. package/es/style/index.js +1 -1
  233. package/package.json +1 -1
@@ -0,0 +1,76 @@
1
+ /**
2
+ * tdesign v1.1.0-alpha.5
3
+ * (c) 2026 tdesign
4
+ * @license MIT
5
+ */
6
+
7
+ import '@babel/runtime/helpers/defineProperty';
8
+ import '@babel/runtime/helpers/objectWithoutProperties';
9
+ import '@babel/runtime/helpers/typeof';
10
+ import '@babel/runtime/helpers/slicedToArray';
11
+ import 'react';
12
+ import '@json-render/core';
13
+ export { e as default, e as withA2UIBinding } from '../../../../_chunks/dep-1743bd61.js';
14
+ import '../contexts/data.js';
15
+ import '../renderer/JsonRenderActivityRenderer.js';
16
+ import '../../../../_chunks/dep-96eca06f.js';
17
+ import '../renderer/JsonUIRenderer.js';
18
+ import '../contexts/index.js';
19
+ import '../contexts/visibility.js';
20
+ import '../contexts/store.js';
21
+ import '@babel/runtime/helpers/classCallCheck';
22
+ import '@babel/runtime/helpers/createClass';
23
+ import '@babel/runtime/helpers/possibleConstructorReturn';
24
+ import '@babel/runtime/helpers/getPrototypeOf';
25
+ import '@babel/runtime/helpers/inherits';
26
+ import '../../../../_chunks/dep-16520c2b.js';
27
+ import '@babel/runtime/helpers/wrapNativeSuper';
28
+ import '../contexts/actions.js';
29
+ import '@babel/runtime/helpers/asyncToGenerator';
30
+ import '@babel/runtime/regenerator';
31
+ import '../contexts/validation.js';
32
+ import '../contexts/tree.js';
33
+ import '../renderer/A2UIJsonRenderActivityRenderer.js';
34
+ import '../../../core/index.js';
35
+ import '../../../core/adapters/agui/index.js';
36
+ import '@babel/runtime/helpers/toConsumableArray';
37
+ import '../../../core/adapters/agui/event-mapper.js';
38
+ import '../../../core/adapters/agui/types/index.js';
39
+ import 'zod';
40
+ import '../../../core/adapters/agui/StateManager.js';
41
+ import '../../../core/utils/index.js';
42
+ import '../../../core/utils/immutable-patch.js';
43
+ import '@babel/runtime/helpers/toArray';
44
+ import '../../../core/adapters/agui/ActivityManager.js';
45
+ import '../../../core/adapters/agui/utils.js';
46
+ import '../../../core/event-bus/index.js';
47
+ import '../../../core/event-bus/ChatEventBus.js';
48
+ import '../../../core/event-bus/types.js';
49
+ import '../../../core/store/message.js';
50
+ import '@babel/runtime/helpers/get';
51
+ import '../../../core/store/reactiveState.js';
52
+ import '../../../core/processor/index.js';
53
+ import '../../../core/server/index.js';
54
+ import '../../../core/server/llm-service.js';
55
+ import '../../../core/utils/logger.js';
56
+ import '../../../core/server/batch-client.js';
57
+ import '../../../core/utils/eventEmitter.js';
58
+ import '../../../core/server/errors.js';
59
+ import '../../../core/server/sse-client.js';
60
+ import '../../../core/server/connection-manager.js';
61
+ import '../../../core/server/sse-parser.js';
62
+ import '../../../core/server/types.js';
63
+ import '../../../core/adapters/index.js';
64
+ import '../../../core/adapters/json-render/index.js';
65
+ import '../../../core/adapters/json-render/a2ui-to-jsonrender.js';
66
+ import '../../../core/adapters/json-render/types/a2ui.js';
67
+ import '../../../core/adapters/json-render/SurfaceStateManager.js';
68
+ import '../../../core/adapters/json-render/types/index.js';
69
+ import '../../../core/adapters/json-render/types/core.js';
70
+ import '../catalog/atomic/button.js';
71
+ import 'tdesign-react';
72
+ import '../catalog/catalog-to-prompt.js';
73
+ import '../catalog/atomic/card.js';
74
+ import '../catalog/atomic/text.js';
75
+ import '../catalog/atomic/layout.js';
76
+ //# sourceMappingURL=a2ui-binding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"a2ui-binding.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * A2UI 专用组件注册表
3
+ *
4
+ * 使用 withA2UIBinding HOC 包装原子组件,自动处理 A2UI 协议字段:
5
+ * - valuePath: 值的数据绑定(如 /userInfo/name)
6
+ * - disabledPath: disabled 状态的数据绑定(如 /formDisabled)
7
+ * - action.context: action 参数中的动态数据绑定({ path: '/xxx' } 格式)
8
+ *
9
+ * 与 tdesignRegistry 的区别:
10
+ * - tdesignRegistry: 纯净的 TDesign 组件,用于直接的 json-render schema
11
+ * - a2uiRegistry: 支持 A2UI 协议的组件,用于 A2UI → json-render 转换后的渲染
12
+ *
13
+ * 使用方式:
14
+ * ```tsx
15
+ * // 业务使用 A2UI 协议时
16
+ * const config = createA2UIJsonRenderActivityConfig({
17
+ * registry: a2uiRegistry, // 内置 A2UI 组件
18
+ * // 或扩展自定义组件
19
+ * registry: createA2UIRegistry({
20
+ * MyCustomComponent: withA2UIBinding(MyComponent, { supportsAction: true }),
21
+ * }),
22
+ * });
23
+ * ```
24
+ */
25
+ import React from 'react';
26
+ import { type ComponentRegistry } from '../types';
27
+ /**
28
+ * A2UI TextField 组件
29
+ * 自动支持 valuePath/disabledPath 数据绑定
30
+ */
31
+ export declare const A2UITextField: React.FC<import("../types").ComponentRenderProps<Record<string, unknown>>>;
32
+ /**
33
+ * A2UI Button 组件
34
+ * 自动支持 disabledPath 和 action.context 动态绑定
35
+ */
36
+ export declare const A2UIButton: React.FC<import("../types").ComponentRenderProps<Record<string, unknown>>>;
37
+ /**
38
+ * A2UI 专用组件注册表
39
+ *
40
+ * 用于 A2UI 协议转换后的渲染,组件自动支持:
41
+ * - valuePath: 值绑定到 dataModel
42
+ * - disabledPath: disabled 状态绑定到 dataModel
43
+ * - action.context: action 参数动态解析
44
+ *
45
+ * @example
46
+ * ```tsx
47
+ * import { a2uiRegistry } from './catalog/a2ui-registry';
48
+ *
49
+ * const config = createA2UIJsonRenderActivityConfig({
50
+ * registry: a2uiRegistry, // 使用 A2UI 专用 registry
51
+ * actionHandlers: { ... },
52
+ * });
53
+ * ```
54
+ */
55
+ export declare const a2uiRegistry: ComponentRegistry;
56
+ /**
57
+ * 创建自定义 A2UI 组件注册表
58
+ *
59
+ * 基于 a2uiRegistry 扩展自定义组件
60
+ * 自定义组件如需支持 A2UI 协议,请使用 withA2UIBinding 包装
61
+ *
62
+ * @example
63
+ * ```tsx
64
+ * import { createA2UIRegistry, withA2UIBinding } from '@tdesign-react/chat';
65
+ *
66
+ * // 创建支持 A2UI 的自定义组件
67
+ * const A2UIDatePicker = withA2UIBinding(DatePicker, {
68
+ * valueField: 'value',
69
+ * onChangeField: 'onChange',
70
+ * });
71
+ *
72
+ * const customRegistry = createA2UIRegistry({
73
+ * DatePicker: A2UIDatePicker,
74
+ * });
75
+ * ```
76
+ */
77
+ export declare function createA2UIRegistry(customComponents: ComponentRegistry): ComponentRegistry;
78
+ export default a2uiRegistry;
@@ -0,0 +1,76 @@
1
+ /**
2
+ * tdesign v1.1.0-alpha.5
3
+ * (c) 2026 tdesign
4
+ * @license MIT
5
+ */
6
+
7
+ import '@babel/runtime/helpers/defineProperty';
8
+ import '@babel/runtime/helpers/objectWithoutProperties';
9
+ import 'react';
10
+ import 'tdesign-react';
11
+ export { d as A2UIButton, A as A2UITextField, a as a2uiRegistry, b as createA2UIRegistry, a as default } from '../../../../_chunks/dep-1743bd61.js';
12
+ import '../catalog/atomic/card.js';
13
+ import '../catalog/atomic/text.js';
14
+ import '../catalog/atomic/layout.js';
15
+ import '../renderer/JsonRenderActivityRenderer.js';
16
+ import '../../../../_chunks/dep-96eca06f.js';
17
+ import '@babel/runtime/helpers/typeof';
18
+ import '../renderer/JsonUIRenderer.js';
19
+ import '../contexts/index.js';
20
+ import '../contexts/data.js';
21
+ import '@babel/runtime/helpers/slicedToArray';
22
+ import '@babel/runtime/helpers/classCallCheck';
23
+ import '@babel/runtime/helpers/createClass';
24
+ import '@babel/runtime/helpers/possibleConstructorReturn';
25
+ import '@babel/runtime/helpers/getPrototypeOf';
26
+ import '@babel/runtime/helpers/inherits';
27
+ import '../../../../_chunks/dep-16520c2b.js';
28
+ import '@babel/runtime/helpers/wrapNativeSuper';
29
+ import '@json-render/core';
30
+ import '../contexts/store.js';
31
+ import '../contexts/visibility.js';
32
+ import '../contexts/actions.js';
33
+ import '@babel/runtime/helpers/asyncToGenerator';
34
+ import '@babel/runtime/regenerator';
35
+ import '../contexts/validation.js';
36
+ import '../contexts/tree.js';
37
+ import '../renderer/A2UIJsonRenderActivityRenderer.js';
38
+ import '../../../core/index.js';
39
+ import '../../../core/adapters/agui/index.js';
40
+ import '@babel/runtime/helpers/toConsumableArray';
41
+ import '../../../core/adapters/agui/event-mapper.js';
42
+ import '../../../core/adapters/agui/types/index.js';
43
+ import 'zod';
44
+ import '../../../core/adapters/agui/StateManager.js';
45
+ import '../../../core/utils/index.js';
46
+ import '../../../core/utils/immutable-patch.js';
47
+ import '@babel/runtime/helpers/toArray';
48
+ import '../../../core/adapters/agui/ActivityManager.js';
49
+ import '../../../core/adapters/agui/utils.js';
50
+ import '../../../core/event-bus/index.js';
51
+ import '../../../core/event-bus/ChatEventBus.js';
52
+ import '../../../core/event-bus/types.js';
53
+ import '../../../core/store/message.js';
54
+ import '@babel/runtime/helpers/get';
55
+ import '../../../core/store/reactiveState.js';
56
+ import '../../../core/processor/index.js';
57
+ import '../../../core/server/index.js';
58
+ import '../../../core/server/llm-service.js';
59
+ import '../../../core/utils/logger.js';
60
+ import '../../../core/server/batch-client.js';
61
+ import '../../../core/utils/eventEmitter.js';
62
+ import '../../../core/server/errors.js';
63
+ import '../../../core/server/sse-client.js';
64
+ import '../../../core/server/connection-manager.js';
65
+ import '../../../core/server/sse-parser.js';
66
+ import '../../../core/server/types.js';
67
+ import '../../../core/adapters/index.js';
68
+ import '../../../core/adapters/json-render/index.js';
69
+ import '../../../core/adapters/json-render/a2ui-to-jsonrender.js';
70
+ import '../../../core/adapters/json-render/types/a2ui.js';
71
+ import '../../../core/adapters/json-render/SurfaceStateManager.js';
72
+ import '../../../core/adapters/json-render/types/index.js';
73
+ import '../../../core/adapters/json-render/types/core.js';
74
+ import '../catalog/atomic/button.js';
75
+ import '../catalog/catalog-to-prompt.js';
76
+ //# sourceMappingURL=a2ui-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"a2ui-registry.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,142 @@
1
+ /**
2
+ * json-render Activity 配置工厂函数
3
+ * 便捷创建 ActivityConfig 用于注册
4
+ */
5
+ import type { ActivityConfig } from '../../activity/types';
6
+ import type { JsonRenderActivityProps, ComponentRegistry } from '../types';
7
+ /**
8
+ * json-render Activity 配置选项
9
+ */
10
+ export interface JsonRenderActivityConfigOptions {
11
+ /** Activity 类型标识,默认 'json-render' */
12
+ activityType?: string;
13
+ /** 组件注册表,默认使用 tdesignRegistry */
14
+ registry?: ComponentRegistry;
15
+ /**
16
+ * Action 处理器映射表
17
+ *
18
+ * 重要:json-render 采用预定义 action 模式
19
+ * - AI/服务端只能生成在此预定义的 action 名称
20
+ * - 每个 action 对应一个具体的处理函数
21
+ * - 这确保了生成式 UI 的安全性和可控性
22
+ *
23
+ * @example
24
+ * ```tsx
25
+ * actionHandlers: {
26
+ * // 表单提交
27
+ * submit: async (params) => {
28
+ * await api.submitForm(params);
29
+ * MessagePlugin.success('提交成功');
30
+ * },
31
+ *
32
+ * // 表单重置
33
+ * reset: async (params) => {
34
+ * MessagePlugin.info('表单已重置');
35
+ * },
36
+ *
37
+ * // 删除操作
38
+ * delete: async (params) => {
39
+ * await api.deleteItem(params.id);
40
+ * },
41
+ *
42
+ * // 刷新数据
43
+ * refresh: async () => {
44
+ * await refetchData();
45
+ * }
46
+ * }
47
+ * ```
48
+ */
49
+ actionHandlers?: Record<string, (params: Record<string, unknown>) => void | Promise<void>>;
50
+ /** 显示调试信息 */
51
+ debug?: boolean;
52
+ /** 描述信息 */
53
+ description?: string;
54
+ }
55
+ /**
56
+ * 创建 json-render Activity 配置
57
+ *
58
+ * @example
59
+ * 基础用法 - 预定义 action handlers
60
+ * ```tsx
61
+ * const jsonRenderConfig = createJsonRenderActivityConfig({
62
+ * activityType: 'json-render',
63
+ * actionHandlers: {
64
+ * submit: async (params) => {
65
+ * console.log('提交表单:', params);
66
+ * await api.submit(params);
67
+ * MessagePlugin.success('提交成功');
68
+ * },
69
+ * reset: async (params) => {
70
+ * MessagePlugin.info('表单已重置');
71
+ * },
72
+ * delete: async (params) => {
73
+ * await api.delete(params.id);
74
+ * }
75
+ * },
76
+ * });
77
+ *
78
+ * useAgentActivity(jsonRenderConfig);
79
+ * ```
80
+ *
81
+ * @example
82
+ * 结合 ChatEngine 发送消息到服务端
83
+ * ```tsx
84
+ * const jsonRenderConfig = createJsonRenderActivityConfig({
85
+ * actionHandlers: {
86
+ * submit: async (params) => {
87
+ * // 发送到服务端处理
88
+ * await chatEngine.sendAIMessage({
89
+ * params: { userActionMessage: { name: 'submit', params } },
90
+ * sendRequest: true,
91
+ * });
92
+ * },
93
+ * reset: async (params) => {
94
+ * // 本地处理,不发送到服务端
95
+ * MessagePlugin.info('已重置');
96
+ * },
97
+ * },
98
+ * });
99
+ * ```
100
+ *
101
+ * @example
102
+ * 配合自定义组件注册表
103
+ * ```tsx
104
+ * import { createCustomRegistry } from './catalog';
105
+ *
106
+ * const jsonRenderConfig = createJsonRenderActivityConfig({
107
+ * registry: createCustomRegistry({
108
+ * MyCustomComponent: MyComponentRenderer,
109
+ * }),
110
+ * actionHandlers: {
111
+ * custom_action: async (params) => {
112
+ * // 处理自定义操作
113
+ * },
114
+ * },
115
+ * });
116
+ * ```
117
+ */
118
+ export declare function createJsonRenderActivityConfig(options?: JsonRenderActivityConfigOptions): ActivityConfig<JsonRenderActivityProps['content']>;
119
+ /**
120
+ * 创建 A2UI + json-render Activity 配置
121
+ * 支持将 A2UI 协议转换为 json-render Schema 渲染
122
+ *
123
+ * 注意:默认使用 a2uiRegistry,自动支持 valuePath/disabledPath/action.context 绑定
124
+ *
125
+ * @example
126
+ * ```tsx
127
+ * const a2uiJsonRenderConfig = createA2UIJsonRenderActivityConfig({
128
+ * activityType: 'a2ui-json-render',
129
+ * actionHandlers: {
130
+ * submit: async (params) => {
131
+ * console.log('提交:', params);
132
+ * },
133
+ * cancel: async (params) => {
134
+ * console.log('取消');
135
+ * },
136
+ * },
137
+ * });
138
+ *
139
+ * useAgentActivity(a2uiJsonRenderConfig);
140
+ * ```
141
+ */
142
+ export declare function createA2UIJsonRenderActivityConfig(options?: JsonRenderActivityConfigOptions): ActivityConfig<any>;
@@ -0,0 +1,76 @@
1
+ /**
2
+ * tdesign v1.1.0-alpha.5
3
+ * (c) 2026 tdesign
4
+ * @license MIT
5
+ */
6
+
7
+ import '@babel/runtime/helpers/defineProperty';
8
+ import 'react';
9
+ import '../renderer/JsonRenderActivityRenderer.js';
10
+ import '../renderer/A2UIJsonRenderActivityRenderer.js';
11
+ export { g as createA2UIJsonRenderActivityConfig, f as createJsonRenderActivityConfig } from '../../../../_chunks/dep-1743bd61.js';
12
+ import '../../../../_chunks/dep-96eca06f.js';
13
+ import '@babel/runtime/helpers/typeof';
14
+ import '../renderer/JsonUIRenderer.js';
15
+ import '../contexts/index.js';
16
+ import '../contexts/data.js';
17
+ import '@babel/runtime/helpers/slicedToArray';
18
+ import '@babel/runtime/helpers/classCallCheck';
19
+ import '@babel/runtime/helpers/createClass';
20
+ import '@babel/runtime/helpers/possibleConstructorReturn';
21
+ import '@babel/runtime/helpers/getPrototypeOf';
22
+ import '@babel/runtime/helpers/inherits';
23
+ import '../../../../_chunks/dep-16520c2b.js';
24
+ import '@babel/runtime/helpers/wrapNativeSuper';
25
+ import '@json-render/core';
26
+ import '../contexts/store.js';
27
+ import '../contexts/visibility.js';
28
+ import '../contexts/actions.js';
29
+ import '@babel/runtime/helpers/asyncToGenerator';
30
+ import '@babel/runtime/regenerator';
31
+ import '../contexts/validation.js';
32
+ import '@babel/runtime/helpers/objectWithoutProperties';
33
+ import '../contexts/tree.js';
34
+ import '../../../core/index.js';
35
+ import '../../../core/adapters/agui/index.js';
36
+ import '@babel/runtime/helpers/toConsumableArray';
37
+ import '../../../core/adapters/agui/event-mapper.js';
38
+ import '../../../core/adapters/agui/types/index.js';
39
+ import 'zod';
40
+ import '../../../core/adapters/agui/StateManager.js';
41
+ import '../../../core/utils/index.js';
42
+ import '../../../core/utils/immutable-patch.js';
43
+ import '@babel/runtime/helpers/toArray';
44
+ import '../../../core/adapters/agui/ActivityManager.js';
45
+ import '../../../core/adapters/agui/utils.js';
46
+ import '../../../core/event-bus/index.js';
47
+ import '../../../core/event-bus/ChatEventBus.js';
48
+ import '../../../core/event-bus/types.js';
49
+ import '../../../core/store/message.js';
50
+ import '@babel/runtime/helpers/get';
51
+ import '../../../core/store/reactiveState.js';
52
+ import '../../../core/processor/index.js';
53
+ import '../../../core/server/index.js';
54
+ import '../../../core/server/llm-service.js';
55
+ import '../../../core/utils/logger.js';
56
+ import '../../../core/server/batch-client.js';
57
+ import '../../../core/utils/eventEmitter.js';
58
+ import '../../../core/server/errors.js';
59
+ import '../../../core/server/sse-client.js';
60
+ import '../../../core/server/connection-manager.js';
61
+ import '../../../core/server/sse-parser.js';
62
+ import '../../../core/server/types.js';
63
+ import '../../../core/adapters/index.js';
64
+ import '../../../core/adapters/json-render/index.js';
65
+ import '../../../core/adapters/json-render/a2ui-to-jsonrender.js';
66
+ import '../../../core/adapters/json-render/types/a2ui.js';
67
+ import '../../../core/adapters/json-render/SurfaceStateManager.js';
68
+ import '../../../core/adapters/json-render/types/index.js';
69
+ import '../../../core/adapters/json-render/types/core.js';
70
+ import '../catalog/atomic/button.js';
71
+ import 'tdesign-react';
72
+ import '../catalog/catalog-to-prompt.js';
73
+ import '../catalog/atomic/card.js';
74
+ import '../catalog/atomic/text.js';
75
+ import '../catalog/atomic/layout.js';
76
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,137 @@
1
+ /**
2
+ * TDesign ComponentRegistry(React 组件注册表)
3
+ * 用于 json-render 渲染层的组件映射
4
+ *
5
+ * 重要概念区分:
6
+ * - ComponentRegistry(本文件):渲染层,映射组件名到 React 组件(传给 Renderer)
7
+ * - Catalog(catalog.ts):约束层,定义组件 props schema 和 actions 白名单(给 AI/服务端)
8
+ *
9
+ * Registry 分类:
10
+ * - tdesignRegistry: 纯净的 TDesign 组件,用于直接的 json-render schema
11
+ * - a2uiRegistry: 支持 A2UI 协议的组件,自动处理 valuePath/disabledPath/action.context
12
+ *
13
+ * 详见:ARCHITECTURE.md
14
+ */
15
+ import React from 'react';
16
+ import type { ComponentRegistry, ComponentRenderProps } from '../types';
17
+ /**
18
+ * 高性能组件包装器(可选)
19
+ * 使用 React.memo + react-fast-compare 实现深比较
20
+ *
21
+ * 注意:由于 ElementRenderer 已经实现了 React.memo + 深比较优化,
22
+ * 大多数情况下叶子组件不需要再使用 withStableProps 包装。
23
+ *
24
+ * 使用场景:
25
+ * - 组件内部有复杂的计算逻辑,希望进一步减少重渲染
26
+ * - 组件使用了 Context,需要避免 Context 变化导致的不必要渲染
27
+ *
28
+ * 原理:
29
+ * - json-render 每次渲染都会创建新的 element 对象引用
30
+ * - 默认的 React.memo 浅比较会认为 props 变化了
31
+ * - 使用 react-fast-compare 进行高效深比较,只在内容真正变化时才重渲染
32
+ *
33
+ * 性能说明:
34
+ * - react-fast-compare 比 JSON.stringify 更快(短路比较)
35
+ * - 发现第一个不同属性时立即停止,不会遍历整个对象
36
+ * - 处理了循环引用等边缘情况
37
+ */
38
+ export declare function withStableProps<P extends ComponentRenderProps>(Component: React.ComponentType<P>): React.MemoExoticComponent<React.ComponentType<P>>;
39
+ /**
40
+ * TDesign 内置组件注册表(渲染层)
41
+ *
42
+ * 这是框架内置的原子组件集合,提供基础 UI 渲染能力
43
+ * 业务层可以通过 createCustomRegistry 扩展自定义组件
44
+ *
45
+ * 使用方式:
46
+ * ```tsx
47
+ * import { tdesignRegistry } from '@tdesign-react/chat';
48
+ *
49
+ * const config = createJsonRenderActivityConfig({
50
+ * registry: tdesignRegistry,
51
+ * actionHandlers: { ... },
52
+ * });
53
+ * ```
54
+ *
55
+ * Schema 示例:
56
+ * ```json
57
+ * {
58
+ * "root": "btn1",
59
+ * "elements": {
60
+ * "btn1": {
61
+ * "key": "btn1",
62
+ * "type": "Button",
63
+ * "props": {
64
+ * "variant": "base",
65
+ * "theme": "primary",
66
+ * "children": "点击我",
67
+ * "action": "submit"
68
+ * }
69
+ * }
70
+ * }
71
+ * }
72
+ * ```
73
+ */
74
+ export declare const tdesignRegistry: ComponentRegistry;
75
+ /**
76
+ * createCustomRegistry 配置选项
77
+ */
78
+ export interface CreateCustomRegistryOptions {
79
+ /**
80
+ * 是否自动包装组件以优化性能
81
+ * 使用 React.memo + react-fast-compare 深比较 element.props
82
+ *
83
+ * 注意:由于 ElementRenderer 已经实现了 memo 优化,
84
+ * 默认关闭此选项。仅在组件有复杂内部逻辑时考虑开启。
85
+ *
86
+ * @default false
87
+ */
88
+ enableStableProps?: boolean;
89
+ }
90
+ /**
91
+ * 创建自定义组件注册表(扩展内置组件)
92
+ *
93
+ * 用于渲染层:扩展自定义业务组件的 React 实现
94
+ *
95
+ * 性能说明:
96
+ * - ElementRenderer 已经使用 React.memo + 深比较优化,会自动跳过无变化节点
97
+ * - 默认情况下,自定义组件无需额外的 memo 包装
98
+ * - 如果组件有复杂内部逻辑,可以设置 enableStableProps: true 进行双重优化
99
+ *
100
+ * @example
101
+ * ```tsx
102
+ * import { createCustomRegistry } from '@tdesign-react/chat';
103
+ * import type { ComponentRenderProps } from '@json-render/react';
104
+ *
105
+ * // 定义自定义组件(无需手动 React.memo)
106
+ * const StatusCard: React.FC<ComponentRenderProps> = ({ element }) => (
107
+ * <div className="status-card">{element.props.status}</div>
108
+ * );
109
+ *
110
+ * const ProgressBar: React.FC<ComponentRenderProps> = ({ element }) => (
111
+ * <div className="progress-bar" style={{ width: `${element.props.percentage}%` }} />
112
+ * );
113
+ *
114
+ * // 扩展 registry(ElementRenderer 已有优化,无需额外包装)
115
+ * const customRegistry = createCustomRegistry({
116
+ * StatusCard,
117
+ * ProgressBar,
118
+ * });
119
+ *
120
+ * // 如果组件有复杂内部逻辑,可以开启双重优化
121
+ * const customRegistry = createCustomRegistry(
122
+ * { StatusCard, ProgressBar },
123
+ * { enableStableProps: true }
124
+ * );
125
+ * ```
126
+ *
127
+ * 注意:
128
+ * - 这里只定义渲染层的组件映射
129
+ * - 约束层(Catalog)需要使用 createCustomCatalog 定义(见 catalog.ts)
130
+ * - 两者需要保持组件名称一致
131
+ */
132
+ export declare function createCustomRegistry(customComponents: ComponentRegistry, options?: CreateCustomRegistryOptions): ComponentRegistry;
133
+ export { a2uiRegistry, createA2UIRegistry, A2UITextField, A2UIButton } from './a2ui-registry';
134
+ export type { JsonRenderActivityConfigOptions } from './config';
135
+ export { createJsonRenderActivityConfig, createA2UIJsonRenderActivityConfig } from './config';
136
+ export { withA2UIBinding } from './a2ui-binding';
137
+ export type { A2UIBindingConfig } from './a2ui-binding';