@tdesign-react/chat 1.0.2-alpha.9 → 1.1.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (305) hide show
  1. package/es/_chunks/dep-870f0d35.js +839 -0
  2. package/es/_chunks/dep-870f0d35.js.map +1 -0
  3. package/es/_chunks/dep-f2051ebd.js +839 -0
  4. package/es/_chunks/dep-f2051ebd.js.map +1 -0
  5. package/es/_util/reactify.js +1 -1
  6. package/es/_util/useDynamicStyle.js +1 -1
  7. package/es/attachments/index.js +1 -1
  8. package/es/chat-actionbar/index.js +1 -1
  9. package/es/chat-engine/components/a2ui/A2UIActivityRenderer.d.ts +196 -0
  10. package/es/chat-engine/components/a2ui/A2UIActivityRenderer.js +301 -0
  11. package/es/chat-engine/components/a2ui/A2UIActivityRenderer.js.map +1 -0
  12. package/es/chat-engine/components/a2ui/A2UIComponentRenderer.d.ts +37 -0
  13. package/es/chat-engine/components/a2ui/A2UIComponentRenderer.js +116 -0
  14. package/es/chat-engine/components/a2ui/A2UIComponentRenderer.js.map +1 -0
  15. package/es/chat-engine/components/a2ui/A2UIErrorBoundary.d.ts +42 -0
  16. package/es/chat-engine/components/a2ui/A2UIErrorBoundary.js +113 -0
  17. package/es/chat-engine/components/a2ui/A2UIErrorBoundary.js.map +1 -0
  18. package/es/chat-engine/components/a2ui/A2UISkeleton.d.ts +60 -0
  19. package/es/chat-engine/components/a2ui/A2UISkeleton.js +197 -0
  20. package/es/chat-engine/components/a2ui/A2UISkeleton.js.map +1 -0
  21. package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.d.ts +44 -0
  22. package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.js +139 -0
  23. package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.js.map +1 -0
  24. package/es/chat-engine/components/a2ui/containers/A2UICard.d.ts +22 -0
  25. package/es/chat-engine/components/a2ui/containers/A2UICard.js +82 -0
  26. package/es/chat-engine/components/a2ui/containers/A2UICard.js.map +1 -0
  27. package/es/chat-engine/components/a2ui/containers/A2UIColumn.d.ts +18 -0
  28. package/es/chat-engine/components/a2ui/containers/A2UIColumn.js +81 -0
  29. package/es/chat-engine/components/a2ui/containers/A2UIColumn.js.map +1 -0
  30. package/es/chat-engine/components/a2ui/containers/A2UIList.d.ts +14 -0
  31. package/es/chat-engine/components/a2ui/containers/A2UIList.js +62 -0
  32. package/es/chat-engine/components/a2ui/containers/A2UIList.js.map +1 -0
  33. package/es/chat-engine/components/a2ui/containers/A2UIRow.d.ts +20 -0
  34. package/es/chat-engine/components/a2ui/containers/A2UIRow.js +84 -0
  35. package/es/chat-engine/components/a2ui/containers/A2UIRow.js.map +1 -0
  36. package/es/chat-engine/components/a2ui/containers/A2UITabs.d.ts +14 -0
  37. package/es/chat-engine/components/a2ui/containers/A2UITabs.js +69 -0
  38. package/es/chat-engine/components/a2ui/containers/A2UITabs.js.map +1 -0
  39. package/es/chat-engine/components/a2ui/containers/index.d.ts +8 -0
  40. package/es/chat-engine/components/a2ui/containers/index.js +30 -0
  41. package/es/chat-engine/components/a2ui/containers/index.js.map +1 -0
  42. package/es/chat-engine/components/a2ui/index.d.ts +11 -0
  43. package/es/chat-engine/components/a2ui/index.js +62 -0
  44. package/es/chat-engine/components/a2ui/index.js.map +1 -0
  45. package/es/chat-engine/components/a2ui/primitives/A2UIButton.d.ts +33 -0
  46. package/es/chat-engine/components/a2ui/primitives/A2UIButton.js +80 -0
  47. package/es/chat-engine/components/a2ui/primitives/A2UIButton.js.map +1 -0
  48. package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.d.ts +12 -0
  49. package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.js +43 -0
  50. package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.js.map +1 -0
  51. package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.d.ts +50 -0
  52. package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.js +54 -0
  53. package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.js.map +1 -0
  54. package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.d.ts +13 -0
  55. package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.js +89 -0
  56. package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.js.map +1 -0
  57. package/es/chat-engine/components/a2ui/primitives/A2UIDivider.d.ts +12 -0
  58. package/es/chat-engine/components/a2ui/primitives/A2UIDivider.js +25 -0
  59. package/es/chat-engine/components/a2ui/primitives/A2UIDivider.js.map +1 -0
  60. package/es/chat-engine/components/a2ui/primitives/A2UIIcon.d.ts +13 -0
  61. package/es/chat-engine/components/a2ui/primitives/A2UIIcon.js +138942 -0
  62. package/es/chat-engine/components/a2ui/primitives/A2UIIcon.js.map +1 -0
  63. package/es/chat-engine/components/a2ui/primitives/A2UIImage.d.ts +12 -0
  64. package/es/chat-engine/components/a2ui/primitives/A2UIImage.js +75 -0
  65. package/es/chat-engine/components/a2ui/primitives/A2UIImage.js.map +1 -0
  66. package/es/chat-engine/components/a2ui/primitives/A2UIInput.d.ts +20 -0
  67. package/es/chat-engine/components/a2ui/primitives/A2UIInput.js +63 -0
  68. package/es/chat-engine/components/a2ui/primitives/A2UIInput.js.map +1 -0
  69. package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.d.ts +56 -0
  70. package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.js +64 -0
  71. package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.js.map +1 -0
  72. package/es/chat-engine/components/a2ui/primitives/A2UISlider.d.ts +12 -0
  73. package/es/chat-engine/components/a2ui/primitives/A2UISlider.js +55 -0
  74. package/es/chat-engine/components/a2ui/primitives/A2UISlider.js.map +1 -0
  75. package/es/chat-engine/components/a2ui/primitives/A2UIText.d.ts +12 -0
  76. package/es/chat-engine/components/a2ui/primitives/A2UIText.js +104 -0
  77. package/es/chat-engine/components/a2ui/primitives/A2UIText.js.map +1 -0
  78. package/es/chat-engine/components/a2ui/primitives/A2UITextField.d.ts +12 -0
  79. package/es/chat-engine/components/a2ui/primitives/A2UITextField.js +80 -0
  80. package/es/chat-engine/components/a2ui/primitives/A2UITextField.js.map +1 -0
  81. package/es/chat-engine/components/a2ui/primitives/index.d.ts +15 -0
  82. package/es/chat-engine/components/a2ui/primitives/index.js +39 -0
  83. package/es/chat-engine/components/a2ui/primitives/index.js.map +1 -0
  84. package/es/chat-engine/components/a2ui/registry.d.ts +35 -0
  85. package/es/chat-engine/components/a2ui/registry.js +74 -0
  86. package/es/chat-engine/components/a2ui/registry.js.map +1 -0
  87. package/es/chat-engine/components/activity/index.js +1 -1
  88. package/es/chat-engine/components/activity/registry.d.ts +1 -1
  89. package/es/chat-engine/components/activity/registry.js +1 -1
  90. package/es/chat-engine/components/activity/registry.js.map +1 -1
  91. package/es/chat-engine/components/activity/render.d.ts +2 -2
  92. package/es/chat-engine/components/activity/render.js +1 -1
  93. package/es/chat-engine/components/activity/render.js.map +1 -1
  94. package/es/chat-engine/components/activity/types.js +1 -1
  95. package/es/chat-engine/components/index.d.ts +1 -0
  96. package/es/chat-engine/components/index.js +57 -9
  97. package/es/chat-engine/components/index.js.map +1 -1
  98. package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.d.ts +36 -0
  99. package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.js +36 -0
  100. package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.js.map +1 -0
  101. package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.d.ts +46 -0
  102. package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.js +36 -0
  103. package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.js.map +1 -0
  104. package/es/chat-engine/components/json-render/SurfaceStateManager.d.ts +113 -0
  105. package/es/chat-engine/components/json-render/SurfaceStateManager.js +195 -0
  106. package/es/chat-engine/components/json-render/SurfaceStateManager.js.map +1 -0
  107. package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.d.ts +49 -0
  108. package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.js +307 -0
  109. package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.js.map +1 -0
  110. package/es/chat-engine/components/json-render/adapters/a2ui-types.d.ts +96 -0
  111. package/es/chat-engine/components/json-render/adapters/a2ui-types.js +7 -0
  112. package/es/chat-engine/components/json-render/adapters/a2ui-types.js.map +1 -0
  113. package/es/chat-engine/components/json-render/adapters/index.d.ts +7 -0
  114. package/es/chat-engine/components/json-render/adapters/index.js +11 -0
  115. package/es/chat-engine/components/json-render/adapters/index.js.map +1 -0
  116. package/es/chat-engine/components/json-render/catalog/a2ui-binding.d.ts +64 -0
  117. package/es/chat-engine/components/json-render/catalog/a2ui-binding.js +36 -0
  118. package/es/chat-engine/components/json-render/catalog/a2ui-binding.js.map +1 -0
  119. package/es/chat-engine/components/json-render/catalog/a2ui-registry.d.ts +78 -0
  120. package/es/chat-engine/components/json-render/catalog/a2ui-registry.js +36 -0
  121. package/es/chat-engine/components/json-render/catalog/a2ui-registry.js.map +1 -0
  122. package/es/chat-engine/components/json-render/catalog/button.d.ts +14 -0
  123. package/es/chat-engine/components/json-render/catalog/button.js +71 -0
  124. package/es/chat-engine/components/json-render/catalog/button.js.map +1 -0
  125. package/es/chat-engine/components/json-render/catalog/card.d.ts +11 -0
  126. package/es/chat-engine/components/json-render/catalog/card.js +57 -0
  127. package/es/chat-engine/components/json-render/catalog/card.js.map +1 -0
  128. package/es/chat-engine/components/json-render/catalog/index.d.ts +128 -0
  129. package/es/chat-engine/components/json-render/catalog/index.js +36 -0
  130. package/es/chat-engine/components/json-render/catalog/index.js.map +1 -0
  131. package/es/chat-engine/components/json-render/catalog/input.d.ts +20 -0
  132. package/es/chat-engine/components/json-render/catalog/input.js +36 -0
  133. package/es/chat-engine/components/json-render/catalog/input.js.map +1 -0
  134. package/es/chat-engine/components/json-render/catalog/layout.d.ts +44 -0
  135. package/es/chat-engine/components/json-render/catalog/layout.js +129 -0
  136. package/es/chat-engine/components/json-render/catalog/layout.js.map +1 -0
  137. package/es/chat-engine/components/json-render/catalog/text.d.ts +11 -0
  138. package/es/chat-engine/components/json-render/catalog/text.js +31 -0
  139. package/es/chat-engine/components/json-render/catalog/text.js.map +1 -0
  140. package/es/chat-engine/components/json-render/catalog.d.ts +614 -0
  141. package/es/chat-engine/components/json-render/catalog.js +559 -0
  142. package/es/chat-engine/components/json-render/catalog.js.map +1 -0
  143. package/es/chat-engine/components/json-render/config.d.ts +154 -0
  144. package/es/chat-engine/components/json-render/config.js +36 -0
  145. package/es/chat-engine/components/json-render/config.js.map +1 -0
  146. package/es/chat-engine/components/json-render/contexts/actions.d.ts +74 -0
  147. package/es/chat-engine/components/json-render/contexts/actions.js +290 -0
  148. package/es/chat-engine/components/json-render/contexts/actions.js.map +1 -0
  149. package/es/chat-engine/components/json-render/contexts/data.d.ts +45 -0
  150. package/es/chat-engine/components/json-render/contexts/data.js +104 -0
  151. package/es/chat-engine/components/json-render/contexts/data.js.map +1 -0
  152. package/es/chat-engine/components/json-render/contexts/validation.d.ts +59 -0
  153. package/es/chat-engine/components/json-render/contexts/validation.js +151 -0
  154. package/es/chat-engine/components/json-render/contexts/validation.js.map +1 -0
  155. package/es/chat-engine/components/json-render/contexts/visibility.d.ts +29 -0
  156. package/es/chat-engine/components/json-render/contexts/visibility.js +56 -0
  157. package/es/chat-engine/components/json-render/contexts/visibility.js.map +1 -0
  158. package/es/chat-engine/components/json-render/engine.d.ts +58 -0
  159. package/es/chat-engine/components/json-render/engine.js +88 -0
  160. package/es/chat-engine/components/json-render/engine.js.map +1 -0
  161. package/es/chat-engine/components/json-render/index.d.ts +36 -0
  162. package/es/chat-engine/components/json-render/index.js +36 -0
  163. package/es/chat-engine/components/json-render/index.js.map +1 -0
  164. package/es/chat-engine/components/json-render/performance.d.ts +91 -0
  165. package/es/chat-engine/components/json-render/performance.js +135 -0
  166. package/es/chat-engine/components/json-render/performance.js.map +1 -0
  167. package/es/chat-engine/components/json-render/renderer.d.ts +71 -0
  168. package/es/chat-engine/components/json-render/renderer.js +124 -0
  169. package/es/chat-engine/components/json-render/renderer.js.map +1 -0
  170. package/es/chat-engine/components/json-render/types.d.ts +69 -0
  171. package/es/chat-engine/components/json-render/types.js +7 -0
  172. package/es/chat-engine/components/json-render/types.js.map +1 -0
  173. package/es/chat-engine/components/provider/agent-state.js +39 -2
  174. package/es/chat-engine/components/provider/agent-state.js.map +1 -1
  175. package/es/chat-engine/components/toolcall/index.js +32 -2
  176. package/es/chat-engine/components/toolcall/index.js.map +1 -1
  177. package/es/chat-engine/components/toolcall/registry.js +1 -1
  178. package/es/chat-engine/components/toolcall/render.d.ts +1 -1
  179. package/es/chat-engine/components/toolcall/render.js +33 -4
  180. package/es/chat-engine/components/toolcall/render.js.map +1 -1
  181. package/es/chat-engine/components/toolcall/types.js +1 -1
  182. package/es/chat-engine/core/a2ui/index.d.ts +10 -0
  183. package/es/chat-engine/core/a2ui/index.js +24 -0
  184. package/es/chat-engine/core/a2ui/index.js.map +1 -0
  185. package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.d.ts +197 -0
  186. package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.js +438 -0
  187. package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.js.map +1 -0
  188. package/es/chat-engine/core/a2ui/processor/ComponentTree.d.ts +53 -0
  189. package/es/chat-engine/core/a2ui/processor/ComponentTree.js +158 -0
  190. package/es/chat-engine/core/a2ui/processor/ComponentTree.js.map +1 -0
  191. package/es/chat-engine/core/a2ui/processor/DataStore.d.ts +63 -0
  192. package/es/chat-engine/core/a2ui/processor/DataStore.js +172 -0
  193. package/es/chat-engine/core/a2ui/processor/DataStore.js.map +1 -0
  194. package/es/chat-engine/core/a2ui/processor/PathResolver.d.ts +47 -0
  195. package/es/chat-engine/core/a2ui/processor/PathResolver.js +99 -0
  196. package/es/chat-engine/core/a2ui/processor/PathResolver.js.map +1 -0
  197. package/es/chat-engine/core/a2ui/types/index.d.ts +4 -0
  198. package/es/chat-engine/core/a2ui/types/index.js +9 -0
  199. package/es/chat-engine/core/a2ui/types/index.js.map +1 -0
  200. package/es/chat-engine/core/a2ui/types/types.d.ts +770 -0
  201. package/es/chat-engine/core/a2ui/types/types.js +104 -0
  202. package/es/chat-engine/core/a2ui/types/types.js.map +1 -0
  203. package/es/chat-engine/core/a2ui/utils/binding.d.ts +34 -0
  204. package/es/chat-engine/core/a2ui/utils/binding.js +1784 -0
  205. package/es/chat-engine/core/a2ui/utils/binding.js.map +1 -0
  206. package/es/chat-engine/core/a2ui/utils/index.d.ts +5 -0
  207. package/es/chat-engine/core/a2ui/utils/index.js +13 -0
  208. package/es/chat-engine/core/a2ui/utils/index.js.map +1 -0
  209. package/es/chat-engine/core/a2ui/utils/validation.d.ts +70 -0
  210. package/es/chat-engine/core/a2ui/utils/validation.js +333 -0
  211. package/es/chat-engine/core/a2ui/utils/validation.js.map +1 -0
  212. package/es/chat-engine/core/adapters/agui/activity-manager.d.ts +102 -0
  213. package/es/chat-engine/core/adapters/agui/activity-manager.js +144 -0
  214. package/es/chat-engine/core/adapters/agui/activity-manager.js.map +1 -0
  215. package/es/chat-engine/core/adapters/agui/event-mapper.d.ts +42 -2
  216. package/es/chat-engine/core/adapters/agui/event-mapper.js +90 -50
  217. package/es/chat-engine/core/adapters/agui/event-mapper.js.map +1 -1
  218. package/es/chat-engine/core/adapters/agui/events.d.ts +222 -222
  219. package/es/chat-engine/core/adapters/agui/events.js +34 -34
  220. package/es/chat-engine/core/adapters/agui/events.js.map +1 -1
  221. package/es/chat-engine/core/adapters/agui/index.d.ts +22 -2
  222. package/es/chat-engine/core/adapters/agui/index.js +34 -14
  223. package/es/chat-engine/core/adapters/agui/index.js.map +1 -1
  224. package/es/chat-engine/core/adapters/agui/state-manager.js +1 -1
  225. package/es/chat-engine/core/adapters/agui/types.d.ts +57 -56
  226. package/es/chat-engine/core/adapters/agui/types.js +5 -5
  227. package/es/chat-engine/core/adapters/agui/types.js.map +1 -1
  228. package/es/chat-engine/core/adapters/agui/utils.d.ts +9 -3
  229. package/es/chat-engine/core/adapters/agui/utils.js +23 -4
  230. package/es/chat-engine/core/adapters/agui/utils.js.map +1 -1
  231. package/es/chat-engine/core/event-bus/ChatEventBus.d.ts +88 -0
  232. package/es/chat-engine/core/event-bus/ChatEventBus.js +295 -0
  233. package/es/chat-engine/core/event-bus/ChatEventBus.js.map +1 -0
  234. package/es/chat-engine/core/event-bus/index.d.ts +5 -0
  235. package/es/chat-engine/core/event-bus/index.js +13 -0
  236. package/es/chat-engine/core/event-bus/index.js.map +1 -0
  237. package/es/chat-engine/core/event-bus/types.d.ts +230 -0
  238. package/es/chat-engine/core/event-bus/types.js +32 -0
  239. package/es/chat-engine/core/event-bus/types.js.map +1 -0
  240. package/es/chat-engine/core/index.d.ts +16 -1
  241. package/es/chat-engine/core/index.js +174 -17
  242. package/es/chat-engine/core/index.js.map +1 -1
  243. package/es/chat-engine/core/processor/index.js +1 -1
  244. package/es/chat-engine/core/server/batch-client.js +1 -1
  245. package/es/chat-engine/core/server/connection-manager.js +1 -1
  246. package/es/chat-engine/core/server/errors.js +1 -1
  247. package/es/chat-engine/core/server/index.js +1 -1
  248. package/es/chat-engine/core/server/llm-service.js +17 -15
  249. package/es/chat-engine/core/server/llm-service.js.map +1 -1
  250. package/es/chat-engine/core/server/sse-client.js +1 -1
  251. package/es/chat-engine/core/server/sse-parser.js +1 -1
  252. package/es/chat-engine/core/server/types.js +1 -1
  253. package/es/chat-engine/core/store/message.js +2 -2
  254. package/es/chat-engine/core/store/message.js.map +1 -1
  255. package/es/chat-engine/core/store/model.js +1 -1
  256. package/es/chat-engine/core/store/reactiveState.js +1 -1
  257. package/es/chat-engine/core/type.d.ts +18 -2
  258. package/es/chat-engine/core/type.js +1 -1
  259. package/es/chat-engine/core/utils/eventEmitter.js +1 -1
  260. package/es/chat-engine/core/utils/index.js +1 -1
  261. package/es/chat-engine/core/utils/logger.js +1 -1
  262. package/es/chat-engine/hooks/a2ui/A2UIContext.d.ts +90 -0
  263. package/es/chat-engine/hooks/a2ui/A2UIContext.js +97 -0
  264. package/es/chat-engine/hooks/a2ui/A2UIContext.js.map +1 -0
  265. package/es/chat-engine/hooks/a2ui/index.d.ts +12 -0
  266. package/es/chat-engine/hooks/a2ui/index.js +19 -0
  267. package/es/chat-engine/hooks/a2ui/index.js.map +1 -0
  268. package/es/chat-engine/hooks/a2ui/useA2UIAction.d.ts +40 -0
  269. package/es/chat-engine/hooks/a2ui/useA2UIAction.js +74 -0
  270. package/es/chat-engine/hooks/a2ui/useA2UIAction.js.map +1 -0
  271. package/es/chat-engine/hooks/a2ui/useA2UISurface.d.ts +36 -0
  272. package/es/chat-engine/hooks/a2ui/useA2UISurface.js +39 -0
  273. package/es/chat-engine/hooks/a2ui/useA2UISurface.js.map +1 -0
  274. package/es/chat-engine/hooks/a2ui/useDataBinding.d.ts +53 -0
  275. package/es/chat-engine/hooks/a2ui/useDataBinding.js +111 -0
  276. package/es/chat-engine/hooks/a2ui/useDataBinding.js.map +1 -0
  277. package/es/chat-engine/hooks/index.js +38 -4
  278. package/es/chat-engine/hooks/index.js.map +1 -1
  279. package/es/chat-engine/hooks/useAgentActivity.d.ts +1 -2
  280. package/es/chat-engine/hooks/useAgentActivity.js +1 -1
  281. package/es/chat-engine/hooks/useAgentActivity.js.map +1 -1
  282. package/es/chat-engine/hooks/useAgentState.js +39 -2
  283. package/es/chat-engine/hooks/useAgentState.js.map +1 -1
  284. package/es/chat-engine/hooks/useAgentToolcall.js +1 -1
  285. package/es/chat-engine/hooks/useChat.d.ts +3 -3
  286. package/es/chat-engine/hooks/useChat.js +40 -2
  287. package/es/chat-engine/hooks/useChat.js.map +1 -1
  288. package/es/chat-engine/hooks/useJsonRenderActivity.d.ts +56 -0
  289. package/es/chat-engine/hooks/useJsonRenderActivity.js +63 -0
  290. package/es/chat-engine/hooks/useJsonRenderActivity.js.map +1 -0
  291. package/es/chat-engine/index.d.ts +1 -3
  292. package/es/chat-engine/index.js +30 -8
  293. package/es/chat-engine/index.js.map +1 -1
  294. package/es/chat-filecard/index.js +1 -1
  295. package/es/chat-loading/index.js +1 -1
  296. package/es/chat-markdown/index.js +1 -1
  297. package/es/chat-message/index.js +1 -1
  298. package/es/chat-sender/index.js +1 -1
  299. package/es/chat-thinking/index.js +1 -1
  300. package/es/chatbot/docs/react-best-practice.d.ts +13 -0
  301. package/es/chatbot/index.js +1 -1
  302. package/es/index.js +27 -5
  303. package/es/index.js.map +1 -1
  304. package/es/style/index.js +1 -1
  305. package/package.json +6 -3
@@ -0,0 +1,614 @@
1
+ /**
2
+ * TDesign Catalog 定义(约束层)
3
+ * 用于定义组件 props schema 和 actions 白名单
4
+ *
5
+ * 概念区分:
6
+ * - Catalog(本文件):约束层,定义组件 props 的 Zod schemas 和 actions 白名单(给 AI/服务端用)
7
+ * - ComponentRegistry(catalog/index.ts):渲染层,映射组件名到 React 组件(给 Renderer 用)
8
+ */
9
+ import { z } from 'zod';
10
+ /**
11
+ * TDesign 内置组件 Catalog
12
+ * 定义所有内置组件的 props schema 和可用 actions
13
+ *
14
+ * 这个 Catalog 用于:
15
+ * 1. 告诉 AI/LLM 可以生成哪些组件
16
+ * 2. 约束每个组件的 props 类型
17
+ * 3. 定义可触发的 actions 白名单
18
+ */
19
+ export declare const tdesignCatalog: import("@json-render/core").Catalog<{
20
+ Button: {
21
+ props: z.ZodObject<{
22
+ label: z.ZodOptional<z.ZodString>;
23
+ children: z.ZodOptional<z.ZodString>;
24
+ variant: z.ZodNullable<z.ZodEnum<["base", "outline", "dashed", "text"]>>;
25
+ theme: z.ZodNullable<z.ZodEnum<["default", "primary", "success", "warning", "danger"]>>;
26
+ size: z.ZodNullable<z.ZodEnum<["small", "medium", "large"]>>;
27
+ disabled: z.ZodNullable<z.ZodBoolean>;
28
+ loading: z.ZodNullable<z.ZodBoolean>;
29
+ block: z.ZodNullable<z.ZodBoolean>;
30
+ action: z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodObject<{
31
+ name: z.ZodString;
32
+ params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
33
+ }, "strip", z.ZodTypeAny, {
34
+ name?: string;
35
+ params?: Record<string, any>;
36
+ }, {
37
+ name?: string;
38
+ params?: Record<string, any>;
39
+ }>]>>;
40
+ }, "strip", z.ZodTypeAny, {
41
+ label?: string;
42
+ children?: string;
43
+ action?: string | {
44
+ name?: string;
45
+ params?: Record<string, any>;
46
+ };
47
+ block?: boolean;
48
+ loading?: boolean;
49
+ size?: "small" | "large" | "medium";
50
+ disabled?: boolean;
51
+ theme?: "default" | "danger" | "primary" | "warning" | "success";
52
+ variant?: "base" | "text" | "dashed" | "outline";
53
+ }, {
54
+ label?: string;
55
+ children?: string;
56
+ action?: string | {
57
+ name?: string;
58
+ params?: Record<string, any>;
59
+ };
60
+ block?: boolean;
61
+ loading?: boolean;
62
+ size?: "small" | "large" | "medium";
63
+ disabled?: boolean;
64
+ theme?: "default" | "danger" | "primary" | "warning" | "success";
65
+ variant?: "base" | "text" | "dashed" | "outline";
66
+ }>;
67
+ description: string;
68
+ };
69
+ Input: {
70
+ props: z.ZodObject<{
71
+ value: z.ZodNullable<z.ZodString>;
72
+ placeholder: z.ZodNullable<z.ZodString>;
73
+ type: z.ZodNullable<z.ZodEnum<["text", "password", "number"]>>;
74
+ disabled: z.ZodNullable<z.ZodBoolean>;
75
+ clearable: z.ZodNullable<z.ZodBoolean>;
76
+ maxlength: z.ZodNullable<z.ZodNumber>;
77
+ showLimitNumber: z.ZodNullable<z.ZodBoolean>;
78
+ }, "strip", z.ZodTypeAny, {
79
+ value?: string;
80
+ type?: "number" | "text" | "password";
81
+ disabled?: boolean;
82
+ placeholder?: string;
83
+ maxlength?: number;
84
+ clearable?: boolean;
85
+ showLimitNumber?: boolean;
86
+ }, {
87
+ value?: string;
88
+ type?: "number" | "text" | "password";
89
+ disabled?: boolean;
90
+ placeholder?: string;
91
+ maxlength?: number;
92
+ clearable?: boolean;
93
+ showLimitNumber?: boolean;
94
+ }>;
95
+ description: string;
96
+ };
97
+ TextField: {
98
+ props: z.ZodObject<{
99
+ label: z.ZodString;
100
+ name: z.ZodOptional<z.ZodString>;
101
+ valuePath: z.ZodString;
102
+ placeholder: z.ZodNullable<z.ZodString>;
103
+ required: z.ZodNullable<z.ZodBoolean>;
104
+ type: z.ZodNullable<z.ZodEnum<["text", "password", "email", "number", "tel"]>>;
105
+ disabled: z.ZodNullable<z.ZodBoolean>;
106
+ helperText: z.ZodNullable<z.ZodString>;
107
+ }, "strip", z.ZodTypeAny, {
108
+ label?: string;
109
+ name?: string;
110
+ type?: "number" | "text" | "tel" | "email" | "password";
111
+ valuePath?: string;
112
+ disabled?: boolean;
113
+ placeholder?: string;
114
+ required?: boolean;
115
+ helperText?: string;
116
+ }, {
117
+ label?: string;
118
+ name?: string;
119
+ type?: "number" | "text" | "tel" | "email" | "password";
120
+ valuePath?: string;
121
+ disabled?: boolean;
122
+ placeholder?: string;
123
+ required?: boolean;
124
+ helperText?: string;
125
+ }>;
126
+ description: string;
127
+ };
128
+ Text: {
129
+ props: z.ZodObject<{
130
+ content: z.ZodString;
131
+ variant: z.ZodNullable<z.ZodEnum<["body", "caption", "label"]>>;
132
+ color: z.ZodNullable<z.ZodEnum<["default", "primary", "secondary", "success", "warning", "error"]>>;
133
+ weight: z.ZodNullable<z.ZodEnum<["normal", "medium", "bold"]>>;
134
+ }, "strip", z.ZodTypeAny, {
135
+ content?: string;
136
+ weight?: "bold" | "normal" | "medium";
137
+ color?: "error" | "default" | "primary" | "warning" | "success" | "secondary";
138
+ variant?: "body" | "caption" | "label";
139
+ }, {
140
+ content?: string;
141
+ weight?: "bold" | "normal" | "medium";
142
+ color?: "error" | "default" | "primary" | "warning" | "success" | "secondary";
143
+ variant?: "body" | "caption" | "label";
144
+ }>;
145
+ description: string;
146
+ };
147
+ Card: {
148
+ props: z.ZodObject<{
149
+ title: z.ZodNullable<z.ZodString>;
150
+ description: z.ZodNullable<z.ZodString>;
151
+ bordered: z.ZodNullable<z.ZodBoolean>;
152
+ shadow: z.ZodNullable<z.ZodBoolean>;
153
+ loading: z.ZodNullable<z.ZodBoolean>;
154
+ }, "strip", z.ZodTypeAny, {
155
+ title?: string;
156
+ description?: string;
157
+ loading?: boolean;
158
+ bordered?: boolean;
159
+ shadow?: boolean;
160
+ }, {
161
+ title?: string;
162
+ description?: string;
163
+ loading?: boolean;
164
+ bordered?: boolean;
165
+ shadow?: boolean;
166
+ }>;
167
+ hasChildren: true;
168
+ description: string;
169
+ };
170
+ Row: {
171
+ props: z.ZodObject<{
172
+ gutter: z.ZodNullable<z.ZodNumber>;
173
+ justify: z.ZodNullable<z.ZodEnum<["start", "end", "center", "space-around", "space-between"]>>;
174
+ align: z.ZodNullable<z.ZodEnum<["top", "middle", "bottom"]>>;
175
+ }, "strip", z.ZodTypeAny, {
176
+ gutter?: number;
177
+ justify?: "center" | "start" | "end" | "space-around" | "space-between";
178
+ align?: "top" | "bottom" | "middle";
179
+ }, {
180
+ gutter?: number;
181
+ justify?: "center" | "start" | "end" | "space-around" | "space-between";
182
+ align?: "top" | "bottom" | "middle";
183
+ }>;
184
+ hasChildren: true;
185
+ description: string;
186
+ };
187
+ Col: {
188
+ props: z.ZodObject<{
189
+ span: z.ZodNullable<z.ZodNumber>;
190
+ offset: z.ZodNullable<z.ZodNumber>;
191
+ }, "strip", z.ZodTypeAny, {
192
+ span?: number;
193
+ offset?: number;
194
+ }, {
195
+ span?: number;
196
+ offset?: number;
197
+ }>;
198
+ hasChildren: true;
199
+ description: string;
200
+ };
201
+ Space: {
202
+ props: z.ZodObject<{
203
+ direction: z.ZodNullable<z.ZodEnum<["horizontal", "vertical"]>>;
204
+ size: z.ZodNullable<z.ZodUnion<[z.ZodEnum<["small", "medium", "large"]>, z.ZodNumber, z.ZodString]>>;
205
+ align: z.ZodNullable<z.ZodEnum<["start", "center", "end", "baseline"]>>;
206
+ }, "strip", z.ZodTypeAny, {
207
+ size?: string | number;
208
+ direction?: "vertical" | "horizontal";
209
+ align?: "center" | "start" | "end" | "baseline";
210
+ }, {
211
+ size?: string | number;
212
+ direction?: "vertical" | "horizontal";
213
+ align?: "center" | "start" | "end" | "baseline";
214
+ }>;
215
+ hasChildren: true;
216
+ description: string;
217
+ };
218
+ Column: {
219
+ props: z.ZodObject<{
220
+ gap: z.ZodNullable<z.ZodNumber>;
221
+ align: z.ZodNullable<z.ZodEnum<["start", "center", "end", "stretch"]>>;
222
+ }, "strip", z.ZodTypeAny, {
223
+ gap?: number;
224
+ align?: "center" | "start" | "end" | "stretch";
225
+ }, {
226
+ gap?: number;
227
+ align?: "center" | "start" | "end" | "stretch";
228
+ }>;
229
+ hasChildren: true;
230
+ description: string;
231
+ };
232
+ Divider: {
233
+ props: z.ZodObject<{
234
+ layout: z.ZodNullable<z.ZodEnum<["horizontal", "vertical"]>>;
235
+ dashed: z.ZodNullable<z.ZodBoolean>;
236
+ }, "strip", z.ZodTypeAny, {
237
+ layout?: "vertical" | "horizontal";
238
+ dashed?: boolean;
239
+ }, {
240
+ layout?: "vertical" | "horizontal";
241
+ dashed?: boolean;
242
+ }>;
243
+ description: string;
244
+ };
245
+ }, {
246
+ submit: {
247
+ description: string;
248
+ };
249
+ reset: {
250
+ description: string;
251
+ };
252
+ cancel: {
253
+ description: string;
254
+ };
255
+ }, Record<string, import("@json-render/core").ValidationFunction>>;
256
+ /**
257
+ * 创建自定义 Catalog(扩展 TDesign 内置 Catalog)
258
+ *
259
+ * @param customConfig - 自定义 Catalog 配置
260
+ * @returns 合并后的 Catalog
261
+ *
262
+ * @example
263
+ * ```typescript
264
+ * import { createCustomCatalog } from '@tdesign-react/chat';
265
+ * import { z } from 'zod';
266
+ *
267
+ * const customCatalog = createCustomCatalog({
268
+ * name: 'my-dashboard',
269
+ * components: {
270
+ * StatusCard: {
271
+ * props: z.object({
272
+ * title: z.string(),
273
+ * status: z.enum(['success', 'warning', 'error', 'info']),
274
+ * description: z.string().nullable(),
275
+ * }),
276
+ * description: 'Custom status card component',
277
+ * },
278
+ * ProgressBar: {
279
+ * props: z.object({
280
+ * label: z.string().nullable(),
281
+ * percentage: z.number().min(0).max(100),
282
+ * showInfo: z.boolean().nullable(),
283
+ * }),
284
+ * description: 'Custom progress bar component',
285
+ * },
286
+ * },
287
+ * actions: {
288
+ * refresh: { description: 'Refresh data' },
289
+ * export: { description: 'Export to file' },
290
+ * },
291
+ * });
292
+ *
293
+ * // 使用自定义 Catalog
294
+ * // 1. 在服务端:告诉 AI 可以生成哪些组件
295
+ * // 2. 在前端:配合 createCustomRegistry 提供渲染能力
296
+ * ```
297
+ */
298
+ export declare function createCustomCatalog(customConfig: {
299
+ name: string;
300
+ components?: Record<string, any>;
301
+ actions?: Record<string, {
302
+ description: string;
303
+ }>;
304
+ validation?: 'strict' | 'warn';
305
+ }): import("@json-render/core").Catalog<{
306
+ Button: {
307
+ props: z.ZodObject<{
308
+ label: z.ZodOptional<z.ZodString>;
309
+ children: z.ZodOptional<z.ZodString>;
310
+ variant: z.ZodNullable<z.ZodEnum<["base", "outline", "dashed", "text"]>>;
311
+ theme: z.ZodNullable<z.ZodEnum<["default", "primary", "success", "warning", "danger"]>>;
312
+ size: z.ZodNullable<z.ZodEnum<["small", "medium", "large"]>>;
313
+ disabled: z.ZodNullable<z.ZodBoolean>;
314
+ loading: z.ZodNullable<z.ZodBoolean>;
315
+ block: z.ZodNullable<z.ZodBoolean>;
316
+ action: z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodObject<{
317
+ name: z.ZodString;
318
+ params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
319
+ }, "strip", z.ZodTypeAny, {
320
+ name?: string;
321
+ params?: Record<string, any>;
322
+ }, {
323
+ name?: string;
324
+ params?: Record<string, any>;
325
+ }>]>>;
326
+ }, "strip", z.ZodTypeAny, {
327
+ label?: string;
328
+ children?: string;
329
+ action?: string | {
330
+ name?: string;
331
+ params?: Record<string, any>;
332
+ };
333
+ block?: boolean;
334
+ loading?: boolean;
335
+ size?: "small" | "large" | "medium";
336
+ disabled?: boolean;
337
+ theme?: "default" | "danger" | "primary" | "warning" | "success";
338
+ variant?: "base" | "text" | "dashed" | "outline";
339
+ }, {
340
+ label?: string;
341
+ children?: string;
342
+ action?: string | {
343
+ name?: string;
344
+ params?: Record<string, any>;
345
+ };
346
+ block?: boolean;
347
+ loading?: boolean;
348
+ size?: "small" | "large" | "medium";
349
+ disabled?: boolean;
350
+ theme?: "default" | "danger" | "primary" | "warning" | "success";
351
+ variant?: "base" | "text" | "dashed" | "outline";
352
+ }>;
353
+ description: string;
354
+ };
355
+ Input: {
356
+ props: z.ZodObject<{
357
+ value: z.ZodNullable<z.ZodString>;
358
+ placeholder: z.ZodNullable<z.ZodString>;
359
+ type: z.ZodNullable<z.ZodEnum<["text", "password", "number"]>>;
360
+ disabled: z.ZodNullable<z.ZodBoolean>;
361
+ clearable: z.ZodNullable<z.ZodBoolean>;
362
+ maxlength: z.ZodNullable<z.ZodNumber>;
363
+ showLimitNumber: z.ZodNullable<z.ZodBoolean>;
364
+ }, "strip", z.ZodTypeAny, {
365
+ value?: string;
366
+ type?: "number" | "text" | "password";
367
+ disabled?: boolean;
368
+ placeholder?: string;
369
+ maxlength?: number;
370
+ clearable?: boolean;
371
+ showLimitNumber?: boolean;
372
+ }, {
373
+ value?: string;
374
+ type?: "number" | "text" | "password";
375
+ disabled?: boolean;
376
+ placeholder?: string;
377
+ maxlength?: number;
378
+ clearable?: boolean;
379
+ showLimitNumber?: boolean;
380
+ }>;
381
+ description: string;
382
+ };
383
+ TextField: {
384
+ props: z.ZodObject<{
385
+ label: z.ZodString;
386
+ name: z.ZodOptional<z.ZodString>;
387
+ valuePath: z.ZodString;
388
+ placeholder: z.ZodNullable<z.ZodString>;
389
+ required: z.ZodNullable<z.ZodBoolean>;
390
+ type: z.ZodNullable<z.ZodEnum<["text", "password", "email", "number", "tel"]>>;
391
+ disabled: z.ZodNullable<z.ZodBoolean>;
392
+ helperText: z.ZodNullable<z.ZodString>;
393
+ }, "strip", z.ZodTypeAny, {
394
+ label?: string;
395
+ name?: string;
396
+ type?: "number" | "text" | "tel" | "email" | "password";
397
+ valuePath?: string;
398
+ disabled?: boolean;
399
+ placeholder?: string;
400
+ required?: boolean;
401
+ helperText?: string;
402
+ }, {
403
+ label?: string;
404
+ name?: string;
405
+ type?: "number" | "text" | "tel" | "email" | "password";
406
+ valuePath?: string;
407
+ disabled?: boolean;
408
+ placeholder?: string;
409
+ required?: boolean;
410
+ helperText?: string;
411
+ }>;
412
+ description: string;
413
+ };
414
+ Text: {
415
+ props: z.ZodObject<{
416
+ content: z.ZodString;
417
+ variant: z.ZodNullable<z.ZodEnum<["body", "caption", "label"]>>;
418
+ color: z.ZodNullable<z.ZodEnum<["default", "primary", "secondary", "success", "warning", "error"]>>;
419
+ weight: z.ZodNullable<z.ZodEnum<["normal", "medium", "bold"]>>;
420
+ }, "strip", z.ZodTypeAny, {
421
+ content?: string;
422
+ weight?: "bold" | "normal" | "medium";
423
+ color?: "error" | "default" | "primary" | "warning" | "success" | "secondary";
424
+ variant?: "body" | "caption" | "label";
425
+ }, {
426
+ content?: string;
427
+ weight?: "bold" | "normal" | "medium";
428
+ color?: "error" | "default" | "primary" | "warning" | "success" | "secondary";
429
+ variant?: "body" | "caption" | "label";
430
+ }>;
431
+ description: string;
432
+ };
433
+ Card: {
434
+ props: z.ZodObject<{
435
+ title: z.ZodNullable<z.ZodString>;
436
+ description: z.ZodNullable<z.ZodString>;
437
+ bordered: z.ZodNullable<z.ZodBoolean>;
438
+ shadow: z.ZodNullable<z.ZodBoolean>;
439
+ loading: z.ZodNullable<z.ZodBoolean>;
440
+ }, "strip", z.ZodTypeAny, {
441
+ title?: string;
442
+ description?: string;
443
+ loading?: boolean;
444
+ bordered?: boolean;
445
+ shadow?: boolean;
446
+ }, {
447
+ title?: string;
448
+ description?: string;
449
+ loading?: boolean;
450
+ bordered?: boolean;
451
+ shadow?: boolean;
452
+ }>;
453
+ hasChildren: true;
454
+ description: string;
455
+ };
456
+ Row: {
457
+ props: z.ZodObject<{
458
+ gutter: z.ZodNullable<z.ZodNumber>;
459
+ justify: z.ZodNullable<z.ZodEnum<["start", "end", "center", "space-around", "space-between"]>>;
460
+ align: z.ZodNullable<z.ZodEnum<["top", "middle", "bottom"]>>;
461
+ }, "strip", z.ZodTypeAny, {
462
+ gutter?: number;
463
+ justify?: "center" | "start" | "end" | "space-around" | "space-between";
464
+ align?: "top" | "bottom" | "middle";
465
+ }, {
466
+ gutter?: number;
467
+ justify?: "center" | "start" | "end" | "space-around" | "space-between";
468
+ align?: "top" | "bottom" | "middle";
469
+ }>;
470
+ hasChildren: true;
471
+ description: string;
472
+ };
473
+ Col: {
474
+ props: z.ZodObject<{
475
+ span: z.ZodNullable<z.ZodNumber>;
476
+ offset: z.ZodNullable<z.ZodNumber>;
477
+ }, "strip", z.ZodTypeAny, {
478
+ span?: number;
479
+ offset?: number;
480
+ }, {
481
+ span?: number;
482
+ offset?: number;
483
+ }>;
484
+ hasChildren: true;
485
+ description: string;
486
+ };
487
+ Space: {
488
+ props: z.ZodObject<{
489
+ direction: z.ZodNullable<z.ZodEnum<["horizontal", "vertical"]>>;
490
+ size: z.ZodNullable<z.ZodUnion<[z.ZodEnum<["small", "medium", "large"]>, z.ZodNumber, z.ZodString]>>;
491
+ align: z.ZodNullable<z.ZodEnum<["start", "center", "end", "baseline"]>>;
492
+ }, "strip", z.ZodTypeAny, {
493
+ size?: string | number;
494
+ direction?: "vertical" | "horizontal";
495
+ align?: "center" | "start" | "end" | "baseline";
496
+ }, {
497
+ size?: string | number;
498
+ direction?: "vertical" | "horizontal";
499
+ align?: "center" | "start" | "end" | "baseline";
500
+ }>;
501
+ hasChildren: true;
502
+ description: string;
503
+ };
504
+ Column: {
505
+ props: z.ZodObject<{
506
+ gap: z.ZodNullable<z.ZodNumber>;
507
+ align: z.ZodNullable<z.ZodEnum<["start", "center", "end", "stretch"]>>;
508
+ }, "strip", z.ZodTypeAny, {
509
+ gap?: number;
510
+ align?: "center" | "start" | "end" | "stretch";
511
+ }, {
512
+ gap?: number;
513
+ align?: "center" | "start" | "end" | "stretch";
514
+ }>;
515
+ hasChildren: true;
516
+ description: string;
517
+ };
518
+ Divider: {
519
+ props: z.ZodObject<{
520
+ layout: z.ZodNullable<z.ZodEnum<["horizontal", "vertical"]>>;
521
+ dashed: z.ZodNullable<z.ZodBoolean>;
522
+ }, "strip", z.ZodTypeAny, {
523
+ layout?: "vertical" | "horizontal";
524
+ dashed?: boolean;
525
+ }, {
526
+ layout?: "vertical" | "horizontal";
527
+ dashed?: boolean;
528
+ }>;
529
+ description: string;
530
+ };
531
+ }, {
532
+ submit: {
533
+ description: string;
534
+ };
535
+ reset: {
536
+ description: string;
537
+ };
538
+ cancel: {
539
+ description: string;
540
+ };
541
+ }, Record<string, import("@json-render/core").ValidationFunction>>;
542
+ /**
543
+ * 导出 TDesign Catalog 的组件列表(给 AI prompt 用)
544
+ */
545
+ export declare const tdesignComponentList: string[];
546
+ /**
547
+ * 导出 TDesign Catalog 的 actions 列表(给 AI prompt 用)
548
+ */
549
+ export declare const tdesignActionList: string[];
550
+ /**
551
+ * Prompt 模板模式
552
+ * - 'default': 默认模板,生成标准的 JSON Schema UI
553
+ * - 'a2ui': A2UI 模板,使用 A2UI 特定的消息格式和协议
554
+ * - 'custom': 自定义模板,完全由 customTemplate 参数控制
555
+ */
556
+ export type PromptTemplateMode = 'default' | 'a2ui' | 'custom';
557
+ /**
558
+ * 组件文档定义类型
559
+ * props 支持两种格式:
560
+ * 1. Record<string, string> - 人可读的 props 描述,如 { label: 'string - Button text' }
561
+ * 2. ZodObject - Zod schema 对象,会自动转换为描述
562
+ */
563
+ export interface ComponentDoc {
564
+ description: string;
565
+ /** Props 定义:可以是字符串描述映射,也可以是 Zod schema */
566
+ props: Record<string, string> | z.ZodObject<any>;
567
+ hasChildren?: boolean;
568
+ }
569
+ /**
570
+ * 内部使用的标准化组件文档类型(props 已转为字符串)
571
+ */
572
+ export interface NormalizedComponentDoc {
573
+ description: string;
574
+ props: Record<string, string>;
575
+ hasChildren?: boolean;
576
+ }
577
+ /**
578
+ * 自定义模板生成器函数类型
579
+ * 接收标准化后的组件文档(props 已转为字符串描述)
580
+ */
581
+ export type CustomTemplateGenerator = (context: {
582
+ name: string;
583
+ components: Record<string, NormalizedComponentDoc>;
584
+ actions: Record<string, {
585
+ description: string;
586
+ }>;
587
+ }) => string;
588
+ /**
589
+ * 生成增强版 Catalog Prompt(包含完整 Props 文档和 Schema 示例)
590
+ *
591
+ * @param options - 配置选项
592
+ * @returns 详细的 AI Prompt 字符串
593
+ */
594
+ export declare function generateCatalogPrompt(options?: {
595
+ name?: string;
596
+ components?: Record<string, ComponentDoc>;
597
+ actions?: Record<string, {
598
+ description: string;
599
+ }>;
600
+ /** 是否包含 Schema 示例 */
601
+ includeExample?: boolean;
602
+ /**
603
+ * Prompt 模板模式
604
+ * - 'default': 标准 JSON Schema UI 模板
605
+ * - 'a2ui': A2UI 协议模板(需服务端配合)
606
+ * - 'custom': 使用自定义模板生成器
607
+ */
608
+ templateMode?: PromptTemplateMode;
609
+ /**
610
+ * 自定义模板生成器(仅当 templateMode='custom' 时使用)
611
+ * 接收组件和 actions 上下文,返回完整的 prompt 字符串
612
+ */
613
+ customTemplate?: CustomTemplateGenerator;
614
+ }): string;