@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
@@ -1,132 +0,0 @@
1
- /**
2
- * Renderer Runtime
3
- *
4
- * Client-side runtime that manages renderer adapters and handles
5
- * communication with the FrontMCP Bridge.
6
- *
7
- * @packageDocumentation
8
- */
9
- import type { UIType, WidgetManifest } from '../types/ui-runtime';
10
- import type { RenderContext, RenderResult } from './adapters/types';
11
- /**
12
- * Runtime configuration.
13
- */
14
- export interface RendererRuntimeConfig {
15
- /** The manifest embedded in the page */
16
- manifest?: Partial<WidgetManifest>;
17
- /** Initial tool input */
18
- input?: Record<string, unknown>;
19
- /** Initial tool output */
20
- output?: unknown;
21
- /** Initial structured content */
22
- structuredContent?: unknown;
23
- /** Tool name */
24
- toolName?: string;
25
- /** Enable debug logging */
26
- debug?: boolean;
27
- }
28
- /**
29
- * Renderer Runtime.
30
- *
31
- * Client-side runtime that:
32
- * - Reads manifest from the page
33
- * - Lazy-loads the appropriate renderer adapter
34
- * - Handles tool output updates from the Bridge
35
- * - Re-renders when data changes
36
- *
37
- * @example
38
- * ```typescript
39
- * // Bootstrap from manifest in page
40
- * const runtime = new RendererRuntime();
41
- * await runtime.init();
42
- *
43
- * // Listen for updates
44
- * runtime.onUpdate((context) => {
45
- * console.log('Tool output updated:', context.output);
46
- * });
47
- * ```
48
- */
49
- export declare class RendererRuntime {
50
- private config;
51
- private adapters;
52
- private state;
53
- private updateCallbacks;
54
- private bridgeUnsubscribe;
55
- constructor(config?: RendererRuntimeConfig);
56
- /**
57
- * Initialize the runtime.
58
- * Reads manifest, sets up Bridge listeners, and prepares adapters.
59
- */
60
- init(): Promise<void>;
61
- /**
62
- * Get the current render context.
63
- */
64
- get context(): RenderContext;
65
- /**
66
- * Get the manifest.
67
- */
68
- get manifest(): Partial<WidgetManifest> | undefined;
69
- /**
70
- * Get the resolved UI type.
71
- */
72
- get uiType(): UIType;
73
- /**
74
- * Render content to a target element.
75
- *
76
- * @param target - Element to render into
77
- * @param content - Content to render (optional, uses existing innerHTML)
78
- * @param options - Render options
79
- */
80
- render(target: HTMLElement, content?: string, options?: {
81
- hydrate?: boolean;
82
- }): Promise<RenderResult>;
83
- /**
84
- * Update the render context and re-render if needed.
85
- */
86
- updateContext(updates: Partial<RenderContext>): Promise<void>;
87
- /**
88
- * Subscribe to context updates.
89
- */
90
- onUpdate(callback: (context: RenderContext) => void): () => void;
91
- /**
92
- * Clean up resources.
93
- */
94
- destroy(): void;
95
- /**
96
- * Read manifest from page.
97
- */
98
- private readManifest;
99
- /**
100
- * Read initial data from page globals.
101
- */
102
- private readPageGlobals;
103
- /**
104
- * Set up Bridge event listeners.
105
- */
106
- private setupBridgeListeners;
107
- /**
108
- * Get or load an adapter for a UI type.
109
- */
110
- private getAdapter;
111
- /**
112
- * Auto-detect UI type from content.
113
- */
114
- private detectType;
115
- /**
116
- * Log message if debug enabled.
117
- */
118
- private log;
119
- }
120
- /**
121
- * Create and initialize a renderer runtime.
122
- */
123
- export declare function createRendererRuntime(config?: RendererRuntimeConfig): Promise<RendererRuntime>;
124
- /**
125
- * Bootstrap the renderer runtime from page manifest.
126
- * This is the main entry point for the IIFE bootstrap script.
127
- */
128
- export declare function bootstrapRendererRuntime(): Promise<RendererRuntime | null>;
129
- /**
130
- * Generate the bootstrap IIFE script for embedding in HTML.
131
- */
132
- export declare function generateBootstrapScript(): string;
@@ -1,389 +0,0 @@
1
- "use strict";
2
- /**
3
- * Renderer Runtime
4
- *
5
- * Client-side runtime that manages renderer adapters and handles
6
- * communication with the FrontMCP Bridge.
7
- *
8
- * @packageDocumentation
9
- */
10
- Object.defineProperty(exports, "__esModule", { value: true });
11
- exports.RendererRuntime = void 0;
12
- exports.createRendererRuntime = createRendererRuntime;
13
- exports.bootstrapRendererRuntime = bootstrapRendererRuntime;
14
- exports.generateBootstrapScript = generateBootstrapScript;
15
- const adapters_1 = require("./adapters");
16
- /**
17
- * Renderer Runtime.
18
- *
19
- * Client-side runtime that:
20
- * - Reads manifest from the page
21
- * - Lazy-loads the appropriate renderer adapter
22
- * - Handles tool output updates from the Bridge
23
- * - Re-renders when data changes
24
- *
25
- * @example
26
- * ```typescript
27
- * // Bootstrap from manifest in page
28
- * const runtime = new RendererRuntime();
29
- * await runtime.init();
30
- *
31
- * // Listen for updates
32
- * runtime.onUpdate((context) => {
33
- * console.log('Tool output updated:', context.output);
34
- * });
35
- * ```
36
- */
37
- class RendererRuntime {
38
- config;
39
- adapters = new Map();
40
- state;
41
- updateCallbacks = [];
42
- bridgeUnsubscribe = null;
43
- constructor(config = {}) {
44
- this.config = config;
45
- this.state = {
46
- initialized: false,
47
- currentAdapter: null,
48
- currentTarget: null,
49
- context: {
50
- input: config.input ?? {},
51
- output: config.output,
52
- structuredContent: config.structuredContent,
53
- toolName: config.toolName ?? 'unknown',
54
- },
55
- };
56
- }
57
- /**
58
- * Initialize the runtime.
59
- * Reads manifest, sets up Bridge listeners, and prepares adapters.
60
- */
61
- async init() {
62
- if (this.state.initialized) {
63
- return;
64
- }
65
- this.log('Initializing RendererRuntime');
66
- // Read manifest from page
67
- this.readManifest();
68
- // Read initial data from page globals
69
- this.readPageGlobals();
70
- // Set up Bridge listeners
71
- this.setupBridgeListeners();
72
- this.state.initialized = true;
73
- this.log('RendererRuntime initialized', this.config.manifest);
74
- }
75
- /**
76
- * Get the current render context.
77
- */
78
- get context() {
79
- return { ...this.state.context };
80
- }
81
- /**
82
- * Get the manifest.
83
- */
84
- get manifest() {
85
- return this.config.manifest;
86
- }
87
- /**
88
- * Get the resolved UI type.
89
- */
90
- get uiType() {
91
- return this.config.manifest?.uiType ?? 'auto';
92
- }
93
- /**
94
- * Render content to a target element.
95
- *
96
- * @param target - Element to render into
97
- * @param content - Content to render (optional, uses existing innerHTML)
98
- * @param options - Render options
99
- */
100
- async render(target, content, options) {
101
- const type = this.uiType;
102
- const contentToRender = content ?? target.innerHTML;
103
- this.log('Rendering', { type, hasContent: !!content, hydrate: options?.hydrate });
104
- // Get or load adapter
105
- const adapter = await this.getAdapter(type, contentToRender);
106
- if (!adapter) {
107
- return {
108
- success: false,
109
- error: `No adapter available for UI type: ${type}`,
110
- };
111
- }
112
- this.state.currentAdapter = adapter;
113
- this.state.currentTarget = target;
114
- // Hydrate or render
115
- if (options?.hydrate && adapter.hydrate) {
116
- return adapter.hydrate(target, this.state.context);
117
- }
118
- if (adapter.renderToDOM) {
119
- return adapter.renderToDOM(contentToRender, target, this.state.context);
120
- }
121
- // Fallback to string render + innerHTML
122
- const html = await adapter.render(contentToRender, this.state.context);
123
- target.innerHTML = html;
124
- return { success: true, html };
125
- }
126
- /**
127
- * Update the render context and re-render if needed.
128
- */
129
- async updateContext(updates) {
130
- this.state.context = {
131
- ...this.state.context,
132
- ...updates,
133
- };
134
- this.log('Context updated', updates);
135
- // Notify callbacks
136
- for (const callback of this.updateCallbacks) {
137
- try {
138
- callback(this.state.context);
139
- }
140
- catch (error) {
141
- console.error('[FrontMCP] Update callback error:', error);
142
- }
143
- }
144
- // Re-render if we have a current target
145
- if (this.state.currentTarget && this.state.currentAdapter) {
146
- if (this.state.currentAdapter.update) {
147
- await this.state.currentAdapter.update(this.state.currentTarget, this.state.context);
148
- }
149
- }
150
- }
151
- /**
152
- * Subscribe to context updates.
153
- */
154
- onUpdate(callback) {
155
- this.updateCallbacks.push(callback);
156
- return () => {
157
- const index = this.updateCallbacks.indexOf(callback);
158
- if (index > -1) {
159
- this.updateCallbacks.splice(index, 1);
160
- }
161
- };
162
- }
163
- /**
164
- * Clean up resources.
165
- */
166
- destroy() {
167
- // Unsubscribe from Bridge
168
- if (this.bridgeUnsubscribe) {
169
- this.bridgeUnsubscribe();
170
- this.bridgeUnsubscribe = null;
171
- }
172
- // Destroy current adapter
173
- if (this.state.currentAdapter && this.state.currentTarget) {
174
- this.state.currentAdapter.destroy?.(this.state.currentTarget);
175
- }
176
- // Clear state
177
- this.state.initialized = false;
178
- this.state.currentAdapter = null;
179
- this.state.currentTarget = null;
180
- this.updateCallbacks = [];
181
- }
182
- /**
183
- * Read manifest from page.
184
- */
185
- readManifest() {
186
- // Check for manifest in script tag
187
- const manifestEl = document.getElementById('frontmcp-widget-manifest');
188
- if (manifestEl) {
189
- try {
190
- const manifest = JSON.parse(manifestEl.textContent ?? '{}');
191
- this.config.manifest = manifest;
192
- this.log('Loaded manifest from page', manifest);
193
- return;
194
- }
195
- catch {
196
- console.warn('[FrontMCP] Failed to parse manifest from page');
197
- }
198
- }
199
- // Check for __mcp_manifest script tag (legacy)
200
- const legacyManifestEl = document.getElementById('__mcp_manifest');
201
- if (legacyManifestEl) {
202
- try {
203
- const manifest = JSON.parse(legacyManifestEl.textContent ?? '{}');
204
- this.config.manifest = manifest;
205
- return;
206
- }
207
- catch {
208
- console.warn('[FrontMCP] Failed to parse legacy manifest from page');
209
- }
210
- }
211
- // Check window global
212
- const win = window;
213
- if (win.__frontmcp?.widget?.manifest) {
214
- this.config.manifest = win.__frontmcp.widget.manifest;
215
- }
216
- }
217
- /**
218
- * Read initial data from page globals.
219
- */
220
- readPageGlobals() {
221
- const win = window;
222
- // Tool name
223
- if (win.__mcpToolName) {
224
- this.state.context.toolName = win.__mcpToolName;
225
- }
226
- else if (this.config.manifest?.tool) {
227
- this.state.context.toolName = this.config.manifest.tool;
228
- }
229
- // Input
230
- if (win.__mcpToolInput) {
231
- this.state.context.input = win.__mcpToolInput;
232
- }
233
- else if (win.openai?.toolInput) {
234
- this.state.context.input = win.openai.toolInput;
235
- }
236
- // Output
237
- if (win.__mcpToolOutput !== undefined) {
238
- this.state.context.output = win.__mcpToolOutput;
239
- }
240
- else if (win.openai?.toolOutput !== undefined) {
241
- this.state.context.output = win.openai.toolOutput;
242
- }
243
- // Structured content
244
- if (win.__mcpStructuredContent !== undefined) {
245
- this.state.context.structuredContent = win.__mcpStructuredContent;
246
- }
247
- }
248
- /**
249
- * Set up Bridge event listeners.
250
- */
251
- setupBridgeListeners() {
252
- const win = window;
253
- // Listen for tool result updates via Bridge
254
- if (win.mcpBridge?.onToolResult) {
255
- this.bridgeUnsubscribe = win.mcpBridge.onToolResult((result) => {
256
- this.updateContext({ output: result });
257
- });
258
- }
259
- // Also listen for custom events
260
- window.addEventListener('frontmcp:toolOutput', ((event) => {
261
- this.updateContext({ output: event.detail });
262
- }));
263
- }
264
- /**
265
- * Get or load an adapter for a UI type.
266
- */
267
- async getAdapter(type, content) {
268
- // Check cache
269
- if (this.adapters.has(type)) {
270
- return this.adapters.get(type);
271
- }
272
- // Auto-detect type from content
273
- let resolvedType = type;
274
- if (type === 'auto' && content) {
275
- resolvedType = this.detectType(content);
276
- this.log('Auto-detected type:', resolvedType);
277
- }
278
- // Check cache again with resolved type
279
- if (this.adapters.has(resolvedType)) {
280
- return this.adapters.get(resolvedType);
281
- }
282
- // Load adapter
283
- const adapter = await (0, adapters_1.loadAdapter)(resolvedType);
284
- if (adapter) {
285
- this.adapters.set(resolvedType, adapter);
286
- if (resolvedType !== type) {
287
- this.adapters.set(type, adapter); // Cache under original type too
288
- }
289
- }
290
- return adapter;
291
- }
292
- /**
293
- * Auto-detect UI type from content.
294
- */
295
- detectType(content) {
296
- // Check for React patterns
297
- if (content.includes('React.createElement') ||
298
- content.includes('jsx(') ||
299
- /function\s+\w+\s*\([^)]*\)\s*\{[\s\S]*return\s*[\s\S]*</.test(content)) {
300
- return 'react';
301
- }
302
- // Check for MDX patterns
303
- if (/^---[\s\S]*?---/.test(content) ||
304
- /<[A-Z][a-zA-Z0-9]*[\s/>]/.test(content) ||
305
- /^import\s+/m.test(content) ||
306
- /^export\s+/m.test(content)) {
307
- return 'mdx';
308
- }
309
- // Default to HTML
310
- return 'html';
311
- }
312
- /**
313
- * Log message if debug enabled.
314
- */
315
- log(message, ...args) {
316
- if (this.config.debug) {
317
- console.log(`[FrontMCP Runtime] ${message}`, ...args);
318
- }
319
- }
320
- }
321
- exports.RendererRuntime = RendererRuntime;
322
- /**
323
- * Create and initialize a renderer runtime.
324
- */
325
- async function createRendererRuntime(config) {
326
- const runtime = new RendererRuntime(config);
327
- await runtime.init();
328
- return runtime;
329
- }
330
- /**
331
- * Bootstrap the renderer runtime from page manifest.
332
- * This is the main entry point for the IIFE bootstrap script.
333
- */
334
- async function bootstrapRendererRuntime() {
335
- // Wait for DOM to be ready
336
- if (document.readyState === 'loading') {
337
- await new Promise((resolve) => {
338
- document.addEventListener('DOMContentLoaded', () => resolve());
339
- });
340
- }
341
- try {
342
- const runtime = await createRendererRuntime({ debug: false });
343
- // Find and render the main content element
344
- const contentEl = document.querySelector('[data-frontmcp-widget]') ||
345
- document.querySelector('[data-mcp-widget]') ||
346
- document.body.firstElementChild;
347
- if (contentEl instanceof HTMLElement) {
348
- await runtime.render(contentEl, undefined, { hydrate: true });
349
- }
350
- // Expose runtime globally
351
- const win = window;
352
- win.__frontmcp = win.__frontmcp ?? {};
353
- win.__frontmcp.runtime = runtime;
354
- return runtime;
355
- }
356
- catch (error) {
357
- console.error('[FrontMCP] Failed to bootstrap renderer runtime:', error);
358
- return null;
359
- }
360
- }
361
- /**
362
- * Generate the bootstrap IIFE script for embedding in HTML.
363
- */
364
- function generateBootstrapScript() {
365
- return `
366
- <script>
367
- (function() {
368
- 'use strict';
369
-
370
- // Wait for runtime to load
371
- function bootstrap() {
372
- if (window.__frontmcp && window.__frontmcp.bootstrapRuntime) {
373
- window.__frontmcp.bootstrapRuntime();
374
- } else {
375
- // Retry after short delay
376
- setTimeout(bootstrap, 50);
377
- }
378
- }
379
-
380
- if (document.readyState === 'loading') {
381
- document.addEventListener('DOMContentLoaded', bootstrap);
382
- } else {
383
- bootstrap();
384
- }
385
- })();
386
- </script>
387
- `.trim();
388
- }
389
- //# sourceMappingURL=renderer-runtime.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"renderer-runtime.js","sourceRoot":"","sources":["../../../src/runtime/renderer-runtime.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Renderer Runtime\n *\n * Client-side runtime that manages renderer adapters and handles\n * communication with the FrontMCP Bridge.\n *\n * @packageDocumentation\n */\n\nimport type { UIType, WidgetManifest } from '../types/ui-runtime';\nimport type { RendererAdapter, RenderContext, RenderResult } from './adapters/types';\nimport { loadAdapter } from './adapters';\n\n/**\n * Runtime configuration.\n */\nexport interface RendererRuntimeConfig {\n /** The manifest embedded in the page */\n manifest?: Partial<WidgetManifest>;\n /** Initial tool input */\n input?: Record<string, unknown>;\n /** Initial tool output */\n output?: unknown;\n /** Initial structured content */\n structuredContent?: unknown;\n /** Tool name */\n toolName?: string;\n /** Enable debug logging */\n debug?: boolean;\n}\n\n/**\n * Runtime state.\n */\ninterface RuntimeState {\n initialized: boolean;\n currentAdapter: RendererAdapter | null;\n currentTarget: HTMLElement | null;\n context: RenderContext;\n}\n\n/**\n * Renderer Runtime.\n *\n * Client-side runtime that:\n * - Reads manifest from the page\n * - Lazy-loads the appropriate renderer adapter\n * - Handles tool output updates from the Bridge\n * - Re-renders when data changes\n *\n * @example\n * ```typescript\n * // Bootstrap from manifest in page\n * const runtime = new RendererRuntime();\n * await runtime.init();\n *\n * // Listen for updates\n * runtime.onUpdate((context) => {\n * console.log('Tool output updated:', context.output);\n * });\n * ```\n */\nexport class RendererRuntime {\n private config: RendererRuntimeConfig;\n private adapters = new Map<UIType, RendererAdapter>();\n private state: RuntimeState;\n private updateCallbacks: Array<(context: RenderContext) => void> = [];\n private bridgeUnsubscribe: (() => void) | null = null;\n\n constructor(config: RendererRuntimeConfig = {}) {\n this.config = config;\n this.state = {\n initialized: false,\n currentAdapter: null,\n currentTarget: null,\n context: {\n input: config.input ?? {},\n output: config.output,\n structuredContent: config.structuredContent,\n toolName: config.toolName ?? 'unknown',\n },\n };\n }\n\n /**\n * Initialize the runtime.\n * Reads manifest, sets up Bridge listeners, and prepares adapters.\n */\n async init(): Promise<void> {\n if (this.state.initialized) {\n return;\n }\n\n this.log('Initializing RendererRuntime');\n\n // Read manifest from page\n this.readManifest();\n\n // Read initial data from page globals\n this.readPageGlobals();\n\n // Set up Bridge listeners\n this.setupBridgeListeners();\n\n this.state.initialized = true;\n this.log('RendererRuntime initialized', this.config.manifest);\n }\n\n /**\n * Get the current render context.\n */\n get context(): RenderContext {\n return { ...this.state.context };\n }\n\n /**\n * Get the manifest.\n */\n get manifest(): Partial<WidgetManifest> | undefined {\n return this.config.manifest;\n }\n\n /**\n * Get the resolved UI type.\n */\n get uiType(): UIType {\n return this.config.manifest?.uiType ?? 'auto';\n }\n\n /**\n * Render content to a target element.\n *\n * @param target - Element to render into\n * @param content - Content to render (optional, uses existing innerHTML)\n * @param options - Render options\n */\n async render(target: HTMLElement, content?: string, options?: { hydrate?: boolean }): Promise<RenderResult> {\n const type = this.uiType;\n const contentToRender = content ?? target.innerHTML;\n\n this.log('Rendering', { type, hasContent: !!content, hydrate: options?.hydrate });\n\n // Get or load adapter\n const adapter = await this.getAdapter(type, contentToRender);\n\n if (!adapter) {\n return {\n success: false,\n error: `No adapter available for UI type: ${type}`,\n };\n }\n\n this.state.currentAdapter = adapter;\n this.state.currentTarget = target;\n\n // Hydrate or render\n if (options?.hydrate && adapter.hydrate) {\n return adapter.hydrate(target, this.state.context);\n }\n\n if (adapter.renderToDOM) {\n return adapter.renderToDOM(contentToRender, target, this.state.context);\n }\n\n // Fallback to string render + innerHTML\n const html = await adapter.render(contentToRender, this.state.context);\n target.innerHTML = html;\n return { success: true, html };\n }\n\n /**\n * Update the render context and re-render if needed.\n */\n async updateContext(updates: Partial<RenderContext>): Promise<void> {\n this.state.context = {\n ...this.state.context,\n ...updates,\n };\n\n this.log('Context updated', updates);\n\n // Notify callbacks\n for (const callback of this.updateCallbacks) {\n try {\n callback(this.state.context);\n } catch (error) {\n console.error('[FrontMCP] Update callback error:', error);\n }\n }\n\n // Re-render if we have a current target\n if (this.state.currentTarget && this.state.currentAdapter) {\n if (this.state.currentAdapter.update) {\n await this.state.currentAdapter.update(this.state.currentTarget, this.state.context);\n }\n }\n }\n\n /**\n * Subscribe to context updates.\n */\n onUpdate(callback: (context: RenderContext) => void): () => void {\n this.updateCallbacks.push(callback);\n return () => {\n const index = this.updateCallbacks.indexOf(callback);\n if (index > -1) {\n this.updateCallbacks.splice(index, 1);\n }\n };\n }\n\n /**\n * Clean up resources.\n */\n destroy(): void {\n // Unsubscribe from Bridge\n if (this.bridgeUnsubscribe) {\n this.bridgeUnsubscribe();\n this.bridgeUnsubscribe = null;\n }\n\n // Destroy current adapter\n if (this.state.currentAdapter && this.state.currentTarget) {\n this.state.currentAdapter.destroy?.(this.state.currentTarget);\n }\n\n // Clear state\n this.state.initialized = false;\n this.state.currentAdapter = null;\n this.state.currentTarget = null;\n this.updateCallbacks = [];\n }\n\n /**\n * Read manifest from page.\n */\n private readManifest(): void {\n // Check for manifest in script tag\n const manifestEl = document.getElementById('frontmcp-widget-manifest');\n if (manifestEl) {\n try {\n const manifest = JSON.parse(manifestEl.textContent ?? '{}');\n this.config.manifest = manifest;\n this.log('Loaded manifest from page', manifest);\n return;\n } catch {\n console.warn('[FrontMCP] Failed to parse manifest from page');\n }\n }\n\n // Check for __mcp_manifest script tag (legacy)\n const legacyManifestEl = document.getElementById('__mcp_manifest');\n if (legacyManifestEl) {\n try {\n const manifest = JSON.parse(legacyManifestEl.textContent ?? '{}');\n this.config.manifest = manifest;\n return;\n } catch {\n console.warn('[FrontMCP] Failed to parse legacy manifest from page');\n }\n }\n\n // Check window global\n const win = window as unknown as { __frontmcp?: { widget?: { manifest?: Partial<WidgetManifest> } } };\n if (win.__frontmcp?.widget?.manifest) {\n this.config.manifest = win.__frontmcp.widget.manifest;\n }\n }\n\n /**\n * Read initial data from page globals.\n */\n private readPageGlobals(): void {\n const win = window as Window & {\n __mcpToolName?: string;\n __mcpToolInput?: Record<string, unknown>;\n __mcpToolOutput?: unknown;\n __mcpStructuredContent?: unknown;\n openai?: {\n toolInput?: Record<string, unknown>;\n toolOutput?: unknown;\n };\n };\n\n // Tool name\n if (win.__mcpToolName) {\n this.state.context.toolName = win.__mcpToolName;\n } else if (this.config.manifest?.tool) {\n this.state.context.toolName = this.config.manifest.tool;\n }\n\n // Input\n if (win.__mcpToolInput) {\n this.state.context.input = win.__mcpToolInput;\n } else if (win.openai?.toolInput) {\n this.state.context.input = win.openai.toolInput;\n }\n\n // Output\n if (win.__mcpToolOutput !== undefined) {\n this.state.context.output = win.__mcpToolOutput;\n } else if (win.openai?.toolOutput !== undefined) {\n this.state.context.output = win.openai.toolOutput;\n }\n\n // Structured content\n if (win.__mcpStructuredContent !== undefined) {\n this.state.context.structuredContent = win.__mcpStructuredContent;\n }\n }\n\n /**\n * Set up Bridge event listeners.\n */\n private setupBridgeListeners(): void {\n const win = window as Window & {\n mcpBridge?: {\n onToolResult?: (callback: (result: unknown) => void) => () => void;\n };\n };\n\n // Listen for tool result updates via Bridge\n if (win.mcpBridge?.onToolResult) {\n this.bridgeUnsubscribe = win.mcpBridge.onToolResult((result) => {\n this.updateContext({ output: result });\n });\n }\n\n // Also listen for custom events\n window.addEventListener('frontmcp:toolOutput', ((event: CustomEvent) => {\n this.updateContext({ output: event.detail });\n }) as EventListener);\n }\n\n /**\n * Get or load an adapter for a UI type.\n */\n private async getAdapter(type: UIType, content?: string): Promise<RendererAdapter | null> {\n // Check cache\n if (this.adapters.has(type)) {\n return this.adapters.get(type)!;\n }\n\n // Auto-detect type from content\n let resolvedType = type;\n if (type === 'auto' && content) {\n resolvedType = this.detectType(content);\n this.log('Auto-detected type:', resolvedType);\n }\n\n // Check cache again with resolved type\n if (this.adapters.has(resolvedType)) {\n return this.adapters.get(resolvedType)!;\n }\n\n // Load adapter\n const adapter = await loadAdapter(resolvedType);\n if (adapter) {\n this.adapters.set(resolvedType, adapter);\n if (resolvedType !== type) {\n this.adapters.set(type, adapter); // Cache under original type too\n }\n }\n\n return adapter;\n }\n\n /**\n * Auto-detect UI type from content.\n */\n private detectType(content: string): UIType {\n // Check for React patterns\n if (\n content.includes('React.createElement') ||\n content.includes('jsx(') ||\n /function\\s+\\w+\\s*\\([^)]*\\)\\s*\\{[\\s\\S]*return\\s*[\\s\\S]*</.test(content)\n ) {\n return 'react';\n }\n\n // Check for MDX patterns\n if (\n /^---[\\s\\S]*?---/.test(content) ||\n /<[A-Z][a-zA-Z0-9]*[\\s/>]/.test(content) ||\n /^import\\s+/m.test(content) ||\n /^export\\s+/m.test(content)\n ) {\n return 'mdx';\n }\n\n // Default to HTML\n return 'html';\n }\n\n /**\n * Log message if debug enabled.\n */\n private log(message: string, ...args: unknown[]): void {\n if (this.config.debug) {\n console.log(`[FrontMCP Runtime] ${message}`, ...args);\n }\n }\n}\n\n/**\n * Create and initialize a renderer runtime.\n */\nexport async function createRendererRuntime(config?: RendererRuntimeConfig): Promise<RendererRuntime> {\n const runtime = new RendererRuntime(config);\n await runtime.init();\n return runtime;\n}\n\n/**\n * Bootstrap the renderer runtime from page manifest.\n * This is the main entry point for the IIFE bootstrap script.\n */\nexport async function bootstrapRendererRuntime(): Promise<RendererRuntime | null> {\n // Wait for DOM to be ready\n if (document.readyState === 'loading') {\n await new Promise<void>((resolve) => {\n document.addEventListener('DOMContentLoaded', () => resolve());\n });\n }\n\n try {\n const runtime = await createRendererRuntime({ debug: false });\n\n // Find and render the main content element\n const contentEl =\n document.querySelector('[data-frontmcp-widget]') ||\n document.querySelector('[data-mcp-widget]') ||\n document.body.firstElementChild;\n\n if (contentEl instanceof HTMLElement) {\n await runtime.render(contentEl, undefined, { hydrate: true });\n }\n\n // Expose runtime globally\n const win = window as unknown as {\n __frontmcp?: { runtime?: RendererRuntime };\n };\n win.__frontmcp = win.__frontmcp ?? {};\n win.__frontmcp.runtime = runtime;\n\n return runtime;\n } catch (error) {\n console.error('[FrontMCP] Failed to bootstrap renderer runtime:', error);\n return null;\n }\n}\n\n/**\n * Generate the bootstrap IIFE script for embedding in HTML.\n */\nexport function generateBootstrapScript(): string {\n return `\n<script>\n(function() {\n 'use strict';\n\n // Wait for runtime to load\n function bootstrap() {\n if (window.__frontmcp && window.__frontmcp.bootstrapRuntime) {\n window.__frontmcp.bootstrapRuntime();\n } else {\n // Retry after short delay\n setTimeout(bootstrap, 50);\n }\n }\n\n if (document.readyState === 'loading') {\n document.addEventListener('DOMContentLoaded', bootstrap);\n } else {\n bootstrap();\n }\n})();\n</script>\n`.trim();\n}\n"]}