@copilotkit/a2ui-renderer 1.55.0-next.9 → 1.55.0

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 (497) hide show
  1. package/dist/a2ui-types.cjs +2 -3
  2. package/dist/a2ui-types.cjs.map +1 -1
  3. package/dist/a2ui-types.d.cts +21 -5
  4. package/dist/a2ui-types.d.cts.map +1 -1
  5. package/dist/a2ui-types.d.mts +21 -5
  6. package/dist/a2ui-types.d.mts.map +1 -1
  7. package/dist/a2ui-types.mjs +2 -3
  8. package/dist/a2ui-types.mjs.map +1 -1
  9. package/dist/index.cjs +40 -61
  10. package/dist/index.cjs.map +1 -0
  11. package/dist/index.d.cts +10 -39
  12. package/dist/index.d.cts.map +1 -1
  13. package/dist/index.d.mts +10 -39
  14. package/dist/index.d.mts.map +1 -1
  15. package/dist/index.mjs +12 -29
  16. package/dist/index.mjs.map +1 -0
  17. package/dist/index.umd.js +1743 -2783
  18. package/dist/index.umd.js.map +1 -1
  19. package/dist/react-renderer/a2ui-react/A2uiSurface.cjs +110 -0
  20. package/dist/react-renderer/a2ui-react/A2uiSurface.cjs.map +1 -0
  21. package/dist/react-renderer/a2ui-react/A2uiSurface.d.cts +2 -0
  22. package/dist/react-renderer/a2ui-react/A2uiSurface.d.mts +3 -0
  23. package/dist/react-renderer/a2ui-react/A2uiSurface.mjs +107 -0
  24. package/dist/react-renderer/a2ui-react/A2uiSurface.mjs.map +1 -0
  25. package/dist/react-renderer/a2ui-react/adapter.cjs +63 -0
  26. package/dist/react-renderer/a2ui-react/adapter.cjs.map +1 -0
  27. package/dist/react-renderer/a2ui-react/adapter.d.cts +23 -0
  28. package/dist/react-renderer/a2ui-react/adapter.d.cts.map +1 -0
  29. package/dist/react-renderer/a2ui-react/adapter.d.mts +23 -0
  30. package/dist/react-renderer/a2ui-react/adapter.d.mts.map +1 -0
  31. package/dist/react-renderer/a2ui-react/adapter.mjs +61 -0
  32. package/dist/react-renderer/a2ui-react/adapter.mjs.map +1 -0
  33. package/dist/react-renderer/a2ui-react/catalog/basic/components/AudioPlayer.cjs +53 -0
  34. package/dist/react-renderer/a2ui-react/catalog/basic/components/AudioPlayer.cjs.map +1 -0
  35. package/dist/react-renderer/a2ui-react/catalog/basic/components/AudioPlayer.d.cts +1 -0
  36. package/dist/react-renderer/a2ui-react/catalog/basic/components/AudioPlayer.d.mts +1 -0
  37. package/dist/react-renderer/a2ui-react/catalog/basic/components/AudioPlayer.mjs +36 -0
  38. package/dist/react-renderer/a2ui-react/catalog/basic/components/AudioPlayer.mjs.map +1 -0
  39. package/dist/react-renderer/a2ui-react/catalog/basic/components/Button.cjs +48 -0
  40. package/dist/react-renderer/a2ui-react/catalog/basic/components/Button.cjs.map +1 -0
  41. package/dist/react-renderer/a2ui-react/catalog/basic/components/Button.d.cts +1 -0
  42. package/dist/react-renderer/a2ui-react/catalog/basic/components/Button.d.mts +1 -0
  43. package/dist/react-renderer/a2ui-react/catalog/basic/components/Button.mjs +31 -0
  44. package/dist/react-renderer/a2ui-react/catalog/basic/components/Button.mjs.map +1 -0
  45. package/dist/react-renderer/a2ui-react/catalog/basic/components/Card.cjs +39 -0
  46. package/dist/react-renderer/a2ui-react/catalog/basic/components/Card.cjs.map +1 -0
  47. package/dist/react-renderer/a2ui-react/catalog/basic/components/Card.d.cts +1 -0
  48. package/dist/react-renderer/a2ui-react/catalog/basic/components/Card.d.mts +1 -0
  49. package/dist/react-renderer/a2ui-react/catalog/basic/components/Card.mjs +22 -0
  50. package/dist/react-renderer/a2ui-react/catalog/basic/components/Card.mjs.map +1 -0
  51. package/dist/react-renderer/a2ui-react/catalog/basic/components/CheckBox.cjs +73 -0
  52. package/dist/react-renderer/a2ui-react/catalog/basic/components/CheckBox.cjs.map +1 -0
  53. package/dist/react-renderer/a2ui-react/catalog/basic/components/CheckBox.d.cts +1 -0
  54. package/dist/react-renderer/a2ui-react/catalog/basic/components/CheckBox.d.mts +1 -0
  55. package/dist/react-renderer/a2ui-react/catalog/basic/components/CheckBox.mjs +71 -0
  56. package/dist/react-renderer/a2ui-react/catalog/basic/components/CheckBox.mjs.map +1 -0
  57. package/dist/react-renderer/a2ui-react/catalog/basic/components/ChildList.cjs +36 -0
  58. package/dist/react-renderer/a2ui-react/catalog/basic/components/ChildList.cjs.map +1 -0
  59. package/dist/react-renderer/a2ui-react/catalog/basic/components/ChildList.mjs +34 -0
  60. package/dist/react-renderer/a2ui-react/catalog/basic/components/ChildList.mjs.map +1 -0
  61. package/dist/react-renderer/a2ui-react/catalog/basic/components/ChoicePicker.cjs +110 -0
  62. package/dist/react-renderer/a2ui-react/catalog/basic/components/ChoicePicker.cjs.map +1 -0
  63. package/dist/react-renderer/a2ui-react/catalog/basic/components/ChoicePicker.d.cts +1 -0
  64. package/dist/react-renderer/a2ui-react/catalog/basic/components/ChoicePicker.d.mts +1 -0
  65. package/dist/react-renderer/a2ui-react/catalog/basic/components/ChoicePicker.mjs +108 -0
  66. package/dist/react-renderer/a2ui-react/catalog/basic/components/ChoicePicker.mjs.map +1 -0
  67. package/dist/react-renderer/a2ui-react/catalog/basic/components/Column.cjs +45 -0
  68. package/dist/react-renderer/a2ui-react/catalog/basic/components/Column.cjs.map +1 -0
  69. package/dist/react-renderer/a2ui-react/catalog/basic/components/Column.d.cts +1 -0
  70. package/dist/react-renderer/a2ui-react/catalog/basic/components/Column.d.mts +1 -0
  71. package/dist/react-renderer/a2ui-react/catalog/basic/components/Column.mjs +44 -0
  72. package/dist/react-renderer/a2ui-react/catalog/basic/components/Column.mjs.map +1 -0
  73. package/dist/react-renderer/a2ui-react/catalog/basic/components/DateTimeInput.cjs +69 -0
  74. package/dist/react-renderer/a2ui-react/catalog/basic/components/DateTimeInput.cjs.map +1 -0
  75. package/dist/react-renderer/a2ui-react/catalog/basic/components/DateTimeInput.d.cts +1 -0
  76. package/dist/react-renderer/a2ui-react/catalog/basic/components/DateTimeInput.d.mts +1 -0
  77. package/dist/react-renderer/a2ui-react/catalog/basic/components/DateTimeInput.mjs +67 -0
  78. package/dist/react-renderer/a2ui-react/catalog/basic/components/DateTimeInput.mjs.map +1 -0
  79. package/dist/react-renderer/a2ui-react/catalog/basic/components/Divider.cjs +44 -0
  80. package/dist/react-renderer/a2ui-react/catalog/basic/components/Divider.cjs.map +1 -0
  81. package/dist/react-renderer/a2ui-react/catalog/basic/components/Divider.d.cts +1 -0
  82. package/dist/react-renderer/a2ui-react/catalog/basic/components/Divider.d.mts +1 -0
  83. package/dist/react-renderer/a2ui-react/catalog/basic/components/Divider.mjs +27 -0
  84. package/dist/react-renderer/a2ui-react/catalog/basic/components/Divider.mjs.map +1 -0
  85. package/dist/react-renderer/a2ui-react/catalog/basic/components/Icon.cjs +44 -0
  86. package/dist/react-renderer/a2ui-react/catalog/basic/components/Icon.cjs.map +1 -0
  87. package/dist/react-renderer/a2ui-react/catalog/basic/components/Icon.d.cts +1 -0
  88. package/dist/react-renderer/a2ui-react/catalog/basic/components/Icon.d.mts +1 -0
  89. package/dist/react-renderer/a2ui-react/catalog/basic/components/Icon.mjs +27 -0
  90. package/dist/react-renderer/a2ui-react/catalog/basic/components/Icon.mjs.map +1 -0
  91. package/dist/react-renderer/a2ui-react/catalog/basic/components/Image.cjs +59 -0
  92. package/dist/react-renderer/a2ui-react/catalog/basic/components/Image.cjs.map +1 -0
  93. package/dist/react-renderer/a2ui-react/catalog/basic/components/Image.d.cts +1 -0
  94. package/dist/react-renderer/a2ui-react/catalog/basic/components/Image.d.mts +1 -0
  95. package/dist/react-renderer/a2ui-react/catalog/basic/components/Image.mjs +42 -0
  96. package/dist/react-renderer/a2ui-react/catalog/basic/components/Image.mjs.map +1 -0
  97. package/dist/react-renderer/a2ui-react/catalog/basic/components/List.cjs +49 -0
  98. package/dist/react-renderer/a2ui-react/catalog/basic/components/List.cjs.map +1 -0
  99. package/dist/react-renderer/a2ui-react/catalog/basic/components/List.d.cts +1 -0
  100. package/dist/react-renderer/a2ui-react/catalog/basic/components/List.d.mts +1 -0
  101. package/dist/react-renderer/a2ui-react/catalog/basic/components/List.mjs +32 -0
  102. package/dist/react-renderer/a2ui-react/catalog/basic/components/List.mjs.map +1 -0
  103. package/dist/react-renderer/a2ui-react/catalog/basic/components/Modal.cjs +81 -0
  104. package/dist/react-renderer/a2ui-react/catalog/basic/components/Modal.cjs.map +1 -0
  105. package/dist/react-renderer/a2ui-react/catalog/basic/components/Modal.d.cts +1 -0
  106. package/dist/react-renderer/a2ui-react/catalog/basic/components/Modal.d.mts +1 -0
  107. package/dist/react-renderer/a2ui-react/catalog/basic/components/Modal.mjs +80 -0
  108. package/dist/react-renderer/a2ui-react/catalog/basic/components/Modal.mjs.map +1 -0
  109. package/dist/react-renderer/a2ui-react/catalog/basic/components/Row.cjs +45 -0
  110. package/dist/react-renderer/a2ui-react/catalog/basic/components/Row.cjs.map +1 -0
  111. package/dist/react-renderer/a2ui-react/catalog/basic/components/Row.d.cts +1 -0
  112. package/dist/react-renderer/a2ui-react/catalog/basic/components/Row.d.mts +1 -0
  113. package/dist/react-renderer/a2ui-react/catalog/basic/components/Row.mjs +44 -0
  114. package/dist/react-renderer/a2ui-react/catalog/basic/components/Row.mjs.map +1 -0
  115. package/dist/react-renderer/a2ui-react/catalog/basic/components/Slider.cjs +74 -0
  116. package/dist/react-renderer/a2ui-react/catalog/basic/components/Slider.cjs.map +1 -0
  117. package/dist/react-renderer/a2ui-react/catalog/basic/components/Slider.d.cts +1 -0
  118. package/dist/react-renderer/a2ui-react/catalog/basic/components/Slider.d.mts +1 -0
  119. package/dist/react-renderer/a2ui-react/catalog/basic/components/Slider.mjs +72 -0
  120. package/dist/react-renderer/a2ui-react/catalog/basic/components/Slider.mjs.map +1 -0
  121. package/dist/react-renderer/a2ui-react/catalog/basic/components/Tabs.cjs +63 -0
  122. package/dist/react-renderer/a2ui-react/catalog/basic/components/Tabs.cjs.map +1 -0
  123. package/dist/react-renderer/a2ui-react/catalog/basic/components/Tabs.d.cts +1 -0
  124. package/dist/react-renderer/a2ui-react/catalog/basic/components/Tabs.d.mts +1 -0
  125. package/dist/react-renderer/a2ui-react/catalog/basic/components/Tabs.mjs +62 -0
  126. package/dist/react-renderer/a2ui-react/catalog/basic/components/Tabs.mjs.map +1 -0
  127. package/dist/react-renderer/a2ui-react/catalog/basic/components/Text.cjs +69 -0
  128. package/dist/react-renderer/a2ui-react/catalog/basic/components/Text.cjs.map +1 -0
  129. package/dist/react-renderer/a2ui-react/catalog/basic/components/Text.d.cts +1 -0
  130. package/dist/react-renderer/a2ui-react/catalog/basic/components/Text.d.mts +1 -0
  131. package/dist/react-renderer/a2ui-react/catalog/basic/components/Text.mjs +52 -0
  132. package/dist/react-renderer/a2ui-react/catalog/basic/components/Text.mjs.map +1 -0
  133. package/dist/react-renderer/a2ui-react/catalog/basic/components/TextField.cjs +88 -0
  134. package/dist/react-renderer/a2ui-react/catalog/basic/components/TextField.cjs.map +1 -0
  135. package/dist/react-renderer/a2ui-react/catalog/basic/components/TextField.d.cts +1 -0
  136. package/dist/react-renderer/a2ui-react/catalog/basic/components/TextField.d.mts +1 -0
  137. package/dist/react-renderer/a2ui-react/catalog/basic/components/TextField.mjs +86 -0
  138. package/dist/react-renderer/a2ui-react/catalog/basic/components/TextField.mjs.map +1 -0
  139. package/dist/react-renderer/a2ui-react/catalog/basic/components/Video.cjs +40 -0
  140. package/dist/react-renderer/a2ui-react/catalog/basic/components/Video.cjs.map +1 -0
  141. package/dist/react-renderer/a2ui-react/catalog/basic/components/Video.d.cts +1 -0
  142. package/dist/react-renderer/a2ui-react/catalog/basic/components/Video.d.mts +1 -0
  143. package/dist/react-renderer/a2ui-react/catalog/basic/components/Video.mjs +23 -0
  144. package/dist/react-renderer/a2ui-react/catalog/basic/components/Video.mjs.map +1 -0
  145. package/dist/react-renderer/a2ui-react/catalog/basic/index.cjs +63 -0
  146. package/dist/react-renderer/a2ui-react/catalog/basic/index.cjs.map +1 -0
  147. package/dist/react-renderer/a2ui-react/catalog/basic/index.d.cts +26 -0
  148. package/dist/react-renderer/a2ui-react/catalog/basic/index.d.cts.map +1 -0
  149. package/dist/react-renderer/a2ui-react/catalog/basic/index.d.mts +26 -0
  150. package/dist/react-renderer/a2ui-react/catalog/basic/index.d.mts.map +1 -0
  151. package/dist/react-renderer/a2ui-react/catalog/basic/index.mjs +62 -0
  152. package/dist/react-renderer/a2ui-react/catalog/basic/index.mjs.map +1 -0
  153. package/dist/react-renderer/a2ui-react/catalog/basic/utils.cjs +52 -0
  154. package/dist/react-renderer/a2ui-react/catalog/basic/utils.cjs.map +1 -0
  155. package/dist/react-renderer/a2ui-react/catalog/basic/utils.mjs +45 -0
  156. package/dist/react-renderer/a2ui-react/catalog/basic/utils.mjs.map +1 -0
  157. package/dist/react-renderer/a2ui-react/catalog/minimal/components/Button.cjs +51 -0
  158. package/dist/react-renderer/a2ui-react/catalog/minimal/components/Button.cjs.map +1 -0
  159. package/dist/react-renderer/a2ui-react/catalog/minimal/components/Button.d.cts +2 -0
  160. package/dist/react-renderer/a2ui-react/catalog/minimal/components/Button.d.mts +2 -0
  161. package/dist/react-renderer/a2ui-react/catalog/minimal/components/Button.mjs +34 -0
  162. package/dist/react-renderer/a2ui-react/catalog/minimal/components/Button.mjs.map +1 -0
  163. package/dist/react-renderer/a2ui-react/catalog/minimal/components/ChildList.cjs +36 -0
  164. package/dist/react-renderer/a2ui-react/catalog/minimal/components/ChildList.cjs.map +1 -0
  165. package/dist/react-renderer/a2ui-react/catalog/minimal/components/ChildList.mjs +34 -0
  166. package/dist/react-renderer/a2ui-react/catalog/minimal/components/ChildList.mjs.map +1 -0
  167. package/dist/react-renderer/a2ui-react/catalog/minimal/components/Column.cjs +85 -0
  168. package/dist/react-renderer/a2ui-react/catalog/minimal/components/Column.cjs.map +1 -0
  169. package/dist/react-renderer/a2ui-react/catalog/minimal/components/Column.d.cts +2 -0
  170. package/dist/react-renderer/a2ui-react/catalog/minimal/components/Column.d.mts +2 -0
  171. package/dist/react-renderer/a2ui-react/catalog/minimal/components/Column.mjs +84 -0
  172. package/dist/react-renderer/a2ui-react/catalog/minimal/components/Column.mjs.map +1 -0
  173. package/dist/react-renderer/a2ui-react/catalog/minimal/components/Row.cjs +84 -0
  174. package/dist/react-renderer/a2ui-react/catalog/minimal/components/Row.cjs.map +1 -0
  175. package/dist/react-renderer/a2ui-react/catalog/minimal/components/Row.d.cts +2 -0
  176. package/dist/react-renderer/a2ui-react/catalog/minimal/components/Row.d.mts +2 -0
  177. package/dist/react-renderer/a2ui-react/catalog/minimal/components/Row.mjs +83 -0
  178. package/dist/react-renderer/a2ui-react/catalog/minimal/components/Row.mjs.map +1 -0
  179. package/dist/react-renderer/a2ui-react/catalog/minimal/components/Text.cjs +54 -0
  180. package/dist/react-renderer/a2ui-react/catalog/minimal/components/Text.cjs.map +1 -0
  181. package/dist/react-renderer/a2ui-react/catalog/minimal/components/Text.d.cts +2 -0
  182. package/dist/react-renderer/a2ui-react/catalog/minimal/components/Text.d.mts +2 -0
  183. package/dist/react-renderer/a2ui-react/catalog/minimal/components/Text.mjs +53 -0
  184. package/dist/react-renderer/a2ui-react/catalog/minimal/components/Text.mjs.map +1 -0
  185. package/dist/react-renderer/a2ui-react/catalog/minimal/components/TextField.cjs +85 -0
  186. package/dist/react-renderer/a2ui-react/catalog/minimal/components/TextField.cjs.map +1 -0
  187. package/dist/react-renderer/a2ui-react/catalog/minimal/components/TextField.d.cts +2 -0
  188. package/dist/react-renderer/a2ui-react/catalog/minimal/components/TextField.d.mts +2 -0
  189. package/dist/react-renderer/a2ui-react/catalog/minimal/components/TextField.mjs +68 -0
  190. package/dist/react-renderer/a2ui-react/catalog/minimal/components/TextField.mjs.map +1 -0
  191. package/dist/react-renderer/a2ui-react/catalog/minimal/index.cjs +44 -0
  192. package/dist/react-renderer/a2ui-react/catalog/minimal/index.cjs.map +1 -0
  193. package/dist/react-renderer/a2ui-react/catalog/minimal/index.d.cts +7 -0
  194. package/dist/react-renderer/a2ui-react/catalog/minimal/index.d.mts +7 -0
  195. package/dist/react-renderer/a2ui-react/catalog/minimal/index.mjs +44 -0
  196. package/dist/react-renderer/a2ui-react/catalog/minimal/index.mjs.map +1 -0
  197. package/dist/react-renderer/a2ui-react/index.cjs +22 -0
  198. package/dist/react-renderer/a2ui-react/index.d.cts +4 -0
  199. package/dist/react-renderer/a2ui-react/index.d.mts +4 -0
  200. package/dist/react-renderer/a2ui-react/index.mjs +24 -0
  201. package/dist/react-renderer/catalog-utils.cjs +84 -0
  202. package/dist/react-renderer/catalog-utils.cjs.map +1 -0
  203. package/dist/react-renderer/catalog-utils.d.cts +39 -0
  204. package/dist/react-renderer/catalog-utils.d.cts.map +1 -0
  205. package/dist/react-renderer/catalog-utils.d.mts +39 -0
  206. package/dist/react-renderer/catalog-utils.d.mts.map +1 -0
  207. package/dist/react-renderer/catalog-utils.mjs +79 -0
  208. package/dist/react-renderer/catalog-utils.mjs.map +1 -0
  209. package/dist/react-renderer/core/A2UIProvider.cjs +48 -70
  210. package/dist/react-renderer/core/A2UIProvider.cjs.map +1 -1
  211. package/dist/react-renderer/core/A2UIProvider.d.cts +13 -47
  212. package/dist/react-renderer/core/A2UIProvider.d.cts.map +1 -1
  213. package/dist/react-renderer/core/A2UIProvider.d.mts +13 -47
  214. package/dist/react-renderer/core/A2UIProvider.d.mts.map +1 -1
  215. package/dist/react-renderer/core/A2UIProvider.mjs +48 -71
  216. package/dist/react-renderer/core/A2UIProvider.mjs.map +1 -1
  217. package/dist/react-renderer/core/A2UIRenderer.cjs +8 -56
  218. package/dist/react-renderer/core/A2UIRenderer.cjs.map +1 -1
  219. package/dist/react-renderer/core/A2UIRenderer.d.cts +5 -19
  220. package/dist/react-renderer/core/A2UIRenderer.d.cts.map +1 -1
  221. package/dist/react-renderer/core/A2UIRenderer.d.mts +5 -19
  222. package/dist/react-renderer/core/A2UIRenderer.d.mts.map +1 -1
  223. package/dist/react-renderer/core/A2UIRenderer.mjs +9 -57
  224. package/dist/react-renderer/core/A2UIRenderer.mjs.map +1 -1
  225. package/dist/react-renderer/core/store.d.cts +6 -17
  226. package/dist/react-renderer/core/store.d.cts.map +1 -1
  227. package/dist/react-renderer/core/store.d.mts +6 -17
  228. package/dist/react-renderer/core/store.d.mts.map +1 -1
  229. package/dist/react-renderer/create-catalog.cjs +115 -0
  230. package/dist/react-renderer/create-catalog.cjs.map +1 -0
  231. package/dist/react-renderer/create-catalog.d.cts +107 -0
  232. package/dist/react-renderer/create-catalog.d.cts.map +1 -0
  233. package/dist/react-renderer/create-catalog.d.mts +107 -0
  234. package/dist/react-renderer/create-catalog.d.mts.map +1 -0
  235. package/dist/react-renderer/create-catalog.mjs +111 -0
  236. package/dist/react-renderer/create-catalog.mjs.map +1 -0
  237. package/dist/react-renderer/hooks/useA2UI.cjs +1 -26
  238. package/dist/react-renderer/hooks/useA2UI.cjs.map +1 -1
  239. package/dist/react-renderer/hooks/useA2UI.d.cts +5 -33
  240. package/dist/react-renderer/hooks/useA2UI.d.cts.map +1 -1
  241. package/dist/react-renderer/hooks/useA2UI.d.mts +5 -33
  242. package/dist/react-renderer/hooks/useA2UI.d.mts.map +1 -1
  243. package/dist/react-renderer/hooks/useA2UI.mjs +1 -26
  244. package/dist/react-renderer/hooks/useA2UI.mjs.map +1 -1
  245. package/dist/react-renderer/index.cjs +21 -27
  246. package/dist/react-renderer/index.cjs.map +1 -0
  247. package/dist/react-renderer/index.d.cts +17 -27
  248. package/dist/react-renderer/index.d.cts.map +1 -0
  249. package/dist/react-renderer/index.d.mts +17 -27
  250. package/dist/react-renderer/index.d.mts.map +1 -0
  251. package/dist/react-renderer/index.mjs +15 -27
  252. package/dist/react-renderer/index.mjs.map +1 -0
  253. package/dist/react-renderer/lib/utils.cjs +0 -25
  254. package/dist/react-renderer/lib/utils.cjs.map +1 -1
  255. package/dist/react-renderer/lib/utils.d.cts +0 -8
  256. package/dist/react-renderer/lib/utils.d.cts.map +1 -1
  257. package/dist/react-renderer/lib/utils.d.mts +0 -8
  258. package/dist/react-renderer/lib/utils.d.mts.map +1 -1
  259. package/dist/react-renderer/lib/utils.mjs +1 -25
  260. package/dist/react-renderer/lib/utils.mjs.map +1 -1
  261. package/dist/react-renderer/styles/index.cjs +4 -459
  262. package/dist/react-renderer/styles/index.cjs.map +1 -1
  263. package/dist/react-renderer/styles/index.d.mts +2 -18
  264. package/dist/react-renderer/styles/index.d.mts.map +1 -1
  265. package/dist/react-renderer/styles/index.mjs +4 -459
  266. package/dist/react-renderer/styles/index.mjs.map +1 -1
  267. package/dist/react-renderer/theme/ThemeContext.cjs +2 -19
  268. package/dist/react-renderer/theme/ThemeContext.cjs.map +1 -1
  269. package/dist/react-renderer/theme/ThemeContext.d.cts +4 -23
  270. package/dist/react-renderer/theme/ThemeContext.d.cts.map +1 -1
  271. package/dist/react-renderer/theme/ThemeContext.d.mts +4 -23
  272. package/dist/react-renderer/theme/ThemeContext.d.mts.map +1 -1
  273. package/dist/react-renderer/theme/ThemeContext.mjs +2 -19
  274. package/dist/react-renderer/theme/ThemeContext.mjs.map +1 -1
  275. package/dist/react-renderer/types.d.cts +24 -29
  276. package/dist/react-renderer/types.d.cts.map +1 -1
  277. package/dist/react-renderer/types.d.mts +24 -29
  278. package/dist/react-renderer/types.d.mts.map +1 -1
  279. package/package.json +29 -29
  280. package/dist/A2UIViewer.cjs +0 -154
  281. package/dist/A2UIViewer.cjs.map +0 -1
  282. package/dist/A2UIViewer.d.cts +0 -39
  283. package/dist/A2UIViewer.d.cts.map +0 -1
  284. package/dist/A2UIViewer.d.mts +0 -39
  285. package/dist/A2UIViewer.d.mts.map +0 -1
  286. package/dist/A2UIViewer.mjs +0 -152
  287. package/dist/A2UIViewer.mjs.map +0 -1
  288. package/dist/react-renderer/components/content/AudioPlayer.cjs +0 -34
  289. package/dist/react-renderer/components/content/AudioPlayer.cjs.map +0 -1
  290. package/dist/react-renderer/components/content/AudioPlayer.d.cts +0 -12
  291. package/dist/react-renderer/components/content/AudioPlayer.d.cts.map +0 -1
  292. package/dist/react-renderer/components/content/AudioPlayer.d.mts +0 -12
  293. package/dist/react-renderer/components/content/AudioPlayer.d.mts.map +0 -1
  294. package/dist/react-renderer/components/content/AudioPlayer.mjs +0 -33
  295. package/dist/react-renderer/components/content/AudioPlayer.mjs.map +0 -1
  296. package/dist/react-renderer/components/content/Divider.cjs +0 -31
  297. package/dist/react-renderer/components/content/Divider.cjs.map +0 -1
  298. package/dist/react-renderer/components/content/Divider.d.cts +0 -17
  299. package/dist/react-renderer/components/content/Divider.d.cts.map +0 -1
  300. package/dist/react-renderer/components/content/Divider.d.mts +0 -17
  301. package/dist/react-renderer/components/content/Divider.d.mts.map +0 -1
  302. package/dist/react-renderer/components/content/Divider.mjs +0 -30
  303. package/dist/react-renderer/components/content/Divider.mjs.map +0 -1
  304. package/dist/react-renderer/components/content/Icon.cjs +0 -50
  305. package/dist/react-renderer/components/content/Icon.cjs.map +0 -1
  306. package/dist/react-renderer/components/content/Icon.d.cts +0 -20
  307. package/dist/react-renderer/components/content/Icon.d.cts.map +0 -1
  308. package/dist/react-renderer/components/content/Icon.d.mts +0 -20
  309. package/dist/react-renderer/components/content/Icon.d.mts.map +0 -1
  310. package/dist/react-renderer/components/content/Icon.mjs +0 -49
  311. package/dist/react-renderer/components/content/Icon.mjs.map +0 -1
  312. package/dist/react-renderer/components/content/Image.cjs +0 -43
  313. package/dist/react-renderer/components/content/Image.cjs.map +0 -1
  314. package/dist/react-renderer/components/content/Image.d.cts +0 -15
  315. package/dist/react-renderer/components/content/Image.d.cts.map +0 -1
  316. package/dist/react-renderer/components/content/Image.d.mts +0 -15
  317. package/dist/react-renderer/components/content/Image.d.mts.map +0 -1
  318. package/dist/react-renderer/components/content/Image.mjs +0 -42
  319. package/dist/react-renderer/components/content/Image.mjs.map +0 -1
  320. package/dist/react-renderer/components/content/Text.cjs +0 -131
  321. package/dist/react-renderer/components/content/Text.cjs.map +0 -1
  322. package/dist/react-renderer/components/content/Text.d.cts +0 -32
  323. package/dist/react-renderer/components/content/Text.d.cts.map +0 -1
  324. package/dist/react-renderer/components/content/Text.d.mts +0 -32
  325. package/dist/react-renderer/components/content/Text.d.mts.map +0 -1
  326. package/dist/react-renderer/components/content/Text.mjs +0 -129
  327. package/dist/react-renderer/components/content/Text.mjs.map +0 -1
  328. package/dist/react-renderer/components/content/Video.cjs +0 -56
  329. package/dist/react-renderer/components/content/Video.cjs.map +0 -1
  330. package/dist/react-renderer/components/content/Video.d.cts +0 -14
  331. package/dist/react-renderer/components/content/Video.d.cts.map +0 -1
  332. package/dist/react-renderer/components/content/Video.d.mts +0 -14
  333. package/dist/react-renderer/components/content/Video.d.mts.map +0 -1
  334. package/dist/react-renderer/components/content/Video.mjs +0 -55
  335. package/dist/react-renderer/components/content/Video.mjs.map +0 -1
  336. package/dist/react-renderer/components/interactive/Button.cjs +0 -39
  337. package/dist/react-renderer/components/interactive/Button.cjs.map +0 -1
  338. package/dist/react-renderer/components/interactive/Button.d.cts +0 -15
  339. package/dist/react-renderer/components/interactive/Button.d.cts.map +0 -1
  340. package/dist/react-renderer/components/interactive/Button.d.mts +0 -15
  341. package/dist/react-renderer/components/interactive/Button.d.mts.map +0 -1
  342. package/dist/react-renderer/components/interactive/Button.mjs +0 -38
  343. package/dist/react-renderer/components/interactive/Button.mjs.map +0 -1
  344. package/dist/react-renderer/components/interactive/CheckBox.cjs +0 -58
  345. package/dist/react-renderer/components/interactive/CheckBox.cjs.map +0 -1
  346. package/dist/react-renderer/components/interactive/CheckBox.d.cts +0 -14
  347. package/dist/react-renderer/components/interactive/CheckBox.d.cts.map +0 -1
  348. package/dist/react-renderer/components/interactive/CheckBox.d.mts +0 -14
  349. package/dist/react-renderer/components/interactive/CheckBox.d.mts.map +0 -1
  350. package/dist/react-renderer/components/interactive/CheckBox.mjs +0 -57
  351. package/dist/react-renderer/components/interactive/CheckBox.mjs.map +0 -1
  352. package/dist/react-renderer/components/interactive/DateTimeInput.cjs +0 -65
  353. package/dist/react-renderer/components/interactive/DateTimeInput.cjs.map +0 -1
  354. package/dist/react-renderer/components/interactive/DateTimeInput.d.cts +0 -14
  355. package/dist/react-renderer/components/interactive/DateTimeInput.d.cts.map +0 -1
  356. package/dist/react-renderer/components/interactive/DateTimeInput.d.mts +0 -14
  357. package/dist/react-renderer/components/interactive/DateTimeInput.d.mts.map +0 -1
  358. package/dist/react-renderer/components/interactive/DateTimeInput.mjs +0 -64
  359. package/dist/react-renderer/components/interactive/DateTimeInput.mjs.map +0 -1
  360. package/dist/react-renderer/components/interactive/MultipleChoice.cjs +0 -54
  361. package/dist/react-renderer/components/interactive/MultipleChoice.cjs.map +0 -1
  362. package/dist/react-renderer/components/interactive/MultipleChoice.d.cts +0 -15
  363. package/dist/react-renderer/components/interactive/MultipleChoice.d.cts.map +0 -1
  364. package/dist/react-renderer/components/interactive/MultipleChoice.d.mts +0 -15
  365. package/dist/react-renderer/components/interactive/MultipleChoice.d.mts.map +0 -1
  366. package/dist/react-renderer/components/interactive/MultipleChoice.mjs +0 -53
  367. package/dist/react-renderer/components/interactive/MultipleChoice.mjs.map +0 -1
  368. package/dist/react-renderer/components/interactive/Slider.cjs +0 -72
  369. package/dist/react-renderer/components/interactive/Slider.cjs.map +0 -1
  370. package/dist/react-renderer/components/interactive/Slider.d.cts +0 -14
  371. package/dist/react-renderer/components/interactive/Slider.d.cts.map +0 -1
  372. package/dist/react-renderer/components/interactive/Slider.d.mts +0 -14
  373. package/dist/react-renderer/components/interactive/Slider.d.mts.map +0 -1
  374. package/dist/react-renderer/components/interactive/Slider.mjs +0 -71
  375. package/dist/react-renderer/components/interactive/Slider.mjs.map +0 -1
  376. package/dist/react-renderer/components/interactive/TextField.cjs +0 -74
  377. package/dist/react-renderer/components/interactive/TextField.cjs.map +0 -1
  378. package/dist/react-renderer/components/interactive/TextField.d.cts +0 -14
  379. package/dist/react-renderer/components/interactive/TextField.d.cts.map +0 -1
  380. package/dist/react-renderer/components/interactive/TextField.d.mts +0 -14
  381. package/dist/react-renderer/components/interactive/TextField.d.mts.map +0 -1
  382. package/dist/react-renderer/components/interactive/TextField.mjs +0 -73
  383. package/dist/react-renderer/components/interactive/TextField.mjs.map +0 -1
  384. package/dist/react-renderer/components/layout/Card.cjs +0 -46
  385. package/dist/react-renderer/components/layout/Card.cjs.map +0 -1
  386. package/dist/react-renderer/components/layout/Card.d.cts +0 -21
  387. package/dist/react-renderer/components/layout/Card.d.cts.map +0 -1
  388. package/dist/react-renderer/components/layout/Card.d.mts +0 -21
  389. package/dist/react-renderer/components/layout/Card.d.mts.map +0 -1
  390. package/dist/react-renderer/components/layout/Card.mjs +0 -45
  391. package/dist/react-renderer/components/layout/Card.mjs.map +0 -1
  392. package/dist/react-renderer/components/layout/Column.cjs +0 -43
  393. package/dist/react-renderer/components/layout/Column.cjs.map +0 -1
  394. package/dist/react-renderer/components/layout/Column.d.cts +0 -14
  395. package/dist/react-renderer/components/layout/Column.d.cts.map +0 -1
  396. package/dist/react-renderer/components/layout/Column.d.mts +0 -14
  397. package/dist/react-renderer/components/layout/Column.d.mts.map +0 -1
  398. package/dist/react-renderer/components/layout/Column.mjs +0 -42
  399. package/dist/react-renderer/components/layout/Column.mjs.map +0 -1
  400. package/dist/react-renderer/components/layout/List.cjs +0 -41
  401. package/dist/react-renderer/components/layout/List.cjs.map +0 -1
  402. package/dist/react-renderer/components/layout/List.d.cts +0 -14
  403. package/dist/react-renderer/components/layout/List.d.cts.map +0 -1
  404. package/dist/react-renderer/components/layout/List.d.mts +0 -14
  405. package/dist/react-renderer/components/layout/List.d.mts.map +0 -1
  406. package/dist/react-renderer/components/layout/List.mjs +0 -40
  407. package/dist/react-renderer/components/layout/List.mjs.map +0 -1
  408. package/dist/react-renderer/components/layout/Modal.cjs +0 -92
  409. package/dist/react-renderer/components/layout/Modal.cjs.map +0 -1
  410. package/dist/react-renderer/components/layout/Modal.d.cts +0 -19
  411. package/dist/react-renderer/components/layout/Modal.d.cts.map +0 -1
  412. package/dist/react-renderer/components/layout/Modal.d.mts +0 -19
  413. package/dist/react-renderer/components/layout/Modal.d.mts.map +0 -1
  414. package/dist/react-renderer/components/layout/Modal.mjs +0 -91
  415. package/dist/react-renderer/components/layout/Modal.mjs.map +0 -1
  416. package/dist/react-renderer/components/layout/Row.cjs +0 -43
  417. package/dist/react-renderer/components/layout/Row.cjs.map +0 -1
  418. package/dist/react-renderer/components/layout/Row.d.cts +0 -14
  419. package/dist/react-renderer/components/layout/Row.d.cts.map +0 -1
  420. package/dist/react-renderer/components/layout/Row.d.mts +0 -14
  421. package/dist/react-renderer/components/layout/Row.d.mts.map +0 -1
  422. package/dist/react-renderer/components/layout/Row.mjs +0 -42
  423. package/dist/react-renderer/components/layout/Row.mjs.map +0 -1
  424. package/dist/react-renderer/components/layout/Tabs.cjs +0 -47
  425. package/dist/react-renderer/components/layout/Tabs.cjs.map +0 -1
  426. package/dist/react-renderer/components/layout/Tabs.d.cts +0 -12
  427. package/dist/react-renderer/components/layout/Tabs.d.cts.map +0 -1
  428. package/dist/react-renderer/components/layout/Tabs.d.mts +0 -12
  429. package/dist/react-renderer/components/layout/Tabs.d.mts.map +0 -1
  430. package/dist/react-renderer/components/layout/Tabs.mjs +0 -46
  431. package/dist/react-renderer/components/layout/Tabs.mjs.map +0 -1
  432. package/dist/react-renderer/core/A2UIViewer.cjs +0 -11
  433. package/dist/react-renderer/core/A2UIViewer.d.cts +0 -16
  434. package/dist/react-renderer/core/A2UIViewer.d.cts.map +0 -1
  435. package/dist/react-renderer/core/A2UIViewer.d.mts +0 -16
  436. package/dist/react-renderer/core/A2UIViewer.d.mts.map +0 -1
  437. package/dist/react-renderer/core/A2UIViewer.mjs +0 -11
  438. package/dist/react-renderer/core/ComponentNode.cjs +0 -53
  439. package/dist/react-renderer/core/ComponentNode.cjs.map +0 -1
  440. package/dist/react-renderer/core/ComponentNode.d.cts +0 -29
  441. package/dist/react-renderer/core/ComponentNode.d.cts.map +0 -1
  442. package/dist/react-renderer/core/ComponentNode.d.mts +0 -29
  443. package/dist/react-renderer/core/ComponentNode.d.mts.map +0 -1
  444. package/dist/react-renderer/core/ComponentNode.mjs +0 -52
  445. package/dist/react-renderer/core/ComponentNode.mjs.map +0 -1
  446. package/dist/react-renderer/hooks/useA2UIComponent.cjs +0 -173
  447. package/dist/react-renderer/hooks/useA2UIComponent.cjs.map +0 -1
  448. package/dist/react-renderer/hooks/useA2UIComponent.d.cts +0 -56
  449. package/dist/react-renderer/hooks/useA2UIComponent.d.cts.map +0 -1
  450. package/dist/react-renderer/hooks/useA2UIComponent.d.mts +0 -56
  451. package/dist/react-renderer/hooks/useA2UIComponent.d.mts.map +0 -1
  452. package/dist/react-renderer/hooks/useA2UIComponent.mjs +0 -172
  453. package/dist/react-renderer/hooks/useA2UIComponent.mjs.map +0 -1
  454. package/dist/react-renderer/registry/ComponentRegistry.cjs +0 -114
  455. package/dist/react-renderer/registry/ComponentRegistry.cjs.map +0 -1
  456. package/dist/react-renderer/registry/ComponentRegistry.d.cts +0 -82
  457. package/dist/react-renderer/registry/ComponentRegistry.d.cts.map +0 -1
  458. package/dist/react-renderer/registry/ComponentRegistry.d.mts +0 -82
  459. package/dist/react-renderer/registry/ComponentRegistry.d.mts.map +0 -1
  460. package/dist/react-renderer/registry/ComponentRegistry.mjs +0 -113
  461. package/dist/react-renderer/registry/ComponentRegistry.mjs.map +0 -1
  462. package/dist/react-renderer/registry/defaultCatalog.cjs +0 -58
  463. package/dist/react-renderer/registry/defaultCatalog.cjs.map +0 -1
  464. package/dist/react-renderer/registry/defaultCatalog.d.cts +0 -17
  465. package/dist/react-renderer/registry/defaultCatalog.d.cts.map +0 -1
  466. package/dist/react-renderer/registry/defaultCatalog.d.mts +0 -17
  467. package/dist/react-renderer/registry/defaultCatalog.d.mts.map +0 -1
  468. package/dist/react-renderer/registry/defaultCatalog.mjs +0 -57
  469. package/dist/react-renderer/registry/defaultCatalog.mjs.map +0 -1
  470. package/dist/react-renderer/styles/reset.cjs +0 -29
  471. package/dist/react-renderer/styles/reset.cjs.map +0 -1
  472. package/dist/react-renderer/styles/reset.mjs +0 -28
  473. package/dist/react-renderer/styles/reset.mjs.map +0 -1
  474. package/dist/react-renderer/theme/litTheme.cjs +0 -386
  475. package/dist/react-renderer/theme/litTheme.cjs.map +0 -1
  476. package/dist/react-renderer/theme/litTheme.d.cts +0 -12
  477. package/dist/react-renderer/theme/litTheme.d.cts.map +0 -1
  478. package/dist/react-renderer/theme/litTheme.d.mts +0 -12
  479. package/dist/react-renderer/theme/litTheme.d.mts.map +0 -1
  480. package/dist/react-renderer/theme/litTheme.mjs +0 -384
  481. package/dist/react-renderer/theme/litTheme.mjs.map +0 -1
  482. package/dist/react-renderer/theme/utils.cjs +0 -41
  483. package/dist/react-renderer/theme/utils.cjs.map +0 -1
  484. package/dist/react-renderer/theme/utils.d.cts +0 -26
  485. package/dist/react-renderer/theme/utils.d.cts.map +0 -1
  486. package/dist/react-renderer/theme/utils.d.mts +0 -26
  487. package/dist/react-renderer/theme/utils.d.mts.map +0 -1
  488. package/dist/react-renderer/theme/utils.mjs +0 -39
  489. package/dist/react-renderer/theme/utils.mjs.map +0 -1
  490. package/dist/theme/viewer-theme.cjs +0 -395
  491. package/dist/theme/viewer-theme.cjs.map +0 -1
  492. package/dist/theme/viewer-theme.d.cts +0 -7
  493. package/dist/theme/viewer-theme.d.cts.map +0 -1
  494. package/dist/theme/viewer-theme.d.mts +0 -7
  495. package/dist/theme/viewer-theme.d.mts.map +0 -1
  496. package/dist/theme/viewer-theme.mjs +0 -394
  497. package/dist/theme/viewer-theme.mjs.map +0 -1
@@ -0,0 +1,22 @@
1
+ const require_A2uiSurface = require('./A2uiSurface.cjs');
2
+ const require_adapter = require('./adapter.cjs');
3
+ const require_Text = require('./catalog/basic/components/Text.cjs');
4
+ const require_Image = require('./catalog/basic/components/Image.cjs');
5
+ const require_Icon = require('./catalog/basic/components/Icon.cjs');
6
+ const require_Video = require('./catalog/basic/components/Video.cjs');
7
+ const require_AudioPlayer = require('./catalog/basic/components/AudioPlayer.cjs');
8
+ const require_Row = require('./catalog/basic/components/Row.cjs');
9
+ const require_Column = require('./catalog/basic/components/Column.cjs');
10
+ const require_List = require('./catalog/basic/components/List.cjs');
11
+ const require_Card = require('./catalog/basic/components/Card.cjs');
12
+ const require_Tabs = require('./catalog/basic/components/Tabs.cjs');
13
+ const require_Divider = require('./catalog/basic/components/Divider.cjs');
14
+ const require_Modal = require('./catalog/basic/components/Modal.cjs');
15
+ const require_Button = require('./catalog/basic/components/Button.cjs');
16
+ const require_TextField = require('./catalog/basic/components/TextField.cjs');
17
+ const require_CheckBox = require('./catalog/basic/components/CheckBox.cjs');
18
+ const require_ChoicePicker = require('./catalog/basic/components/ChoicePicker.cjs');
19
+ const require_Slider = require('./catalog/basic/components/Slider.cjs');
20
+ const require_DateTimeInput = require('./catalog/basic/components/DateTimeInput.cjs');
21
+ const require_index = require('./catalog/basic/index.cjs');
22
+ require('./catalog/minimal/index.cjs');
@@ -0,0 +1,4 @@
1
+ import { ReactA2uiComponentProps, ReactComponentImplementation, createReactComponent } from "./adapter.cjs";
2
+ import "./A2uiSurface.cjs";
3
+ import { basicCatalog } from "./catalog/basic/index.cjs";
4
+ import "./catalog/minimal/index.cjs";
@@ -0,0 +1,4 @@
1
+ import { ReactA2uiComponentProps, ReactComponentImplementation, createReactComponent } from "./adapter.mjs";
2
+ import "./A2uiSurface.mjs";
3
+ import { basicCatalog } from "./catalog/basic/index.mjs";
4
+ import "./catalog/minimal/index.mjs";
@@ -0,0 +1,24 @@
1
+ import { A2uiSurface, DeferredChild } from "./A2uiSurface.mjs";
2
+ import { createReactComponent } from "./adapter.mjs";
3
+ import { Text } from "./catalog/basic/components/Text.mjs";
4
+ import { Image } from "./catalog/basic/components/Image.mjs";
5
+ import { Icon } from "./catalog/basic/components/Icon.mjs";
6
+ import { Video } from "./catalog/basic/components/Video.mjs";
7
+ import { AudioPlayer } from "./catalog/basic/components/AudioPlayer.mjs";
8
+ import { Row } from "./catalog/basic/components/Row.mjs";
9
+ import { Column } from "./catalog/basic/components/Column.mjs";
10
+ import { List } from "./catalog/basic/components/List.mjs";
11
+ import { Card } from "./catalog/basic/components/Card.mjs";
12
+ import { Tabs } from "./catalog/basic/components/Tabs.mjs";
13
+ import { Divider } from "./catalog/basic/components/Divider.mjs";
14
+ import { Modal } from "./catalog/basic/components/Modal.mjs";
15
+ import { Button } from "./catalog/basic/components/Button.mjs";
16
+ import { TextField } from "./catalog/basic/components/TextField.mjs";
17
+ import { CheckBox } from "./catalog/basic/components/CheckBox.mjs";
18
+ import { ChoicePicker } from "./catalog/basic/components/ChoicePicker.mjs";
19
+ import { Slider } from "./catalog/basic/components/Slider.mjs";
20
+ import { DateTimeInput } from "./catalog/basic/components/DateTimeInput.mjs";
21
+ import { basicCatalog } from "./catalog/basic/index.mjs";
22
+ import "./catalog/minimal/index.mjs";
23
+
24
+ export { };
@@ -0,0 +1,84 @@
1
+ const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
2
+ const require_index = require('./a2ui-react/catalog/basic/index.cjs');
3
+ require('./a2ui-react/index.cjs');
4
+ let zod_to_json_schema = require("zod-to-json-schema");
5
+
6
+ //#region src/react-renderer/catalog-utils.ts
7
+ const BASIC_CATALOG_ID = "https://a2ui.org/specification/v0_9/basic_catalog.json";
8
+ /**
9
+ * Context description used to identify the A2UI component schema in RunAgentInput.context.
10
+ * Must match the constant in @ag-ui/a2ui-middleware so the middleware can overwrite
11
+ * a frontend-provided schema with a server-side one.
12
+ */
13
+ const A2UI_SCHEMA_CONTEXT_DESCRIPTION = "A2UI Component Schema — available components for generating UI surfaces. Use these component names and props when creating A2UI operations.";
14
+ /**
15
+ * Check whether a catalog is a superset of the basic catalog
16
+ * (i.e., it contains all basic components by name).
17
+ */
18
+ function extendsBasicCatalog(catalog) {
19
+ for (const name of require_index.basicCatalog.components.keys()) if (!catalog.components.has(name)) return false;
20
+ return true;
21
+ }
22
+ /**
23
+ * Return the names of components in a catalog that are not in the basic catalog.
24
+ */
25
+ function getCustomComponentNames(catalog) {
26
+ const custom = [];
27
+ for (const name of catalog.components.keys()) if (!require_index.basicCatalog.components.has(name)) custom.push(name);
28
+ return custom;
29
+ }
30
+ /**
31
+ * Build a context string describing the available A2UI catalog and custom components.
32
+ * Custom components (those not in the basic catalog) are described using their
33
+ * JSON Schema representation, matching the canonical A2UI catalog format.
34
+ */
35
+ function buildCatalogContextValue(catalog) {
36
+ const resolved = catalog ?? require_index.basicCatalog;
37
+ const lines = [];
38
+ lines.push("Available A2UI catalog:");
39
+ if (resolved.id === BASIC_CATALOG_ID) {
40
+ lines.push(`- ${resolved.id} (basic catalog)`);
41
+ return lines.join("\n");
42
+ }
43
+ const isSuperset = extendsBasicCatalog(resolved);
44
+ const customNames = getCustomComponentNames(resolved);
45
+ lines.push(`- ${resolved.id}`);
46
+ if (isSuperset) lines.push(" Extends the basic catalog with all standard components plus:");
47
+ else {
48
+ lines.push(" Custom catalog (does NOT include all basic components).");
49
+ lines.push(" Custom components:");
50
+ }
51
+ for (const name of customNames) {
52
+ const comp = resolved.components.get(name);
53
+ if (!comp) continue;
54
+ const jsonSchema = (0, zod_to_json_schema.zodToJsonSchema)(comp.schema);
55
+ lines.push(` - ${name}:`);
56
+ lines.push(` ${JSON.stringify(jsonSchema, null, 2).split("\n").join("\n ")}`);
57
+ }
58
+ return lines.join("\n");
59
+ }
60
+ /**
61
+ * Extract component schemas from a catalog in the same format used by
62
+ * the A2UI middleware (`A2UIComponentSchema[]`). Each component's Zod
63
+ * schema is converted to JSON Schema via zod-to-json-schema.
64
+ *
65
+ * When sent via `useAgentContext` with `A2UI_SCHEMA_CONTEXT_DESCRIPTION`,
66
+ * the middleware can optionally overwrite it with a server-side schema.
67
+ */
68
+ function extractCatalogComponentSchemas(catalog) {
69
+ const resolved = catalog ?? require_index.basicCatalog;
70
+ const schemas = [];
71
+ for (const [name, comp] of resolved.components) schemas.push({
72
+ name,
73
+ props: (0, zod_to_json_schema.zodToJsonSchema)(comp.schema, { target: "openApi3" })
74
+ });
75
+ return schemas;
76
+ }
77
+
78
+ //#endregion
79
+ exports.A2UI_SCHEMA_CONTEXT_DESCRIPTION = A2UI_SCHEMA_CONTEXT_DESCRIPTION;
80
+ exports.buildCatalogContextValue = buildCatalogContextValue;
81
+ exports.extendsBasicCatalog = extendsBasicCatalog;
82
+ exports.extractCatalogComponentSchemas = extractCatalogComponentSchemas;
83
+ exports.getCustomComponentNames = getCustomComponentNames;
84
+ //# sourceMappingURL=catalog-utils.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog-utils.cjs","names":["basicCatalog"],"sources":["../../src/react-renderer/catalog-utils.ts"],"sourcesContent":["import { basicCatalog } from \"./a2ui-react\";\nimport type { ComponentApi, Catalog } from \"@a2ui/web_core/v0_9\";\nimport { zodToJsonSchema } from \"zod-to-json-schema\";\n\nconst BASIC_CATALOG_ID =\n \"https://a2ui.org/specification/v0_9/basic_catalog.json\";\n\n/**\n * Context description used to identify the A2UI component schema in RunAgentInput.context.\n * Must match the constant in @ag-ui/a2ui-middleware so the middleware can overwrite\n * a frontend-provided schema with a server-side one.\n */\nexport const A2UI_SCHEMA_CONTEXT_DESCRIPTION =\n \"A2UI Component Schema — available components for generating UI surfaces. Use these component names and props when creating A2UI operations.\";\n\n/**\n * Check whether a catalog is a superset of the basic catalog\n * (i.e., it contains all basic components by name).\n */\nexport function extendsBasicCatalog(catalog: Catalog<ComponentApi>): boolean {\n for (const name of basicCatalog.components.keys()) {\n if (!catalog.components.has(name)) {\n return false;\n }\n }\n return true;\n}\n\n/**\n * Return the names of components in a catalog that are not in the basic catalog.\n */\nexport function getCustomComponentNames(\n catalog: Catalog<ComponentApi>,\n): string[] {\n const custom: string[] = [];\n for (const name of catalog.components.keys()) {\n if (!basicCatalog.components.has(name)) {\n custom.push(name);\n }\n }\n return custom;\n}\n\n/**\n * Build a context string describing the available A2UI catalog and custom components.\n * Custom components (those not in the basic catalog) are described using their\n * JSON Schema representation, matching the canonical A2UI catalog format.\n */\nexport function buildCatalogContextValue(\n catalog?: Catalog<ComponentApi>,\n): string {\n const resolved = catalog ?? basicCatalog;\n const lines: string[] = [];\n lines.push(\"Available A2UI catalog:\");\n\n if (resolved.id === BASIC_CATALOG_ID) {\n lines.push(`- ${resolved.id} (basic catalog)`);\n return lines.join(\"\\n\");\n }\n\n const isSuperset = extendsBasicCatalog(resolved);\n const customNames = getCustomComponentNames(resolved);\n\n lines.push(`- ${resolved.id}`);\n if (isSuperset) {\n lines.push(\n \" Extends the basic catalog with all standard components plus:\",\n );\n } else {\n lines.push(\" Custom catalog (does NOT include all basic components).\");\n lines.push(\" Custom components:\");\n }\n\n for (const name of customNames) {\n const comp = resolved.components.get(name);\n if (!comp) continue;\n const jsonSchema = zodToJsonSchema(comp.schema);\n lines.push(` - ${name}:`);\n lines.push(\n ` ${JSON.stringify(jsonSchema, null, 2).split(\"\\n\").join(\"\\n \")}`,\n );\n }\n\n return lines.join(\"\\n\");\n}\n\n/**\n * Extract component schemas from a catalog in the same format used by\n * the A2UI middleware (`A2UIComponentSchema[]`). Each component's Zod\n * schema is converted to JSON Schema via zod-to-json-schema.\n *\n * When sent via `useAgentContext` with `A2UI_SCHEMA_CONTEXT_DESCRIPTION`,\n * the middleware can optionally overwrite it with a server-side schema.\n */\nexport function extractCatalogComponentSchemas(\n catalog?: Catalog<ComponentApi>,\n): Array<{ name: string; props: Record<string, unknown> }> {\n const resolved = catalog ?? basicCatalog;\n const schemas: Array<{ name: string; props: Record<string, unknown> }> = [];\n\n for (const [name, comp] of resolved.components) {\n schemas.push({\n name,\n props: zodToJsonSchema(comp.schema, { target: \"openApi3\" }) as Record<\n string,\n unknown\n >,\n });\n }\n\n return schemas;\n}\n"],"mappings":";;;;;;AAIA,MAAM,mBACJ;;;;;;AAOF,MAAa,kCACX;;;;;AAMF,SAAgB,oBAAoB,SAAyC;AAC3E,MAAK,MAAM,QAAQA,2BAAa,WAAW,MAAM,CAC/C,KAAI,CAAC,QAAQ,WAAW,IAAI,KAAK,CAC/B,QAAO;AAGX,QAAO;;;;;AAMT,SAAgB,wBACd,SACU;CACV,MAAM,SAAmB,EAAE;AAC3B,MAAK,MAAM,QAAQ,QAAQ,WAAW,MAAM,CAC1C,KAAI,CAACA,2BAAa,WAAW,IAAI,KAAK,CACpC,QAAO,KAAK,KAAK;AAGrB,QAAO;;;;;;;AAQT,SAAgB,yBACd,SACQ;CACR,MAAM,WAAW,WAAWA;CAC5B,MAAM,QAAkB,EAAE;AAC1B,OAAM,KAAK,0BAA0B;AAErC,KAAI,SAAS,OAAO,kBAAkB;AACpC,QAAM,KAAK,KAAK,SAAS,GAAG,kBAAkB;AAC9C,SAAO,MAAM,KAAK,KAAK;;CAGzB,MAAM,aAAa,oBAAoB,SAAS;CAChD,MAAM,cAAc,wBAAwB,SAAS;AAErD,OAAM,KAAK,KAAK,SAAS,KAAK;AAC9B,KAAI,WACF,OAAM,KACJ,iEACD;MACI;AACL,QAAM,KAAK,4DAA4D;AACvE,QAAM,KAAK,uBAAuB;;AAGpC,MAAK,MAAM,QAAQ,aAAa;EAC9B,MAAM,OAAO,SAAS,WAAW,IAAI,KAAK;AAC1C,MAAI,CAAC,KAAM;EACX,MAAM,qDAA6B,KAAK,OAAO;AAC/C,QAAM,KAAK,OAAO,KAAK,GAAG;AAC1B,QAAM,KACJ,OAAO,KAAK,UAAU,YAAY,MAAM,EAAE,CAAC,MAAM,KAAK,CAAC,KAAK,SAAS,GACtE;;AAGH,QAAO,MAAM,KAAK,KAAK;;;;;;;;;;AAWzB,SAAgB,+BACd,SACyD;CACzD,MAAM,WAAW,WAAWA;CAC5B,MAAM,UAAmE,EAAE;AAE3E,MAAK,MAAM,CAAC,MAAM,SAAS,SAAS,WAClC,SAAQ,KAAK;EACX;EACA,+CAAuB,KAAK,QAAQ,EAAE,QAAQ,YAAY,CAAC;EAI5D,CAAC;AAGJ,QAAO"}
@@ -0,0 +1,39 @@
1
+ import { Catalog, ComponentApi } from "@a2ui/web_core/v0_9";
2
+
3
+ //#region src/react-renderer/catalog-utils.d.ts
4
+ /**
5
+ * Context description used to identify the A2UI component schema in RunAgentInput.context.
6
+ * Must match the constant in @ag-ui/a2ui-middleware so the middleware can overwrite
7
+ * a frontend-provided schema with a server-side one.
8
+ */
9
+ declare const A2UI_SCHEMA_CONTEXT_DESCRIPTION = "A2UI Component Schema \u2014 available components for generating UI surfaces. Use these component names and props when creating A2UI operations.";
10
+ /**
11
+ * Check whether a catalog is a superset of the basic catalog
12
+ * (i.e., it contains all basic components by name).
13
+ */
14
+ declare function extendsBasicCatalog(catalog: Catalog<ComponentApi>): boolean;
15
+ /**
16
+ * Return the names of components in a catalog that are not in the basic catalog.
17
+ */
18
+ declare function getCustomComponentNames(catalog: Catalog<ComponentApi>): string[];
19
+ /**
20
+ * Build a context string describing the available A2UI catalog and custom components.
21
+ * Custom components (those not in the basic catalog) are described using their
22
+ * JSON Schema representation, matching the canonical A2UI catalog format.
23
+ */
24
+ declare function buildCatalogContextValue(catalog?: Catalog<ComponentApi>): string;
25
+ /**
26
+ * Extract component schemas from a catalog in the same format used by
27
+ * the A2UI middleware (`A2UIComponentSchema[]`). Each component's Zod
28
+ * schema is converted to JSON Schema via zod-to-json-schema.
29
+ *
30
+ * When sent via `useAgentContext` with `A2UI_SCHEMA_CONTEXT_DESCRIPTION`,
31
+ * the middleware can optionally overwrite it with a server-side schema.
32
+ */
33
+ declare function extractCatalogComponentSchemas(catalog?: Catalog<ComponentApi>): Array<{
34
+ name: string;
35
+ props: Record<string, unknown>;
36
+ }>;
37
+ //#endregion
38
+ export { A2UI_SCHEMA_CONTEXT_DESCRIPTION, buildCatalogContextValue, extendsBasicCatalog, extractCatalogComponentSchemas, getCustomComponentNames };
39
+ //# sourceMappingURL=catalog-utils.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog-utils.d.cts","names":[],"sources":["../../src/react-renderer/catalog-utils.ts"],"mappings":";;;;;AAYA;;;cAAa,+BAAA;;AAOb;;;iBAAgB,mBAAA,CAAoB,OAAA,EAAS,OAAA,CAAQ,YAAA;;;;iBAYrC,uBAAA,CACd,OAAA,EAAS,OAAA,CAAQ,YAAA;;AADnB;;;;iBAiBgB,wBAAA,CACd,OAAA,GAAU,OAAA,CAAQ,YAAA;;;;;AADpB;;;;iBA8CgB,8BAAA,CACd,OAAA,GAAU,OAAA,CAAQ,YAAA,IACjB,KAAA;EAAQ,IAAA;EAAc,KAAA,EAAO,MAAA;AAAA"}
@@ -0,0 +1,39 @@
1
+ import { Catalog, ComponentApi } from "@a2ui/web_core/v0_9";
2
+
3
+ //#region src/react-renderer/catalog-utils.d.ts
4
+ /**
5
+ * Context description used to identify the A2UI component schema in RunAgentInput.context.
6
+ * Must match the constant in @ag-ui/a2ui-middleware so the middleware can overwrite
7
+ * a frontend-provided schema with a server-side one.
8
+ */
9
+ declare const A2UI_SCHEMA_CONTEXT_DESCRIPTION = "A2UI Component Schema \u2014 available components for generating UI surfaces. Use these component names and props when creating A2UI operations.";
10
+ /**
11
+ * Check whether a catalog is a superset of the basic catalog
12
+ * (i.e., it contains all basic components by name).
13
+ */
14
+ declare function extendsBasicCatalog(catalog: Catalog<ComponentApi>): boolean;
15
+ /**
16
+ * Return the names of components in a catalog that are not in the basic catalog.
17
+ */
18
+ declare function getCustomComponentNames(catalog: Catalog<ComponentApi>): string[];
19
+ /**
20
+ * Build a context string describing the available A2UI catalog and custom components.
21
+ * Custom components (those not in the basic catalog) are described using their
22
+ * JSON Schema representation, matching the canonical A2UI catalog format.
23
+ */
24
+ declare function buildCatalogContextValue(catalog?: Catalog<ComponentApi>): string;
25
+ /**
26
+ * Extract component schemas from a catalog in the same format used by
27
+ * the A2UI middleware (`A2UIComponentSchema[]`). Each component's Zod
28
+ * schema is converted to JSON Schema via zod-to-json-schema.
29
+ *
30
+ * When sent via `useAgentContext` with `A2UI_SCHEMA_CONTEXT_DESCRIPTION`,
31
+ * the middleware can optionally overwrite it with a server-side schema.
32
+ */
33
+ declare function extractCatalogComponentSchemas(catalog?: Catalog<ComponentApi>): Array<{
34
+ name: string;
35
+ props: Record<string, unknown>;
36
+ }>;
37
+ //#endregion
38
+ export { A2UI_SCHEMA_CONTEXT_DESCRIPTION, buildCatalogContextValue, extendsBasicCatalog, extractCatalogComponentSchemas, getCustomComponentNames };
39
+ //# sourceMappingURL=catalog-utils.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog-utils.d.mts","names":[],"sources":["../../src/react-renderer/catalog-utils.ts"],"mappings":";;;;;AAYA;;;cAAa,+BAAA;;AAOb;;;iBAAgB,mBAAA,CAAoB,OAAA,EAAS,OAAA,CAAQ,YAAA;;;;iBAYrC,uBAAA,CACd,OAAA,EAAS,OAAA,CAAQ,YAAA;;AADnB;;;;iBAiBgB,wBAAA,CACd,OAAA,GAAU,OAAA,CAAQ,YAAA;;;;;AADpB;;;;iBA8CgB,8BAAA,CACd,OAAA,GAAU,OAAA,CAAQ,YAAA,IACjB,KAAA;EAAQ,IAAA;EAAc,KAAA,EAAO,MAAA;AAAA"}
@@ -0,0 +1,79 @@
1
+ import { basicCatalog } from "./a2ui-react/catalog/basic/index.mjs";
2
+ import "./a2ui-react/index.mjs";
3
+ import { zodToJsonSchema } from "zod-to-json-schema";
4
+
5
+ //#region src/react-renderer/catalog-utils.ts
6
+ const BASIC_CATALOG_ID = "https://a2ui.org/specification/v0_9/basic_catalog.json";
7
+ /**
8
+ * Context description used to identify the A2UI component schema in RunAgentInput.context.
9
+ * Must match the constant in @ag-ui/a2ui-middleware so the middleware can overwrite
10
+ * a frontend-provided schema with a server-side one.
11
+ */
12
+ const A2UI_SCHEMA_CONTEXT_DESCRIPTION = "A2UI Component Schema — available components for generating UI surfaces. Use these component names and props when creating A2UI operations.";
13
+ /**
14
+ * Check whether a catalog is a superset of the basic catalog
15
+ * (i.e., it contains all basic components by name).
16
+ */
17
+ function extendsBasicCatalog(catalog) {
18
+ for (const name of basicCatalog.components.keys()) if (!catalog.components.has(name)) return false;
19
+ return true;
20
+ }
21
+ /**
22
+ * Return the names of components in a catalog that are not in the basic catalog.
23
+ */
24
+ function getCustomComponentNames(catalog) {
25
+ const custom = [];
26
+ for (const name of catalog.components.keys()) if (!basicCatalog.components.has(name)) custom.push(name);
27
+ return custom;
28
+ }
29
+ /**
30
+ * Build a context string describing the available A2UI catalog and custom components.
31
+ * Custom components (those not in the basic catalog) are described using their
32
+ * JSON Schema representation, matching the canonical A2UI catalog format.
33
+ */
34
+ function buildCatalogContextValue(catalog) {
35
+ const resolved = catalog ?? basicCatalog;
36
+ const lines = [];
37
+ lines.push("Available A2UI catalog:");
38
+ if (resolved.id === BASIC_CATALOG_ID) {
39
+ lines.push(`- ${resolved.id} (basic catalog)`);
40
+ return lines.join("\n");
41
+ }
42
+ const isSuperset = extendsBasicCatalog(resolved);
43
+ const customNames = getCustomComponentNames(resolved);
44
+ lines.push(`- ${resolved.id}`);
45
+ if (isSuperset) lines.push(" Extends the basic catalog with all standard components plus:");
46
+ else {
47
+ lines.push(" Custom catalog (does NOT include all basic components).");
48
+ lines.push(" Custom components:");
49
+ }
50
+ for (const name of customNames) {
51
+ const comp = resolved.components.get(name);
52
+ if (!comp) continue;
53
+ const jsonSchema = zodToJsonSchema(comp.schema);
54
+ lines.push(` - ${name}:`);
55
+ lines.push(` ${JSON.stringify(jsonSchema, null, 2).split("\n").join("\n ")}`);
56
+ }
57
+ return lines.join("\n");
58
+ }
59
+ /**
60
+ * Extract component schemas from a catalog in the same format used by
61
+ * the A2UI middleware (`A2UIComponentSchema[]`). Each component's Zod
62
+ * schema is converted to JSON Schema via zod-to-json-schema.
63
+ *
64
+ * When sent via `useAgentContext` with `A2UI_SCHEMA_CONTEXT_DESCRIPTION`,
65
+ * the middleware can optionally overwrite it with a server-side schema.
66
+ */
67
+ function extractCatalogComponentSchemas(catalog) {
68
+ const resolved = catalog ?? basicCatalog;
69
+ const schemas = [];
70
+ for (const [name, comp] of resolved.components) schemas.push({
71
+ name,
72
+ props: zodToJsonSchema(comp.schema, { target: "openApi3" })
73
+ });
74
+ return schemas;
75
+ }
76
+
77
+ //#endregion
78
+ export { A2UI_SCHEMA_CONTEXT_DESCRIPTION, buildCatalogContextValue, extendsBasicCatalog, extractCatalogComponentSchemas, getCustomComponentNames };
79
+ //# sourceMappingURL=catalog-utils.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog-utils.mjs","names":[],"sources":["../../src/react-renderer/catalog-utils.ts"],"sourcesContent":["import { basicCatalog } from \"./a2ui-react\";\nimport type { ComponentApi, Catalog } from \"@a2ui/web_core/v0_9\";\nimport { zodToJsonSchema } from \"zod-to-json-schema\";\n\nconst BASIC_CATALOG_ID =\n \"https://a2ui.org/specification/v0_9/basic_catalog.json\";\n\n/**\n * Context description used to identify the A2UI component schema in RunAgentInput.context.\n * Must match the constant in @ag-ui/a2ui-middleware so the middleware can overwrite\n * a frontend-provided schema with a server-side one.\n */\nexport const A2UI_SCHEMA_CONTEXT_DESCRIPTION =\n \"A2UI Component Schema — available components for generating UI surfaces. Use these component names and props when creating A2UI operations.\";\n\n/**\n * Check whether a catalog is a superset of the basic catalog\n * (i.e., it contains all basic components by name).\n */\nexport function extendsBasicCatalog(catalog: Catalog<ComponentApi>): boolean {\n for (const name of basicCatalog.components.keys()) {\n if (!catalog.components.has(name)) {\n return false;\n }\n }\n return true;\n}\n\n/**\n * Return the names of components in a catalog that are not in the basic catalog.\n */\nexport function getCustomComponentNames(\n catalog: Catalog<ComponentApi>,\n): string[] {\n const custom: string[] = [];\n for (const name of catalog.components.keys()) {\n if (!basicCatalog.components.has(name)) {\n custom.push(name);\n }\n }\n return custom;\n}\n\n/**\n * Build a context string describing the available A2UI catalog and custom components.\n * Custom components (those not in the basic catalog) are described using their\n * JSON Schema representation, matching the canonical A2UI catalog format.\n */\nexport function buildCatalogContextValue(\n catalog?: Catalog<ComponentApi>,\n): string {\n const resolved = catalog ?? basicCatalog;\n const lines: string[] = [];\n lines.push(\"Available A2UI catalog:\");\n\n if (resolved.id === BASIC_CATALOG_ID) {\n lines.push(`- ${resolved.id} (basic catalog)`);\n return lines.join(\"\\n\");\n }\n\n const isSuperset = extendsBasicCatalog(resolved);\n const customNames = getCustomComponentNames(resolved);\n\n lines.push(`- ${resolved.id}`);\n if (isSuperset) {\n lines.push(\n \" Extends the basic catalog with all standard components plus:\",\n );\n } else {\n lines.push(\" Custom catalog (does NOT include all basic components).\");\n lines.push(\" Custom components:\");\n }\n\n for (const name of customNames) {\n const comp = resolved.components.get(name);\n if (!comp) continue;\n const jsonSchema = zodToJsonSchema(comp.schema);\n lines.push(` - ${name}:`);\n lines.push(\n ` ${JSON.stringify(jsonSchema, null, 2).split(\"\\n\").join(\"\\n \")}`,\n );\n }\n\n return lines.join(\"\\n\");\n}\n\n/**\n * Extract component schemas from a catalog in the same format used by\n * the A2UI middleware (`A2UIComponentSchema[]`). Each component's Zod\n * schema is converted to JSON Schema via zod-to-json-schema.\n *\n * When sent via `useAgentContext` with `A2UI_SCHEMA_CONTEXT_DESCRIPTION`,\n * the middleware can optionally overwrite it with a server-side schema.\n */\nexport function extractCatalogComponentSchemas(\n catalog?: Catalog<ComponentApi>,\n): Array<{ name: string; props: Record<string, unknown> }> {\n const resolved = catalog ?? basicCatalog;\n const schemas: Array<{ name: string; props: Record<string, unknown> }> = [];\n\n for (const [name, comp] of resolved.components) {\n schemas.push({\n name,\n props: zodToJsonSchema(comp.schema, { target: \"openApi3\" }) as Record<\n string,\n unknown\n >,\n });\n }\n\n return schemas;\n}\n"],"mappings":";;;;;AAIA,MAAM,mBACJ;;;;;;AAOF,MAAa,kCACX;;;;;AAMF,SAAgB,oBAAoB,SAAyC;AAC3E,MAAK,MAAM,QAAQ,aAAa,WAAW,MAAM,CAC/C,KAAI,CAAC,QAAQ,WAAW,IAAI,KAAK,CAC/B,QAAO;AAGX,QAAO;;;;;AAMT,SAAgB,wBACd,SACU;CACV,MAAM,SAAmB,EAAE;AAC3B,MAAK,MAAM,QAAQ,QAAQ,WAAW,MAAM,CAC1C,KAAI,CAAC,aAAa,WAAW,IAAI,KAAK,CACpC,QAAO,KAAK,KAAK;AAGrB,QAAO;;;;;;;AAQT,SAAgB,yBACd,SACQ;CACR,MAAM,WAAW,WAAW;CAC5B,MAAM,QAAkB,EAAE;AAC1B,OAAM,KAAK,0BAA0B;AAErC,KAAI,SAAS,OAAO,kBAAkB;AACpC,QAAM,KAAK,KAAK,SAAS,GAAG,kBAAkB;AAC9C,SAAO,MAAM,KAAK,KAAK;;CAGzB,MAAM,aAAa,oBAAoB,SAAS;CAChD,MAAM,cAAc,wBAAwB,SAAS;AAErD,OAAM,KAAK,KAAK,SAAS,KAAK;AAC9B,KAAI,WACF,OAAM,KACJ,iEACD;MACI;AACL,QAAM,KAAK,4DAA4D;AACvE,QAAM,KAAK,uBAAuB;;AAGpC,MAAK,MAAM,QAAQ,aAAa;EAC9B,MAAM,OAAO,SAAS,WAAW,IAAI,KAAK;AAC1C,MAAI,CAAC,KAAM;EACX,MAAM,aAAa,gBAAgB,KAAK,OAAO;AAC/C,QAAM,KAAK,OAAO,KAAK,GAAG;AAC1B,QAAM,KACJ,OAAO,KAAK,UAAU,YAAY,MAAM,EAAE,CAAC,MAAM,KAAK,CAAC,KAAK,SAAS,GACtE;;AAGH,QAAO,MAAM,KAAK,KAAK;;;;;;;;;;AAWzB,SAAgB,+BACd,SACyD;CACzD,MAAM,WAAW,WAAW;CAC5B,MAAM,UAAmE,EAAE;AAE3E,MAAK,MAAM,CAAC,MAAM,SAAS,SAAS,WAClC,SAAQ,KAAK;EACX;EACA,OAAO,gBAAgB,KAAK,QAAQ,EAAE,QAAQ,YAAY,CAAC;EAI5D,CAAC;AAGJ,QAAO"}
@@ -1,85 +1,78 @@
1
1
  const require_runtime = require('../../_virtual/_rolldown/runtime.cjs');
2
+ const require_index = require('../a2ui-react/catalog/basic/index.cjs');
3
+ require('../a2ui-react/index.cjs');
2
4
  const require_ThemeContext = require('../theme/ThemeContext.cjs');
3
5
  let react = require("react");
4
- let _a2ui_lit_0_8 = require("@a2ui/lit/0.8");
6
+ let _a2ui_web_core_v0_9 = require("@a2ui/web_core/v0_9");
5
7
  let react_jsx_runtime = require("react/jsx-runtime");
6
8
 
7
9
  //#region src/react-renderer/core/A2UIProvider.tsx
8
10
  /**
9
11
  * Context for stable actions (never changes reference, prevents re-renders).
10
- * Components that only need to dispatch actions or read data won't re-render.
11
12
  */
12
13
  const A2UIActionsContext = (0, react.createContext)(null);
13
14
  /**
14
15
  * Context for reactive state (changes trigger re-renders).
15
- * Only components that need to react to state changes subscribe to this.
16
16
  */
17
17
  const A2UIStateContext = (0, react.createContext)(null);
18
18
  /**
19
- * Provider component that sets up the A2UI context for descendant components.
20
- *
21
- * This provider uses a two-context architecture for performance:
19
+ * Provider component that sets up the A2UI v0.9 context for descendant components.
20
+ * Uses a two-context architecture for performance:
22
21
  * - A2UIActionsContext: Stable actions that never change (no re-renders)
23
22
  * - A2UIStateContext: Reactive state that triggers re-renders when needed
24
- *
25
- * @example
26
- * ```tsx
27
- * function App() {
28
- * const handleAction = async (message) => {
29
- * const response = await fetch('/api/a2ui', {
30
- * method: 'POST',
31
- * body: JSON.stringify(message)
32
- * });
33
- * const newMessages = await response.json();
34
- * };
35
- *
36
- * return (
37
- * <A2UIProvider onAction={handleAction}>
38
- * <A2UIRenderer surfaceId="main" />
39
- * </A2UIProvider>
40
- * );
41
- * }
42
- * ```
43
23
  */
44
- function A2UIProvider({ onAction, theme, children }) {
24
+ function A2UIProvider({ onAction, theme, catalog, children }) {
25
+ const onActionRef = (0, react.useRef)(onAction ?? null);
26
+ onActionRef.current = onAction ?? null;
45
27
  const processorRef = (0, react.useRef)(null);
46
- if (!processorRef.current) processorRef.current = _a2ui_lit_0_8.Data.createSignalA2uiMessageProcessor();
28
+ if (!processorRef.current) processorRef.current = new _a2ui_web_core_v0_9.MessageProcessor([catalog ?? require_index.basicCatalog], (action) => {
29
+ if (onActionRef.current) {
30
+ const message = { userAction: {
31
+ name: action?.name ?? "unknown",
32
+ surfaceId: action?.surfaceId ?? "default",
33
+ sourceComponentId: action?.sourceComponentId,
34
+ context: action?.context,
35
+ timestamp: action?.timestamp ?? (/* @__PURE__ */ new Date()).toISOString()
36
+ } };
37
+ onActionRef.current(message);
38
+ }
39
+ });
47
40
  const processor = processorRef.current;
48
41
  const [version, setVersion] = (0, react.useState)(0);
49
- const onActionRef = (0, react.useRef)(onAction ?? null);
50
- onActionRef.current = onAction ?? null;
42
+ const [error, setError] = (0, react.useState)(null);
51
43
  const actionsRef = (0, react.useRef)(null);
52
44
  if (!actionsRef.current) actionsRef.current = {
53
45
  processMessages: (messages) => {
54
- processor.processMessages(messages);
55
- setVersion((v) => v + 1);
56
- },
57
- setData: (node, path, value, surfaceId) => {
58
- processor.setData(node, path, value, surfaceId);
46
+ try {
47
+ processor.processMessages(messages);
48
+ } catch (err) {
49
+ console.warn("[A2UI] processMessages error:", err);
50
+ setError(err instanceof Error ? err.message : String(err));
51
+ return;
52
+ }
53
+ setError(null);
59
54
  setVersion((v) => v + 1);
60
55
  },
61
56
  dispatch: (message) => {
62
57
  if (onActionRef.current) onActionRef.current(message);
63
58
  },
64
- clearSurfaces: () => {
65
- processor.clearSurfaces();
66
- setVersion((v) => v + 1);
67
- },
68
59
  getSurface: (surfaceId) => {
69
- return processor.getSurfaces().get(surfaceId);
70
- },
71
- getSurfaces: () => {
72
- return processor.getSurfaces();
60
+ return processor.model.getSurface(surfaceId);
73
61
  },
74
- getData: (node, path, surfaceId) => {
75
- return processor.getData(node, path, surfaceId);
76
- },
77
- resolvePath: (path, dataContextPath) => {
78
- return processor.resolvePath(path, dataContextPath);
62
+ clearSurfaces: () => {
63
+ const surfaces = processor.model.surfacesMap;
64
+ for (const [id] of surfaces) processor.processMessages([{
65
+ version: "v0.9",
66
+ deleteSurface: { surfaceId: id }
67
+ }]);
68
+ setVersion((v) => v + 1);
79
69
  }
80
70
  };
81
71
  const actions = actionsRef.current;
82
- const stateValue = (0, react.useMemo)(() => ({ version }), [version]);
72
+ const stateValue = (0, react.useMemo)(() => ({
73
+ version,
74
+ error
75
+ }), [version, error]);
83
76
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(A2UIActionsContext.Provider, {
84
77
  value: actions,
85
78
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(A2UIStateContext.Provider, {
@@ -93,10 +86,6 @@ function A2UIProvider({ onAction, theme, children }) {
93
86
  }
94
87
  /**
95
88
  * Hook to access stable A2UI actions (won't cause re-renders).
96
- * Use this when you only need to dispatch actions or read data.
97
- *
98
- * @returns Stable actions object
99
- * @throws If used outside of an A2UIProvider
100
89
  */
101
90
  function useA2UIActions() {
102
91
  const actions = (0, react.useContext)(A2UIActionsContext);
@@ -105,10 +94,6 @@ function useA2UIActions() {
105
94
  }
106
95
  /**
107
96
  * Hook to subscribe to A2UI state changes.
108
- * Components using this will re-render when state changes.
109
- *
110
- * @returns Current version number
111
- * @throws If used outside of an A2UIProvider
112
97
  */
113
98
  function useA2UIState() {
114
99
  const state = (0, react.useContext)(A2UIStateContext);
@@ -117,33 +102,25 @@ function useA2UIState() {
117
102
  }
118
103
  /**
119
104
  * Hook to access the full A2UI context (actions + state).
120
- * Components using this will re-render when state changes.
121
- *
122
- * @returns The A2UI context value
123
- * @throws If used outside of an A2UIProvider
124
105
  */
125
106
  function useA2UIContext() {
126
107
  const actions = useA2UIActions();
127
108
  const state = useA2UIState();
128
109
  return (0, react.useMemo)(() => ({
129
110
  ...actions,
130
- processor: null,
131
111
  version: state.version,
132
112
  onAction: null
133
113
  }), [actions, state.version]);
134
114
  }
135
- /**
136
- * @deprecated Use useA2UIContext instead. This alias exists for backward compatibility only.
137
- */
115
+ /** @deprecated Use useA2UIContext instead. */
138
116
  const useA2UIStore = useA2UIContext;
139
117
  /**
140
- * @deprecated This selector pattern does not provide performance benefits with React Context.
141
- * Components will re-render on any context change regardless of what you select.
142
- * Use useA2UIContext() or useA2UI() directly instead.
143
- *
144
- * @param selector - Function to select a slice of state
145
- * @returns The selected state
118
+ * Hook to access the current A2UI error state.
146
119
  */
120
+ function useA2UIError() {
121
+ return (0, react.useContext)(A2UIStateContext)?.error ?? null;
122
+ }
123
+ /** @deprecated Use useA2UIContext() or useA2UI() directly instead. */
147
124
  function useA2UIStoreSelector(selector) {
148
125
  return selector(useA2UIContext());
149
126
  }
@@ -152,6 +129,7 @@ function useA2UIStoreSelector(selector) {
152
129
  exports.A2UIProvider = A2UIProvider;
153
130
  exports.useA2UIActions = useA2UIActions;
154
131
  exports.useA2UIContext = useA2UIContext;
132
+ exports.useA2UIError = useA2UIError;
155
133
  exports.useA2UIState = useA2UIState;
156
134
  exports.useA2UIStore = useA2UIStore;
157
135
  exports.useA2UIStoreSelector = useA2UIStoreSelector;
@@ -1 +1 @@
1
- {"version":3,"file":"A2UIProvider.cjs","names":["Data","ThemeProvider"],"sources":["../../../src/react-renderer/core/A2UIProvider.tsx"],"sourcesContent":["import {\n createContext,\n useContext,\n useRef,\n useState,\n useMemo,\n type ReactNode,\n} from \"react\";\nimport { Data, type Types } from \"@a2ui/lit/0.8\";\nimport type { A2UIContextValue, A2UIActions } from \"./store\";\nimport { ThemeProvider } from \"../theme/ThemeContext\";\nimport type { OnActionCallback } from \"../types\";\n\n/**\n * Context for stable actions (never changes reference, prevents re-renders).\n * Components that only need to dispatch actions or read data won't re-render.\n */\nconst A2UIActionsContext = createContext<A2UIActions | null>(null);\n\n/**\n * Context for reactive state (changes trigger re-renders).\n * Only components that need to react to state changes subscribe to this.\n */\nconst A2UIStateContext = createContext<{ version: number } | null>(null);\n\n/**\n * Props for the A2UIProvider component.\n */\nexport interface A2UIProviderProps {\n /** Callback invoked when a user action is dispatched (button click, etc.) */\n onAction?: OnActionCallback;\n /** Theme configuration. Falls back to default theme if not provided. */\n theme?: Types.Theme;\n /** Child components */\n children: ReactNode;\n}\n\n/**\n * Provider component that sets up the A2UI context for descendant components.\n *\n * This provider uses a two-context architecture for performance:\n * - A2UIActionsContext: Stable actions that never change (no re-renders)\n * - A2UIStateContext: Reactive state that triggers re-renders when needed\n *\n * @example\n * ```tsx\n * function App() {\n * const handleAction = async (message) => {\n * const response = await fetch('/api/a2ui', {\n * method: 'POST',\n * body: JSON.stringify(message)\n * });\n * const newMessages = await response.json();\n * };\n *\n * return (\n * <A2UIProvider onAction={handleAction}>\n * <A2UIRenderer surfaceId=\"main\" />\n * </A2UIProvider>\n * );\n * }\n * ```\n */\nexport function A2UIProvider({ onAction, theme, children }: A2UIProviderProps) {\n // Create message processor only once using ref\n const processorRef = useRef<Types.MessageProcessor | null>(null);\n if (!processorRef.current) {\n processorRef.current = Data.createSignalA2uiMessageProcessor();\n }\n const processor = processorRef.current;\n\n // Version counter for triggering re-renders\n const [version, setVersion] = useState(0);\n\n // Store onAction in a ref so callbacks always have the latest value\n const onActionRef = useRef<OnActionCallback | null>(onAction ?? null);\n onActionRef.current = onAction ?? null;\n\n // Create stable actions object once - stored in ref, never changes\n const actionsRef = useRef<A2UIActions | null>(null);\n if (!actionsRef.current) {\n actionsRef.current = {\n processMessages: (messages: Types.ServerToClientMessage[]) => {\n processor.processMessages(messages);\n setVersion((v) => v + 1);\n },\n\n setData: (\n node: Types.AnyComponentNode | null,\n path: string,\n value: Types.DataValue,\n surfaceId: string,\n ) => {\n processor.setData(node, path, value, surfaceId);\n setVersion((v) => v + 1);\n },\n\n dispatch: (message: Types.A2UIClientEventMessage) => {\n if (onActionRef.current) {\n onActionRef.current(message);\n }\n },\n\n clearSurfaces: () => {\n processor.clearSurfaces();\n setVersion((v) => v + 1);\n },\n\n getSurface: (surfaceId: string) => {\n return processor.getSurfaces().get(surfaceId);\n },\n\n getSurfaces: () => {\n return processor.getSurfaces();\n },\n\n getData: (\n node: Types.AnyComponentNode,\n path: string,\n surfaceId: string,\n ) => {\n return processor.getData(node, path, surfaceId);\n },\n\n resolvePath: (path: string, dataContextPath?: string) => {\n return processor.resolvePath(path, dataContextPath);\n },\n };\n }\n const actions = actionsRef.current;\n\n // State context value - only changes when version changes\n const stateValue = useMemo(() => ({ version }), [version]);\n\n return (\n <A2UIActionsContext.Provider value={actions}>\n <A2UIStateContext.Provider value={stateValue}>\n <ThemeProvider theme={theme}>{children}</ThemeProvider>\n </A2UIStateContext.Provider>\n </A2UIActionsContext.Provider>\n );\n}\n\n/**\n * Hook to access stable A2UI actions (won't cause re-renders).\n * Use this when you only need to dispatch actions or read data.\n *\n * @returns Stable actions object\n * @throws If used outside of an A2UIProvider\n */\nexport function useA2UIActions(): A2UIActions {\n const actions = useContext(A2UIActionsContext);\n if (!actions) {\n throw new Error(\"useA2UIActions must be used within an A2UIProvider\");\n }\n return actions;\n}\n\n/**\n * Hook to subscribe to A2UI state changes.\n * Components using this will re-render when state changes.\n *\n * @returns Current version number\n * @throws If used outside of an A2UIProvider\n */\nexport function useA2UIState(): { version: number } {\n const state = useContext(A2UIStateContext);\n if (!state) {\n throw new Error(\"useA2UIState must be used within an A2UIProvider\");\n }\n return state;\n}\n\n/**\n * Hook to access the full A2UI context (actions + state).\n * Components using this will re-render when state changes.\n *\n * @returns The A2UI context value\n * @throws If used outside of an A2UIProvider\n */\nexport function useA2UIContext(): A2UIContextValue {\n const actions = useA2UIActions();\n const state = useA2UIState();\n\n // Memoize combined value - only changes when state changes\n // Actions are stable, so this only re-creates when version changes\n return useMemo(\n () => ({\n ...actions,\n processor: null as unknown as Types.MessageProcessor, // Not exposed directly\n version: state.version,\n onAction: null, // Use dispatch instead\n }),\n [actions, state.version],\n );\n}\n\n/**\n * @deprecated Use useA2UIContext instead. This alias exists for backward compatibility only.\n */\nexport const useA2UIStore = useA2UIContext;\n\n/**\n * @deprecated This selector pattern does not provide performance benefits with React Context.\n * Components will re-render on any context change regardless of what you select.\n * Use useA2UIContext() or useA2UI() directly instead.\n *\n * @param selector - Function to select a slice of state\n * @returns The selected state\n */\nexport function useA2UIStoreSelector<T>(\n selector: (state: A2UIContextValue) => T,\n): T {\n const context = useA2UIContext();\n return selector(context);\n}\n"],"mappings":";;;;;;;;;;;AAiBA,MAAM,8CAAuD,KAAK;;;;;AAMlE,MAAM,4CAA6D,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCxE,SAAgB,aAAa,EAAE,UAAU,OAAO,YAA+B;CAE7E,MAAM,iCAAqD,KAAK;AAChE,KAAI,CAAC,aAAa,QAChB,cAAa,UAAUA,mBAAK,kCAAkC;CAEhE,MAAM,YAAY,aAAa;CAG/B,MAAM,CAAC,SAAS,kCAAuB,EAAE;CAGzC,MAAM,gCAA8C,YAAY,KAAK;AACrE,aAAY,UAAU,YAAY;CAGlC,MAAM,+BAAwC,KAAK;AACnD,KAAI,CAAC,WAAW,QACd,YAAW,UAAU;EACnB,kBAAkB,aAA4C;AAC5D,aAAU,gBAAgB,SAAS;AACnC,eAAY,MAAM,IAAI,EAAE;;EAG1B,UACE,MACA,MACA,OACA,cACG;AACH,aAAU,QAAQ,MAAM,MAAM,OAAO,UAAU;AAC/C,eAAY,MAAM,IAAI,EAAE;;EAG1B,WAAW,YAA0C;AACnD,OAAI,YAAY,QACd,aAAY,QAAQ,QAAQ;;EAIhC,qBAAqB;AACnB,aAAU,eAAe;AACzB,eAAY,MAAM,IAAI,EAAE;;EAG1B,aAAa,cAAsB;AACjC,UAAO,UAAU,aAAa,CAAC,IAAI,UAAU;;EAG/C,mBAAmB;AACjB,UAAO,UAAU,aAAa;;EAGhC,UACE,MACA,MACA,cACG;AACH,UAAO,UAAU,QAAQ,MAAM,MAAM,UAAU;;EAGjD,cAAc,MAAc,oBAA6B;AACvD,UAAO,UAAU,YAAY,MAAM,gBAAgB;;EAEtD;CAEH,MAAM,UAAU,WAAW;CAG3B,MAAM,uCAA4B,EAAE,SAAS,GAAG,CAAC,QAAQ,CAAC;AAE1D,QACE,2CAAC,mBAAmB;EAAS,OAAO;YAClC,2CAAC,iBAAiB;GAAS,OAAO;aAChC,2CAACC;IAAqB;IAAQ;KAAyB;IAC7B;GACA;;;;;;;;;AAWlC,SAAgB,iBAA8B;CAC5C,MAAM,gCAAqB,mBAAmB;AAC9C,KAAI,CAAC,QACH,OAAM,IAAI,MAAM,qDAAqD;AAEvE,QAAO;;;;;;;;;AAUT,SAAgB,eAAoC;CAClD,MAAM,8BAAmB,iBAAiB;AAC1C,KAAI,CAAC,MACH,OAAM,IAAI,MAAM,mDAAmD;AAErE,QAAO;;;;;;;;;AAUT,SAAgB,iBAAmC;CACjD,MAAM,UAAU,gBAAgB;CAChC,MAAM,QAAQ,cAAc;AAI5B,kCACS;EACL,GAAG;EACH,WAAW;EACX,SAAS,MAAM;EACf,UAAU;EACX,GACD,CAAC,SAAS,MAAM,QAAQ,CACzB;;;;;AAMH,MAAa,eAAe;;;;;;;;;AAU5B,SAAgB,qBACd,UACG;AAEH,QAAO,SADS,gBAAgB,CACR"}
1
+ {"version":3,"file":"A2UIProvider.cjs","names":["MessageProcessor","basicCatalog","ThemeProvider"],"sources":["../../../src/react-renderer/core/A2UIProvider.tsx"],"sourcesContent":["import {\n createContext,\n useContext,\n useRef,\n useState,\n useMemo,\n type ReactNode,\n} from \"react\";\nimport { MessageProcessor } from \"@a2ui/web_core/v0_9\";\nimport { basicCatalog } from \"../a2ui-react\";\nimport type { A2UIContextValue, A2UIActions } from \"./store\";\nimport { ThemeProvider } from \"../theme/ThemeContext\";\nimport type { OnActionCallback } from \"../types\";\nimport type { A2UIClientEventMessage, Theme } from \"../../a2ui-types\";\n\n/**\n * Context for stable actions (never changes reference, prevents re-renders).\n */\nconst A2UIActionsContext = createContext<A2UIActions | null>(null);\n\n/**\n * Context for reactive state (changes trigger re-renders).\n */\nconst A2UIStateContext = createContext<{\n version: number;\n error: string | null;\n} | null>(null);\n\n/**\n * Props for the A2UIProvider component.\n */\nexport interface A2UIProviderProps {\n /** Callback invoked when a user action is dispatched (button click, etc.) */\n onAction?: OnActionCallback;\n /** Theme configuration */\n theme?: Theme;\n /** Optional component catalog to use instead of the default basicCatalog */\n catalog?: any;\n /** Child components */\n children: ReactNode;\n}\n\n/**\n * Provider component that sets up the A2UI v0.9 context for descendant components.\n * Uses a two-context architecture for performance:\n * - A2UIActionsContext: Stable actions that never change (no re-renders)\n * - A2UIStateContext: Reactive state that triggers re-renders when needed\n */\nexport function A2UIProvider({\n onAction,\n theme,\n catalog,\n children,\n}: A2UIProviderProps) {\n // Store onAction in a ref so callbacks always have the latest value\n const onActionRef = useRef<OnActionCallback | null>(onAction ?? null);\n onActionRef.current = onAction ?? null;\n\n // Create v0.9 MessageProcessor only once using ref\n const processorRef = useRef<MessageProcessor<any> | null>(null);\n if (!processorRef.current) {\n processorRef.current = new MessageProcessor(\n [catalog ?? basicCatalog],\n // Action handler: convert v0.9 Action to A2UIClientEventMessage format\n (action: any) => {\n if (onActionRef.current) {\n const message: A2UIClientEventMessage = {\n userAction: {\n name: action?.name ?? \"unknown\",\n surfaceId: action?.surfaceId ?? \"default\",\n sourceComponentId: action?.sourceComponentId,\n context: action?.context,\n timestamp: action?.timestamp ?? new Date().toISOString(),\n },\n };\n onActionRef.current(message);\n }\n },\n );\n }\n const processor = processorRef.current;\n\n // Version counter for triggering re-renders\n const [version, setVersion] = useState(0);\n\n // Error state for graceful error handling\n const [error, setError] = useState<string | null>(null);\n\n // Create stable actions object once - stored in ref, never changes\n const actionsRef = useRef<A2UIActions | null>(null);\n if (!actionsRef.current) {\n actionsRef.current = {\n processMessages: (messages: Array<Record<string, unknown>>) => {\n try {\n processor.processMessages(messages as any[]);\n } catch (err) {\n console.warn(\"[A2UI] processMessages error:\", err);\n setError(err instanceof Error ? err.message : String(err));\n return;\n }\n setError(null);\n setVersion((v) => v + 1);\n },\n\n dispatch: (message: any) => {\n if (onActionRef.current) {\n onActionRef.current(message);\n }\n },\n\n getSurface: (surfaceId: string) => {\n return processor.model.getSurface(surfaceId);\n },\n\n clearSurfaces: () => {\n // Process a deleteSurface for all known surfaces\n const surfaces = processor.model.surfacesMap;\n for (const [id] of surfaces) {\n processor.processMessages([\n { version: \"v0.9\", deleteSurface: { surfaceId: id } } as any,\n ]);\n }\n setVersion((v) => v + 1);\n },\n };\n }\n const actions = actionsRef.current;\n\n // State context value - changes when version or error changes\n const stateValue = useMemo(() => ({ version, error }), [version, error]);\n\n return (\n <A2UIActionsContext.Provider value={actions}>\n <A2UIStateContext.Provider value={stateValue}>\n <ThemeProvider theme={theme}>{children}</ThemeProvider>\n </A2UIStateContext.Provider>\n </A2UIActionsContext.Provider>\n );\n}\n\n/**\n * Hook to access stable A2UI actions (won't cause re-renders).\n */\nexport function useA2UIActions(): A2UIActions {\n const actions = useContext(A2UIActionsContext);\n if (!actions) {\n throw new Error(\"useA2UIActions must be used within an A2UIProvider\");\n }\n return actions;\n}\n\n/**\n * Hook to subscribe to A2UI state changes.\n */\nexport function useA2UIState(): { version: number } {\n const state = useContext(A2UIStateContext);\n if (!state) {\n throw new Error(\"useA2UIState must be used within an A2UIProvider\");\n }\n return state;\n}\n\n/**\n * Hook to access the full A2UI context (actions + state).\n */\nexport function useA2UIContext(): A2UIContextValue {\n const actions = useA2UIActions();\n const state = useA2UIState();\n\n return useMemo(\n () => ({\n ...actions,\n version: state.version,\n onAction: null,\n }),\n [actions, state.version],\n );\n}\n\n/** @deprecated Use useA2UIContext instead. */\nexport const useA2UIStore = useA2UIContext;\n\n/**\n * Hook to access the current A2UI error state.\n */\nexport function useA2UIError(): string | null {\n const state = useContext(A2UIStateContext);\n return state?.error ?? null;\n}\n\n/** @deprecated Use useA2UIContext() or useA2UI() directly instead. */\nexport function useA2UIStoreSelector<T>(\n selector: (state: A2UIContextValue) => T,\n): T {\n const context = useA2UIContext();\n return selector(context);\n}\n"],"mappings":";;;;;;;;;;;;AAkBA,MAAM,8CAAuD,KAAK;;;;AAKlE,MAAM,4CAGI,KAAK;;;;;;;AAsBf,SAAgB,aAAa,EAC3B,UACA,OACA,SACA,YACoB;CAEpB,MAAM,gCAA8C,YAAY,KAAK;AACrE,aAAY,UAAU,YAAY;CAGlC,MAAM,iCAAoD,KAAK;AAC/D,KAAI,CAAC,aAAa,QAChB,cAAa,UAAU,IAAIA,qCACzB,CAAC,WAAWC,2BAAa,GAExB,WAAgB;AACf,MAAI,YAAY,SAAS;GACvB,MAAM,UAAkC,EACtC,YAAY;IACV,MAAM,QAAQ,QAAQ;IACtB,WAAW,QAAQ,aAAa;IAChC,mBAAmB,QAAQ;IAC3B,SAAS,QAAQ;IACjB,WAAW,QAAQ,8BAAa,IAAI,MAAM,EAAC,aAAa;IACzD,EACF;AACD,eAAY,QAAQ,QAAQ;;GAGjC;CAEH,MAAM,YAAY,aAAa;CAG/B,MAAM,CAAC,SAAS,kCAAuB,EAAE;CAGzC,MAAM,CAAC,OAAO,gCAAoC,KAAK;CAGvD,MAAM,+BAAwC,KAAK;AACnD,KAAI,CAAC,WAAW,QACd,YAAW,UAAU;EACnB,kBAAkB,aAA6C;AAC7D,OAAI;AACF,cAAU,gBAAgB,SAAkB;YACrC,KAAK;AACZ,YAAQ,KAAK,iCAAiC,IAAI;AAClD,aAAS,eAAe,QAAQ,IAAI,UAAU,OAAO,IAAI,CAAC;AAC1D;;AAEF,YAAS,KAAK;AACd,eAAY,MAAM,IAAI,EAAE;;EAG1B,WAAW,YAAiB;AAC1B,OAAI,YAAY,QACd,aAAY,QAAQ,QAAQ;;EAIhC,aAAa,cAAsB;AACjC,UAAO,UAAU,MAAM,WAAW,UAAU;;EAG9C,qBAAqB;GAEnB,MAAM,WAAW,UAAU,MAAM;AACjC,QAAK,MAAM,CAAC,OAAO,SACjB,WAAU,gBAAgB,CACxB;IAAE,SAAS;IAAQ,eAAe,EAAE,WAAW,IAAI;IAAE,CACtD,CAAC;AAEJ,eAAY,MAAM,IAAI,EAAE;;EAE3B;CAEH,MAAM,UAAU,WAAW;CAG3B,MAAM,uCAA4B;EAAE;EAAS;EAAO,GAAG,CAAC,SAAS,MAAM,CAAC;AAExE,QACE,2CAAC,mBAAmB;EAAS,OAAO;YAClC,2CAAC,iBAAiB;GAAS,OAAO;aAChC,2CAACC;IAAqB;IAAQ;KAAyB;IAC7B;GACA;;;;;AAOlC,SAAgB,iBAA8B;CAC5C,MAAM,gCAAqB,mBAAmB;AAC9C,KAAI,CAAC,QACH,OAAM,IAAI,MAAM,qDAAqD;AAEvE,QAAO;;;;;AAMT,SAAgB,eAAoC;CAClD,MAAM,8BAAmB,iBAAiB;AAC1C,KAAI,CAAC,MACH,OAAM,IAAI,MAAM,mDAAmD;AAErE,QAAO;;;;;AAMT,SAAgB,iBAAmC;CACjD,MAAM,UAAU,gBAAgB;CAChC,MAAM,QAAQ,cAAc;AAE5B,kCACS;EACL,GAAG;EACH,SAAS,MAAM;EACf,UAAU;EACX,GACD,CAAC,SAAS,MAAM,QAAQ,CACzB;;;AAIH,MAAa,eAAe;;;;AAK5B,SAAgB,eAA8B;AAE5C,8BADyB,iBAAiB,EAC5B,SAAS;;;AAIzB,SAAgB,qBACd,UACG;AAEH,QAAO,SADS,gBAAgB,CACR"}