@tdesign-react/chat 1.0.2-alpha.8 → 1.1.0-alpha.1

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 (446) hide show
  1. package/es/_chunks/dep-f2051ebd.js +839 -0
  2. package/es/_chunks/dep-f2051ebd.js.map +1 -0
  3. package/es/_util/reactify.d.ts +1 -2
  4. package/es/_util/reactify.js +81 -231
  5. package/es/_util/reactify.js.map +1 -1
  6. package/es/_util/useDynamicStyle.js +1 -1
  7. package/es/attachments/index.js +4 -6
  8. package/es/attachments/index.js.map +1 -1
  9. package/es/chat-actionbar/_example-js/base.d.ts +2 -0
  10. package/es/chat-actionbar/_example-js/custom.d.ts +2 -0
  11. package/es/chat-actionbar/_example-js/style.d.ts +2 -0
  12. package/es/chat-actionbar/index.js +4 -6
  13. package/es/chat-actionbar/index.js.map +1 -1
  14. package/es/chat-attachments/_example-js/base.d.ts +2 -0
  15. package/es/chat-attachments/_example-js/scroll-x.d.ts +2 -0
  16. package/es/chat-attachments/_example-js/scroll-y.d.ts +2 -0
  17. package/es/chat-attachments/index.js +3 -1
  18. package/es/chat-attachments/index.js.map +1 -1
  19. package/es/chat-engine/_example-js/agui-basic.d.ts +10 -0
  20. package/es/chat-engine/_example-js/agui-comprehensive.d.ts +2 -0
  21. package/es/chat-engine/_example-js/agui-test.d.ts +11 -0
  22. package/es/chat-engine/_example-js/agui-toolcall.d.ts +5 -0
  23. package/es/chat-engine/_example-js/agui-videoclip.d.ts +8 -0
  24. package/es/chat-engine/_example-js/agui.d.ts +1 -0
  25. package/es/chat-engine/_example-js/basic.d.ts +9 -0
  26. package/es/chat-engine/_example-js/components/HotelCard.d.ts +3 -0
  27. package/es/chat-engine/_example-js/components/HumanInputForm.d.ts +6 -0
  28. package/es/chat-engine/_example-js/components/HumanInputResult.d.ts +3 -0
  29. package/es/chat-engine/_example-js/components/ItineraryCard.d.ts +3 -0
  30. package/es/chat-engine/_example-js/components/PlanningStatePanel.d.ts +4 -0
  31. package/es/chat-engine/_example-js/components/Toolcall.d.ts +4 -0
  32. package/es/chat-engine/_example-js/components/WeatherCard.d.ts +3 -0
  33. package/es/chat-engine/_example-js/components/login.d.ts +1 -0
  34. package/es/chat-engine/_example-js/comprehensive.d.ts +12 -0
  35. package/es/chat-engine/_example-js/custom-content.d.ts +1 -0
  36. package/es/chat-engine/_example-js/hookComponent.d.ts +1 -0
  37. package/es/chat-engine/_example-js/initial-messages.d.ts +9 -0
  38. package/es/chat-engine/_example-js/instance-methods.d.ts +13 -0
  39. package/es/chat-engine/_example-js/travel-actions.d.ts +91 -0
  40. package/es/chat-engine/_example-js/travelToolcall.d.ts +1 -0
  41. package/es/chat-engine/components/a2ui/A2UIActivityRenderer.d.ts +196 -0
  42. package/es/chat-engine/components/a2ui/A2UIActivityRenderer.js +301 -0
  43. package/es/chat-engine/components/a2ui/A2UIActivityRenderer.js.map +1 -0
  44. package/es/chat-engine/components/a2ui/A2UIComponentRenderer.d.ts +37 -0
  45. package/es/chat-engine/components/a2ui/A2UIComponentRenderer.js +116 -0
  46. package/es/chat-engine/components/a2ui/A2UIComponentRenderer.js.map +1 -0
  47. package/es/chat-engine/components/a2ui/A2UIErrorBoundary.d.ts +42 -0
  48. package/es/chat-engine/components/a2ui/A2UIErrorBoundary.js +113 -0
  49. package/es/chat-engine/components/a2ui/A2UIErrorBoundary.js.map +1 -0
  50. package/es/chat-engine/components/a2ui/A2UISkeleton.d.ts +60 -0
  51. package/es/chat-engine/components/a2ui/A2UISkeleton.js +197 -0
  52. package/es/chat-engine/components/a2ui/A2UISkeleton.js.map +1 -0
  53. package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.d.ts +44 -0
  54. package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.js +139 -0
  55. package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.js.map +1 -0
  56. package/es/chat-engine/components/a2ui/containers/A2UICard.d.ts +22 -0
  57. package/es/chat-engine/components/a2ui/containers/A2UICard.js +82 -0
  58. package/es/chat-engine/components/a2ui/containers/A2UICard.js.map +1 -0
  59. package/es/chat-engine/components/a2ui/containers/A2UIColumn.d.ts +18 -0
  60. package/es/chat-engine/components/a2ui/containers/A2UIColumn.js +81 -0
  61. package/es/chat-engine/components/a2ui/containers/A2UIColumn.js.map +1 -0
  62. package/es/chat-engine/components/a2ui/containers/A2UIList.d.ts +14 -0
  63. package/es/chat-engine/components/a2ui/containers/A2UIList.js +62 -0
  64. package/es/chat-engine/components/a2ui/containers/A2UIList.js.map +1 -0
  65. package/es/chat-engine/components/a2ui/containers/A2UIRow.d.ts +20 -0
  66. package/es/chat-engine/components/a2ui/containers/A2UIRow.js +84 -0
  67. package/es/chat-engine/components/a2ui/containers/A2UIRow.js.map +1 -0
  68. package/es/chat-engine/components/a2ui/containers/A2UITabs.d.ts +14 -0
  69. package/es/chat-engine/components/a2ui/containers/A2UITabs.js +69 -0
  70. package/es/chat-engine/components/a2ui/containers/A2UITabs.js.map +1 -0
  71. package/es/chat-engine/components/a2ui/containers/index.d.ts +8 -0
  72. package/es/chat-engine/components/a2ui/containers/index.js +30 -0
  73. package/es/chat-engine/components/a2ui/containers/index.js.map +1 -0
  74. package/es/chat-engine/components/a2ui/index.d.ts +11 -0
  75. package/es/chat-engine/components/a2ui/index.js +62 -0
  76. package/es/chat-engine/components/a2ui/index.js.map +1 -0
  77. package/es/chat-engine/components/a2ui/primitives/A2UIButton.d.ts +33 -0
  78. package/es/chat-engine/components/a2ui/primitives/A2UIButton.js +80 -0
  79. package/es/chat-engine/components/a2ui/primitives/A2UIButton.js.map +1 -0
  80. package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.d.ts +12 -0
  81. package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.js +43 -0
  82. package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.js.map +1 -0
  83. package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.d.ts +50 -0
  84. package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.js +54 -0
  85. package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.js.map +1 -0
  86. package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.d.ts +13 -0
  87. package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.js +89 -0
  88. package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.js.map +1 -0
  89. package/es/chat-engine/components/a2ui/primitives/A2UIDivider.d.ts +12 -0
  90. package/es/chat-engine/components/a2ui/primitives/A2UIDivider.js +25 -0
  91. package/es/chat-engine/components/a2ui/primitives/A2UIDivider.js.map +1 -0
  92. package/es/chat-engine/components/a2ui/primitives/A2UIIcon.d.ts +13 -0
  93. package/es/chat-engine/components/a2ui/primitives/A2UIIcon.js +138942 -0
  94. package/es/chat-engine/components/a2ui/primitives/A2UIIcon.js.map +1 -0
  95. package/es/chat-engine/components/a2ui/primitives/A2UIImage.d.ts +12 -0
  96. package/es/chat-engine/components/a2ui/primitives/A2UIImage.js +75 -0
  97. package/es/chat-engine/components/a2ui/primitives/A2UIImage.js.map +1 -0
  98. package/es/chat-engine/components/a2ui/primitives/A2UIInput.d.ts +20 -0
  99. package/es/chat-engine/components/a2ui/primitives/A2UIInput.js +63 -0
  100. package/es/chat-engine/components/a2ui/primitives/A2UIInput.js.map +1 -0
  101. package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.d.ts +56 -0
  102. package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.js +64 -0
  103. package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.js.map +1 -0
  104. package/es/chat-engine/components/a2ui/primitives/A2UISlider.d.ts +12 -0
  105. package/es/chat-engine/components/a2ui/primitives/A2UISlider.js +55 -0
  106. package/es/chat-engine/components/a2ui/primitives/A2UISlider.js.map +1 -0
  107. package/es/chat-engine/components/a2ui/primitives/A2UIText.d.ts +12 -0
  108. package/es/chat-engine/components/a2ui/primitives/A2UIText.js +104 -0
  109. package/es/chat-engine/components/a2ui/primitives/A2UIText.js.map +1 -0
  110. package/es/chat-engine/components/a2ui/primitives/A2UITextField.d.ts +12 -0
  111. package/es/chat-engine/components/a2ui/primitives/A2UITextField.js +80 -0
  112. package/es/chat-engine/components/a2ui/primitives/A2UITextField.js.map +1 -0
  113. package/es/chat-engine/components/a2ui/primitives/index.d.ts +15 -0
  114. package/es/chat-engine/components/a2ui/primitives/index.js +39 -0
  115. package/es/chat-engine/components/a2ui/primitives/index.js.map +1 -0
  116. package/es/chat-engine/components/a2ui/registry.d.ts +35 -0
  117. package/es/chat-engine/components/a2ui/registry.js +74 -0
  118. package/es/chat-engine/components/a2ui/registry.js.map +1 -0
  119. package/es/{chatbot/components/toolcall → chat-engine/components/activity}/index.d.ts +1 -0
  120. package/es/chat-engine/components/activity/index.js +18 -0
  121. package/es/chat-engine/components/activity/index.js.map +1 -0
  122. package/es/chat-engine/components/activity/registry.d.ts +44 -0
  123. package/es/{chatbot/components/toolcall → chat-engine/components/activity}/registry.js +32 -22
  124. package/es/chat-engine/components/activity/registry.js.map +1 -0
  125. package/es/chat-engine/components/activity/render.d.ts +11 -0
  126. package/es/chat-engine/components/activity/render.js +107 -0
  127. package/es/chat-engine/components/activity/render.js.map +1 -0
  128. package/es/chat-engine/components/activity/types.d.ts +32 -0
  129. package/es/chat-engine/components/activity/types.js +7 -0
  130. package/es/chat-engine/components/activity/types.js.map +1 -0
  131. package/es/chat-engine/components/index.d.ts +4 -0
  132. package/es/chat-engine/components/index.js +76 -0
  133. package/es/chat-engine/components/index.js.map +1 -0
  134. package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.d.ts +36 -0
  135. package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.js +36 -0
  136. package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.js.map +1 -0
  137. package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.d.ts +46 -0
  138. package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.js +36 -0
  139. package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.js.map +1 -0
  140. package/es/chat-engine/components/json-render/SurfaceStateManager.d.ts +113 -0
  141. package/es/chat-engine/components/json-render/SurfaceStateManager.js +195 -0
  142. package/es/chat-engine/components/json-render/SurfaceStateManager.js.map +1 -0
  143. package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.d.ts +49 -0
  144. package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.js +307 -0
  145. package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.js.map +1 -0
  146. package/es/chat-engine/components/json-render/adapters/a2ui-types.d.ts +96 -0
  147. package/es/chat-engine/components/json-render/adapters/a2ui-types.js +7 -0
  148. package/es/chat-engine/components/json-render/adapters/a2ui-types.js.map +1 -0
  149. package/es/chat-engine/components/json-render/adapters/index.d.ts +7 -0
  150. package/es/chat-engine/components/json-render/adapters/index.js +11 -0
  151. package/es/chat-engine/components/json-render/adapters/index.js.map +1 -0
  152. package/es/chat-engine/components/json-render/catalog/a2ui-binding.d.ts +64 -0
  153. package/es/chat-engine/components/json-render/catalog/a2ui-binding.js +36 -0
  154. package/es/chat-engine/components/json-render/catalog/a2ui-binding.js.map +1 -0
  155. package/es/chat-engine/components/json-render/catalog/a2ui-registry.d.ts +78 -0
  156. package/es/chat-engine/components/json-render/catalog/a2ui-registry.js +36 -0
  157. package/es/chat-engine/components/json-render/catalog/a2ui-registry.js.map +1 -0
  158. package/es/chat-engine/components/json-render/catalog/button.d.ts +14 -0
  159. package/es/chat-engine/components/json-render/catalog/button.js +71 -0
  160. package/es/chat-engine/components/json-render/catalog/button.js.map +1 -0
  161. package/es/chat-engine/components/json-render/catalog/card.d.ts +11 -0
  162. package/es/chat-engine/components/json-render/catalog/card.js +57 -0
  163. package/es/chat-engine/components/json-render/catalog/card.js.map +1 -0
  164. package/es/chat-engine/components/json-render/catalog/index.d.ts +127 -0
  165. package/es/chat-engine/components/json-render/catalog/index.js +36 -0
  166. package/es/chat-engine/components/json-render/catalog/index.js.map +1 -0
  167. package/es/chat-engine/components/json-render/catalog/input.d.ts +20 -0
  168. package/es/chat-engine/components/json-render/catalog/input.js +36 -0
  169. package/es/chat-engine/components/json-render/catalog/input.js.map +1 -0
  170. package/es/chat-engine/components/json-render/catalog/layout.d.ts +44 -0
  171. package/es/chat-engine/components/json-render/catalog/layout.js +129 -0
  172. package/es/chat-engine/components/json-render/catalog/layout.js.map +1 -0
  173. package/es/chat-engine/components/json-render/catalog/text.d.ts +11 -0
  174. package/es/chat-engine/components/json-render/catalog/text.js +31 -0
  175. package/es/chat-engine/components/json-render/catalog/text.js.map +1 -0
  176. package/es/chat-engine/components/json-render/catalog.d.ts +549 -0
  177. package/es/chat-engine/components/json-render/catalog.js +147 -0
  178. package/es/chat-engine/components/json-render/catalog.js.map +1 -0
  179. package/es/chat-engine/components/json-render/config.d.ts +154 -0
  180. package/es/chat-engine/components/json-render/config.js +36 -0
  181. package/es/chat-engine/components/json-render/config.js.map +1 -0
  182. package/es/chat-engine/components/json-render/contexts/actions.d.ts +74 -0
  183. package/es/chat-engine/components/json-render/contexts/actions.js +290 -0
  184. package/es/chat-engine/components/json-render/contexts/actions.js.map +1 -0
  185. package/es/chat-engine/components/json-render/contexts/data.d.ts +45 -0
  186. package/es/chat-engine/components/json-render/contexts/data.js +104 -0
  187. package/es/chat-engine/components/json-render/contexts/data.js.map +1 -0
  188. package/es/chat-engine/components/json-render/contexts/validation.d.ts +59 -0
  189. package/es/chat-engine/components/json-render/contexts/validation.js +151 -0
  190. package/es/chat-engine/components/json-render/contexts/validation.js.map +1 -0
  191. package/es/chat-engine/components/json-render/contexts/visibility.d.ts +29 -0
  192. package/es/chat-engine/components/json-render/contexts/visibility.js +56 -0
  193. package/es/chat-engine/components/json-render/contexts/visibility.js.map +1 -0
  194. package/es/chat-engine/components/json-render/engine.d.ts +58 -0
  195. package/es/chat-engine/components/json-render/engine.js +88 -0
  196. package/es/chat-engine/components/json-render/engine.js.map +1 -0
  197. package/es/chat-engine/components/json-render/index.d.ts +34 -0
  198. package/es/chat-engine/components/json-render/index.js +36 -0
  199. package/es/chat-engine/components/json-render/index.js.map +1 -0
  200. package/es/chat-engine/components/json-render/performance.d.ts +91 -0
  201. package/es/chat-engine/components/json-render/performance.js +135 -0
  202. package/es/chat-engine/components/json-render/performance.js.map +1 -0
  203. package/es/chat-engine/components/json-render/renderer.d.ts +71 -0
  204. package/es/chat-engine/components/json-render/renderer.js +124 -0
  205. package/es/chat-engine/components/json-render/renderer.js.map +1 -0
  206. package/es/chat-engine/components/json-render/types.d.ts +69 -0
  207. package/es/chat-engine/components/json-render/types.js +7 -0
  208. package/es/chat-engine/components/json-render/types.js.map +1 -0
  209. package/es/chat-engine/components/provider/agent-state.js +39 -2
  210. package/es/chat-engine/components/provider/agent-state.js.map +1 -1
  211. package/es/chat-engine/components/toolcall/index.js +35 -2
  212. package/es/chat-engine/components/toolcall/index.js.map +1 -1
  213. package/es/chat-engine/components/toolcall/registry.js +1 -1
  214. package/es/chat-engine/components/toolcall/render.d.ts +1 -1
  215. package/es/chat-engine/components/toolcall/render.js +102 -26
  216. package/es/chat-engine/components/toolcall/render.js.map +1 -1
  217. package/es/chat-engine/components/toolcall/types.js +1 -1
  218. package/es/chat-engine/core/a2ui/index.d.ts +10 -0
  219. package/es/chat-engine/core/a2ui/index.js +24 -0
  220. package/es/chat-engine/core/a2ui/index.js.map +1 -0
  221. package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.d.ts +197 -0
  222. package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.js +438 -0
  223. package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.js.map +1 -0
  224. package/es/chat-engine/core/a2ui/processor/ComponentTree.d.ts +53 -0
  225. package/es/chat-engine/core/a2ui/processor/ComponentTree.js +158 -0
  226. package/es/chat-engine/core/a2ui/processor/ComponentTree.js.map +1 -0
  227. package/es/chat-engine/core/a2ui/processor/DataStore.d.ts +63 -0
  228. package/es/chat-engine/core/a2ui/processor/DataStore.js +172 -0
  229. package/es/chat-engine/core/a2ui/processor/DataStore.js.map +1 -0
  230. package/es/chat-engine/core/a2ui/processor/PathResolver.d.ts +47 -0
  231. package/es/chat-engine/core/a2ui/processor/PathResolver.js +99 -0
  232. package/es/chat-engine/core/a2ui/processor/PathResolver.js.map +1 -0
  233. package/es/chat-engine/core/a2ui/types/index.d.ts +4 -0
  234. package/es/chat-engine/core/a2ui/types/index.js +9 -0
  235. package/es/chat-engine/core/a2ui/types/index.js.map +1 -0
  236. package/es/chat-engine/core/a2ui/types/types.d.ts +770 -0
  237. package/es/chat-engine/core/a2ui/types/types.js +104 -0
  238. package/es/chat-engine/core/a2ui/types/types.js.map +1 -0
  239. package/es/chat-engine/core/a2ui/utils/binding.d.ts +34 -0
  240. package/es/chat-engine/core/a2ui/utils/binding.js +1784 -0
  241. package/es/chat-engine/core/a2ui/utils/binding.js.map +1 -0
  242. package/es/chat-engine/core/a2ui/utils/index.d.ts +5 -0
  243. package/es/chat-engine/core/a2ui/utils/index.js +13 -0
  244. package/es/chat-engine/core/a2ui/utils/index.js.map +1 -0
  245. package/es/chat-engine/core/a2ui/utils/validation.d.ts +70 -0
  246. package/es/chat-engine/core/a2ui/utils/validation.js +333 -0
  247. package/es/chat-engine/core/a2ui/utils/validation.js.map +1 -0
  248. package/es/chat-engine/core/adapters/agui/activity-manager.d.ts +102 -0
  249. package/es/chat-engine/core/adapters/agui/activity-manager.js +144 -0
  250. package/es/chat-engine/core/adapters/agui/activity-manager.js.map +1 -0
  251. package/es/chat-engine/core/adapters/agui/event-mapper.d.ts +149 -0
  252. package/es/chat-engine/core/adapters/agui/event-mapper.js +415 -0
  253. package/es/chat-engine/core/adapters/agui/event-mapper.js.map +1 -0
  254. package/es/chat-engine/core/adapters/agui/events.d.ts +1550 -0
  255. package/es/chat-engine/core/adapters/agui/events.js +199 -0
  256. package/es/chat-engine/core/adapters/agui/events.js.map +1 -0
  257. package/es/chat-engine/core/adapters/agui/index.d.ts +95 -0
  258. package/es/chat-engine/core/adapters/agui/index.js +195 -0
  259. package/es/chat-engine/core/adapters/agui/index.js.map +1 -0
  260. package/es/chat-engine/core/adapters/agui/state-manager.d.ts +99 -0
  261. package/es/chat-engine/core/adapters/agui/state-manager.js +168 -0
  262. package/es/chat-engine/core/adapters/agui/state-manager.js.map +1 -0
  263. package/es/chat-engine/core/adapters/agui/types.d.ts +818 -0
  264. package/es/chat-engine/core/adapters/agui/types.js +95 -0
  265. package/es/chat-engine/core/adapters/agui/types.js.map +1 -0
  266. package/es/chat-engine/core/adapters/agui/utils.d.ts +203 -0
  267. package/es/chat-engine/core/adapters/agui/utils.js +330 -0
  268. package/es/chat-engine/core/adapters/agui/utils.js.map +1 -0
  269. package/es/chat-engine/core/event-bus/ChatEventBus.d.ts +88 -0
  270. package/es/chat-engine/core/event-bus/ChatEventBus.js +295 -0
  271. package/es/chat-engine/core/event-bus/ChatEventBus.js.map +1 -0
  272. package/es/chat-engine/core/event-bus/index.d.ts +5 -0
  273. package/es/chat-engine/core/event-bus/index.js +13 -0
  274. package/es/chat-engine/core/event-bus/index.js.map +1 -0
  275. package/es/chat-engine/core/event-bus/types.d.ts +230 -0
  276. package/es/chat-engine/core/event-bus/types.js +32 -0
  277. package/es/chat-engine/core/event-bus/types.js.map +1 -0
  278. package/es/chat-engine/core/index.d.ts +147 -0
  279. package/es/chat-engine/core/index.js +754 -0
  280. package/es/chat-engine/core/index.js.map +1 -0
  281. package/es/chat-engine/core/processor/index.d.ts +20 -0
  282. package/es/chat-engine/core/processor/index.js +146 -0
  283. package/es/chat-engine/core/processor/index.js.map +1 -0
  284. package/es/chat-engine/core/server/batch-client.d.ts +20 -0
  285. package/es/chat-engine/core/server/batch-client.js +114 -0
  286. package/es/chat-engine/core/server/batch-client.js.map +1 -0
  287. package/es/chat-engine/core/server/connection-manager.d.ts +39 -0
  288. package/es/chat-engine/core/server/connection-manager.js +84 -0
  289. package/es/chat-engine/core/server/connection-manager.js.map +1 -0
  290. package/es/chat-engine/core/server/errors.d.ts +22 -0
  291. package/es/chat-engine/core/server/errors.js +80 -0
  292. package/es/chat-engine/core/server/errors.js.map +1 -0
  293. package/es/chat-engine/core/server/index.d.ts +11 -0
  294. package/es/chat-engine/core/server/index.js +26 -0
  295. package/es/chat-engine/core/server/index.js.map +1 -0
  296. package/es/chat-engine/core/server/llm-service.d.ts +44 -0
  297. package/es/chat-engine/core/server/llm-service.js +200 -0
  298. package/es/chat-engine/core/server/llm-service.js.map +1 -0
  299. package/es/chat-engine/core/server/sse-client.d.ts +77 -0
  300. package/es/chat-engine/core/server/sse-client.js +362 -0
  301. package/es/chat-engine/core/server/sse-client.js.map +1 -0
  302. package/es/chat-engine/core/server/sse-parser.d.ts +49 -0
  303. package/es/chat-engine/core/server/sse-parser.js +116 -0
  304. package/es/chat-engine/core/server/sse-parser.js.map +1 -0
  305. package/es/chat-engine/core/server/types.d.ts +54 -0
  306. package/es/chat-engine/core/server/types.js +28 -0
  307. package/es/chat-engine/core/server/types.js.map +1 -0
  308. package/es/chat-engine/core/store/message.d.ts +27 -0
  309. package/es/chat-engine/core/store/message.js +263 -0
  310. package/es/chat-engine/core/store/message.js.map +1 -0
  311. package/es/chat-engine/core/store/model.d.ts +8 -0
  312. package/es/chat-engine/core/store/model.js +65 -0
  313. package/es/chat-engine/core/store/model.js.map +1 -0
  314. package/es/chat-engine/core/store/reactiveState.d.ts +52 -0
  315. package/es/chat-engine/core/store/reactiveState.js +1359 -0
  316. package/es/chat-engine/core/store/reactiveState.js.map +1 -0
  317. package/es/chat-engine/core/type.d.ts +271 -0
  318. package/es/chat-engine/core/type.js +7 -0
  319. package/es/chat-engine/core/type.js.map +1 -0
  320. package/es/chat-engine/core/utils/eventEmitter.d.ts +10 -0
  321. package/es/chat-engine/core/utils/eventEmitter.js +67 -0
  322. package/es/chat-engine/core/utils/eventEmitter.js.map +1 -0
  323. package/es/chat-engine/core/utils/index.d.ts +33 -0
  324. package/es/chat-engine/core/utils/index.js +999 -0
  325. package/es/chat-engine/core/utils/index.js.map +1 -0
  326. package/es/chat-engine/core/utils/logger.d.ts +30 -0
  327. package/es/chat-engine/core/utils/logger.js +87 -0
  328. package/es/chat-engine/core/utils/logger.js.map +1 -0
  329. package/es/chat-engine/hooks/a2ui/A2UIContext.d.ts +90 -0
  330. package/es/chat-engine/hooks/a2ui/A2UIContext.js +97 -0
  331. package/es/chat-engine/hooks/a2ui/A2UIContext.js.map +1 -0
  332. package/es/chat-engine/hooks/a2ui/index.d.ts +12 -0
  333. package/es/chat-engine/hooks/a2ui/index.js +19 -0
  334. package/es/chat-engine/hooks/a2ui/useA2UIAction.d.ts +40 -0
  335. package/es/chat-engine/hooks/a2ui/useA2UIAction.js +74 -0
  336. package/es/chat-engine/hooks/a2ui/useA2UIAction.js.map +1 -0
  337. package/es/chat-engine/hooks/a2ui/useA2UISurface.d.ts +36 -0
  338. package/es/chat-engine/hooks/a2ui/useA2UISurface.js +39 -0
  339. package/es/chat-engine/hooks/a2ui/useA2UISurface.js.map +1 -0
  340. package/es/chat-engine/hooks/a2ui/useDataBinding.d.ts +53 -0
  341. package/es/chat-engine/hooks/a2ui/useDataBinding.js +111 -0
  342. package/es/chat-engine/hooks/a2ui/useDataBinding.js.map +1 -0
  343. package/es/chat-engine/hooks/index.d.ts +4 -0
  344. package/es/chat-engine/hooks/index.js +54 -0
  345. package/es/chat-engine/hooks/index.js.map +1 -0
  346. package/es/chat-engine/hooks/useAgentActivity.d.ts +15 -0
  347. package/es/chat-engine/hooks/useAgentActivity.js +73 -0
  348. package/es/chat-engine/hooks/useAgentActivity.js.map +1 -0
  349. package/es/chat-engine/hooks/useAgentState.js +39 -2
  350. package/es/chat-engine/hooks/useAgentState.js.map +1 -1
  351. package/es/chat-engine/hooks/useAgentToolcall.js +1 -1
  352. package/es/chat-engine/hooks/useChat.d.ts +3 -3
  353. package/es/chat-engine/hooks/useChat.js +41 -3
  354. package/es/chat-engine/hooks/useChat.js.map +1 -1
  355. package/es/chat-engine/hooks/useJsonRenderActivity.d.ts +56 -0
  356. package/es/chat-engine/hooks/useJsonRenderActivity.js +63 -0
  357. package/es/chat-engine/hooks/useJsonRenderActivity.js.map +1 -0
  358. package/es/chat-engine/index.d.ts +3 -3
  359. package/es/chat-engine/index.js +61 -5
  360. package/es/chat-engine/index.js.map +1 -1
  361. package/es/chat-filecard/_example-js/base.d.ts +1 -0
  362. package/es/chat-filecard/index.js +4 -6
  363. package/es/chat-filecard/index.js.map +1 -1
  364. package/es/chat-loading/_example-js/base.d.ts +2 -0
  365. package/es/chat-loading/_example-js/text.d.ts +2 -0
  366. package/es/chat-loading/index.js +4 -6
  367. package/es/chat-loading/index.js.map +1 -1
  368. package/es/chat-markdown/_example-js/base.d.ts +1 -0
  369. package/es/chat-markdown/_example-js/custom.d.ts +2 -0
  370. package/es/chat-markdown/_example-js/event.d.ts +1 -0
  371. package/es/chat-markdown/_example-js/footnote.d.ts +2 -0
  372. package/es/chat-markdown/_example-js/plugin.d.ts +2 -0
  373. package/es/chat-markdown/_example-js/theme.d.ts +2 -0
  374. package/es/chat-markdown/index.js +4 -6
  375. package/es/chat-markdown/index.js.map +1 -1
  376. package/es/chat-message/_example-js/action.d.ts +1 -0
  377. package/es/chat-message/_example-js/base.d.ts +1 -0
  378. package/es/chat-message/_example-js/configure.d.ts +1 -0
  379. package/es/chat-message/_example-js/content.d.ts +1 -0
  380. package/es/chat-message/_example-js/custom.d.ts +1 -0
  381. package/es/chat-message/_example-js/handle-actions.d.ts +7 -0
  382. package/es/chat-message/_example-js/status.d.ts +1 -0
  383. package/es/chat-message/_example-js/think.d.ts +1 -0
  384. package/es/chat-message/index.js +4 -6
  385. package/es/chat-message/index.js.map +1 -1
  386. package/es/chat-sender/_example-js/attachment.d.ts +2 -0
  387. package/es/chat-sender/_example-js/base.d.ts +2 -0
  388. package/es/chat-sender/_example-js/custom.d.ts +2 -0
  389. package/es/chat-sender/index.js +4 -6
  390. package/es/chat-sender/index.js.map +1 -1
  391. package/es/chat-thinking/_example-js/base.d.ts +1 -0
  392. package/es/chat-thinking/_example-js/style.d.ts +1 -0
  393. package/es/chat-thinking/index.js +4 -6
  394. package/es/chat-thinking/index.js.map +1 -1
  395. package/es/chatbot/_example-js/agent.d.ts +1 -0
  396. package/es/chatbot/_example-js/agui.d.ts +13 -0
  397. package/es/chatbot/_example-js/backup/travel.d.ts +1 -0
  398. package/es/chatbot/_example-js/basic.d.ts +1 -0
  399. package/es/chatbot/_example-js/code.d.ts +1 -0
  400. package/es/chatbot/_example-js/components/ItineraryCard.d.ts +3 -0
  401. package/es/chatbot/_example-js/components/login.d.ts +1 -0
  402. package/es/chatbot/_example-js/comprehensive.d.ts +1 -0
  403. package/es/chatbot/_example-js/custom-content.d.ts +1 -0
  404. package/es/chatbot/_example-js/custom-merge.d.ts +1 -0
  405. package/es/chatbot/_example-js/custom.d.ts +1 -0
  406. package/es/chatbot/_example-js/docs.d.ts +1 -0
  407. package/es/chatbot/_example-js/image.d.ts +1 -0
  408. package/es/chatbot/_example-js/initial-messages.d.ts +9 -0
  409. package/es/chatbot/_example-js/instance-methods.d.ts +14 -0
  410. package/es/chatbot/_example-js/nostream.d.ts +1 -0
  411. package/es/chatbot/_example-js/quick-start.d.ts +9 -0
  412. package/es/chatbot/_example-js/research.d.ts +1 -0
  413. package/es/chatbot/_example-js/role-message-config.d.ts +22 -0
  414. package/es/chatbot/_example-js/sender-config.d.ts +20 -0
  415. package/es/chatbot/_example-js/service-config.d.ts +17 -0
  416. package/es/chatbot/_example-js/simple.d.ts +1 -0
  417. package/es/chatbot/_example-js/utils/messageRenderer.d.ts +5 -0
  418. package/es/chatbot/docs/react-best-practice.d.ts +13 -0
  419. package/es/chatbot/index.js +4 -6
  420. package/es/chatbot/index.js.map +1 -1
  421. package/es/index.js +59 -9
  422. package/es/index.js.map +1 -1
  423. package/es/style/index.js +1 -1
  424. package/package.json +6 -3
  425. package/es/chatbot/components/provider/agent-state.d.ts +0 -5
  426. package/es/chatbot/components/provider/agent-state.js +0 -28
  427. package/es/chatbot/components/provider/agent-state.js.map +0 -1
  428. package/es/chatbot/components/toolcall/index.js +0 -19
  429. package/es/chatbot/components/toolcall/registry.d.ts +0 -35
  430. package/es/chatbot/components/toolcall/registry.js.map +0 -1
  431. package/es/chatbot/components/toolcall/render.d.ts +0 -13
  432. package/es/chatbot/components/toolcall/render.js +0 -207
  433. package/es/chatbot/components/toolcall/render.js.map +0 -1
  434. package/es/chatbot/components/toolcall/types.d.ts +0 -57
  435. package/es/chatbot/components/toolcall/types.js +0 -15
  436. package/es/chatbot/components/toolcall/types.js.map +0 -1
  437. package/es/chatbot/hooks/useAgentState.d.ts +0 -40
  438. package/es/chatbot/hooks/useAgentState.js +0 -76
  439. package/es/chatbot/hooks/useAgentState.js.map +0 -1
  440. package/es/chatbot/hooks/useAgentToolcall.d.ts +0 -28
  441. package/es/chatbot/hooks/useAgentToolcall.js +0 -78
  442. package/es/chatbot/hooks/useAgentToolcall.js.map +0 -1
  443. package/es/chatbot/hooks/useChat.d.ts +0 -11
  444. package/es/chatbot/hooks/useChat.js +0 -66
  445. package/es/chatbot/hooks/useChat.js.map +0 -1
  446. /package/es/{chatbot/components/toolcall → chat-engine/hooks/a2ui}/index.js.map +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.js","sources":["../../../../../pro-components/chat/chat-engine/components/json-render/catalog.ts"],"sourcesContent":["/**\n * TDesign Catalog 定义(约束层)\n * 用于定义组件 props schema 和 actions 白名单\n * \n * 概念区分:\n * - Catalog(本文件):约束层,定义组件 props 的 Zod schemas 和 actions 白名单(给 AI/服务端用)\n * - ComponentRegistry(catalog/index.ts):渲染层,映射组件名到 React 组件(给 Renderer 用)\n */\n\nimport { createCatalog } from '@json-render/core';\nimport { z } from 'zod';\n\n/**\n * TDesign 内置组件 Catalog\n * 定义所有内置组件的 props schema 和可用 actions\n * \n * 这个 Catalog 用于:\n * 1. 告诉 AI/LLM 可以生成哪些组件\n * 2. 约束每个组件的 props 类型\n * 3. 定义可触发的 actions 白名单\n */\nexport const tdesignCatalog = createCatalog({\n name: 'tdesign',\n components: {\n // ==================== 基础组件 ====================\n \n Button: {\n props: z.object({\n // 支持 label 或 children 两种方式传递按钮文本\n label: z.string().optional(),\n children: z.string().optional(),\n variant: z.enum(['base', 'outline', 'dashed', 'text']).nullable(),\n theme: z.enum(['default', 'primary', 'success', 'warning', 'danger']).nullable(),\n size: z.enum(['small', 'medium', 'large']).nullable(),\n disabled: z.boolean().nullable(),\n loading: z.boolean().nullable(),\n block: z.boolean().nullable(),\n // action 支持字符串(action 名称)或 Action 对象 { name, params }\n action: z.union([\n z.string(),\n z.object({\n name: z.string(),\n params: z.record(z.any()).optional(),\n }),\n ]).nullable(),\n }),\n description: 'TDesign Button component with action support',\n },\n\n Input: {\n props: z.object({\n value: z.string().nullable(),\n placeholder: z.string().nullable(),\n type: z.enum(['text', 'password', 'number']).nullable(),\n disabled: z.boolean().nullable(),\n clearable: z.boolean().nullable(),\n maxlength: z.number().nullable(),\n showLimitNumber: z.boolean().nullable(),\n }),\n description: 'TDesign Input component',\n },\n\n TextField: {\n props: z.object({\n label: z.string(),\n name: z.string().optional(), // 表单字段名称(可选)\n valuePath: z.string(), // 数据绑定路径(必需)\n placeholder: z.string().nullable(),\n required: z.boolean().nullable(),\n type: z.enum(['text', 'password', 'email', 'number', 'tel']).nullable(),\n disabled: z.boolean().nullable(),\n helperText: z.string().nullable(),\n }),\n description: 'Form text field with label and data binding (combines Input + label)',\n },\n\n Text: {\n props: z.object({\n content: z.string(),\n variant: z.enum(['body', 'caption', 'label']).nullable(),\n color: z.enum(['default', 'primary', 'secondary', 'success', 'warning', 'error']).nullable(),\n weight: z.enum(['normal', 'medium', 'bold']).nullable(),\n }),\n description: 'Text display component',\n },\n\n Card: {\n props: z.object({\n title: z.string().nullable(),\n description: z.string().nullable(),\n bordered: z.boolean().nullable(),\n shadow: z.boolean().nullable(),\n loading: z.boolean().nullable(),\n }),\n hasChildren: true,\n description: 'TDesign Card container',\n },\n\n // ==================== 布局组件 ====================\n\n Row: {\n props: z.object({\n gutter: z.number().nullable(),\n justify: z.enum(['start', 'end', 'center', 'space-around', 'space-between']).nullable(),\n align: z.enum(['top', 'middle', 'bottom']).nullable(),\n }),\n hasChildren: true,\n description: 'Grid row layout',\n },\n\n Col: {\n props: z.object({\n span: z.number().min(1).max(24).nullable(),\n offset: z.number().nullable(),\n }),\n hasChildren: true,\n description: 'Grid column layout',\n },\n\n Space: {\n props: z.object({\n direction: z.enum(['horizontal', 'vertical']).nullable(),\n // size 支持字符串枚举或数字\n size: z.union([\n z.enum(['small', 'medium', 'large']),\n z.number(),\n z.string(),\n ]).nullable(),\n align: z.enum(['start', 'center', 'end', 'baseline']).nullable(),\n }),\n hasChildren: true,\n description: 'Space layout component',\n },\n\n Column: {\n props: z.object({\n gap: z.number().nullable(),\n align: z.enum(['start', 'center', 'end', 'stretch']).nullable(),\n }),\n hasChildren: true,\n description: 'Vertical column layout',\n },\n\n Divider: {\n props: z.object({\n layout: z.enum(['horizontal', 'vertical']).nullable(),\n dashed: z.boolean().nullable(),\n }),\n description: 'Divider line',\n },\n },\n \n actions: {\n submit: { \n description: 'Submit form data to server' \n },\n reset: { \n description: 'Reset form to initial state (handled by Button component automatically)' \n },\n cancel: { \n description: 'Cancel current operation' \n },\n },\n \n validation: 'strict',\n});\n\n/**\n * 创建自定义 Catalog(扩展 TDesign 内置 Catalog)\n * \n * @param customConfig - 自定义 Catalog 配置\n * @returns 合并后的 Catalog\n * \n * @example\n * ```typescript\n * import { createCustomCatalog } from '@tdesign-react/chat';\n * import { z } from 'zod';\n * \n * const customCatalog = createCustomCatalog({\n * name: 'my-dashboard',\n * components: {\n * StatusCard: {\n * props: z.object({\n * title: z.string(),\n * status: z.enum(['success', 'warning', 'error', 'info']),\n * description: z.string().nullable(),\n * }),\n * description: 'Custom status card component',\n * },\n * ProgressBar: {\n * props: z.object({\n * label: z.string().nullable(),\n * percentage: z.number().min(0).max(100),\n * showInfo: z.boolean().nullable(),\n * }),\n * description: 'Custom progress bar component',\n * },\n * },\n * actions: {\n * refresh: { description: 'Refresh data' },\n * export: { description: 'Export to file' },\n * },\n * });\n * \n * // 使用自定义 Catalog\n * // 1. 在服务端:告诉 AI 可以生成哪些组件\n * // 2. 在前端:配合 createCustomRegistry 提供渲染能力\n * ```\n */\nexport function createCustomCatalog(customConfig: {\n name: string;\n components?: Record<string, any>;\n actions?: Record<string, { description: string }>;\n validation?: 'strict' | 'warn';\n}) {\n // 获取 TDesign 内置配置\n const tdesignComponents = tdesignCatalog.components;\n const tdesignActions = tdesignCatalog.actions;\n\n // 合并配置\n return createCatalog({\n name: customConfig.name,\n components: {\n ...tdesignComponents,\n ...(customConfig.components || {}),\n },\n actions: {\n ...tdesignActions,\n ...(customConfig.actions || {}),\n },\n validation: customConfig.validation || 'strict',\n });\n}\n\n/**\n * 导出 TDesign Catalog 的组件列表(给 AI prompt 用)\n */\nexport const tdesignComponentList = tdesignCatalog.componentNames as string[];\n\n/**\n * 导出 TDesign Catalog 的 actions 列表(给 AI prompt 用)\n */\nexport const tdesignActionList = tdesignCatalog.actionNames as string[];\n"],"names":["tdesignCatalog","createCatalog","name","components","Button","props","z","object","label","string","optional","children","variant","nullable","theme","size","disabled","loading","block","action","union","params","record","any","description","Input","value","placeholder","type","clearable","maxlength","number","showLimitNumber","TextField","valuePath","required","helperText","Text","content","color","weight","Card","title","bordered","shadow","hasChildren","Row","gutter","justify","align","Col","span","min","max","offset","Space","direction","Column","gap","Divider","layout","dashed","actions","submit","reset","cancel","validation","createCustomCatalog","customConfig","tdesignComponents","tdesignActions","_objectSpread","tdesignComponentList","componentNames","tdesignActionList","actionNames"],"mappings":"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"}
@@ -0,0 +1,154 @@
1
+ /**
2
+ * json-render Activity 配置工厂函数
3
+ * 便捷创建 ActivityConfig 用于注册
4
+ */
5
+ import type { ComponentRegistry } from './renderer';
6
+ import type { ActivityConfig } from '../activity/types';
7
+ import type { JsonRenderActivityProps } from './types';
8
+ /**
9
+ * json-render Activity 配置选项
10
+ */
11
+ export interface JsonRenderActivityConfigOptions {
12
+ /** Activity 类型标识,默认 'json-render' */
13
+ activityType?: string;
14
+ /** 组件注册表,默认使用 tdesignRegistry */
15
+ registry?: ComponentRegistry;
16
+ /**
17
+ * Action 处理器映射表
18
+ *
19
+ * 重要:json-render 采用预定义 action 模式
20
+ * - AI/服务端只能生成在此预定义的 action 名称
21
+ * - 每个 action 对应一个具体的处理函数
22
+ * - 这确保了生成式 UI 的安全性和可控性
23
+ *
24
+ * @example
25
+ * ```tsx
26
+ * actionHandlers: {
27
+ * // 表单提交
28
+ * submit: async (params) => {
29
+ * await api.submitForm(params);
30
+ * MessagePlugin.success('提交成功');
31
+ * },
32
+ *
33
+ * // 表单重置
34
+ * reset: async (params) => {
35
+ * // 注意:如需清空表单,应在组件内部使用 useData().update()
36
+ * MessagePlugin.info('表单已重置');
37
+ * },
38
+ *
39
+ * // 删除操作
40
+ * delete: async (params) => {
41
+ * await api.deleteItem(params.id);
42
+ * },
43
+ *
44
+ * // 刷新数据
45
+ * refresh: async () => {
46
+ * await refetchData();
47
+ * }
48
+ * }
49
+ * ```
50
+ */
51
+ actionHandlers?: Record<string, (params: Record<string, unknown>) => void | Promise<void>>;
52
+ /** 显示调试信息 */
53
+ debug?: boolean;
54
+ /** 描述信息 */
55
+ description?: string;
56
+ }
57
+ /**
58
+ * 创建 json-render Activity 配置
59
+ *
60
+ * @example
61
+ * 基础用法 - 预定义 action handlers
62
+ * ```tsx
63
+ * const jsonRenderConfig = createJsonRenderActivityConfig({
64
+ * activityType: 'json-render',
65
+ * actionHandlers: {
66
+ * submit: async (params) => {
67
+ * console.log('提交表单:', params);
68
+ * await api.submit(params);
69
+ * MessagePlugin.success('提交成功');
70
+ * },
71
+ * reset: async (params) => {
72
+ * MessagePlugin.info('表单已重置');
73
+ * },
74
+ * delete: async (params) => {
75
+ * await api.delete(params.id);
76
+ * }
77
+ * },
78
+ * });
79
+ *
80
+ * useAgentActivity(jsonRenderConfig);
81
+ * ```
82
+ *
83
+ * @example
84
+ * 结合 ChatEngine 发送消息到服务端
85
+ * ```tsx
86
+ * const jsonRenderConfig = createJsonRenderActivityConfig({
87
+ * actionHandlers: {
88
+ * submit: async (params) => {
89
+ * // 发送到服务端处理
90
+ * await chatEngine.sendAIMessage({
91
+ * params: { userActionMessage: { name: 'submit', params } },
92
+ * sendRequest: true,
93
+ * });
94
+ * },
95
+ * reset: async (params) => {
96
+ * // 本地处理,不发送到服务端
97
+ * MessagePlugin.info('已重置');
98
+ * },
99
+ * },
100
+ * });
101
+ * ```
102
+ *
103
+ * @example
104
+ * 配合自定义组件注册表
105
+ * ```tsx
106
+ * import { createCustomRegistry } from './catalog';
107
+ *
108
+ * const jsonRenderConfig = createJsonRenderActivityConfig({
109
+ * registry: createCustomRegistry({
110
+ * MyCustomComponent: MyComponentRenderer,
111
+ * }),
112
+ * actionHandlers: {
113
+ * custom_action: async (params) => {
114
+ * // 处理自定义操作
115
+ * },
116
+ * },
117
+ * });
118
+ * ```
119
+ */
120
+ export declare function createJsonRenderActivityConfig(options?: JsonRenderActivityConfigOptions): ActivityConfig<JsonRenderActivityProps['content']>;
121
+ /**
122
+ * 默认 json-render Activity 配置
123
+ * 使用默认 TDesign Catalog,适用于大多数场景
124
+ */
125
+ export declare const defaultJsonRenderActivityConfig: ActivityConfig<import("./types").JsonRenderSchema>;
126
+ /**
127
+ * 创建 A2UI + json-render Activity 配置
128
+ * 支持将 A2UI 协议转换为 json-render Schema 渲染
129
+ *
130
+ * 注意:默认使用 a2uiRegistry,自动支持 valuePath/disabledPath/action.context 绑定
131
+ *
132
+ * @example
133
+ * ```tsx
134
+ * const a2uiJsonRenderConfig = createA2UIJsonRenderActivityConfig({
135
+ * activityType: 'a2ui-json-render',
136
+ * actionHandlers: {
137
+ * submit: async (params) => {
138
+ * console.log('提交:', params);
139
+ * },
140
+ * cancel: async (params) => {
141
+ * console.log('取消');
142
+ * },
143
+ * },
144
+ * });
145
+ *
146
+ * useAgentActivity(a2uiJsonRenderConfig);
147
+ * ```
148
+ */
149
+ export declare function createA2UIJsonRenderActivityConfig(options?: JsonRenderActivityConfigOptions): ActivityConfig<any>;
150
+ /**
151
+ * 默认 A2UI + json-render Activity 配置
152
+ */
153
+ export declare const defaultA2UIJsonRenderActivityConfig: ActivityConfig<any>;
154
+ export default createJsonRenderActivityConfig;
@@ -0,0 +1,36 @@
1
+ /**
2
+ * tdesign v1.0.2-alpha.15
3
+ * (c) 2026 tdesign
4
+ * @license MIT
5
+ */
6
+
7
+ import '@babel/runtime/helpers/defineProperty';
8
+ import 'react';
9
+ export { j as createA2UIJsonRenderActivityConfig, h as createJsonRenderActivityConfig, h as default, k as defaultA2UIJsonRenderActivityConfig, i as defaultJsonRenderActivityConfig } from '../../../_chunks/dep-f2051ebd.js';
10
+ import '@babel/runtime/helpers/typeof';
11
+ import '@babel/runtime/helpers/slicedToArray';
12
+ import './adapters/index.js';
13
+ import './adapters/a2ui-to-jsonrender.js';
14
+ import '@babel/runtime/helpers/objectWithoutProperties';
15
+ import './SurfaceStateManager.js';
16
+ import '@babel/runtime/helpers/classCallCheck';
17
+ import '@babel/runtime/helpers/createClass';
18
+ import './engine.js';
19
+ import './performance.js';
20
+ import '@babel/runtime/helpers/toConsumableArray';
21
+ import './catalog/button.js';
22
+ import 'tdesign-react';
23
+ import '@json-render/core';
24
+ import './contexts/data.js';
25
+ import './catalog/card.js';
26
+ import './catalog/text.js';
27
+ import './catalog/layout.js';
28
+ import './catalog.js';
29
+ import 'zod';
30
+ import './contexts/visibility.js';
31
+ import './contexts/actions.js';
32
+ import '@babel/runtime/helpers/asyncToGenerator';
33
+ import '@babel/runtime/regenerator';
34
+ import './contexts/validation.js';
35
+ import './renderer.js';
36
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,74 @@
1
+ import { type ReactNode } from "react";
2
+ import { type Action, type ActionHandler, type ActionConfirm, type ResolvedAction } from "@json-render/core";
3
+ /**
4
+ * Pending confirmation state
5
+ */
6
+ export interface PendingConfirmation {
7
+ /** The resolved action */
8
+ action: ResolvedAction;
9
+ /** The action handler */
10
+ handler: ActionHandler;
11
+ /** Resolve callback */
12
+ resolve: () => void;
13
+ /** Reject callback */
14
+ reject: () => void;
15
+ }
16
+ /**
17
+ * Action context value
18
+ */
19
+ export interface ActionContextValue {
20
+ /** Registered action handlers */
21
+ handlers: Record<string, ActionHandler>;
22
+ /** Currently loading action names */
23
+ loadingActions: Set<string>;
24
+ /** Pending confirmation dialog */
25
+ pendingConfirmation: PendingConfirmation | null;
26
+ /** Execute an action */
27
+ execute: (action: Action) => Promise<void>;
28
+ /** Confirm the pending action */
29
+ confirm: () => void;
30
+ /** Cancel the pending action */
31
+ cancel: () => void;
32
+ /** Register an action handler */
33
+ registerHandler: (name: string, handler: ActionHandler) => void;
34
+ }
35
+ /**
36
+ * Props for ActionProvider
37
+ */
38
+ export interface ActionProviderProps {
39
+ /** Initial action handlers */
40
+ handlers?: Record<string, ActionHandler>;
41
+ /** Navigation function */
42
+ navigate?: (path: string) => void;
43
+ children: ReactNode;
44
+ }
45
+ /**
46
+ * Provider for action execution
47
+ */
48
+ export declare function ActionProvider({ handlers: initialHandlers, navigate, children, }: ActionProviderProps): import("react/jsx-runtime").JSX.Element;
49
+ /**
50
+ * Hook to access action context
51
+ */
52
+ export declare function useActions(): ActionContextValue;
53
+ /**
54
+ * Hook to execute an action
55
+ */
56
+ export declare function useAction(action: Action): {
57
+ execute: () => Promise<void>;
58
+ isLoading: boolean;
59
+ };
60
+ /**
61
+ * Props for ConfirmDialog component
62
+ */
63
+ export interface ConfirmDialogProps {
64
+ /** The confirmation config */
65
+ confirm: ActionConfirm;
66
+ /** Called when confirmed */
67
+ onConfirm: () => void;
68
+ /** Called when cancelled */
69
+ onCancel: () => void;
70
+ }
71
+ /**
72
+ * Default confirmation dialog component
73
+ */
74
+ export declare function ConfirmDialog({ confirm, onConfirm, onCancel, }: ConfirmDialogProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,290 @@
1
+ /**
2
+ * tdesign v1.0.2-alpha.15
3
+ * (c) 2026 tdesign
4
+ * @license MIT
5
+ */
6
+
7
+ import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
8
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
9
+ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
10
+ import _regeneratorRuntime from '@babel/runtime/regenerator';
11
+ import React, { createContext, useState, useCallback, useMemo, useContext } from 'react';
12
+ import { executeAction, resolveAction } from '@json-render/core';
13
+ import { useData } from './data.js';
14
+ import '@babel/runtime/helpers/typeof';
15
+
16
+ "use client";
17
+ 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; }
18
+ 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; }
19
+ var ActionContext = /*#__PURE__*/createContext(null);
20
+ function ActionProvider(_ref) {
21
+ var _ref$handlers = _ref.handlers,
22
+ initialHandlers = _ref$handlers === void 0 ? {} : _ref$handlers,
23
+ navigate = _ref.navigate,
24
+ children = _ref.children;
25
+ var _useData = useData(),
26
+ data = _useData.data,
27
+ set = _useData.set;
28
+ var _useState = useState(initialHandlers),
29
+ _useState2 = _slicedToArray(_useState, 2),
30
+ handlers = _useState2[0],
31
+ setHandlers = _useState2[1];
32
+ var _useState3 = useState(/* @__PURE__ */new Set()),
33
+ _useState4 = _slicedToArray(_useState3, 2),
34
+ loadingActions = _useState4[0],
35
+ setLoadingActions = _useState4[1];
36
+ var _useState5 = useState(null),
37
+ _useState6 = _slicedToArray(_useState5, 2),
38
+ pendingConfirmation = _useState6[0],
39
+ setPendingConfirmation = _useState6[1];
40
+ var registerHandler = useCallback(function (name, handler) {
41
+ setHandlers(function (prev) {
42
+ return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, name, handler));
43
+ });
44
+ }, []);
45
+ var execute = useCallback(/*#__PURE__*/function () {
46
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee4(action) {
47
+ var resolved, handler;
48
+ return _regeneratorRuntime.wrap(function (_context4) {
49
+ while (1) switch (_context4.prev = _context4.next) {
50
+ case 0:
51
+ resolved = resolveAction(action, data);
52
+ handler = handlers[resolved.name];
53
+ if (handler) {
54
+ _context4.next = 1;
55
+ break;
56
+ }
57
+ console.warn("No handler registered for action: ".concat(resolved.name));
58
+ return _context4.abrupt("return");
59
+ case 1:
60
+ if (!resolved.confirm) {
61
+ _context4.next = 2;
62
+ break;
63
+ }
64
+ return _context4.abrupt("return", new Promise(function (_resolve, _reject) {
65
+ setPendingConfirmation({
66
+ action: resolved,
67
+ handler: handler,
68
+ resolve: function resolve() {
69
+ setPendingConfirmation(null);
70
+ _resolve();
71
+ },
72
+ reject: function reject() {
73
+ setPendingConfirmation(null);
74
+ _reject(new Error("Action cancelled"));
75
+ }
76
+ });
77
+ }).then(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
78
+ return _regeneratorRuntime.wrap(function (_context2) {
79
+ while (1) switch (_context2.prev = _context2.next) {
80
+ case 0:
81
+ setLoadingActions(function (prev) {
82
+ return new Set(prev).add(resolved.name);
83
+ });
84
+ _context2.prev = 1;
85
+ _context2.next = 2;
86
+ return executeAction({
87
+ action: resolved,
88
+ handler: handler,
89
+ setData: set,
90
+ navigate: navigate,
91
+ executeAction: function () {
92
+ var _executeAction = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(name) {
93
+ var subAction;
94
+ return _regeneratorRuntime.wrap(function (_context) {
95
+ while (1) switch (_context.prev = _context.next) {
96
+ case 0:
97
+ subAction = {
98
+ name: name
99
+ };
100
+ _context.next = 1;
101
+ return execute(subAction);
102
+ case 1:
103
+ case "end":
104
+ return _context.stop();
105
+ }
106
+ }, _callee);
107
+ }));
108
+ function executeAction(_x2) {
109
+ return _executeAction.apply(this, arguments);
110
+ }
111
+ return executeAction;
112
+ }()
113
+ });
114
+ case 2:
115
+ _context2.prev = 2;
116
+ setLoadingActions(function (prev) {
117
+ var next = new Set(prev);
118
+ next["delete"](resolved.name);
119
+ return next;
120
+ });
121
+ return _context2.finish(2);
122
+ case 3:
123
+ case "end":
124
+ return _context2.stop();
125
+ }
126
+ }, _callee2, null, [[1,, 2, 3]]);
127
+ }))));
128
+ case 2:
129
+ setLoadingActions(function (prev) {
130
+ return new Set(prev).add(resolved.name);
131
+ });
132
+ _context4.prev = 3;
133
+ _context4.next = 4;
134
+ return executeAction({
135
+ action: resolved,
136
+ handler: handler,
137
+ setData: set,
138
+ navigate: navigate,
139
+ executeAction: function () {
140
+ var _executeAction2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3(name) {
141
+ var subAction;
142
+ return _regeneratorRuntime.wrap(function (_context3) {
143
+ while (1) switch (_context3.prev = _context3.next) {
144
+ case 0:
145
+ subAction = {
146
+ name: name
147
+ };
148
+ _context3.next = 1;
149
+ return execute(subAction);
150
+ case 1:
151
+ case "end":
152
+ return _context3.stop();
153
+ }
154
+ }, _callee3);
155
+ }));
156
+ function executeAction(_x3) {
157
+ return _executeAction2.apply(this, arguments);
158
+ }
159
+ return executeAction;
160
+ }()
161
+ });
162
+ case 4:
163
+ _context4.prev = 4;
164
+ setLoadingActions(function (prev) {
165
+ var next = new Set(prev);
166
+ next["delete"](resolved.name);
167
+ return next;
168
+ });
169
+ return _context4.finish(4);
170
+ case 5:
171
+ case "end":
172
+ return _context4.stop();
173
+ }
174
+ }, _callee4, null, [[3,, 4, 5]]);
175
+ }));
176
+ return function (_x) {
177
+ return _ref2.apply(this, arguments);
178
+ };
179
+ }(), [data, handlers, set, navigate]);
180
+ var confirm = useCallback(function () {
181
+ pendingConfirmation === null || pendingConfirmation === void 0 || pendingConfirmation.resolve();
182
+ }, [pendingConfirmation]);
183
+ var cancel = useCallback(function () {
184
+ pendingConfirmation === null || pendingConfirmation === void 0 || pendingConfirmation.reject();
185
+ }, [pendingConfirmation]);
186
+ var value = useMemo(function () {
187
+ return {
188
+ handlers: handlers,
189
+ loadingActions: loadingActions,
190
+ pendingConfirmation: pendingConfirmation,
191
+ execute: execute,
192
+ confirm: confirm,
193
+ cancel: cancel,
194
+ registerHandler: registerHandler
195
+ };
196
+ }, [handlers, loadingActions, pendingConfirmation, execute, confirm, cancel, registerHandler]);
197
+ return /* @__PURE__ */React.createElement(ActionContext.Provider, {
198
+ value: value
199
+ }, children);
200
+ }
201
+ function useActions() {
202
+ var ctx = useContext(ActionContext);
203
+ if (!ctx) {
204
+ throw new Error("useActions must be used within an ActionProvider");
205
+ }
206
+ return ctx;
207
+ }
208
+ function useAction(action) {
209
+ var _useActions = useActions(),
210
+ execute = _useActions.execute,
211
+ loadingActions = _useActions.loadingActions;
212
+ var isLoading = loadingActions.has(action.name);
213
+ var executeAction2 = useCallback(function () {
214
+ return execute(action);
215
+ }, [execute, action]);
216
+ return {
217
+ execute: executeAction2,
218
+ isLoading: isLoading
219
+ };
220
+ }
221
+ function ConfirmDialog(_ref4) {
222
+ var _confirm$cancelLabel, _confirm$confirmLabel;
223
+ var confirm = _ref4.confirm,
224
+ onConfirm = _ref4.onConfirm,
225
+ onCancel = _ref4.onCancel;
226
+ var isDanger = confirm.variant === "danger";
227
+ return /* @__PURE__ */React.createElement("div", {
228
+ style: {
229
+ position: "fixed",
230
+ inset: 0,
231
+ backgroundColor: "rgba(0, 0, 0, 0.5)",
232
+ display: "flex",
233
+ alignItems: "center",
234
+ justifyContent: "center",
235
+ zIndex: 50
236
+ },
237
+ onClick: onCancel
238
+ }, /* @__PURE__ */React.createElement("div", {
239
+ style: {
240
+ backgroundColor: "white",
241
+ borderRadius: "8px",
242
+ padding: "24px",
243
+ maxWidth: "400px",
244
+ width: "100%",
245
+ boxShadow: "0 20px 25px -5px rgba(0, 0, 0, 0.1)"
246
+ },
247
+ onClick: function onClick(e) {
248
+ return e.stopPropagation();
249
+ }
250
+ }, /* @__PURE__ */React.createElement("h3", {
251
+ style: {
252
+ margin: "0 0 8px 0",
253
+ fontSize: "18px",
254
+ fontWeight: 600
255
+ }
256
+ }, confirm.title), /* @__PURE__ */React.createElement("p", {
257
+ style: {
258
+ margin: "0 0 24px 0",
259
+ color: "#6b7280"
260
+ }
261
+ }, confirm.message), /* @__PURE__ */React.createElement("div", {
262
+ style: {
263
+ display: "flex",
264
+ gap: "12px",
265
+ justifyContent: "flex-end"
266
+ }
267
+ }, /* @__PURE__ */React.createElement("button", {
268
+ onClick: onCancel,
269
+ style: {
270
+ padding: "8px 16px",
271
+ borderRadius: "6px",
272
+ border: "1px solid #d1d5db",
273
+ backgroundColor: "white",
274
+ cursor: "pointer"
275
+ }
276
+ }, (_confirm$cancelLabel = confirm.cancelLabel) !== null && _confirm$cancelLabel !== void 0 ? _confirm$cancelLabel : "Cancel"), /* @__PURE__ */React.createElement("button", {
277
+ onClick: onConfirm,
278
+ style: {
279
+ padding: "8px 16px",
280
+ borderRadius: "6px",
281
+ border: "none",
282
+ backgroundColor: isDanger ? "#dc2626" : "#3b82f6",
283
+ color: "white",
284
+ cursor: "pointer"
285
+ }
286
+ }, (_confirm$confirmLabel = confirm.confirmLabel) !== null && _confirm$confirmLabel !== void 0 ? _confirm$confirmLabel : "Confirm"))));
287
+ }
288
+
289
+ export { ActionProvider, ConfirmDialog, useAction, useActions };
290
+ //# sourceMappingURL=actions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actions.js","sources":["../../../../../../pro-components/chat/chat-engine/components/json-render/contexts/actions.tsx"],"sourcesContent":["\"use client\";\n\nimport React, {\n createContext,\n useContext,\n useState,\n useCallback,\n useMemo,\n type ReactNode,\n} from \"react\";\nimport {\n resolveAction,\n executeAction,\n type Action,\n type ActionHandler,\n type ActionConfirm,\n type ResolvedAction,\n} from \"@json-render/core\";\nimport { useData } from \"./data\";\n\n/**\n * Pending confirmation state\n */\nexport interface PendingConfirmation {\n /** The resolved action */\n action: ResolvedAction;\n /** The action handler */\n handler: ActionHandler;\n /** Resolve callback */\n resolve: () => void;\n /** Reject callback */\n reject: () => void;\n}\n\n/**\n * Action context value\n */\nexport interface ActionContextValue {\n /** Registered action handlers */\n handlers: Record<string, ActionHandler>;\n /** Currently loading action names */\n loadingActions: Set<string>;\n /** Pending confirmation dialog */\n pendingConfirmation: PendingConfirmation | null;\n /** Execute an action */\n execute: (action: Action) => Promise<void>;\n /** Confirm the pending action */\n confirm: () => void;\n /** Cancel the pending action */\n cancel: () => void;\n /** Register an action handler */\n registerHandler: (name: string, handler: ActionHandler) => void;\n}\n\nconst ActionContext = createContext<ActionContextValue | null>(null);\n\n/**\n * Props for ActionProvider\n */\nexport interface ActionProviderProps {\n /** Initial action handlers */\n handlers?: Record<string, ActionHandler>;\n /** Navigation function */\n navigate?: (path: string) => void;\n children: ReactNode;\n}\n\n/**\n * Provider for action execution\n */\nexport function ActionProvider({\n handlers: initialHandlers = {},\n navigate,\n children,\n}: ActionProviderProps) {\n const { data, set } = useData();\n const [handlers, setHandlers] =\n useState<Record<string, ActionHandler>>(initialHandlers);\n const [loadingActions, setLoadingActions] = useState<Set<string>>(new Set());\n const [pendingConfirmation, setPendingConfirmation] =\n useState<PendingConfirmation | null>(null);\n\n const registerHandler = useCallback(\n (name: string, handler: ActionHandler) => {\n setHandlers((prev) => ({ ...prev, [name]: handler }));\n },\n [],\n );\n\n const execute = useCallback(\n async (action: Action) => {\n const resolved = resolveAction(action, data);\n const handler = handlers[resolved.name];\n\n if (!handler) {\n console.warn(`No handler registered for action: ${resolved.name}`);\n return;\n }\n\n // If confirmation is required, show dialog\n if (resolved.confirm) {\n return new Promise<void>((resolve, reject) => {\n setPendingConfirmation({\n action: resolved,\n handler,\n resolve: () => {\n setPendingConfirmation(null);\n resolve();\n },\n reject: () => {\n setPendingConfirmation(null);\n reject(new Error(\"Action cancelled\"));\n },\n });\n }).then(async () => {\n setLoadingActions((prev) => new Set(prev).add(resolved.name));\n try {\n await executeAction({\n action: resolved,\n handler,\n setData: set,\n navigate,\n executeAction: async (name) => {\n const subAction: Action = { name };\n await execute(subAction);\n },\n });\n } finally {\n setLoadingActions((prev) => {\n const next = new Set(prev);\n next.delete(resolved.name);\n return next;\n });\n }\n });\n }\n\n // Execute immediately\n setLoadingActions((prev) => new Set(prev).add(resolved.name));\n try {\n await executeAction({\n action: resolved,\n handler,\n setData: set,\n navigate,\n executeAction: async (name) => {\n const subAction: Action = { name };\n await execute(subAction);\n },\n });\n } finally {\n setLoadingActions((prev) => {\n const next = new Set(prev);\n next.delete(resolved.name);\n return next;\n });\n }\n },\n [data, handlers, set, navigate],\n );\n\n const confirm = useCallback(() => {\n pendingConfirmation?.resolve();\n }, [pendingConfirmation]);\n\n const cancel = useCallback(() => {\n pendingConfirmation?.reject();\n }, [pendingConfirmation]);\n\n const value = useMemo<ActionContextValue>(\n () => ({\n handlers,\n loadingActions,\n pendingConfirmation,\n execute,\n confirm,\n cancel,\n registerHandler,\n }),\n [\n handlers,\n loadingActions,\n pendingConfirmation,\n execute,\n confirm,\n cancel,\n registerHandler,\n ],\n );\n\n return (\n <ActionContext.Provider value={value}>{children}</ActionContext.Provider>\n );\n}\n\n/**\n * Hook to access action context\n */\nexport function useActions(): ActionContextValue {\n const ctx = useContext(ActionContext);\n if (!ctx) {\n throw new Error(\"useActions must be used within an ActionProvider\");\n }\n return ctx;\n}\n\n/**\n * Hook to execute an action\n */\nexport function useAction(action: Action): {\n execute: () => Promise<void>;\n isLoading: boolean;\n} {\n const { execute, loadingActions } = useActions();\n const isLoading = loadingActions.has(action.name);\n\n const executeAction = useCallback(() => execute(action), [execute, action]);\n\n return { execute: executeAction, isLoading };\n}\n\n/**\n * Props for ConfirmDialog component\n */\nexport interface ConfirmDialogProps {\n /** The confirmation config */\n confirm: ActionConfirm;\n /** Called when confirmed */\n onConfirm: () => void;\n /** Called when cancelled */\n onCancel: () => void;\n}\n\n/**\n * Default confirmation dialog component\n */\nexport function ConfirmDialog({\n confirm,\n onConfirm,\n onCancel,\n}: ConfirmDialogProps) {\n const isDanger = confirm.variant === \"danger\";\n\n return (\n <div\n style={{\n position: \"fixed\",\n inset: 0,\n backgroundColor: \"rgba(0, 0, 0, 0.5)\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n zIndex: 50,\n }}\n onClick={onCancel}\n >\n <div\n style={{\n backgroundColor: \"white\",\n borderRadius: \"8px\",\n padding: \"24px\",\n maxWidth: \"400px\",\n width: \"100%\",\n boxShadow: \"0 20px 25px -5px rgba(0, 0, 0, 0.1)\",\n }}\n onClick={(e) => e.stopPropagation()}\n >\n <h3\n style={{\n margin: \"0 0 8px 0\",\n fontSize: \"18px\",\n fontWeight: 600,\n }}\n >\n {confirm.title}\n </h3>\n <p\n style={{\n margin: \"0 0 24px 0\",\n color: \"#6b7280\",\n }}\n >\n {confirm.message}\n </p>\n <div\n style={{\n display: \"flex\",\n gap: \"12px\",\n justifyContent: \"flex-end\",\n }}\n >\n <button\n onClick={onCancel}\n style={{\n padding: \"8px 16px\",\n borderRadius: \"6px\",\n border: \"1px solid #d1d5db\",\n backgroundColor: \"white\",\n cursor: \"pointer\",\n }}\n >\n {confirm.cancelLabel ?? \"Cancel\"}\n </button>\n <button\n onClick={onConfirm}\n style={{\n padding: \"8px 16px\",\n borderRadius: \"6px\",\n border: \"none\",\n backgroundColor: isDanger ? \"#dc2626\" : \"#3b82f6\",\n color: \"white\",\n cursor: \"pointer\",\n }}\n >\n {confirm.confirmLabel ?? \"Confirm\"}\n </button>\n </div>\n </div>\n </div>\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","ActionContext","createContext","ActionProvider","_ref","_ref$handlers","handlers","initialHandlers","navigate","children","_useData","useData","data","set","_useState","useState","_useState2","_slicedToArray","setHandlers","_useState3","Set","_useState4","loadingActions","setLoadingActions","_useState5","_useState6","pendingConfirmation","setPendingConfirmation","registerHandler","useCallback","name","handler","prev","execute","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee4","action","resolved","wrap","_context4","next","resolveAction","console","warn","concat","abrupt","confirm","Promise","resolve","reject","Error","then","_callee2","_context2","add","executeAction","setData","_executeAction","_callee","subAction","_context","stop","_x2","finish","_executeAction2","_callee3","_context3","_x3","_x","cancel","value","useMemo","React","createElement","Provider","useActions","ctx","useContext","useAction","_useActions","isLoading","has","ConfirmDialog","_ref4","_confirm$cancelLabel","_confirm$confirmLabel","onConfirm","onCancel","isDanger","variant","style","position","inset","backgroundColor","display","alignItems","justifyContent","zIndex","onClick","borderRadius","padding","maxWidth","width","boxShadow","stopPropagation","margin","fontSize","fontWeight","title","color","message","gap","border","cursor","cancelLabel","confirmLabel"],"mappings":"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"}