@frontmcp/ui 0.5.0 → 0.6.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 (1134) hide show
  1. package/adapters/index.d.ts +13 -0
  2. package/adapters/index.d.ts.map +1 -0
  3. package/adapters/index.js +462 -0
  4. package/adapters/platform-meta.d.ts +166 -0
  5. package/adapters/platform-meta.d.ts.map +1 -0
  6. package/adapters/response-builder.d.ts +108 -0
  7. package/adapters/response-builder.d.ts.map +1 -0
  8. package/adapters/serving-mode.d.ts +107 -0
  9. package/adapters/serving-mode.d.ts.map +1 -0
  10. package/base-template/bridge.d.ts +90 -0
  11. package/base-template/bridge.d.ts.map +1 -0
  12. package/base-template/default-base-template.d.ts +92 -0
  13. package/base-template/default-base-template.d.ts.map +1 -0
  14. package/base-template/index.d.ts +15 -0
  15. package/base-template/index.d.ts.map +1 -0
  16. package/base-template/index.js +1398 -0
  17. package/base-template/polyfills.d.ts +31 -0
  18. package/base-template/polyfills.d.ts.map +1 -0
  19. package/base-template/theme-styles.d.ts +74 -0
  20. package/base-template/theme-styles.d.ts.map +1 -0
  21. package/bridge/adapters/base-adapter.d.ts +104 -0
  22. package/bridge/adapters/base-adapter.d.ts.map +1 -0
  23. package/bridge/adapters/claude.adapter.d.ts +67 -0
  24. package/bridge/adapters/claude.adapter.d.ts.map +1 -0
  25. package/bridge/adapters/ext-apps.adapter.d.ts +143 -0
  26. package/bridge/adapters/ext-apps.adapter.d.ts.map +1 -0
  27. package/bridge/adapters/gemini.adapter.d.ts +64 -0
  28. package/bridge/adapters/gemini.adapter.d.ts.map +1 -0
  29. package/bridge/adapters/generic.adapter.d.ts +56 -0
  30. package/bridge/adapters/generic.adapter.d.ts.map +1 -0
  31. package/bridge/adapters/index.d.ts +26 -0
  32. package/bridge/adapters/index.d.ts.map +1 -0
  33. package/bridge/adapters/openai.adapter.d.ts +65 -0
  34. package/bridge/adapters/openai.adapter.d.ts.map +1 -0
  35. package/bridge/core/adapter-registry.d.ts +122 -0
  36. package/bridge/core/adapter-registry.d.ts.map +1 -0
  37. package/bridge/core/bridge-factory.d.ts +199 -0
  38. package/bridge/core/bridge-factory.d.ts.map +1 -0
  39. package/bridge/core/index.d.ts +10 -0
  40. package/bridge/core/index.d.ts.map +1 -0
  41. package/bridge/index.d.ts +62 -0
  42. package/bridge/index.d.ts.map +1 -0
  43. package/bridge/index.js +2540 -0
  44. package/bridge/runtime/iife-generator.d.ts +62 -0
  45. package/bridge/runtime/iife-generator.d.ts.map +1 -0
  46. package/bridge/runtime/index.d.ts +9 -0
  47. package/bridge/runtime/index.d.ts.map +1 -0
  48. package/bridge/types.d.ts +386 -0
  49. package/bridge/types.d.ts.map +1 -0
  50. package/build/cdn-resources.d.ts +243 -0
  51. package/build/cdn-resources.d.ts.map +1 -0
  52. package/build/index.d.ts +295 -0
  53. package/build/index.d.ts.map +1 -0
  54. package/build/index.js +7096 -0
  55. package/build/widget-manifest.d.ts +362 -0
  56. package/build/widget-manifest.d.ts.map +1 -0
  57. package/bundler/bundler.d.ts +208 -0
  58. package/bundler/bundler.d.ts.map +1 -0
  59. package/bundler/cache.d.ts +173 -0
  60. package/bundler/cache.d.ts.map +1 -0
  61. package/bundler/file-cache/component-builder.d.ts +167 -0
  62. package/bundler/file-cache/component-builder.d.ts.map +1 -0
  63. package/bundler/file-cache/hash-calculator.d.ts +155 -0
  64. package/bundler/file-cache/hash-calculator.d.ts.map +1 -0
  65. package/bundler/file-cache/index.d.ts +12 -0
  66. package/bundler/file-cache/index.d.ts.map +1 -0
  67. package/bundler/file-cache/storage/filesystem.d.ts +149 -0
  68. package/bundler/file-cache/storage/filesystem.d.ts.map +1 -0
  69. package/bundler/file-cache/storage/index.d.ts +11 -0
  70. package/bundler/file-cache/storage/index.d.ts.map +1 -0
  71. package/bundler/file-cache/storage/interface.d.ts +152 -0
  72. package/bundler/file-cache/storage/interface.d.ts.map +1 -0
  73. package/bundler/file-cache/storage/redis.d.ts +139 -0
  74. package/bundler/file-cache/storage/redis.d.ts.map +1 -0
  75. package/bundler/index.d.ts +43 -0
  76. package/bundler/index.d.ts.map +1 -0
  77. package/bundler/index.js +4754 -0
  78. package/bundler/sandbox/enclave-adapter.d.ts +121 -0
  79. package/bundler/sandbox/enclave-adapter.d.ts.map +1 -0
  80. package/bundler/sandbox/executor.d.ts +14 -0
  81. package/bundler/sandbox/executor.d.ts.map +1 -0
  82. package/bundler/sandbox/policy.d.ts +62 -0
  83. package/bundler/sandbox/policy.d.ts.map +1 -0
  84. package/bundler/types.d.ts +702 -0
  85. package/bundler/types.d.ts.map +1 -0
  86. package/components/alert.d.ts +66 -0
  87. package/components/alert.d.ts.map +1 -0
  88. package/components/alert.schema.d.ts +98 -0
  89. package/components/alert.schema.d.ts.map +1 -0
  90. package/components/avatar.d.ts +77 -0
  91. package/components/avatar.d.ts.map +1 -0
  92. package/components/avatar.schema.d.ts +170 -0
  93. package/components/avatar.schema.d.ts.map +1 -0
  94. package/components/badge.d.ts +64 -0
  95. package/components/badge.d.ts.map +1 -0
  96. package/components/badge.schema.d.ts +91 -0
  97. package/components/badge.schema.d.ts.map +1 -0
  98. package/components/button.d.ts +100 -0
  99. package/components/button.d.ts.map +1 -0
  100. package/components/button.schema.d.ts +120 -0
  101. package/components/button.schema.d.ts.map +1 -0
  102. package/components/card.d.ts +53 -0
  103. package/components/card.d.ts.map +1 -0
  104. package/components/card.schema.d.ts +93 -0
  105. package/components/card.schema.d.ts.map +1 -0
  106. package/components/form.d.ts +212 -0
  107. package/components/form.d.ts.map +1 -0
  108. package/components/form.schema.d.ts +365 -0
  109. package/components/form.schema.d.ts.map +1 -0
  110. package/components/index.d.ts +29 -0
  111. package/components/index.d.ts.map +1 -0
  112. package/components/index.js +2595 -0
  113. package/components/list.d.ts +121 -0
  114. package/components/list.d.ts.map +1 -0
  115. package/components/list.schema.d.ts +129 -0
  116. package/components/list.schema.d.ts.map +1 -0
  117. package/components/modal.d.ts +100 -0
  118. package/components/modal.d.ts.map +1 -0
  119. package/components/modal.schema.d.ts +151 -0
  120. package/components/modal.schema.d.ts.map +1 -0
  121. package/components/table.d.ts +91 -0
  122. package/components/table.d.ts.map +1 -0
  123. package/components/table.schema.d.ts +123 -0
  124. package/components/table.schema.d.ts.map +1 -0
  125. package/dependency/cdn-registry.d.ts +98 -0
  126. package/dependency/cdn-registry.d.ts.map +1 -0
  127. package/dependency/import-map.d.ts +186 -0
  128. package/dependency/import-map.d.ts.map +1 -0
  129. package/dependency/import-parser.d.ts +82 -0
  130. package/dependency/import-parser.d.ts.map +1 -0
  131. package/dependency/index.d.ts +17 -0
  132. package/dependency/index.d.ts.map +1 -0
  133. package/dependency/resolver.d.ts +164 -0
  134. package/dependency/resolver.d.ts.map +1 -0
  135. package/dependency/schemas.d.ts +486 -0
  136. package/dependency/schemas.d.ts.map +1 -0
  137. package/dependency/template-loader.d.ts +204 -0
  138. package/dependency/template-loader.d.ts.map +1 -0
  139. package/dependency/template-processor.d.ts +118 -0
  140. package/dependency/template-processor.d.ts.map +1 -0
  141. package/dependency/types.d.ts +739 -0
  142. package/dependency/types.d.ts.map +1 -0
  143. package/esm/adapters/index.d.ts +13 -0
  144. package/esm/adapters/index.d.ts.map +1 -0
  145. package/esm/adapters/index.js +427 -0
  146. package/esm/adapters/platform-meta.d.ts +166 -0
  147. package/esm/adapters/platform-meta.d.ts.map +1 -0
  148. package/esm/adapters/response-builder.d.ts +108 -0
  149. package/esm/adapters/response-builder.d.ts.map +1 -0
  150. package/esm/adapters/serving-mode.d.ts +107 -0
  151. package/esm/adapters/serving-mode.d.ts.map +1 -0
  152. package/esm/base-template/bridge.d.ts +90 -0
  153. package/esm/base-template/bridge.d.ts.map +1 -0
  154. package/esm/base-template/default-base-template.d.ts +92 -0
  155. package/esm/base-template/default-base-template.d.ts.map +1 -0
  156. package/esm/base-template/index.d.ts +15 -0
  157. package/esm/base-template/index.d.ts.map +1 -0
  158. package/esm/base-template/index.js +1364 -0
  159. package/esm/base-template/polyfills.d.ts +31 -0
  160. package/esm/base-template/polyfills.d.ts.map +1 -0
  161. package/esm/base-template/theme-styles.d.ts +74 -0
  162. package/esm/base-template/theme-styles.d.ts.map +1 -0
  163. package/esm/bridge/adapters/base-adapter.d.ts +104 -0
  164. package/esm/bridge/adapters/base-adapter.d.ts.map +1 -0
  165. package/esm/bridge/adapters/claude.adapter.d.ts +67 -0
  166. package/esm/bridge/adapters/claude.adapter.d.ts.map +1 -0
  167. package/esm/bridge/adapters/ext-apps.adapter.d.ts +143 -0
  168. package/esm/bridge/adapters/ext-apps.adapter.d.ts.map +1 -0
  169. package/esm/bridge/adapters/gemini.adapter.d.ts +64 -0
  170. package/esm/bridge/adapters/gemini.adapter.d.ts.map +1 -0
  171. package/esm/bridge/adapters/generic.adapter.d.ts +56 -0
  172. package/esm/bridge/adapters/generic.adapter.d.ts.map +1 -0
  173. package/esm/bridge/adapters/index.d.ts +26 -0
  174. package/esm/bridge/adapters/index.d.ts.map +1 -0
  175. package/esm/bridge/adapters/openai.adapter.d.ts +65 -0
  176. package/esm/bridge/adapters/openai.adapter.d.ts.map +1 -0
  177. package/esm/bridge/core/adapter-registry.d.ts +122 -0
  178. package/esm/bridge/core/adapter-registry.d.ts.map +1 -0
  179. package/esm/bridge/core/bridge-factory.d.ts +199 -0
  180. package/esm/bridge/core/bridge-factory.d.ts.map +1 -0
  181. package/esm/bridge/core/index.d.ts +10 -0
  182. package/esm/bridge/core/index.d.ts.map +1 -0
  183. package/esm/bridge/index.d.ts +62 -0
  184. package/esm/bridge/index.d.ts.map +1 -0
  185. package/esm/bridge/index.js +2487 -0
  186. package/esm/bridge/runtime/iife-generator.d.ts +62 -0
  187. package/esm/bridge/runtime/iife-generator.d.ts.map +1 -0
  188. package/esm/bridge/runtime/index.d.ts +9 -0
  189. package/esm/bridge/runtime/index.d.ts.map +1 -0
  190. package/esm/bridge/types.d.ts +386 -0
  191. package/esm/bridge/types.d.ts.map +1 -0
  192. package/esm/build/cdn-resources.d.ts +243 -0
  193. package/esm/build/cdn-resources.d.ts.map +1 -0
  194. package/esm/build/index.d.ts +295 -0
  195. package/esm/build/index.d.ts.map +1 -0
  196. package/esm/build/index.js +7021 -0
  197. package/esm/build/widget-manifest.d.ts +362 -0
  198. package/esm/build/widget-manifest.d.ts.map +1 -0
  199. package/esm/bundler/bundler.d.ts +208 -0
  200. package/esm/bundler/bundler.d.ts.map +1 -0
  201. package/esm/bundler/cache.d.ts +173 -0
  202. package/esm/bundler/cache.d.ts.map +1 -0
  203. package/esm/bundler/file-cache/component-builder.d.ts +167 -0
  204. package/esm/bundler/file-cache/component-builder.d.ts.map +1 -0
  205. package/esm/bundler/file-cache/hash-calculator.d.ts +155 -0
  206. package/esm/bundler/file-cache/hash-calculator.d.ts.map +1 -0
  207. package/esm/bundler/file-cache/index.d.ts +12 -0
  208. package/esm/bundler/file-cache/index.d.ts.map +1 -0
  209. package/esm/bundler/file-cache/storage/filesystem.d.ts +149 -0
  210. package/esm/bundler/file-cache/storage/filesystem.d.ts.map +1 -0
  211. package/esm/bundler/file-cache/storage/index.d.ts +11 -0
  212. package/esm/bundler/file-cache/storage/index.d.ts.map +1 -0
  213. package/esm/bundler/file-cache/storage/interface.d.ts +152 -0
  214. package/esm/bundler/file-cache/storage/interface.d.ts.map +1 -0
  215. package/esm/bundler/file-cache/storage/redis.d.ts +139 -0
  216. package/esm/bundler/file-cache/storage/redis.d.ts.map +1 -0
  217. package/esm/bundler/index.d.ts +43 -0
  218. package/esm/bundler/index.d.ts.map +1 -0
  219. package/esm/bundler/index.js +4687 -0
  220. package/esm/bundler/sandbox/enclave-adapter.d.ts +121 -0
  221. package/esm/bundler/sandbox/enclave-adapter.d.ts.map +1 -0
  222. package/esm/bundler/sandbox/executor.d.ts +14 -0
  223. package/esm/bundler/sandbox/executor.d.ts.map +1 -0
  224. package/esm/bundler/sandbox/policy.d.ts +62 -0
  225. package/esm/bundler/sandbox/policy.d.ts.map +1 -0
  226. package/esm/bundler/types.d.ts +702 -0
  227. package/esm/bundler/types.d.ts.map +1 -0
  228. package/esm/components/alert.d.ts +66 -0
  229. package/esm/components/alert.d.ts.map +1 -0
  230. package/esm/components/alert.schema.d.ts +98 -0
  231. package/esm/components/alert.schema.d.ts.map +1 -0
  232. package/esm/components/avatar.d.ts +77 -0
  233. package/esm/components/avatar.d.ts.map +1 -0
  234. package/esm/components/avatar.schema.d.ts +170 -0
  235. package/esm/components/avatar.schema.d.ts.map +1 -0
  236. package/esm/components/badge.d.ts +64 -0
  237. package/esm/components/badge.d.ts.map +1 -0
  238. package/esm/components/badge.schema.d.ts +91 -0
  239. package/esm/components/badge.schema.d.ts.map +1 -0
  240. package/esm/components/button.d.ts +100 -0
  241. package/esm/components/button.d.ts.map +1 -0
  242. package/esm/components/button.schema.d.ts +120 -0
  243. package/esm/components/button.schema.d.ts.map +1 -0
  244. package/esm/components/card.d.ts +53 -0
  245. package/esm/components/card.d.ts.map +1 -0
  246. package/esm/components/card.schema.d.ts +93 -0
  247. package/esm/components/card.schema.d.ts.map +1 -0
  248. package/esm/components/form.d.ts +212 -0
  249. package/esm/components/form.d.ts.map +1 -0
  250. package/esm/components/form.schema.d.ts +365 -0
  251. package/esm/components/form.schema.d.ts.map +1 -0
  252. package/esm/components/index.d.ts +29 -0
  253. package/esm/components/index.d.ts.map +1 -0
  254. package/esm/components/index.js +2456 -0
  255. package/esm/components/list.d.ts +121 -0
  256. package/esm/components/list.d.ts.map +1 -0
  257. package/esm/components/list.schema.d.ts +129 -0
  258. package/esm/components/list.schema.d.ts.map +1 -0
  259. package/esm/components/modal.d.ts +100 -0
  260. package/esm/components/modal.d.ts.map +1 -0
  261. package/esm/components/modal.schema.d.ts +151 -0
  262. package/esm/components/modal.schema.d.ts.map +1 -0
  263. package/esm/components/table.d.ts +91 -0
  264. package/esm/components/table.d.ts.map +1 -0
  265. package/esm/components/table.schema.d.ts +123 -0
  266. package/esm/components/table.schema.d.ts.map +1 -0
  267. package/esm/dependency/cdn-registry.d.ts +98 -0
  268. package/esm/dependency/cdn-registry.d.ts.map +1 -0
  269. package/esm/dependency/import-map.d.ts +186 -0
  270. package/esm/dependency/import-map.d.ts.map +1 -0
  271. package/esm/dependency/import-parser.d.ts +82 -0
  272. package/esm/dependency/import-parser.d.ts.map +1 -0
  273. package/esm/dependency/index.d.ts +17 -0
  274. package/esm/dependency/index.d.ts.map +1 -0
  275. package/esm/dependency/resolver.d.ts +164 -0
  276. package/esm/dependency/resolver.d.ts.map +1 -0
  277. package/esm/dependency/schemas.d.ts +486 -0
  278. package/esm/dependency/schemas.d.ts.map +1 -0
  279. package/esm/dependency/template-loader.d.ts +204 -0
  280. package/esm/dependency/template-loader.d.ts.map +1 -0
  281. package/esm/dependency/template-processor.d.ts +118 -0
  282. package/esm/dependency/template-processor.d.ts.map +1 -0
  283. package/esm/dependency/types.d.ts +739 -0
  284. package/esm/dependency/types.d.ts.map +1 -0
  285. package/esm/handlebars/expression-extractor.d.ts +147 -0
  286. package/esm/handlebars/expression-extractor.d.ts.map +1 -0
  287. package/esm/handlebars/helpers.d.ts +339 -0
  288. package/esm/handlebars/helpers.d.ts.map +1 -0
  289. package/esm/handlebars/index.d.ts +195 -0
  290. package/esm/handlebars/index.d.ts.map +1 -0
  291. package/esm/handlebars/index.js +587 -0
  292. package/esm/index.d.ts +56 -0
  293. package/esm/index.d.ts.map +1 -0
  294. package/esm/index.js +20511 -0
  295. package/esm/layouts/base.d.ts +86 -0
  296. package/esm/layouts/base.d.ts.map +1 -0
  297. package/esm/layouts/index.d.ts +8 -0
  298. package/esm/layouts/index.d.ts.map +1 -0
  299. package/esm/layouts/index.js +892 -0
  300. package/esm/layouts/presets.d.ts +134 -0
  301. package/esm/layouts/presets.d.ts.map +1 -0
  302. package/esm/package.json +90 -0
  303. package/esm/pages/consent.d.ts +117 -0
  304. package/esm/pages/consent.d.ts.map +1 -0
  305. package/esm/pages/error.d.ts +101 -0
  306. package/esm/pages/error.d.ts.map +1 -0
  307. package/esm/pages/index.d.ts +9 -0
  308. package/esm/pages/index.d.ts.map +1 -0
  309. package/esm/pages/index.js +1563 -0
  310. package/esm/react/Alert.d.ts +102 -0
  311. package/esm/react/Alert.d.ts.map +1 -0
  312. package/esm/react/Badge.d.ts +101 -0
  313. package/esm/react/Badge.d.ts.map +1 -0
  314. package/esm/react/Button.d.ts +109 -0
  315. package/esm/react/Button.d.ts.map +1 -0
  316. package/esm/react/Card.d.ts +104 -0
  317. package/esm/react/Card.d.ts.map +1 -0
  318. package/esm/react/hooks/context.d.ts +179 -0
  319. package/esm/react/hooks/context.d.ts.map +1 -0
  320. package/esm/react/hooks/index.d.ts +42 -0
  321. package/esm/react/hooks/index.d.ts.map +1 -0
  322. package/esm/react/hooks/tools.d.ts +284 -0
  323. package/esm/react/hooks/tools.d.ts.map +1 -0
  324. package/esm/react/index.d.ts +81 -0
  325. package/esm/react/index.d.ts.map +1 -0
  326. package/esm/react/index.js +1372 -0
  327. package/esm/react/types.d.ts +106 -0
  328. package/esm/react/types.d.ts.map +1 -0
  329. package/esm/react/utils.d.ts +43 -0
  330. package/esm/react/utils.d.ts.map +1 -0
  331. package/esm/registry/index.d.ts +46 -0
  332. package/esm/registry/index.d.ts.map +1 -0
  333. package/esm/registry/index.js +6422 -0
  334. package/esm/registry/render-template.d.ts +91 -0
  335. package/esm/registry/render-template.d.ts.map +1 -0
  336. package/esm/registry/tool-ui.registry.d.ts +294 -0
  337. package/esm/registry/tool-ui.registry.d.ts.map +1 -0
  338. package/esm/registry/uri-utils.d.ts +56 -0
  339. package/esm/registry/uri-utils.d.ts.map +1 -0
  340. package/esm/render/index.d.ts +8 -0
  341. package/esm/render/index.d.ts.map +1 -0
  342. package/esm/render/index.js +45 -0
  343. package/esm/render/prerender.d.ts +57 -0
  344. package/esm/render/prerender.d.ts.map +1 -0
  345. package/esm/renderers/cache.d.ts +145 -0
  346. package/esm/renderers/cache.d.ts.map +1 -0
  347. package/esm/renderers/html.renderer.d.ts +123 -0
  348. package/esm/renderers/html.renderer.d.ts.map +1 -0
  349. package/esm/renderers/index.d.ts +36 -0
  350. package/esm/renderers/index.d.ts.map +1 -0
  351. package/esm/renderers/index.js +1827 -0
  352. package/esm/renderers/mdx.renderer.d.ts +120 -0
  353. package/esm/renderers/mdx.renderer.d.ts.map +1 -0
  354. package/esm/renderers/react.renderer.d.ts +96 -0
  355. package/esm/renderers/react.renderer.d.ts.map +1 -0
  356. package/esm/renderers/registry.d.ts +134 -0
  357. package/esm/renderers/registry.d.ts.map +1 -0
  358. package/esm/renderers/types.d.ts +342 -0
  359. package/esm/renderers/types.d.ts.map +1 -0
  360. package/esm/renderers/utils/detect.d.ts +107 -0
  361. package/esm/renderers/utils/detect.d.ts.map +1 -0
  362. package/esm/renderers/utils/hash.d.ts +40 -0
  363. package/esm/renderers/utils/hash.d.ts.map +1 -0
  364. package/esm/renderers/utils/index.d.ts +9 -0
  365. package/esm/renderers/utils/index.d.ts.map +1 -0
  366. package/esm/renderers/utils/transpiler.d.ts +89 -0
  367. package/esm/renderers/utils/transpiler.d.ts.map +1 -0
  368. package/esm/runtime/adapters/html.adapter.d.ts +59 -0
  369. package/esm/runtime/adapters/html.adapter.d.ts.map +1 -0
  370. package/esm/runtime/adapters/index.d.ts +26 -0
  371. package/esm/runtime/adapters/index.d.ts.map +1 -0
  372. package/esm/runtime/adapters/mdx.adapter.d.ts +73 -0
  373. package/esm/runtime/adapters/mdx.adapter.d.ts.map +1 -0
  374. package/esm/runtime/adapters/react.adapter.d.ts +70 -0
  375. package/esm/runtime/adapters/react.adapter.d.ts.map +1 -0
  376. package/esm/runtime/adapters/types.d.ts +95 -0
  377. package/esm/runtime/adapters/types.d.ts.map +1 -0
  378. package/esm/runtime/csp.d.ts +48 -0
  379. package/esm/runtime/csp.d.ts.map +1 -0
  380. package/esm/runtime/index.d.ts +17 -0
  381. package/esm/runtime/index.d.ts.map +1 -0
  382. package/esm/runtime/index.js +5186 -0
  383. package/esm/runtime/mcp-bridge.d.ts +101 -0
  384. package/esm/runtime/mcp-bridge.d.ts.map +1 -0
  385. package/esm/runtime/renderer-runtime.d.ts +133 -0
  386. package/esm/runtime/renderer-runtime.d.ts.map +1 -0
  387. package/esm/runtime/sanitizer.d.ts +172 -0
  388. package/esm/runtime/sanitizer.d.ts.map +1 -0
  389. package/esm/runtime/types.d.ts +415 -0
  390. package/esm/runtime/types.d.ts.map +1 -0
  391. package/esm/runtime/wrapper.d.ts +421 -0
  392. package/esm/runtime/wrapper.d.ts.map +1 -0
  393. package/esm/styles/index.d.ts +8 -0
  394. package/esm/styles/index.d.ts.map +1 -0
  395. package/esm/styles/index.js +171 -0
  396. package/esm/styles/variants.d.ts +51 -0
  397. package/esm/styles/variants.d.ts.map +1 -0
  398. package/esm/theme/cdn.d.ts +195 -0
  399. package/esm/theme/cdn.d.ts.map +1 -0
  400. package/esm/theme/index.d.ts +18 -0
  401. package/esm/theme/index.d.ts.map +1 -0
  402. package/esm/theme/index.js +700 -0
  403. package/esm/theme/platforms.d.ts +107 -0
  404. package/esm/theme/platforms.d.ts.map +1 -0
  405. package/esm/theme/presets/github-openai.d.ts +50 -0
  406. package/esm/theme/presets/github-openai.d.ts.map +1 -0
  407. package/esm/theme/presets/index.d.ts +11 -0
  408. package/esm/theme/presets/index.d.ts.map +1 -0
  409. package/esm/theme/theme.d.ts +396 -0
  410. package/esm/theme/theme.d.ts.map +1 -0
  411. package/esm/tool-template/builder.d.ts +213 -0
  412. package/esm/tool-template/builder.d.ts.map +1 -0
  413. package/esm/tool-template/index.d.ts +16 -0
  414. package/esm/tool-template/index.d.ts.map +1 -0
  415. package/esm/tool-template/index.js +3515 -0
  416. package/esm/types/index.d.ts +14 -0
  417. package/esm/types/index.d.ts.map +1 -0
  418. package/esm/types/index.js +75 -0
  419. package/esm/types/ui-config.d.ts +639 -0
  420. package/esm/types/ui-config.d.ts.map +1 -0
  421. package/esm/types/ui-runtime.d.ts +1007 -0
  422. package/esm/types/ui-runtime.d.ts.map +1 -0
  423. package/esm/typings/cache/cache-adapter.d.ts +125 -0
  424. package/esm/typings/cache/cache-adapter.d.ts.map +1 -0
  425. package/esm/typings/cache/index.d.ts +10 -0
  426. package/esm/typings/cache/index.d.ts.map +1 -0
  427. package/esm/typings/cache/memory-cache.d.ts +92 -0
  428. package/esm/typings/cache/memory-cache.d.ts.map +1 -0
  429. package/esm/typings/dts-parser.d.ts +90 -0
  430. package/esm/typings/dts-parser.d.ts.map +1 -0
  431. package/esm/typings/index.d.ts +48 -0
  432. package/esm/typings/index.d.ts.map +1 -0
  433. package/esm/typings/schemas.d.ts +232 -0
  434. package/esm/typings/schemas.d.ts.map +1 -0
  435. package/esm/typings/type-fetcher.d.ts +89 -0
  436. package/esm/typings/type-fetcher.d.ts.map +1 -0
  437. package/esm/typings/types.d.ts +320 -0
  438. package/esm/typings/types.d.ts.map +1 -0
  439. package/esm/universal/UniversalApp.d.ts +108 -0
  440. package/esm/universal/UniversalApp.d.ts.map +1 -0
  441. package/esm/universal/cached-runtime.d.ts +115 -0
  442. package/esm/universal/cached-runtime.d.ts.map +1 -0
  443. package/esm/universal/context.d.ts +122 -0
  444. package/esm/universal/context.d.ts.map +1 -0
  445. package/esm/universal/index.d.ts +57 -0
  446. package/esm/universal/index.d.ts.map +1 -0
  447. package/esm/universal/renderers/html.renderer.d.ts +37 -0
  448. package/esm/universal/renderers/html.renderer.d.ts.map +1 -0
  449. package/esm/universal/renderers/index.d.ts +112 -0
  450. package/esm/universal/renderers/index.d.ts.map +1 -0
  451. package/esm/universal/renderers/markdown.renderer.d.ts +33 -0
  452. package/esm/universal/renderers/markdown.renderer.d.ts.map +1 -0
  453. package/esm/universal/renderers/mdx.renderer.d.ts +38 -0
  454. package/esm/universal/renderers/mdx.renderer.d.ts.map +1 -0
  455. package/esm/universal/renderers/react.renderer.d.ts +46 -0
  456. package/esm/universal/renderers/react.renderer.d.ts.map +1 -0
  457. package/esm/universal/runtime-builder.d.ts +33 -0
  458. package/esm/universal/runtime-builder.d.ts.map +1 -0
  459. package/esm/universal/store.d.ts +135 -0
  460. package/esm/universal/store.d.ts.map +1 -0
  461. package/esm/universal/types.d.ts +199 -0
  462. package/esm/universal/types.d.ts.map +1 -0
  463. package/esm/utils/escape-html.d.ts +58 -0
  464. package/esm/utils/escape-html.d.ts.map +1 -0
  465. package/esm/utils/index.d.ts +10 -0
  466. package/esm/utils/index.d.ts.map +1 -0
  467. package/esm/utils/index.js +40 -0
  468. package/esm/utils/safe-stringify.d.ts +30 -0
  469. package/esm/utils/safe-stringify.d.ts.map +1 -0
  470. package/esm/validation/error-box.d.ts +56 -0
  471. package/esm/validation/error-box.d.ts.map +1 -0
  472. package/esm/validation/index.d.ts +13 -0
  473. package/esm/validation/index.d.ts.map +1 -0
  474. package/esm/validation/index.js +562 -0
  475. package/esm/validation/schema-paths.d.ts +118 -0
  476. package/esm/validation/schema-paths.d.ts.map +1 -0
  477. package/esm/validation/template-validator.d.ts +143 -0
  478. package/esm/validation/template-validator.d.ts.map +1 -0
  479. package/esm/validation/wrapper.d.ts +97 -0
  480. package/esm/validation/wrapper.d.ts.map +1 -0
  481. package/esm/web-components/core/attribute-parser.d.ts +82 -0
  482. package/esm/web-components/core/attribute-parser.d.ts.map +1 -0
  483. package/esm/web-components/core/base-element.d.ts +197 -0
  484. package/esm/web-components/core/base-element.d.ts.map +1 -0
  485. package/esm/web-components/core/index.d.ts +9 -0
  486. package/esm/web-components/core/index.d.ts.map +1 -0
  487. package/esm/web-components/elements/fmcp-alert.d.ts +46 -0
  488. package/esm/web-components/elements/fmcp-alert.d.ts.map +1 -0
  489. package/esm/web-components/elements/fmcp-badge.d.ts +47 -0
  490. package/esm/web-components/elements/fmcp-badge.d.ts.map +1 -0
  491. package/esm/web-components/elements/fmcp-button.d.ts +117 -0
  492. package/esm/web-components/elements/fmcp-button.d.ts.map +1 -0
  493. package/esm/web-components/elements/fmcp-card.d.ts +53 -0
  494. package/esm/web-components/elements/fmcp-card.d.ts.map +1 -0
  495. package/esm/web-components/elements/fmcp-input.d.ts +96 -0
  496. package/esm/web-components/elements/fmcp-input.d.ts.map +1 -0
  497. package/esm/web-components/elements/fmcp-select.d.ts +100 -0
  498. package/esm/web-components/elements/fmcp-select.d.ts.map +1 -0
  499. package/esm/web-components/elements/index.d.ts +13 -0
  500. package/esm/web-components/elements/index.d.ts.map +1 -0
  501. package/esm/web-components/index.d.ts +50 -0
  502. package/esm/web-components/index.d.ts.map +1 -0
  503. package/esm/web-components/index.js +2048 -0
  504. package/esm/web-components/register.d.ts +57 -0
  505. package/esm/web-components/register.d.ts.map +1 -0
  506. package/esm/web-components/types.d.ts +122 -0
  507. package/esm/web-components/types.d.ts.map +1 -0
  508. package/esm/widgets/index.d.ts +8 -0
  509. package/esm/widgets/index.d.ts.map +1 -0
  510. package/esm/widgets/index.js +941 -0
  511. package/esm/widgets/progress.d.ts +133 -0
  512. package/esm/widgets/progress.d.ts.map +1 -0
  513. package/esm/widgets/resource.d.ts +163 -0
  514. package/esm/widgets/resource.d.ts.map +1 -0
  515. package/handlebars/expression-extractor.d.ts +147 -0
  516. package/handlebars/expression-extractor.d.ts.map +1 -0
  517. package/handlebars/helpers.d.ts +339 -0
  518. package/handlebars/helpers.d.ts.map +1 -0
  519. package/handlebars/index.d.ts +195 -0
  520. package/handlebars/index.d.ts.map +1 -0
  521. package/handlebars/index.js +666 -0
  522. package/index.d.ts +56 -0
  523. package/index.d.ts.map +1 -0
  524. package/index.js +20942 -0
  525. package/layouts/base.d.ts +86 -0
  526. package/layouts/base.d.ts.map +1 -0
  527. package/layouts/index.d.ts +8 -0
  528. package/layouts/index.d.ts.map +1 -0
  529. package/layouts/index.js +930 -0
  530. package/layouts/presets.d.ts +134 -0
  531. package/layouts/presets.d.ts.map +1 -0
  532. package/package.json +28 -87
  533. package/pages/consent.d.ts +117 -0
  534. package/pages/consent.d.ts.map +1 -0
  535. package/pages/error.d.ts +101 -0
  536. package/pages/error.d.ts.map +1 -0
  537. package/pages/index.d.ts +9 -0
  538. package/pages/index.d.ts.map +1 -0
  539. package/pages/index.js +1602 -0
  540. package/react/Alert.d.ts +102 -0
  541. package/react/Alert.d.ts.map +1 -0
  542. package/react/Badge.d.ts +101 -0
  543. package/react/Badge.d.ts.map +1 -0
  544. package/react/Button.d.ts +109 -0
  545. package/react/Button.d.ts.map +1 -0
  546. package/react/Card.d.ts +104 -0
  547. package/react/Card.d.ts.map +1 -0
  548. package/react/hooks/context.d.ts +179 -0
  549. package/react/hooks/context.d.ts.map +1 -0
  550. package/react/hooks/index.d.ts +42 -0
  551. package/react/hooks/index.d.ts.map +1 -0
  552. package/react/hooks/tools.d.ts +284 -0
  553. package/react/hooks/tools.d.ts.map +1 -0
  554. package/react/index.d.ts +81 -0
  555. package/react/index.d.ts.map +1 -0
  556. package/react/index.js +1430 -0
  557. package/react/types.d.ts +106 -0
  558. package/react/types.d.ts.map +1 -0
  559. package/react/utils.d.ts +43 -0
  560. package/react/utils.d.ts.map +1 -0
  561. package/registry/index.d.ts +46 -0
  562. package/registry/index.d.ts.map +1 -0
  563. package/registry/index.js +6465 -0
  564. package/registry/render-template.d.ts +91 -0
  565. package/registry/render-template.d.ts.map +1 -0
  566. package/registry/tool-ui.registry.d.ts +294 -0
  567. package/registry/tool-ui.registry.d.ts.map +1 -0
  568. package/registry/uri-utils.d.ts +56 -0
  569. package/registry/uri-utils.d.ts.map +1 -0
  570. package/render/index.d.ts +8 -0
  571. package/render/index.d.ts.map +1 -0
  572. package/render/index.js +77 -0
  573. package/render/prerender.d.ts +57 -0
  574. package/render/prerender.d.ts.map +1 -0
  575. package/renderers/cache.d.ts +145 -0
  576. package/renderers/cache.d.ts.map +1 -0
  577. package/renderers/html.renderer.d.ts +123 -0
  578. package/renderers/html.renderer.d.ts.map +1 -0
  579. package/renderers/index.d.ts +36 -0
  580. package/renderers/index.d.ts.map +1 -0
  581. package/renderers/index.js +1882 -0
  582. package/renderers/mdx.renderer.d.ts +120 -0
  583. package/renderers/mdx.renderer.d.ts.map +1 -0
  584. package/renderers/react.renderer.d.ts +96 -0
  585. package/renderers/react.renderer.d.ts.map +1 -0
  586. package/renderers/registry.d.ts +134 -0
  587. package/renderers/registry.d.ts.map +1 -0
  588. package/renderers/types.d.ts +342 -0
  589. package/renderers/types.d.ts.map +1 -0
  590. package/renderers/utils/detect.d.ts +107 -0
  591. package/renderers/utils/detect.d.ts.map +1 -0
  592. package/renderers/utils/hash.d.ts +40 -0
  593. package/renderers/utils/hash.d.ts.map +1 -0
  594. package/renderers/utils/index.d.ts +9 -0
  595. package/renderers/utils/index.d.ts.map +1 -0
  596. package/renderers/utils/transpiler.d.ts +89 -0
  597. package/renderers/utils/transpiler.d.ts.map +1 -0
  598. package/runtime/adapters/html.adapter.d.ts +59 -0
  599. package/runtime/adapters/html.adapter.d.ts.map +1 -0
  600. package/runtime/adapters/index.d.ts +26 -0
  601. package/runtime/adapters/index.d.ts.map +1 -0
  602. package/runtime/adapters/mdx.adapter.d.ts +73 -0
  603. package/runtime/adapters/mdx.adapter.d.ts.map +1 -0
  604. package/runtime/adapters/react.adapter.d.ts +70 -0
  605. package/runtime/adapters/react.adapter.d.ts.map +1 -0
  606. package/runtime/adapters/types.d.ts +95 -0
  607. package/runtime/adapters/types.d.ts.map +1 -0
  608. package/runtime/csp.d.ts +48 -0
  609. package/runtime/csp.d.ts.map +1 -0
  610. package/runtime/index.d.ts +17 -0
  611. package/runtime/index.d.ts.map +1 -0
  612. package/runtime/index.js +5264 -0
  613. package/runtime/mcp-bridge.d.ts +101 -0
  614. package/runtime/mcp-bridge.d.ts.map +1 -0
  615. package/runtime/renderer-runtime.d.ts +133 -0
  616. package/runtime/renderer-runtime.d.ts.map +1 -0
  617. package/runtime/sanitizer.d.ts +172 -0
  618. package/runtime/sanitizer.d.ts.map +1 -0
  619. package/runtime/types.d.ts +415 -0
  620. package/runtime/types.d.ts.map +1 -0
  621. package/runtime/wrapper.d.ts +421 -0
  622. package/runtime/wrapper.d.ts.map +1 -0
  623. package/styles/index.d.ts +8 -0
  624. package/styles/index.d.ts.map +1 -0
  625. package/styles/index.js +222 -0
  626. package/styles/variants.d.ts +51 -0
  627. package/styles/variants.d.ts.map +1 -0
  628. package/theme/cdn.d.ts +195 -0
  629. package/theme/cdn.d.ts.map +1 -0
  630. package/theme/index.d.ts +18 -0
  631. package/theme/index.d.ts.map +1 -0
  632. package/theme/index.js +757 -0
  633. package/theme/platforms.d.ts +107 -0
  634. package/theme/platforms.d.ts.map +1 -0
  635. package/theme/presets/github-openai.d.ts +50 -0
  636. package/theme/presets/github-openai.d.ts.map +1 -0
  637. package/theme/presets/index.d.ts +11 -0
  638. package/theme/presets/index.d.ts.map +1 -0
  639. package/theme/theme.d.ts +396 -0
  640. package/theme/theme.d.ts.map +1 -0
  641. package/tool-template/builder.d.ts +213 -0
  642. package/tool-template/builder.d.ts.map +1 -0
  643. package/tool-template/index.d.ts +16 -0
  644. package/tool-template/index.d.ts.map +1 -0
  645. package/tool-template/index.js +3559 -0
  646. package/types/index.d.ts +14 -0
  647. package/types/index.d.ts.map +1 -0
  648. package/types/index.js +108 -0
  649. package/types/ui-config.d.ts +639 -0
  650. package/types/ui-config.d.ts.map +1 -0
  651. package/types/ui-runtime.d.ts +1007 -0
  652. package/types/ui-runtime.d.ts.map +1 -0
  653. package/typings/cache/cache-adapter.d.ts +125 -0
  654. package/typings/cache/cache-adapter.d.ts.map +1 -0
  655. package/typings/cache/index.d.ts +10 -0
  656. package/typings/cache/index.d.ts.map +1 -0
  657. package/typings/cache/memory-cache.d.ts +92 -0
  658. package/typings/cache/memory-cache.d.ts.map +1 -0
  659. package/typings/dts-parser.d.ts +90 -0
  660. package/typings/dts-parser.d.ts.map +1 -0
  661. package/typings/index.d.ts +48 -0
  662. package/typings/index.d.ts.map +1 -0
  663. package/typings/schemas.d.ts +232 -0
  664. package/typings/schemas.d.ts.map +1 -0
  665. package/typings/type-fetcher.d.ts +89 -0
  666. package/typings/type-fetcher.d.ts.map +1 -0
  667. package/typings/types.d.ts +320 -0
  668. package/typings/types.d.ts.map +1 -0
  669. package/universal/UniversalApp.d.ts +108 -0
  670. package/universal/UniversalApp.d.ts.map +1 -0
  671. package/universal/cached-runtime.d.ts +115 -0
  672. package/universal/cached-runtime.d.ts.map +1 -0
  673. package/universal/context.d.ts +122 -0
  674. package/universal/context.d.ts.map +1 -0
  675. package/universal/index.d.ts +57 -0
  676. package/universal/index.d.ts.map +1 -0
  677. package/universal/renderers/html.renderer.d.ts +37 -0
  678. package/universal/renderers/html.renderer.d.ts.map +1 -0
  679. package/universal/renderers/index.d.ts +112 -0
  680. package/universal/renderers/index.d.ts.map +1 -0
  681. package/universal/renderers/markdown.renderer.d.ts +33 -0
  682. package/universal/renderers/markdown.renderer.d.ts.map +1 -0
  683. package/universal/renderers/mdx.renderer.d.ts +38 -0
  684. package/universal/renderers/mdx.renderer.d.ts.map +1 -0
  685. package/universal/renderers/react.renderer.d.ts +46 -0
  686. package/universal/renderers/react.renderer.d.ts.map +1 -0
  687. package/universal/runtime-builder.d.ts +33 -0
  688. package/universal/runtime-builder.d.ts.map +1 -0
  689. package/universal/store.d.ts +135 -0
  690. package/universal/store.d.ts.map +1 -0
  691. package/universal/types.d.ts +199 -0
  692. package/universal/types.d.ts.map +1 -0
  693. package/utils/escape-html.d.ts +58 -0
  694. package/utils/escape-html.d.ts.map +1 -0
  695. package/utils/index.d.ts +10 -0
  696. package/utils/index.d.ts.map +1 -0
  697. package/utils/index.js +70 -0
  698. package/utils/safe-stringify.d.ts +30 -0
  699. package/utils/safe-stringify.d.ts.map +1 -0
  700. package/validation/error-box.d.ts +56 -0
  701. package/validation/error-box.d.ts.map +1 -0
  702. package/validation/index.d.ts +13 -0
  703. package/validation/index.d.ts.map +1 -0
  704. package/validation/index.js +603 -0
  705. package/validation/schema-paths.d.ts +118 -0
  706. package/validation/schema-paths.d.ts.map +1 -0
  707. package/validation/template-validator.d.ts +143 -0
  708. package/validation/template-validator.d.ts.map +1 -0
  709. package/validation/wrapper.d.ts +97 -0
  710. package/validation/wrapper.d.ts.map +1 -0
  711. package/web-components/core/attribute-parser.d.ts +82 -0
  712. package/web-components/core/attribute-parser.d.ts.map +1 -0
  713. package/web-components/core/base-element.d.ts +197 -0
  714. package/web-components/core/base-element.d.ts.map +1 -0
  715. package/web-components/core/index.d.ts +9 -0
  716. package/web-components/core/index.d.ts.map +1 -0
  717. package/web-components/elements/fmcp-alert.d.ts +46 -0
  718. package/web-components/elements/fmcp-alert.d.ts.map +1 -0
  719. package/web-components/elements/fmcp-badge.d.ts +47 -0
  720. package/web-components/elements/fmcp-badge.d.ts.map +1 -0
  721. package/web-components/elements/fmcp-button.d.ts +117 -0
  722. package/web-components/elements/fmcp-button.d.ts.map +1 -0
  723. package/web-components/elements/fmcp-card.d.ts +53 -0
  724. package/web-components/elements/fmcp-card.d.ts.map +1 -0
  725. package/web-components/elements/fmcp-input.d.ts +96 -0
  726. package/web-components/elements/fmcp-input.d.ts.map +1 -0
  727. package/web-components/elements/fmcp-select.d.ts +100 -0
  728. package/web-components/elements/fmcp-select.d.ts.map +1 -0
  729. package/web-components/elements/index.d.ts +13 -0
  730. package/web-components/elements/index.d.ts.map +1 -0
  731. package/web-components/index.d.ts +50 -0
  732. package/web-components/index.d.ts.map +1 -0
  733. package/web-components/index.js +2093 -0
  734. package/web-components/register.d.ts +57 -0
  735. package/web-components/register.d.ts.map +1 -0
  736. package/web-components/types.d.ts +122 -0
  737. package/web-components/types.d.ts.map +1 -0
  738. package/widgets/index.d.ts +8 -0
  739. package/widgets/index.d.ts.map +1 -0
  740. package/widgets/index.js +978 -0
  741. package/widgets/progress.d.ts +133 -0
  742. package/widgets/progress.d.ts.map +1 -0
  743. package/widgets/resource.d.ts +163 -0
  744. package/widgets/resource.d.ts.map +1 -0
  745. package/src/adapters/index.d.ts +0 -10
  746. package/src/adapters/index.js +0 -18
  747. package/src/adapters/index.js.map +0 -1
  748. package/src/adapters/platform-meta.d.ts +0 -165
  749. package/src/adapters/platform-meta.js +0 -310
  750. package/src/adapters/platform-meta.js.map +0 -1
  751. package/src/base-template/bridge.d.ts +0 -89
  752. package/src/base-template/bridge.js +0 -452
  753. package/src/base-template/bridge.js.map +0 -1
  754. package/src/base-template/default-base-template.d.ts +0 -91
  755. package/src/base-template/default-base-template.js +0 -435
  756. package/src/base-template/default-base-template.js.map +0 -1
  757. package/src/base-template/index.d.ts +0 -14
  758. package/src/base-template/index.js +0 -30
  759. package/src/base-template/index.js.map +0 -1
  760. package/src/base-template/polyfills.d.ts +0 -30
  761. package/src/base-template/polyfills.js +0 -190
  762. package/src/base-template/polyfills.js.map +0 -1
  763. package/src/base-template/theme-styles.d.ts +0 -73
  764. package/src/base-template/theme-styles.js +0 -95
  765. package/src/base-template/theme-styles.js.map +0 -1
  766. package/src/bridge/adapters/base-adapter.d.ts +0 -103
  767. package/src/bridge/adapters/base-adapter.js +0 -314
  768. package/src/bridge/adapters/base-adapter.js.map +0 -1
  769. package/src/bridge/adapters/claude.adapter.d.ts +0 -66
  770. package/src/bridge/adapters/claude.adapter.js +0 -145
  771. package/src/bridge/adapters/claude.adapter.js.map +0 -1
  772. package/src/bridge/adapters/ext-apps.adapter.d.ts +0 -142
  773. package/src/bridge/adapters/ext-apps.adapter.js +0 -416
  774. package/src/bridge/adapters/ext-apps.adapter.js.map +0 -1
  775. package/src/bridge/adapters/gemini.adapter.d.ts +0 -63
  776. package/src/bridge/adapters/gemini.adapter.js +0 -160
  777. package/src/bridge/adapters/gemini.adapter.js.map +0 -1
  778. package/src/bridge/adapters/generic.adapter.d.ts +0 -55
  779. package/src/bridge/adapters/generic.adapter.js +0 -108
  780. package/src/bridge/adapters/generic.adapter.js.map +0 -1
  781. package/src/bridge/adapters/index.d.ts +0 -25
  782. package/src/bridge/adapters/index.js +0 -65
  783. package/src/bridge/adapters/index.js.map +0 -1
  784. package/src/bridge/adapters/openai.adapter.d.ts +0 -64
  785. package/src/bridge/adapters/openai.adapter.js +0 -194
  786. package/src/bridge/adapters/openai.adapter.js.map +0 -1
  787. package/src/bridge/core/adapter-registry.d.ts +0 -121
  788. package/src/bridge/core/adapter-registry.js +0 -271
  789. package/src/bridge/core/adapter-registry.js.map +0 -1
  790. package/src/bridge/core/bridge-factory.d.ts +0 -198
  791. package/src/bridge/core/bridge-factory.js +0 -428
  792. package/src/bridge/core/bridge-factory.js.map +0 -1
  793. package/src/bridge/core/index.d.ts +0 -9
  794. package/src/bridge/core/index.js +0 -22
  795. package/src/bridge/core/index.js.map +0 -1
  796. package/src/bridge/index.d.ts +0 -61
  797. package/src/bridge/index.js +0 -94
  798. package/src/bridge/index.js.map +0 -1
  799. package/src/bridge/runtime/iife-generator.d.ts +0 -61
  800. package/src/bridge/runtime/iife-generator.js +0 -940
  801. package/src/bridge/runtime/iife-generator.js.map +0 -1
  802. package/src/bridge/runtime/index.d.ts +0 -8
  803. package/src/bridge/runtime/index.js +0 -16
  804. package/src/bridge/runtime/index.js.map +0 -1
  805. package/src/bridge/types.d.ts +0 -385
  806. package/src/bridge/types.js +0 -11
  807. package/src/bridge/types.js.map +0 -1
  808. package/src/build/cdn-resources.d.ts +0 -140
  809. package/src/build/cdn-resources.js +0 -314
  810. package/src/build/cdn-resources.js.map +0 -1
  811. package/src/build/index.d.ts +0 -294
  812. package/src/build/index.js +0 -325
  813. package/src/build/index.js.map +0 -1
  814. package/src/build/widget-manifest.d.ts +0 -212
  815. package/src/build/widget-manifest.js +0 -652
  816. package/src/build/widget-manifest.js.map +0 -1
  817. package/src/bundler/bundler.d.ts +0 -110
  818. package/src/bundler/bundler.js +0 -432
  819. package/src/bundler/bundler.js.map +0 -1
  820. package/src/bundler/cache.d.ts +0 -172
  821. package/src/bundler/cache.js +0 -250
  822. package/src/bundler/cache.js.map +0 -1
  823. package/src/bundler/index.d.ts +0 -41
  824. package/src/bundler/index.js +0 -73
  825. package/src/bundler/index.js.map +0 -1
  826. package/src/bundler/sandbox/enclave-adapter.d.ts +0 -120
  827. package/src/bundler/sandbox/enclave-adapter.js +0 -339
  828. package/src/bundler/sandbox/enclave-adapter.js.map +0 -1
  829. package/src/bundler/sandbox/executor.d.ts +0 -13
  830. package/src/bundler/sandbox/executor.js +0 -22
  831. package/src/bundler/sandbox/executor.js.map +0 -1
  832. package/src/bundler/sandbox/policy.d.ts +0 -61
  833. package/src/bundler/sandbox/policy.js +0 -238
  834. package/src/bundler/sandbox/policy.js.map +0 -1
  835. package/src/bundler/types.d.ts +0 -347
  836. package/src/bundler/types.js +0 -132
  837. package/src/bundler/types.js.map +0 -1
  838. package/src/components/alert.d.ts +0 -71
  839. package/src/components/alert.js +0 -189
  840. package/src/components/alert.js.map +0 -1
  841. package/src/components/alert.schema.d.ts +0 -114
  842. package/src/components/alert.schema.js +0 -105
  843. package/src/components/alert.schema.js.map +0 -1
  844. package/src/components/avatar.d.ts +0 -76
  845. package/src/components/avatar.js +0 -176
  846. package/src/components/avatar.js.map +0 -1
  847. package/src/components/avatar.schema.d.ts +0 -169
  848. package/src/components/avatar.schema.js +0 -103
  849. package/src/components/avatar.schema.js.map +0 -1
  850. package/src/components/badge.d.ts +0 -70
  851. package/src/components/badge.js +0 -149
  852. package/src/components/badge.js.map +0 -1
  853. package/src/components/badge.schema.d.ts +0 -109
  854. package/src/components/badge.schema.js +0 -96
  855. package/src/components/badge.schema.js.map +0 -1
  856. package/src/components/button.d.ts +0 -111
  857. package/src/components/button.js +0 -336
  858. package/src/components/button.js.map +0 -1
  859. package/src/components/button.schema.d.ts +0 -148
  860. package/src/components/button.schema.js +0 -121
  861. package/src/components/button.schema.js.map +0 -1
  862. package/src/components/card.d.ts +0 -60
  863. package/src/components/card.js +0 -117
  864. package/src/components/card.js.map +0 -1
  865. package/src/components/card.schema.d.ts +0 -113
  866. package/src/components/card.schema.js +0 -98
  867. package/src/components/card.schema.js.map +0 -1
  868. package/src/components/form.d.ts +0 -239
  869. package/src/components/form.js +0 -420
  870. package/src/components/form.js.map +0 -1
  871. package/src/components/form.schema.d.ts +0 -441
  872. package/src/components/form.schema.js +0 -406
  873. package/src/components/form.schema.js.map +0 -1
  874. package/src/components/index.d.ts +0 -29
  875. package/src/components/index.js +0 -98
  876. package/src/components/index.js.map +0 -1
  877. package/src/components/list.d.ts +0 -127
  878. package/src/components/list.js +0 -279
  879. package/src/components/list.js.map +0 -1
  880. package/src/components/list.schema.d.ts +0 -134
  881. package/src/components/list.schema.js +0 -168
  882. package/src/components/list.schema.js.map +0 -1
  883. package/src/components/modal.d.ts +0 -111
  884. package/src/components/modal.js +0 -260
  885. package/src/components/modal.js.map +0 -1
  886. package/src/components/modal.schema.d.ts +0 -186
  887. package/src/components/modal.schema.js +0 -167
  888. package/src/components/modal.schema.js.map +0 -1
  889. package/src/components/table.d.ts +0 -105
  890. package/src/components/table.js +0 -283
  891. package/src/components/table.js.map +0 -1
  892. package/src/components/table.schema.d.ts +0 -159
  893. package/src/components/table.schema.js +0 -173
  894. package/src/components/table.schema.js.map +0 -1
  895. package/src/handlebars/helpers.d.ts +0 -348
  896. package/src/handlebars/helpers.js +0 -605
  897. package/src/handlebars/helpers.js.map +0 -1
  898. package/src/handlebars/index.d.ts +0 -193
  899. package/src/handlebars/index.js +0 -350
  900. package/src/handlebars/index.js.map +0 -1
  901. package/src/index.d.ts +0 -50
  902. package/src/index.js +0 -192
  903. package/src/index.js.map +0 -1
  904. package/src/layouts/base.d.ts +0 -88
  905. package/src/layouts/base.js +0 -227
  906. package/src/layouts/base.js.map +0 -1
  907. package/src/layouts/index.d.ts +0 -7
  908. package/src/layouts/index.js +0 -25
  909. package/src/layouts/index.js.map +0 -1
  910. package/src/layouts/presets.d.ts +0 -133
  911. package/src/layouts/presets.js +0 -277
  912. package/src/layouts/presets.js.map +0 -1
  913. package/src/pages/consent.d.ts +0 -116
  914. package/src/pages/consent.js +0 -218
  915. package/src/pages/consent.js.map +0 -1
  916. package/src/pages/error.d.ts +0 -100
  917. package/src/pages/error.js +0 -263
  918. package/src/pages/error.js.map +0 -1
  919. package/src/pages/index.d.ts +0 -8
  920. package/src/pages/index.js +0 -27
  921. package/src/pages/index.js.map +0 -1
  922. package/src/react/Alert.d.ts +0 -101
  923. package/src/react/Alert.js +0 -51
  924. package/src/react/Alert.js.map +0 -1
  925. package/src/react/Badge.d.ts +0 -100
  926. package/src/react/Badge.js +0 -55
  927. package/src/react/Badge.js.map +0 -1
  928. package/src/react/Button.d.ts +0 -108
  929. package/src/react/Button.js +0 -52
  930. package/src/react/Button.js.map +0 -1
  931. package/src/react/Card.d.ts +0 -103
  932. package/src/react/Card.js +0 -55
  933. package/src/react/Card.js.map +0 -1
  934. package/src/react/hooks/context.d.ts +0 -178
  935. package/src/react/hooks/context.js +0 -287
  936. package/src/react/hooks/context.js.map +0 -1
  937. package/src/react/hooks/index.d.ts +0 -41
  938. package/src/react/hooks/index.js +0 -61
  939. package/src/react/hooks/index.js.map +0 -1
  940. package/src/react/hooks/tools.d.ts +0 -283
  941. package/src/react/hooks/tools.js +0 -465
  942. package/src/react/hooks/tools.js.map +0 -1
  943. package/src/react/index.d.ts +0 -80
  944. package/src/react/index.js +0 -113
  945. package/src/react/index.js.map +0 -1
  946. package/src/react/types.d.ts +0 -105
  947. package/src/react/types.js +0 -12
  948. package/src/react/types.js.map +0 -1
  949. package/src/react/utils.d.ts +0 -42
  950. package/src/react/utils.js +0 -99
  951. package/src/react/utils.js.map +0 -1
  952. package/src/registry/index.d.ts +0 -45
  953. package/src/registry/index.js +0 -67
  954. package/src/registry/index.js.map +0 -1
  955. package/src/registry/render-template.d.ts +0 -86
  956. package/src/registry/render-template.js +0 -239
  957. package/src/registry/render-template.js.map +0 -1
  958. package/src/registry/tool-ui.registry.d.ts +0 -260
  959. package/src/registry/tool-ui.registry.js +0 -438
  960. package/src/registry/tool-ui.registry.js.map +0 -1
  961. package/src/registry/uri-utils.d.ts +0 -55
  962. package/src/registry/uri-utils.js +0 -97
  963. package/src/registry/uri-utils.js.map +0 -1
  964. package/src/render/index.d.ts +0 -7
  965. package/src/render/index.js +0 -14
  966. package/src/render/index.js.map +0 -1
  967. package/src/render/prerender.d.ts +0 -56
  968. package/src/render/prerender.js +0 -98
  969. package/src/render/prerender.js.map +0 -1
  970. package/src/renderers/cache.d.ts +0 -144
  971. package/src/renderers/cache.js +0 -240
  972. package/src/renderers/cache.js.map +0 -1
  973. package/src/renderers/html.renderer.d.ts +0 -122
  974. package/src/renderers/html.renderer.js +0 -204
  975. package/src/renderers/html.renderer.js.map +0 -1
  976. package/src/renderers/index.d.ts +0 -35
  977. package/src/renderers/index.js +0 -70
  978. package/src/renderers/index.js.map +0 -1
  979. package/src/renderers/mdx.renderer.d.ts +0 -119
  980. package/src/renderers/mdx.renderer.js +0 -305
  981. package/src/renderers/mdx.renderer.js.map +0 -1
  982. package/src/renderers/react.renderer.d.ts +0 -95
  983. package/src/renderers/react.renderer.js +0 -260
  984. package/src/renderers/react.renderer.js.map +0 -1
  985. package/src/renderers/registry.d.ts +0 -133
  986. package/src/renderers/registry.js +0 -232
  987. package/src/renderers/registry.js.map +0 -1
  988. package/src/renderers/types.d.ts +0 -341
  989. package/src/renderers/types.js +0 -9
  990. package/src/renderers/types.js.map +0 -1
  991. package/src/renderers/utils/detect.d.ts +0 -106
  992. package/src/renderers/utils/detect.js +0 -267
  993. package/src/renderers/utils/detect.js.map +0 -1
  994. package/src/renderers/utils/hash.d.ts +0 -39
  995. package/src/renderers/utils/hash.js +0 -75
  996. package/src/renderers/utils/hash.js.map +0 -1
  997. package/src/renderers/utils/index.d.ts +0 -8
  998. package/src/renderers/utils/index.js +0 -28
  999. package/src/renderers/utils/index.js.map +0 -1
  1000. package/src/renderers/utils/transpiler.d.ts +0 -88
  1001. package/src/renderers/utils/transpiler.js +0 -215
  1002. package/src/renderers/utils/transpiler.js.map +0 -1
  1003. package/src/runtime/adapters/html.adapter.d.ts +0 -58
  1004. package/src/runtime/adapters/html.adapter.js +0 -131
  1005. package/src/runtime/adapters/html.adapter.js.map +0 -1
  1006. package/src/runtime/adapters/index.d.ts +0 -25
  1007. package/src/runtime/adapters/index.js +0 -54
  1008. package/src/runtime/adapters/index.js.map +0 -1
  1009. package/src/runtime/adapters/mdx.adapter.d.ts +0 -72
  1010. package/src/runtime/adapters/mdx.adapter.js +0 -241
  1011. package/src/runtime/adapters/mdx.adapter.js.map +0 -1
  1012. package/src/runtime/adapters/react.adapter.d.ts +0 -69
  1013. package/src/runtime/adapters/react.adapter.js +0 -245
  1014. package/src/runtime/adapters/react.adapter.js.map +0 -1
  1015. package/src/runtime/adapters/types.d.ts +0 -94
  1016. package/src/runtime/adapters/types.js +0 -11
  1017. package/src/runtime/adapters/types.js.map +0 -1
  1018. package/src/runtime/csp.d.ts +0 -37
  1019. package/src/runtime/csp.js +0 -140
  1020. package/src/runtime/csp.js.map +0 -1
  1021. package/src/runtime/index.d.ts +0 -16
  1022. package/src/runtime/index.js +0 -72
  1023. package/src/runtime/index.js.map +0 -1
  1024. package/src/runtime/mcp-bridge.d.ts +0 -100
  1025. package/src/runtime/mcp-bridge.js +0 -581
  1026. package/src/runtime/mcp-bridge.js.map +0 -1
  1027. package/src/runtime/renderer-runtime.d.ts +0 -132
  1028. package/src/runtime/renderer-runtime.js +0 -389
  1029. package/src/runtime/renderer-runtime.js.map +0 -1
  1030. package/src/runtime/sanitizer.d.ts +0 -171
  1031. package/src/runtime/sanitizer.js +0 -318
  1032. package/src/runtime/sanitizer.js.map +0 -1
  1033. package/src/runtime/types.d.ts +0 -414
  1034. package/src/runtime/types.js +0 -12
  1035. package/src/runtime/types.js.map +0 -1
  1036. package/src/runtime/wrapper.d.ts +0 -375
  1037. package/src/runtime/wrapper.js +0 -1793
  1038. package/src/runtime/wrapper.js.map +0 -1
  1039. package/src/styles/index.d.ts +0 -7
  1040. package/src/styles/index.js +0 -11
  1041. package/src/styles/index.js.map +0 -1
  1042. package/src/styles/variants.d.ts +0 -50
  1043. package/src/styles/variants.js +0 -175
  1044. package/src/styles/variants.js.map +0 -1
  1045. package/src/theme/cdn.d.ts +0 -194
  1046. package/src/theme/cdn.js +0 -375
  1047. package/src/theme/cdn.js.map +0 -1
  1048. package/src/theme/index.d.ts +0 -17
  1049. package/src/theme/index.js +0 -57
  1050. package/src/theme/index.js.map +0 -1
  1051. package/src/theme/platforms.d.ts +0 -106
  1052. package/src/theme/platforms.js +0 -161
  1053. package/src/theme/platforms.js.map +0 -1
  1054. package/src/theme/presets/github-openai.d.ts +0 -49
  1055. package/src/theme/presets/github-openai.js +0 -189
  1056. package/src/theme/presets/github-openai.js.map +0 -1
  1057. package/src/theme/presets/index.d.ts +0 -10
  1058. package/src/theme/presets/index.js +0 -17
  1059. package/src/theme/presets/index.js.map +0 -1
  1060. package/src/theme/theme.d.ts +0 -395
  1061. package/src/theme/theme.js +0 -332
  1062. package/src/theme/theme.js.map +0 -1
  1063. package/src/tool-template/builder.d.ts +0 -212
  1064. package/src/tool-template/builder.js +0 -397
  1065. package/src/tool-template/builder.js.map +0 -1
  1066. package/src/tool-template/index.d.ts +0 -15
  1067. package/src/tool-template/index.js +0 -38
  1068. package/src/tool-template/index.js.map +0 -1
  1069. package/src/types/index.d.ts +0 -13
  1070. package/src/types/index.js +0 -26
  1071. package/src/types/index.js.map +0 -1
  1072. package/src/types/ui-config.d.ts +0 -357
  1073. package/src/types/ui-config.js +0 -12
  1074. package/src/types/ui-config.js.map +0 -1
  1075. package/src/types/ui-runtime.d.ts +0 -965
  1076. package/src/types/ui-runtime.js +0 -117
  1077. package/src/types/ui-runtime.js.map +0 -1
  1078. package/src/validation/error-box.d.ts +0 -55
  1079. package/src/validation/error-box.js +0 -75
  1080. package/src/validation/error-box.js.map +0 -1
  1081. package/src/validation/index.d.ts +0 -12
  1082. package/src/validation/index.js +0 -21
  1083. package/src/validation/index.js.map +0 -1
  1084. package/src/validation/wrapper.d.ts +0 -96
  1085. package/src/validation/wrapper.js +0 -117
  1086. package/src/validation/wrapper.js.map +0 -1
  1087. package/src/web-components/core/attribute-parser.d.ts +0 -85
  1088. package/src/web-components/core/attribute-parser.js +0 -189
  1089. package/src/web-components/core/attribute-parser.js.map +0 -1
  1090. package/src/web-components/core/base-element.d.ts +0 -197
  1091. package/src/web-components/core/base-element.js +0 -289
  1092. package/src/web-components/core/base-element.js.map +0 -1
  1093. package/src/web-components/core/index.d.ts +0 -8
  1094. package/src/web-components/core/index.js +0 -18
  1095. package/src/web-components/core/index.js.map +0 -1
  1096. package/src/web-components/elements/fmcp-alert.d.ts +0 -45
  1097. package/src/web-components/elements/fmcp-alert.js +0 -93
  1098. package/src/web-components/elements/fmcp-alert.js.map +0 -1
  1099. package/src/web-components/elements/fmcp-badge.d.ts +0 -46
  1100. package/src/web-components/elements/fmcp-badge.js +0 -99
  1101. package/src/web-components/elements/fmcp-badge.js.map +0 -1
  1102. package/src/web-components/elements/fmcp-button.d.ts +0 -124
  1103. package/src/web-components/elements/fmcp-button.js +0 -233
  1104. package/src/web-components/elements/fmcp-button.js.map +0 -1
  1105. package/src/web-components/elements/fmcp-card.d.ts +0 -52
  1106. package/src/web-components/elements/fmcp-card.js +0 -115
  1107. package/src/web-components/elements/fmcp-card.js.map +0 -1
  1108. package/src/web-components/elements/fmcp-input.d.ts +0 -95
  1109. package/src/web-components/elements/fmcp-input.js +0 -248
  1110. package/src/web-components/elements/fmcp-input.js.map +0 -1
  1111. package/src/web-components/elements/fmcp-select.d.ts +0 -99
  1112. package/src/web-components/elements/fmcp-select.js +0 -243
  1113. package/src/web-components/elements/fmcp-select.js.map +0 -1
  1114. package/src/web-components/elements/index.d.ts +0 -12
  1115. package/src/web-components/elements/index.js +0 -34
  1116. package/src/web-components/elements/index.js.map +0 -1
  1117. package/src/web-components/index.d.ts +0 -49
  1118. package/src/web-components/index.js +0 -75
  1119. package/src/web-components/index.js.map +0 -1
  1120. package/src/web-components/register.d.ts +0 -56
  1121. package/src/web-components/register.js +0 -80
  1122. package/src/web-components/register.js.map +0 -1
  1123. package/src/web-components/types.d.ts +0 -121
  1124. package/src/web-components/types.js +0 -25
  1125. package/src/web-components/types.js.map +0 -1
  1126. package/src/widgets/index.d.ts +0 -7
  1127. package/src/widgets/index.js +0 -24
  1128. package/src/widgets/index.js.map +0 -1
  1129. package/src/widgets/progress.d.ts +0 -132
  1130. package/src/widgets/progress.js +0 -303
  1131. package/src/widgets/progress.js.map +0 -1
  1132. package/src/widgets/resource.d.ts +0 -162
  1133. package/src/widgets/resource.js +0 -340
  1134. package/src/widgets/resource.js.map +0 -1
package/react/index.js ADDED
@@ -0,0 +1,1430 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+
30
+ // libs/ui/src/react/index.ts
31
+ var react_exports = {};
32
+ __export(react_exports, {
33
+ Alert: () => Alert,
34
+ Badge: () => Badge,
35
+ Button: () => Button,
36
+ Card: () => Card,
37
+ McpBridgeProvider: () => McpBridgeProvider,
38
+ isBrowser: () => isBrowser,
39
+ isServer: () => isServer,
40
+ renderAlert: () => renderAlert,
41
+ renderAlertSync: () => renderAlertSync,
42
+ renderBadge: () => renderBadge,
43
+ renderBadgeSync: () => renderBadgeSync,
44
+ renderButton: () => renderButton,
45
+ renderButtonSync: () => renderButtonSync,
46
+ renderCard: () => renderCard,
47
+ renderCardSync: () => renderCardSync,
48
+ renderChildrenToString: () => renderChildrenToString,
49
+ useCallTool: () => useCallTool,
50
+ useCapability: () => useCapability,
51
+ useDisplayMode: () => useDisplayMode,
52
+ useHostContext: () => useHostContext,
53
+ useMcpBridge: () => useMcpBridge,
54
+ useMcpBridgeContext: () => useMcpBridgeContext,
55
+ useOpenLink: () => useOpenLink,
56
+ useSendMessage: () => useSendMessage,
57
+ useStructuredContent: () => useStructuredContent,
58
+ useTheme: () => useTheme,
59
+ useToolCalls: () => useToolCalls,
60
+ useToolInput: () => useToolInput,
61
+ useToolOutput: () => useToolOutput
62
+ });
63
+ module.exports = __toCommonJS(react_exports);
64
+
65
+ // libs/ui/src/styles/variants.ts
66
+ var CARD_VARIANTS = {
67
+ default: "bg-white border border-border rounded-xl shadow-sm",
68
+ outlined: "bg-transparent border-2 border-border rounded-xl",
69
+ elevated: "bg-white rounded-xl shadow-lg",
70
+ filled: "bg-gray-50 rounded-xl",
71
+ ghost: "bg-transparent"
72
+ };
73
+ var CARD_SIZES = {
74
+ sm: "p-4",
75
+ md: "p-6",
76
+ lg: "p-8"
77
+ };
78
+ function getCardVariantClasses(variant) {
79
+ return CARD_VARIANTS[variant];
80
+ }
81
+ function getCardSizeClasses(size) {
82
+ return CARD_SIZES[size];
83
+ }
84
+ var BADGE_VARIANTS = {
85
+ default: "bg-gray-100 text-gray-800",
86
+ primary: "bg-primary/10 text-primary",
87
+ secondary: "bg-secondary/10 text-secondary",
88
+ success: "bg-success/10 text-success",
89
+ warning: "bg-warning/10 text-warning",
90
+ danger: "bg-danger/10 text-danger",
91
+ info: "bg-blue-100 text-blue-800",
92
+ outline: "border border-border text-text-primary bg-transparent"
93
+ };
94
+ var BADGE_SIZES = {
95
+ sm: "px-2 py-0.5 text-xs",
96
+ md: "px-2.5 py-1 text-xs",
97
+ lg: "px-3 py-1.5 text-sm"
98
+ };
99
+ var BADGE_DOT_SIZES = {
100
+ sm: "w-2 h-2",
101
+ md: "w-2.5 h-2.5",
102
+ lg: "w-3 h-3"
103
+ };
104
+ var BADGE_DOT_VARIANTS = {
105
+ default: "bg-gray-400",
106
+ primary: "bg-primary",
107
+ secondary: "bg-secondary",
108
+ success: "bg-success",
109
+ warning: "bg-warning",
110
+ danger: "bg-danger",
111
+ info: "bg-blue-500",
112
+ outline: "border border-current"
113
+ };
114
+ function getBadgeVariantClasses(variant) {
115
+ return BADGE_VARIANTS[variant];
116
+ }
117
+ function getBadgeSizeClasses(size) {
118
+ return BADGE_SIZES[size];
119
+ }
120
+ function getBadgeDotSizeClasses(size) {
121
+ return BADGE_DOT_SIZES[size];
122
+ }
123
+ function getBadgeDotVariantClasses(variant) {
124
+ return BADGE_DOT_VARIANTS[variant];
125
+ }
126
+ var BUTTON_VARIANTS = {
127
+ primary: "bg-primary hover:bg-primary/90 text-white shadow-sm",
128
+ secondary: "bg-secondary hover:bg-secondary/90 text-white shadow-sm",
129
+ outline: "border-2 border-primary text-primary hover:bg-primary/10",
130
+ ghost: "text-text-primary hover:bg-gray-100",
131
+ danger: "bg-danger hover:bg-danger/90 text-white shadow-sm",
132
+ success: "bg-success hover:bg-success/90 text-white shadow-sm",
133
+ link: "text-primary hover:text-primary/80 hover:underline"
134
+ };
135
+ var BUTTON_SIZES = {
136
+ xs: "px-2.5 py-1.5 text-xs",
137
+ sm: "px-3 py-2 text-sm",
138
+ md: "px-4 py-2.5 text-sm",
139
+ lg: "px-5 py-3 text-base",
140
+ xl: "px-6 py-3.5 text-lg"
141
+ };
142
+ var BUTTON_ICON_SIZES = {
143
+ xs: "p-1.5",
144
+ sm: "p-2",
145
+ md: "p-2.5",
146
+ lg: "p-3",
147
+ xl: "p-4"
148
+ };
149
+ var BUTTON_BASE_CLASSES = "inline-flex items-center justify-center font-medium rounded-lg transition-colors duration-200 focus:outline-none focus:ring-2 focus:ring-primary/50 focus:ring-offset-2";
150
+ function getButtonVariantClasses(variant) {
151
+ return BUTTON_VARIANTS[variant];
152
+ }
153
+ function getButtonSizeClasses(size, iconOnly) {
154
+ return iconOnly ? BUTTON_ICON_SIZES[size] : BUTTON_SIZES[size];
155
+ }
156
+ var ALERT_VARIANTS = {
157
+ info: {
158
+ container: "bg-blue-50 border-blue-200 text-blue-800",
159
+ icon: "text-blue-500"
160
+ },
161
+ success: {
162
+ container: "bg-success/10 border-success/30 text-success",
163
+ icon: "text-success"
164
+ },
165
+ warning: {
166
+ container: "bg-warning/10 border-warning/30 text-warning",
167
+ icon: "text-warning"
168
+ },
169
+ danger: {
170
+ container: "bg-danger/10 border-danger/30 text-danger",
171
+ icon: "text-danger"
172
+ },
173
+ neutral: {
174
+ container: "bg-gray-50 border-gray-200 text-gray-800",
175
+ icon: "text-gray-500"
176
+ }
177
+ };
178
+ var ALERT_BASE_CLASSES = "rounded-lg border p-4";
179
+ function getAlertVariantClasses(variant) {
180
+ return ALERT_VARIANTS[variant];
181
+ }
182
+ var ALERT_ICONS = {
183
+ info: `<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
184
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"/>
185
+ </svg>`,
186
+ success: `<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
187
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"/>
188
+ </svg>`,
189
+ warning: `<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
190
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"/>
191
+ </svg>`,
192
+ danger: `<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
193
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z"/>
194
+ </svg>`,
195
+ neutral: `<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
196
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"/>
197
+ </svg>`
198
+ };
199
+ var CLOSE_ICON = `<svg class="w-3 h-3" fill="none" stroke="currentColor" viewBox="0 0 24 24">
200
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"/>
201
+ </svg>`;
202
+ var LOADING_SPINNER = `<svg class="animate-spin -ml-1 mr-2 h-4 w-4" fill="none" viewBox="0 0 24 24">
203
+ <circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle>
204
+ <path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"></path>
205
+ </svg>`;
206
+ function cn(...classes) {
207
+ return classes.filter(Boolean).join(" ");
208
+ }
209
+
210
+ // libs/ui/src/render/prerender.ts
211
+ async function renderToString(element) {
212
+ const { prerender } = await import("react-dom/static");
213
+ const { prelude } = await prerender(element);
214
+ const reader = prelude.getReader();
215
+ const chunks = [];
216
+ while (true) {
217
+ const { done, value } = await reader.read();
218
+ if (done) break;
219
+ if (value) chunks.push(value);
220
+ }
221
+ const totalLength = chunks.reduce((acc, chunk) => acc + chunk.length, 0);
222
+ const combined = new Uint8Array(totalLength);
223
+ let offset = 0;
224
+ for (const chunk of chunks) {
225
+ combined.set(chunk, offset);
226
+ offset += chunk.length;
227
+ }
228
+ return new TextDecoder().decode(combined);
229
+ }
230
+ function renderToStringSync(element) {
231
+ const ReactDOMServer = require("react-dom/server");
232
+ return ReactDOMServer.renderToStaticMarkup(element);
233
+ }
234
+
235
+ // libs/ui/src/react/Card.tsx
236
+ var import_jsx_runtime = require("react/jsx-runtime");
237
+ function Card({
238
+ title,
239
+ subtitle,
240
+ headerActions,
241
+ footer,
242
+ variant = "default",
243
+ size = "md",
244
+ className,
245
+ id,
246
+ clickable,
247
+ href,
248
+ children
249
+ }) {
250
+ const variantClasses = getCardVariantClasses(variant);
251
+ const sizeClasses = getCardSizeClasses(size);
252
+ const clickableClasses = clickable ? "cursor-pointer hover:shadow-md transition-shadow" : "";
253
+ const allClasses = cn(variantClasses, sizeClasses, clickableClasses, className);
254
+ const hasHeader = title || subtitle || headerActions;
255
+ const content = /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
256
+ hasHeader && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex items-start justify-between mb-4", children: [
257
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { children: [
258
+ title && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h3", { className: "text-lg font-semibold text-text-primary", children: title }),
259
+ subtitle && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: "text-sm text-text-secondary mt-1", children: subtitle })
260
+ ] }),
261
+ headerActions && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "flex items-center gap-2", children: headerActions })
262
+ ] }),
263
+ children,
264
+ footer && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "mt-4 pt-4 border-t border-divider", children: footer })
265
+ ] });
266
+ if (href) {
267
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("a", { href, className: allClasses, id, children: content });
268
+ }
269
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: allClasses, id, children: content });
270
+ }
271
+ async function renderCard(props) {
272
+ const { children, headerActions, footer, ...rest } = props;
273
+ const element = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
274
+ Card,
275
+ {
276
+ ...rest,
277
+ headerActions: headerActions ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { dangerouslySetInnerHTML: { __html: headerActions } }) : void 0,
278
+ footer: footer ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { dangerouslySetInnerHTML: { __html: footer } }) : void 0,
279
+ children: children ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { dangerouslySetInnerHTML: { __html: children } }) : void 0
280
+ }
281
+ );
282
+ return renderToString(element);
283
+ }
284
+ function renderCardSync(props) {
285
+ const { children, headerActions, footer, ...rest } = props;
286
+ const element = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
287
+ Card,
288
+ {
289
+ ...rest,
290
+ headerActions: headerActions ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { dangerouslySetInnerHTML: { __html: headerActions } }) : void 0,
291
+ footer: footer ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { dangerouslySetInnerHTML: { __html: footer } }) : void 0,
292
+ children: children ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { dangerouslySetInnerHTML: { __html: children } }) : void 0
293
+ }
294
+ );
295
+ return renderToStringSync(element);
296
+ }
297
+
298
+ // libs/ui/src/react/Badge.tsx
299
+ var import_jsx_runtime2 = require("react/jsx-runtime");
300
+ function Badge({
301
+ variant = "default",
302
+ size = "md",
303
+ pill = false,
304
+ icon,
305
+ dot = false,
306
+ className,
307
+ removable = false,
308
+ onRemove,
309
+ children
310
+ }) {
311
+ if (dot) {
312
+ const dotClasses = cn(
313
+ "inline-block rounded-full",
314
+ getBadgeDotSizeClasses(size),
315
+ getBadgeDotVariantClasses(variant),
316
+ className
317
+ );
318
+ const label = typeof children === "string" ? children : void 0;
319
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { className: dotClasses, "aria-label": label, title: label });
320
+ }
321
+ const variantClasses = getBadgeVariantClasses(variant);
322
+ const sizeClasses = getBadgeSizeClasses(size);
323
+ const baseClasses = cn(
324
+ "inline-flex items-center font-medium",
325
+ pill ? "rounded-full" : "rounded-md",
326
+ variantClasses,
327
+ sizeClasses,
328
+ className
329
+ );
330
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("span", { className: baseClasses, children: [
331
+ icon && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { className: "mr-1", children: icon }),
332
+ children,
333
+ removable && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
334
+ "button",
335
+ {
336
+ type: "button",
337
+ className: "ml-1.5 -mr-1 hover:opacity-70 transition-opacity",
338
+ "aria-label": "Remove",
339
+ onClick: onRemove,
340
+ children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("svg", { className: "w-3 h-3", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M6 18L18 6M6 6l12 12" }) })
341
+ }
342
+ )
343
+ ] });
344
+ }
345
+ async function renderBadge(props) {
346
+ const { children, icon, ...rest } = props;
347
+ const element = /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Badge, { ...rest, icon: icon ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { dangerouslySetInnerHTML: { __html: icon } }) : void 0, children });
348
+ return renderToString(element);
349
+ }
350
+ function renderBadgeSync(props) {
351
+ const { children, icon, ...rest } = props;
352
+ const element = /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Badge, { ...rest, icon: icon ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { dangerouslySetInnerHTML: { __html: icon } }) : void 0, children });
353
+ return renderToStringSync(element);
354
+ }
355
+
356
+ // libs/ui/src/react/Button.tsx
357
+ var import_jsx_runtime3 = require("react/jsx-runtime");
358
+ function Button({
359
+ variant = "primary",
360
+ size = "md",
361
+ disabled = false,
362
+ loading = false,
363
+ fullWidth = false,
364
+ iconPosition = "left",
365
+ icon,
366
+ iconOnly = false,
367
+ type = "button",
368
+ className,
369
+ onClick,
370
+ children
371
+ }) {
372
+ const variantClasses = getButtonVariantClasses(variant);
373
+ const sizeClasses = getButtonSizeClasses(size, iconOnly);
374
+ const disabledClasses = disabled || loading ? "opacity-50 cursor-not-allowed" : "";
375
+ const widthClasses = fullWidth ? "w-full" : "";
376
+ const allClasses = cn(BUTTON_BASE_CLASSES, variantClasses, sizeClasses, disabledClasses, widthClasses, className);
377
+ const iconElement = icon && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { className: iconPosition === "left" ? "mr-2" : "ml-2", children: icon });
378
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("button", { type, className: allClasses, disabled: disabled || loading, onClick, children: [
379
+ loading && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { className: "mr-2", dangerouslySetInnerHTML: { __html: LOADING_SPINNER } }),
380
+ !loading && icon && iconPosition === "left" && iconElement,
381
+ !iconOnly && children,
382
+ !loading && icon && iconPosition === "right" && iconElement
383
+ ] });
384
+ }
385
+ async function renderButton(props) {
386
+ const { children, icon, ...rest } = props;
387
+ const element = /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Button, { ...rest, icon: icon ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { dangerouslySetInnerHTML: { __html: icon } }) : void 0, children });
388
+ return renderToString(element);
389
+ }
390
+ function renderButtonSync(props) {
391
+ const { children, icon, ...rest } = props;
392
+ const element = /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Button, { ...rest, icon: icon ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { dangerouslySetInnerHTML: { __html: icon } }) : void 0, children });
393
+ return renderToStringSync(element);
394
+ }
395
+
396
+ // libs/ui/src/react/Alert.tsx
397
+ var import_jsx_runtime4 = require("react/jsx-runtime");
398
+ function Alert({
399
+ variant = "info",
400
+ title,
401
+ icon,
402
+ showIcon = true,
403
+ dismissible = false,
404
+ onDismiss,
405
+ className,
406
+ children
407
+ }) {
408
+ const variantStyles = getAlertVariantClasses(variant);
409
+ const allClasses = cn(ALERT_BASE_CLASSES, variantStyles.container, className);
410
+ const iconContent = icon || (showIcon ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
411
+ "span",
412
+ {
413
+ className: cn("flex-shrink-0", variantStyles.icon),
414
+ dangerouslySetInnerHTML: { __html: ALERT_ICONS[variant] }
415
+ }
416
+ ) : null);
417
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: allClasses, role: "alert", children: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: "flex", children: [
418
+ iconContent && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: "flex-shrink-0 mr-3", children: iconContent }),
419
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: "flex-1", children: [
420
+ title && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("h4", { className: "font-semibold mb-1", children: title }),
421
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: "text-sm", children })
422
+ ] }),
423
+ dismissible && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
424
+ "button",
425
+ {
426
+ type: "button",
427
+ className: "flex-shrink-0 ml-3 hover:opacity-70 transition-opacity",
428
+ "aria-label": "Dismiss",
429
+ onClick: onDismiss,
430
+ children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { dangerouslySetInnerHTML: { __html: CLOSE_ICON } })
431
+ }
432
+ )
433
+ ] }) });
434
+ }
435
+ async function renderAlert(props) {
436
+ const { children, icon, ...rest } = props;
437
+ const element = /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Alert, { ...rest, icon: icon ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { dangerouslySetInnerHTML: { __html: icon } }) : void 0, children });
438
+ return renderToString(element);
439
+ }
440
+ function renderAlertSync(props) {
441
+ const { children, icon, ...rest } = props;
442
+ const element = /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Alert, { ...rest, icon: icon ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { dangerouslySetInnerHTML: { __html: icon } }) : void 0, children });
443
+ return renderToStringSync(element);
444
+ }
445
+
446
+ // libs/ui/src/react/hooks/context.tsx
447
+ var import_react = require("react");
448
+
449
+ // libs/ui/src/bridge/core/adapter-registry.ts
450
+ var AdapterRegistry = class {
451
+ _adapters = /* @__PURE__ */ new Map();
452
+ _disabledAdapters = /* @__PURE__ */ new Set();
453
+ _adapterConfigs = /* @__PURE__ */ new Map();
454
+ _debug = false;
455
+ /**
456
+ * Enable or disable debug logging.
457
+ */
458
+ setDebug(enabled) {
459
+ this._debug = enabled;
460
+ }
461
+ /**
462
+ * Register an adapter factory with the registry.
463
+ * @param id - Unique adapter identifier
464
+ * @param factory - Factory function that creates the adapter
465
+ * @param defaultConfig - Optional default configuration
466
+ */
467
+ register(id, factory, defaultConfig) {
468
+ if (this._adapters.has(id)) {
469
+ this._log(`Overwriting existing adapter: ${id}`);
470
+ }
471
+ this._adapters.set(id, {
472
+ id,
473
+ factory,
474
+ defaultConfig
475
+ });
476
+ this._log(`Registered adapter: ${id}`);
477
+ }
478
+ /**
479
+ * Unregister an adapter from the registry.
480
+ * @param id - Adapter identifier to remove
481
+ */
482
+ unregister(id) {
483
+ const removed = this._adapters.delete(id);
484
+ if (removed) {
485
+ this._log(`Unregistered adapter: ${id}`);
486
+ }
487
+ return removed;
488
+ }
489
+ /**
490
+ * Check if an adapter is registered.
491
+ * @param id - Adapter identifier
492
+ */
493
+ has(id) {
494
+ return this._adapters.has(id);
495
+ }
496
+ /**
497
+ * Get all registered adapter IDs.
498
+ */
499
+ getRegisteredIds() {
500
+ return Array.from(this._adapters.keys());
501
+ }
502
+ /**
503
+ * Disable specific adapters (they won't be selected during auto-detection).
504
+ * @param ids - Adapter IDs to disable
505
+ */
506
+ disable(...ids) {
507
+ for (const id of ids) {
508
+ this._disabledAdapters.add(id);
509
+ this._log(`Disabled adapter: ${id}`);
510
+ }
511
+ }
512
+ /**
513
+ * Enable previously disabled adapters.
514
+ * @param ids - Adapter IDs to enable
515
+ */
516
+ enable(...ids) {
517
+ for (const id of ids) {
518
+ this._disabledAdapters.delete(id);
519
+ this._log(`Enabled adapter: ${id}`);
520
+ }
521
+ }
522
+ /**
523
+ * Check if an adapter is disabled.
524
+ * @param id - Adapter identifier
525
+ */
526
+ isDisabled(id) {
527
+ return this._disabledAdapters.has(id);
528
+ }
529
+ /**
530
+ * Set adapter-specific configuration.
531
+ * @param id - Adapter identifier
532
+ * @param config - Configuration to apply
533
+ */
534
+ configure(id, config) {
535
+ this._adapterConfigs.set(id, config);
536
+ this._log(`Configured adapter: ${id}`);
537
+ }
538
+ /**
539
+ * Get an adapter instance by ID.
540
+ * @param id - Adapter identifier
541
+ * @returns Adapter instance or undefined if not found/disabled
542
+ */
543
+ get(id) {
544
+ if (this._disabledAdapters.has(id)) {
545
+ this._log(`Adapter ${id} is disabled`);
546
+ return void 0;
547
+ }
548
+ const registration = this._adapters.get(id);
549
+ if (!registration) {
550
+ this._log(`Adapter ${id} not found`);
551
+ return void 0;
552
+ }
553
+ const config = this._mergeConfig(registration.defaultConfig, this._adapterConfigs.get(id));
554
+ if (config?.enabled === false) {
555
+ this._log(`Adapter ${id} is disabled via config`);
556
+ return void 0;
557
+ }
558
+ return registration.factory(config);
559
+ }
560
+ /**
561
+ * Auto-detect and return the best adapter for the current environment.
562
+ * Adapters are checked in priority order (highest first).
563
+ * @returns The first adapter that can handle the current environment, or undefined
564
+ */
565
+ detect() {
566
+ const candidates = this._getSortedCandidates();
567
+ for (const registration of candidates) {
568
+ if (this._disabledAdapters.has(registration.id)) {
569
+ this._log(`Skipping disabled adapter: ${registration.id}`);
570
+ continue;
571
+ }
572
+ const config = this._mergeConfig(registration.defaultConfig, this._adapterConfigs.get(registration.id));
573
+ if (config?.enabled === false) {
574
+ this._log(`Skipping adapter disabled via config: ${registration.id}`);
575
+ continue;
576
+ }
577
+ try {
578
+ const adapter = registration.factory(config);
579
+ if (adapter.canHandle()) {
580
+ this._log(`Detected adapter: ${registration.id} (priority: ${adapter.priority})`);
581
+ return adapter;
582
+ }
583
+ this._log(`Adapter ${registration.id} cannot handle current environment`);
584
+ } catch (error) {
585
+ this._log(`Error creating adapter ${registration.id}: ${error}`);
586
+ }
587
+ }
588
+ this._log("No suitable adapter detected");
589
+ return void 0;
590
+ }
591
+ /**
592
+ * Get all adapters that can handle the current environment.
593
+ * Useful for debugging or showing available options.
594
+ * @returns Array of compatible adapters sorted by priority (highest first)
595
+ */
596
+ detectAll() {
597
+ const candidates = this._getSortedCandidates();
598
+ const compatible = [];
599
+ for (const registration of candidates) {
600
+ if (this._disabledAdapters.has(registration.id)) {
601
+ continue;
602
+ }
603
+ const config = this._mergeConfig(registration.defaultConfig, this._adapterConfigs.get(registration.id));
604
+ if (config?.enabled === false) {
605
+ continue;
606
+ }
607
+ try {
608
+ const adapter = registration.factory(config);
609
+ if (adapter.canHandle()) {
610
+ compatible.push(adapter);
611
+ }
612
+ } catch {
613
+ }
614
+ }
615
+ return compatible;
616
+ }
617
+ /**
618
+ * Clear all registered adapters.
619
+ */
620
+ clear() {
621
+ this._adapters.clear();
622
+ this._disabledAdapters.clear();
623
+ this._adapterConfigs.clear();
624
+ this._log("Cleared all adapters");
625
+ }
626
+ /**
627
+ * Get sorted candidate adapters by priority (highest first).
628
+ */
629
+ _getSortedCandidates() {
630
+ const registrations = Array.from(this._adapters.values());
631
+ const withPriority = registrations.map((reg) => {
632
+ try {
633
+ const adapter = reg.factory(reg.defaultConfig);
634
+ return { registration: reg, priority: adapter.priority };
635
+ } catch {
636
+ return { registration: reg, priority: -1 };
637
+ }
638
+ });
639
+ withPriority.sort((a, b) => b.priority - a.priority);
640
+ return withPriority.map((item) => item.registration);
641
+ }
642
+ /**
643
+ * Merge default config with user config.
644
+ */
645
+ _mergeConfig(defaultConfig, userConfig) {
646
+ if (!defaultConfig && !userConfig) {
647
+ return void 0;
648
+ }
649
+ return {
650
+ ...defaultConfig,
651
+ ...userConfig,
652
+ options: {
653
+ ...defaultConfig?.options,
654
+ ...userConfig?.options
655
+ }
656
+ };
657
+ }
658
+ /**
659
+ * Log debug message if debugging is enabled.
660
+ */
661
+ _log(message) {
662
+ if (this._debug) {
663
+ console.log(`[AdapterRegistry] ${message}`);
664
+ }
665
+ }
666
+ };
667
+ var defaultRegistry = new AdapterRegistry();
668
+
669
+ // libs/ui/src/bridge/core/bridge-factory.ts
670
+ var DEFAULT_CONFIG = {
671
+ debug: false,
672
+ initTimeout: 5e3
673
+ };
674
+ var FrontMcpBridge = class {
675
+ _config;
676
+ _registry;
677
+ _adapter;
678
+ _initialized = false;
679
+ _initPromise;
680
+ /**
681
+ * Create a new FrontMcpBridge instance.
682
+ * @param config - Bridge configuration
683
+ * @param registry - Optional custom adapter registry (uses default if not provided)
684
+ */
685
+ constructor(config = {}, registry) {
686
+ this._config = { ...DEFAULT_CONFIG, ...config };
687
+ this._registry = registry || defaultRegistry;
688
+ if (this._config.debug) {
689
+ this._registry.setDebug(true);
690
+ }
691
+ if (this._config.disabledAdapters) {
692
+ this._registry.disable(...this._config.disabledAdapters);
693
+ }
694
+ if (this._config.adapterConfigs) {
695
+ for (const [id, adapterConfig] of Object.entries(this._config.adapterConfigs)) {
696
+ this._registry.configure(id, adapterConfig);
697
+ }
698
+ }
699
+ }
700
+ // ============================================
701
+ // Public Properties
702
+ // ============================================
703
+ /**
704
+ * Whether the bridge has been initialized.
705
+ */
706
+ get initialized() {
707
+ return this._initialized;
708
+ }
709
+ /**
710
+ * Current adapter ID, or undefined if not initialized.
711
+ */
712
+ get adapterId() {
713
+ return this._adapter?.id;
714
+ }
715
+ /**
716
+ * Current adapter capabilities, or undefined if not initialized.
717
+ */
718
+ get capabilities() {
719
+ return this._adapter?.capabilities;
720
+ }
721
+ // ============================================
722
+ // Lifecycle
723
+ // ============================================
724
+ /**
725
+ * Initialize the bridge.
726
+ * Auto-detects the best adapter for the current platform unless
727
+ * `forceAdapter` is specified in the config.
728
+ *
729
+ * @throws Error if no suitable adapter is found
730
+ */
731
+ async initialize() {
732
+ if (this._initPromise) {
733
+ return this._initPromise;
734
+ }
735
+ if (this._initialized) {
736
+ return;
737
+ }
738
+ this._initPromise = this._doInitialize();
739
+ try {
740
+ await this._initPromise;
741
+ } finally {
742
+ this._initPromise = void 0;
743
+ }
744
+ }
745
+ /**
746
+ * Internal initialization logic.
747
+ */
748
+ async _doInitialize() {
749
+ this._log("Initializing FrontMcpBridge...");
750
+ if (this._config.forceAdapter) {
751
+ this._adapter = this._registry.get(this._config.forceAdapter);
752
+ if (!this._adapter) {
753
+ throw new Error(`Forced adapter "${this._config.forceAdapter}" not found or disabled`);
754
+ }
755
+ this._log(`Using forced adapter: ${this._config.forceAdapter}`);
756
+ } else {
757
+ this._adapter = this._registry.detect();
758
+ if (!this._adapter) {
759
+ throw new Error("No suitable adapter detected for current environment");
760
+ }
761
+ this._log(`Auto-detected adapter: ${this._adapter.id}`);
762
+ }
763
+ try {
764
+ await this._withTimeout(this._adapter.initialize(), this._config.initTimeout || 5e3);
765
+ this._initialized = true;
766
+ this._log(`Bridge initialized with adapter: ${this._adapter.id}`);
767
+ this._emitEvent("bridge:ready", { adapter: this._adapter.id });
768
+ } catch (error) {
769
+ this._emitEvent("bridge:error", {
770
+ error: error instanceof Error ? error : new Error(String(error)),
771
+ adapter: this._adapter?.id
772
+ });
773
+ throw error;
774
+ }
775
+ }
776
+ /**
777
+ * Dispose the bridge and release resources.
778
+ */
779
+ dispose() {
780
+ if (this._adapter) {
781
+ this._adapter.dispose();
782
+ this._log(`Disposed adapter: ${this._adapter.id}`);
783
+ }
784
+ this._adapter = void 0;
785
+ this._initialized = false;
786
+ }
787
+ // ============================================
788
+ // Adapter Access
789
+ // ============================================
790
+ /**
791
+ * Get the active adapter instance.
792
+ */
793
+ getAdapter() {
794
+ return this._adapter;
795
+ }
796
+ /**
797
+ * Check if a specific capability is available.
798
+ * @param cap - Capability key to check
799
+ */
800
+ hasCapability(cap) {
801
+ return this._adapter?.capabilities[cap] === true;
802
+ }
803
+ // ============================================
804
+ // Data Access (delegate to adapter)
805
+ // ============================================
806
+ /**
807
+ * Get current theme.
808
+ */
809
+ getTheme() {
810
+ this._ensureInitialized();
811
+ return this._adapter.getTheme();
812
+ }
813
+ /**
814
+ * Get current display mode.
815
+ */
816
+ getDisplayMode() {
817
+ this._ensureInitialized();
818
+ return this._adapter.getDisplayMode();
819
+ }
820
+ /**
821
+ * Get tool input arguments.
822
+ */
823
+ getToolInput() {
824
+ this._ensureInitialized();
825
+ return this._adapter.getToolInput();
826
+ }
827
+ /**
828
+ * Get tool output/result.
829
+ */
830
+ getToolOutput() {
831
+ this._ensureInitialized();
832
+ return this._adapter.getToolOutput();
833
+ }
834
+ /**
835
+ * Get structured content (parsed output).
836
+ */
837
+ getStructuredContent() {
838
+ this._ensureInitialized();
839
+ return this._adapter.getStructuredContent();
840
+ }
841
+ /**
842
+ * Get persisted widget state.
843
+ */
844
+ getWidgetState() {
845
+ this._ensureInitialized();
846
+ return this._adapter.getWidgetState();
847
+ }
848
+ /**
849
+ * Get full host context.
850
+ */
851
+ getHostContext() {
852
+ this._ensureInitialized();
853
+ return this._adapter.getHostContext();
854
+ }
855
+ // ============================================
856
+ // Actions (delegate to adapter)
857
+ // ============================================
858
+ /**
859
+ * Call a tool on the MCP server.
860
+ * @param name - Tool name
861
+ * @param args - Tool arguments
862
+ */
863
+ async callTool(name, args) {
864
+ this._ensureInitialized();
865
+ if (!this.hasCapability("canCallTools")) {
866
+ throw new Error("Tool calls are not supported by the current adapter");
867
+ }
868
+ return this._adapter.callTool(name, args);
869
+ }
870
+ /**
871
+ * Send a follow-up message to the conversation.
872
+ * @param content - Message content
873
+ */
874
+ async sendMessage(content) {
875
+ this._ensureInitialized();
876
+ if (!this.hasCapability("canSendMessages")) {
877
+ throw new Error("Sending messages is not supported by the current adapter");
878
+ }
879
+ return this._adapter.sendMessage(content);
880
+ }
881
+ /**
882
+ * Open an external link.
883
+ * @param url - URL to open
884
+ */
885
+ async openLink(url) {
886
+ this._ensureInitialized();
887
+ return this._adapter.openLink(url);
888
+ }
889
+ /**
890
+ * Request a display mode change.
891
+ * @param mode - Desired display mode
892
+ */
893
+ async requestDisplayMode(mode) {
894
+ this._ensureInitialized();
895
+ return this._adapter.requestDisplayMode(mode);
896
+ }
897
+ /**
898
+ * Request widget close.
899
+ */
900
+ async requestClose() {
901
+ this._ensureInitialized();
902
+ return this._adapter.requestClose();
903
+ }
904
+ /**
905
+ * Set widget state (persisted across sessions).
906
+ * @param state - State object to persist
907
+ */
908
+ setWidgetState(state) {
909
+ this._ensureInitialized();
910
+ this._adapter.setWidgetState(state);
911
+ }
912
+ // ============================================
913
+ // Events (delegate to adapter)
914
+ // ============================================
915
+ /**
916
+ * Subscribe to host context changes.
917
+ * @param callback - Called when context changes
918
+ * @returns Unsubscribe function
919
+ */
920
+ onContextChange(callback) {
921
+ this._ensureInitialized();
922
+ return this._adapter.onContextChange(callback);
923
+ }
924
+ /**
925
+ * Subscribe to tool result updates.
926
+ * @param callback - Called when tool result is received
927
+ * @returns Unsubscribe function
928
+ */
929
+ onToolResult(callback) {
930
+ this._ensureInitialized();
931
+ return this._adapter.onToolResult(callback);
932
+ }
933
+ // ============================================
934
+ // Private Helpers
935
+ // ============================================
936
+ /**
937
+ * Ensure the bridge is initialized before operations.
938
+ */
939
+ _ensureInitialized() {
940
+ if (!this._initialized || !this._adapter) {
941
+ throw new Error("FrontMcpBridge is not initialized. Call initialize() first.");
942
+ }
943
+ }
944
+ /**
945
+ * Wrap a promise with a timeout.
946
+ */
947
+ _withTimeout(promise, ms) {
948
+ return new Promise((resolve, reject) => {
949
+ const timer = setTimeout(() => {
950
+ reject(new Error(`Operation timed out after ${ms}ms`));
951
+ }, ms);
952
+ promise.then((result) => {
953
+ clearTimeout(timer);
954
+ resolve(result);
955
+ }).catch((error) => {
956
+ clearTimeout(timer);
957
+ reject(error);
958
+ });
959
+ });
960
+ }
961
+ /**
962
+ * Emit a bridge event via CustomEvent.
963
+ */
964
+ _emitEvent(type, payload) {
965
+ if (typeof window !== "undefined" && typeof CustomEvent !== "undefined") {
966
+ try {
967
+ const event = new CustomEvent(type, { detail: payload });
968
+ window.dispatchEvent(event);
969
+ } catch {
970
+ }
971
+ }
972
+ }
973
+ /**
974
+ * Log debug message if debugging is enabled.
975
+ */
976
+ _log(message) {
977
+ if (this._config.debug) {
978
+ console.log(`[FrontMcpBridge] ${message}`);
979
+ }
980
+ }
981
+ };
982
+
983
+ // libs/ui/src/react/hooks/context.tsx
984
+ var import_jsx_runtime5 = require("react/jsx-runtime");
985
+ var McpBridgeContext = (0, import_react.createContext)(null);
986
+ function McpBridgeProvider({ children, config, onReady, onError }) {
987
+ const [bridge, setBridge] = (0, import_react.useState)(null);
988
+ const [loading, setLoading] = (0, import_react.useState)(true);
989
+ const [error, setError] = (0, import_react.useState)(null);
990
+ (0, import_react.useEffect)(() => {
991
+ let mounted = true;
992
+ let bridgeInstance = null;
993
+ const initBridge = async () => {
994
+ try {
995
+ bridgeInstance = new FrontMcpBridge(config);
996
+ await bridgeInstance.initialize();
997
+ if (mounted) {
998
+ setBridge(bridgeInstance);
999
+ setLoading(false);
1000
+ onReady?.(bridgeInstance);
1001
+ }
1002
+ } catch (err) {
1003
+ if (mounted) {
1004
+ const error2 = err instanceof Error ? err : new Error(String(err));
1005
+ setError(error2);
1006
+ setLoading(false);
1007
+ onError?.(error2);
1008
+ }
1009
+ }
1010
+ };
1011
+ initBridge();
1012
+ return () => {
1013
+ mounted = false;
1014
+ if (bridgeInstance) {
1015
+ bridgeInstance.dispose();
1016
+ }
1017
+ };
1018
+ }, [config, onReady, onError]);
1019
+ const contextValue = (0, import_react.useMemo)(
1020
+ () => ({
1021
+ bridge,
1022
+ loading,
1023
+ error,
1024
+ ready: !loading && !error && bridge !== null,
1025
+ adapterId: bridge?.adapterId,
1026
+ capabilities: bridge?.capabilities
1027
+ }),
1028
+ [bridge, loading, error]
1029
+ );
1030
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(McpBridgeContext.Provider, { value: contextValue, children });
1031
+ }
1032
+ var SSR_DEFAULT_CONTEXT = {
1033
+ bridge: null,
1034
+ loading: false,
1035
+ error: null,
1036
+ ready: false,
1037
+ adapterId: void 0,
1038
+ capabilities: void 0
1039
+ };
1040
+ function useMcpBridgeContext() {
1041
+ const context = (0, import_react.useContext)(McpBridgeContext);
1042
+ if (!context) {
1043
+ return SSR_DEFAULT_CONTEXT;
1044
+ }
1045
+ return context;
1046
+ }
1047
+ function useMcpBridge() {
1048
+ const { bridge } = useMcpBridgeContext();
1049
+ return bridge;
1050
+ }
1051
+ function useTheme() {
1052
+ const { bridge, ready } = useMcpBridgeContext();
1053
+ const [theme, setTheme] = (0, import_react.useState)("light");
1054
+ (0, import_react.useEffect)(() => {
1055
+ if (!ready || !bridge) return;
1056
+ setTheme(bridge.getTheme());
1057
+ const unsubscribe = bridge.onContextChange((changes) => {
1058
+ if (changes.theme) {
1059
+ setTheme(changes.theme);
1060
+ }
1061
+ });
1062
+ return unsubscribe;
1063
+ }, [bridge, ready]);
1064
+ return theme;
1065
+ }
1066
+ function useDisplayMode() {
1067
+ const { bridge, ready } = useMcpBridgeContext();
1068
+ const [displayMode, setDisplayMode] = (0, import_react.useState)("inline");
1069
+ (0, import_react.useEffect)(() => {
1070
+ if (!ready || !bridge) return;
1071
+ setDisplayMode(bridge.getDisplayMode());
1072
+ const unsubscribe = bridge.onContextChange((changes) => {
1073
+ if (changes.displayMode) {
1074
+ setDisplayMode(changes.displayMode);
1075
+ }
1076
+ });
1077
+ return unsubscribe;
1078
+ }, [bridge, ready]);
1079
+ return displayMode;
1080
+ }
1081
+ function useHostContext() {
1082
+ const { bridge, ready } = useMcpBridgeContext();
1083
+ const [context, setContext] = (0, import_react.useState)(null);
1084
+ (0, import_react.useEffect)(() => {
1085
+ if (!ready || !bridge) return;
1086
+ const adapter = bridge.getAdapter?.();
1087
+ if (adapter) {
1088
+ setContext(adapter.getHostContext());
1089
+ }
1090
+ const unsubscribe = bridge.onContextChange((changes) => {
1091
+ setContext((prev) => prev ? { ...prev, ...changes } : null);
1092
+ });
1093
+ return unsubscribe;
1094
+ }, [bridge, ready]);
1095
+ return context;
1096
+ }
1097
+ function useCapability(cap) {
1098
+ const { capabilities } = useMcpBridgeContext();
1099
+ return capabilities?.[cap] === true;
1100
+ }
1101
+
1102
+ // libs/ui/src/react/hooks/tools.tsx
1103
+ var import_react2 = require("react");
1104
+ function useToolInput() {
1105
+ const { bridge, ready } = useMcpBridgeContext();
1106
+ if (!ready || !bridge) {
1107
+ return null;
1108
+ }
1109
+ try {
1110
+ return bridge.getToolInput();
1111
+ } catch {
1112
+ return null;
1113
+ }
1114
+ }
1115
+ function useToolOutput() {
1116
+ const { bridge, ready } = useMcpBridgeContext();
1117
+ const [output, setOutput] = (0, import_react2.useState)(null);
1118
+ (0, import_react2.useEffect)(() => {
1119
+ if (!ready || !bridge) return;
1120
+ try {
1121
+ const initialOutput = bridge.getToolOutput();
1122
+ if (initialOutput !== void 0) {
1123
+ setOutput(initialOutput);
1124
+ }
1125
+ } catch {
1126
+ }
1127
+ const unsubscribe = bridge.onToolResult((result) => {
1128
+ setOutput(result);
1129
+ });
1130
+ return unsubscribe;
1131
+ }, [bridge, ready]);
1132
+ return output;
1133
+ }
1134
+ function useStructuredContent() {
1135
+ const { bridge, ready } = useMcpBridgeContext();
1136
+ if (!ready || !bridge) {
1137
+ return null;
1138
+ }
1139
+ try {
1140
+ const adapter = bridge.getAdapter?.();
1141
+ if (adapter) {
1142
+ return adapter.getStructuredContent();
1143
+ }
1144
+ return null;
1145
+ } catch {
1146
+ return null;
1147
+ }
1148
+ }
1149
+ function useCallTool(toolName, options = {}) {
1150
+ const { bridge, ready } = useMcpBridgeContext();
1151
+ const { onSuccess, onError, resetOnToolChange = true } = options;
1152
+ console.log("useCallTool", toolName, bridge);
1153
+ const [state, setState] = (0, import_react2.useState)({
1154
+ data: null,
1155
+ loading: false,
1156
+ error: null,
1157
+ called: false
1158
+ });
1159
+ (0, import_react2.useEffect)(() => {
1160
+ if (resetOnToolChange) {
1161
+ setState({
1162
+ data: null,
1163
+ loading: false,
1164
+ error: null,
1165
+ called: false
1166
+ });
1167
+ }
1168
+ }, [toolName, resetOnToolChange]);
1169
+ const reset = (0, import_react2.useCallback)(() => {
1170
+ setState({
1171
+ data: null,
1172
+ loading: false,
1173
+ error: null,
1174
+ called: false
1175
+ });
1176
+ }, []);
1177
+ const callTool = (0, import_react2.useCallback)(
1178
+ async (args) => {
1179
+ if (!ready || !bridge) {
1180
+ const error = new Error("Bridge not initialized");
1181
+ setState((prev) => ({ ...prev, error, called: true }));
1182
+ onError?.(error);
1183
+ return null;
1184
+ }
1185
+ setState((prev) => ({
1186
+ ...prev,
1187
+ loading: true,
1188
+ error: null,
1189
+ called: true
1190
+ }));
1191
+ try {
1192
+ const result = await bridge.callTool(toolName, args);
1193
+ const data = result;
1194
+ setState({
1195
+ data,
1196
+ loading: false,
1197
+ error: null,
1198
+ called: true
1199
+ });
1200
+ onSuccess?.(data);
1201
+ return data;
1202
+ } catch (err) {
1203
+ const error = err instanceof Error ? err : new Error(String(err));
1204
+ setState({
1205
+ data: null,
1206
+ loading: false,
1207
+ error,
1208
+ called: true
1209
+ });
1210
+ onError?.(error);
1211
+ return null;
1212
+ }
1213
+ },
1214
+ [bridge, ready, toolName, onSuccess, onError]
1215
+ );
1216
+ return [callTool, state, reset];
1217
+ }
1218
+ function useToolCalls(toolMap) {
1219
+ const bridge = useMcpBridge();
1220
+ const [states, setStates] = (0, import_react2.useState)(() => {
1221
+ const initial = {};
1222
+ for (const key of Object.keys(toolMap)) {
1223
+ initial[key] = { data: null, loading: false, error: null, called: false };
1224
+ }
1225
+ return initial;
1226
+ });
1227
+ const createCallFn = (0, import_react2.useCallback)(
1228
+ (key, toolName) => async (args) => {
1229
+ if (!bridge) {
1230
+ setStates((prev) => ({
1231
+ ...prev,
1232
+ [key]: {
1233
+ ...prev[key],
1234
+ error: new Error("Bridge not initialized"),
1235
+ called: true
1236
+ }
1237
+ }));
1238
+ return null;
1239
+ }
1240
+ setStates((prev) => ({
1241
+ ...prev,
1242
+ [key]: { ...prev[key], loading: true, error: null, called: true }
1243
+ }));
1244
+ try {
1245
+ const result2 = await bridge.callTool(toolName, args);
1246
+ setStates((prev) => ({
1247
+ ...prev,
1248
+ [key]: { data: result2, loading: false, error: null, called: true }
1249
+ }));
1250
+ return result2;
1251
+ } catch (err) {
1252
+ const error = err instanceof Error ? err : new Error(String(err));
1253
+ setStates((prev) => ({
1254
+ ...prev,
1255
+ [key]: { data: null, loading: false, error, called: true }
1256
+ }));
1257
+ return null;
1258
+ }
1259
+ },
1260
+ [bridge]
1261
+ );
1262
+ const createResetFn = (0, import_react2.useCallback)(
1263
+ (key) => () => {
1264
+ setStates((prev) => ({
1265
+ ...prev,
1266
+ [key]: { data: null, loading: false, error: null, called: false }
1267
+ }));
1268
+ },
1269
+ []
1270
+ );
1271
+ const result = {};
1272
+ for (const [key, toolName] of Object.entries(toolMap)) {
1273
+ const state = states[key] || {
1274
+ data: null,
1275
+ loading: false,
1276
+ error: null,
1277
+ called: false
1278
+ };
1279
+ result[key] = {
1280
+ call: createCallFn(key, toolName),
1281
+ data: state.data,
1282
+ loading: state.loading,
1283
+ error: state.error,
1284
+ reset: createResetFn(key)
1285
+ };
1286
+ }
1287
+ return result;
1288
+ }
1289
+ function useSendMessage() {
1290
+ const bridge = useMcpBridge();
1291
+ const [state, setState] = (0, import_react2.useState)({
1292
+ loading: false,
1293
+ error: null,
1294
+ sent: false
1295
+ });
1296
+ const sendMessage = (0, import_react2.useCallback)(
1297
+ async (content) => {
1298
+ if (!bridge) {
1299
+ setState({ loading: false, error: new Error("Bridge not initialized"), sent: false });
1300
+ return;
1301
+ }
1302
+ setState({ loading: true, error: null, sent: false });
1303
+ try {
1304
+ await bridge.sendMessage(content);
1305
+ setState({ loading: false, error: null, sent: true });
1306
+ } catch (err) {
1307
+ const error = err instanceof Error ? err : new Error(String(err));
1308
+ setState({ loading: false, error, sent: false });
1309
+ }
1310
+ },
1311
+ [bridge]
1312
+ );
1313
+ return [sendMessage, state];
1314
+ }
1315
+ function useOpenLink() {
1316
+ const bridge = useMcpBridge();
1317
+ return (0, import_react2.useCallback)(
1318
+ async (url) => {
1319
+ if (!bridge) {
1320
+ console.warn("Bridge not initialized, cannot open link");
1321
+ return;
1322
+ }
1323
+ await bridge.openLink(url);
1324
+ },
1325
+ [bridge]
1326
+ );
1327
+ }
1328
+
1329
+ // libs/ui/src/theme/platforms.ts
1330
+ var CLAUDE_PLATFORM = {
1331
+ id: "claude",
1332
+ name: "Claude (Artifacts)",
1333
+ supportsWidgets: true,
1334
+ supportsTailwind: true,
1335
+ supportsHtmx: false,
1336
+ // Network blocked, HTMX won't work for API calls
1337
+ networkMode: "blocked",
1338
+ scriptStrategy: "inline",
1339
+ maxInlineSize: 100 * 1024,
1340
+ // 100KB limit for artifacts
1341
+ cspRestrictions: ["script-src 'unsafe-inline'", "connect-src 'none'"],
1342
+ options: {
1343
+ mode: "artifacts",
1344
+ framework: "react"
1345
+ // Claude artifacts prefer React
1346
+ }
1347
+ };
1348
+
1349
+ // libs/ui/src/utils/escape-html.ts
1350
+ function escapeHtml(str) {
1351
+ if (str === null || str === void 0) {
1352
+ return "";
1353
+ }
1354
+ const s = String(str);
1355
+ return s.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;").replace(/\u2028/g, "\\u2028").replace(/\u2029/g, "\\u2029");
1356
+ }
1357
+
1358
+ // libs/ui/src/react/utils.ts
1359
+ var cachedReactDOMServer = null;
1360
+ function getReactDOMServer() {
1361
+ if (!cachedReactDOMServer) {
1362
+ try {
1363
+ cachedReactDOMServer = require("react-dom/server");
1364
+ } catch {
1365
+ return null;
1366
+ }
1367
+ }
1368
+ return cachedReactDOMServer;
1369
+ }
1370
+ function renderChildrenToString(children) {
1371
+ if (children == null) {
1372
+ return "";
1373
+ }
1374
+ if (typeof children === "string") {
1375
+ return escapeHtml(children);
1376
+ }
1377
+ if (typeof children === "number") {
1378
+ return String(children);
1379
+ }
1380
+ if (typeof children === "boolean") {
1381
+ return "";
1382
+ }
1383
+ try {
1384
+ const server = getReactDOMServer();
1385
+ if (server) {
1386
+ return server.renderToStaticMarkup(children);
1387
+ }
1388
+ return String(children);
1389
+ } catch {
1390
+ return String(children);
1391
+ }
1392
+ }
1393
+ function isBrowser() {
1394
+ return typeof window !== "undefined";
1395
+ }
1396
+ function isServer() {
1397
+ return typeof window === "undefined";
1398
+ }
1399
+ // Annotate the CommonJS export names for ESM import in node:
1400
+ 0 && (module.exports = {
1401
+ Alert,
1402
+ Badge,
1403
+ Button,
1404
+ Card,
1405
+ McpBridgeProvider,
1406
+ isBrowser,
1407
+ isServer,
1408
+ renderAlert,
1409
+ renderAlertSync,
1410
+ renderBadge,
1411
+ renderBadgeSync,
1412
+ renderButton,
1413
+ renderButtonSync,
1414
+ renderCard,
1415
+ renderCardSync,
1416
+ renderChildrenToString,
1417
+ useCallTool,
1418
+ useCapability,
1419
+ useDisplayMode,
1420
+ useHostContext,
1421
+ useMcpBridge,
1422
+ useMcpBridgeContext,
1423
+ useOpenLink,
1424
+ useSendMessage,
1425
+ useStructuredContent,
1426
+ useTheme,
1427
+ useToolCalls,
1428
+ useToolInput,
1429
+ useToolOutput
1430
+ });