@frontmcp/ui 0.5.1 → 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 +26 -85
  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,305 +0,0 @@
1
- "use strict";
2
- /**
3
- * MDX Renderer
4
- *
5
- * Handles MDX templates - Markdown with embedded JSX components.
6
- * Uses @mdx-js/mdx for compilation and react-dom/server for SSR.
7
- *
8
- * MDX allows mixing Markdown with React components:
9
- * - Markdown headings, lists, code blocks
10
- * - JSX component tags: `<Card />`
11
- * - JS expressions: `{output.items.map(...)}`
12
- * - Frontmatter for metadata
13
- */
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.mdxRenderer = exports.MdxRenderer = void 0;
16
- exports.buildMdxHydrationScript = buildMdxHydrationScript;
17
- const detect_1 = require("./utils/detect");
18
- const hash_1 = require("./utils/hash");
19
- const cache_1 = require("./cache");
20
- /**
21
- * Runtime CDN URLs (same as React since MDX compiles to React).
22
- */
23
- const REACT_CDN = {
24
- react: 'https://unpkg.com/react@18/umd/react.production.min.js',
25
- reactDom: 'https://unpkg.com/react-dom@18/umd/react-dom.production.min.js',
26
- };
27
- /**
28
- * Placeholder for blocked-network platforms.
29
- */
30
- const INLINE_MDX_PLACEHOLDER = `
31
- // MDX runtime not available inline yet.
32
- // For blocked-network platforms, use pre-rendered HTML templates.
33
- console.warn('[FrontMCP] MDX hydration not available on this platform.');
34
- `;
35
- /**
36
- * MDX Renderer Implementation.
37
- *
38
- * Compiles MDX (Markdown + JSX) to React components using @mdx-js/mdx,
39
- * then renders to HTML using react-dom/server.
40
- *
41
- * @example Basic MDX template
42
- * ```typescript
43
- * @Tool({
44
- * ui: {
45
- * template: `
46
- * # User Profile
47
- *
48
- * <UserCard name={output.name} email={output.email} />
49
- *
50
- * ## Recent Activity
51
- * {output.items.map(item => <ActivityItem key={item.id} {...item} />)}
52
- * `,
53
- * mdxComponents: { UserCard, ActivityItem }
54
- * }
55
- * })
56
- * ```
57
- *
58
- * @example MDX with frontmatter
59
- * ```typescript
60
- * @Tool({
61
- * ui: {
62
- * template: `
63
- * ---
64
- * title: Dashboard
65
- * ---
66
- *
67
- * # {frontmatter.title}
68
- *
69
- * <Dashboard data={output} />
70
- * `
71
- * }
72
- * })
73
- * ```
74
- */
75
- class MdxRenderer {
76
- type = 'mdx';
77
- priority = 10; // Between HTML (0) and React (20)
78
- /**
79
- * Lazy-loaded modules.
80
- */
81
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
82
- React = null;
83
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
84
- ReactDOMServer = null;
85
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
86
- jsxRuntime = null;
87
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
88
- mdxEvaluate = null;
89
- /**
90
- * Check if this renderer can handle the given template.
91
- *
92
- * Accepts strings containing MDX syntax (Markdown + JSX).
93
- */
94
- canHandle(template) {
95
- if (typeof template !== 'string') {
96
- return false;
97
- }
98
- return (0, detect_1.containsMdxSyntax)(template);
99
- }
100
- /**
101
- * Transpile MDX to executable JavaScript.
102
- *
103
- * Uses @mdx-js/mdx to compile MDX source to a module.
104
- * Note: For MDX, we use evaluate() which combines compile + run,
105
- * so this method just returns the source hash for caching purposes.
106
- */
107
- async transpile(template, _options) {
108
- const hash = (0, hash_1.hashString)(template);
109
- // Check cache - for MDX, the "code" is just the original source
110
- // since we use evaluate() which handles compilation internally
111
- const cached = cache_1.transpileCache.getByKey(hash);
112
- if (cached) {
113
- return { ...cached, cached: true };
114
- }
115
- const transpileResult = {
116
- code: template, // Store original MDX for evaluate()
117
- hash,
118
- cached: false,
119
- };
120
- // Cache the result
121
- cache_1.transpileCache.setByKey(hash, transpileResult);
122
- return transpileResult;
123
- }
124
- /**
125
- * Render MDX template to HTML string.
126
- *
127
- * Uses @mdx-js/mdx's evaluate() for clean compilation + execution,
128
- * then renders the resulting React component to HTML via SSR.
129
- */
130
- async render(template, context, options) {
131
- // Ensure dependencies are loaded
132
- await this.loadReact();
133
- await this.loadMdx();
134
- if (!this.mdxEvaluate) {
135
- throw new Error('MDX compilation requires @mdx-js/mdx. Install it: npm install @mdx-js/mdx');
136
- }
137
- // Create a cache key based on the template hash
138
- const templateHash = (0, hash_1.hashString)(template);
139
- const cacheKey = `mdx-component:${templateHash}`;
140
- // Check component cache
141
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
142
- let Content = cache_1.componentCache.get(cacheKey);
143
- if (!Content) {
144
- // Evaluate MDX source to get the component
145
- // evaluate() combines compile + run in one step
146
- const result = await this.mdxEvaluate(template, {
147
- ...this.jsxRuntime,
148
- Fragment: this.React.Fragment,
149
- development: false,
150
- });
151
- Content = result.default;
152
- // Cache the compiled component
153
- cache_1.componentCache.set(cacheKey, Content);
154
- }
155
- // Build component map with custom MDX components
156
- const mdxComponents = {
157
- // User-provided components from tool config
158
- ...options?.mdxComponents,
159
- // Wrapper that provides context to the content
160
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
161
- wrapper: ({ children }) => {
162
- return this.React.createElement('div', { className: 'mdx-content' }, children);
163
- },
164
- };
165
- // Create props that MDX can access
166
- // These become available in MDX as {props.input}, {props.output}, etc.
167
- const props = {
168
- input: context.input,
169
- output: context.output,
170
- structuredContent: context.structuredContent,
171
- helpers: context.helpers,
172
- };
173
- // Also spread output properties at top level for convenience
174
- // This allows accessing {output.name} or just {name} in MDX
175
- const spreadProps = {
176
- ...props,
177
- ...(typeof context.output === 'object' && context.output !== null ? context.output : {}),
178
- };
179
- // Create the element with components and props
180
- const element = this.React.createElement(Content, {
181
- components: mdxComponents,
182
- ...spreadProps,
183
- });
184
- // Render to HTML
185
- const html = this.ReactDOMServer.renderToString(element);
186
- // If hydration is enabled, wrap with markers
187
- if (options?.hydrate) {
188
- // Full HTML attribute escaping to prevent XSS
189
- const escapedProps = JSON.stringify(props)
190
- .replace(/&/g, '&amp;')
191
- .replace(/'/g, '&#39;')
192
- .replace(/</g, '&lt;')
193
- .replace(/>/g, '&gt;');
194
- return `<div data-mdx-hydrate="true" data-props='${escapedProps}'>${html}</div>`;
195
- }
196
- return html;
197
- }
198
- /**
199
- * Get runtime scripts for client-side functionality.
200
- */
201
- getRuntimeScripts(platform) {
202
- // For blocked-network platforms (Claude), scripts must be inline
203
- if (platform.networkMode === 'blocked') {
204
- return {
205
- headScripts: '',
206
- inlineScripts: INLINE_MDX_PLACEHOLDER,
207
- isInline: true,
208
- };
209
- }
210
- // For platforms with network access, use CDN (React required for MDX)
211
- return {
212
- headScripts: `
213
- <script crossorigin src="${REACT_CDN.react}"></script>
214
- <script crossorigin src="${REACT_CDN.reactDom}"></script>
215
- `,
216
- isInline: false,
217
- };
218
- }
219
- /**
220
- * Load React and ReactDOMServer modules.
221
- */
222
- async loadReact() {
223
- if (this.React && this.ReactDOMServer && this.jsxRuntime) {
224
- return;
225
- }
226
- try {
227
- const [react, reactDomServer, jsxRuntime] = await Promise.all([
228
- import('react'),
229
- import('react-dom/server'),
230
- import('react/jsx-runtime'),
231
- ]);
232
- this.React = react;
233
- this.ReactDOMServer = reactDomServer;
234
- this.jsxRuntime = jsxRuntime;
235
- }
236
- catch {
237
- throw new Error('React is required for MdxRenderer. Install react and react-dom: npm install react react-dom');
238
- }
239
- }
240
- /**
241
- * Load @mdx-js/mdx evaluate function.
242
- *
243
- * evaluate() is the cleanest way to run MDX - it combines
244
- * compile and run in a single step, handling all the runtime
245
- * injection automatically.
246
- */
247
- async loadMdx() {
248
- if (this.mdxEvaluate) {
249
- return;
250
- }
251
- try {
252
- const mdx = await import('@mdx-js/mdx');
253
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
254
- this.mdxEvaluate = mdx.evaluate;
255
- }
256
- catch {
257
- console.warn('[@frontmcp/ui] @mdx-js/mdx not available. MDX rendering disabled. ' +
258
- 'Install @mdx-js/mdx to enable: npm install @mdx-js/mdx');
259
- }
260
- }
261
- }
262
- exports.MdxRenderer = MdxRenderer;
263
- /**
264
- * Singleton instance of the MDX renderer.
265
- */
266
- exports.mdxRenderer = new MdxRenderer();
267
- /**
268
- * Build MDX hydration script for client-side interactivity.
269
- *
270
- * Note: MDX hydration is more complex than React hydration
271
- * because it needs the MDX runtime and component definitions.
272
- */
273
- function buildMdxHydrationScript() {
274
- return `
275
- <script>
276
- (function() {
277
- // MDX hydration requires React and component definitions
278
- if (typeof React === 'undefined' || typeof ReactDOM === 'undefined') {
279
- console.warn('[FrontMCP] React not available for MDX hydration');
280
- return;
281
- }
282
-
283
- // Find all elements marked for MDX hydration
284
- document.querySelectorAll('[data-mdx-hydrate]').forEach(function(root) {
285
- var propsJson = root.getAttribute('data-props');
286
- var props = propsJson ? JSON.parse(propsJson) : {};
287
-
288
- // MDX content is pre-rendered, hydration mainly attaches event handlers
289
- // For full interactivity, components need to be available client-side
290
- if (window.__frontmcp_mdx_content) {
291
- try {
292
- ReactDOM.hydrateRoot(root, React.createElement(
293
- window.__frontmcp_mdx_content,
294
- props
295
- ));
296
- } catch (e) {
297
- console.error('[FrontMCP] MDX hydration failed', e);
298
- }
299
- }
300
- });
301
- })();
302
- </script>
303
- `;
304
- }
305
- //# sourceMappingURL=mdx.renderer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mdx.renderer.js","sourceRoot":"","sources":["../../../src/renderers/mdx.renderer.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * MDX Renderer\n *\n * Handles MDX templates - Markdown with embedded JSX components.\n * Uses @mdx-js/mdx for compilation and react-dom/server for SSR.\n *\n * MDX allows mixing Markdown with React components:\n * - Markdown headings, lists, code blocks\n * - JSX component tags: `<Card />`\n * - JS expressions: `{output.items.map(...)}`\n * - Frontmatter for metadata\n */\n\nimport type { TemplateContext } from '../runtime/types';\nimport type { PlatformCapabilities } from '../theme';\nimport type {\n UIRenderer,\n TranspileResult,\n TranspileOptions,\n RenderOptions,\n RuntimeScripts,\n ToolUIProps,\n} from './types';\nimport { containsMdxSyntax } from './utils/detect';\nimport { hashString } from './utils/hash';\nimport { transpileCache, componentCache } from './cache';\n\n/**\n * Types this renderer can handle - MDX strings.\n */\ntype MdxTemplate = string;\n\n/**\n * Runtime CDN URLs (same as React since MDX compiles to React).\n */\nconst REACT_CDN = {\n react: 'https://unpkg.com/react@18/umd/react.production.min.js',\n reactDom: 'https://unpkg.com/react-dom@18/umd/react-dom.production.min.js',\n};\n\n/**\n * Placeholder for blocked-network platforms.\n */\nconst INLINE_MDX_PLACEHOLDER = `\n// MDX runtime not available inline yet.\n// For blocked-network platforms, use pre-rendered HTML templates.\nconsole.warn('[FrontMCP] MDX hydration not available on this platform.');\n`;\n\n/**\n * MDX Renderer Implementation.\n *\n * Compiles MDX (Markdown + JSX) to React components using @mdx-js/mdx,\n * then renders to HTML using react-dom/server.\n *\n * @example Basic MDX template\n * ```typescript\n * @Tool({\n * ui: {\n * template: `\n * # User Profile\n *\n * <UserCard name={output.name} email={output.email} />\n *\n * ## Recent Activity\n * {output.items.map(item => <ActivityItem key={item.id} {...item} />)}\n * `,\n * mdxComponents: { UserCard, ActivityItem }\n * }\n * })\n * ```\n *\n * @example MDX with frontmatter\n * ```typescript\n * @Tool({\n * ui: {\n * template: `\n * ---\n * title: Dashboard\n * ---\n *\n * # {frontmatter.title}\n *\n * <Dashboard data={output} />\n * `\n * }\n * })\n * ```\n */\nexport class MdxRenderer implements UIRenderer<MdxTemplate> {\n readonly type = 'mdx' as const;\n readonly priority = 10; // Between HTML (0) and React (20)\n\n /**\n * Lazy-loaded modules.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private React: any = null;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private ReactDOMServer: any = null;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private jsxRuntime: any = null;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private mdxEvaluate: ((source: string, options: object) => Promise<{ default: any }>) | null = null;\n\n /**\n * Check if this renderer can handle the given template.\n *\n * Accepts strings containing MDX syntax (Markdown + JSX).\n */\n canHandle(template: unknown): template is MdxTemplate {\n if (typeof template !== 'string') {\n return false;\n }\n\n return containsMdxSyntax(template);\n }\n\n /**\n * Transpile MDX to executable JavaScript.\n *\n * Uses @mdx-js/mdx to compile MDX source to a module.\n * Note: For MDX, we use evaluate() which combines compile + run,\n * so this method just returns the source hash for caching purposes.\n */\n async transpile(template: MdxTemplate, _options?: TranspileOptions): Promise<TranspileResult> {\n const hash = hashString(template);\n\n // Check cache - for MDX, the \"code\" is just the original source\n // since we use evaluate() which handles compilation internally\n const cached = transpileCache.getByKey(hash);\n if (cached) {\n return { ...cached, cached: true };\n }\n\n const transpileResult: TranspileResult = {\n code: template, // Store original MDX for evaluate()\n hash,\n cached: false,\n };\n\n // Cache the result\n transpileCache.setByKey(hash, transpileResult);\n\n return transpileResult;\n }\n\n /**\n * Render MDX template to HTML string.\n *\n * Uses @mdx-js/mdx's evaluate() for clean compilation + execution,\n * then renders the resulting React component to HTML via SSR.\n */\n async render<In, Out>(\n template: MdxTemplate,\n context: TemplateContext<In, Out>,\n options?: RenderOptions,\n ): Promise<string> {\n // Ensure dependencies are loaded\n await this.loadReact();\n await this.loadMdx();\n\n if (!this.mdxEvaluate) {\n throw new Error('MDX compilation requires @mdx-js/mdx. Install it: npm install @mdx-js/mdx');\n }\n\n // Create a cache key based on the template hash\n const templateHash = hashString(template);\n const cacheKey = `mdx-component:${templateHash}`;\n\n // Check component cache\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let Content: any = componentCache.get(cacheKey);\n\n if (!Content) {\n // Evaluate MDX source to get the component\n // evaluate() combines compile + run in one step\n const result = await this.mdxEvaluate(template, {\n ...this.jsxRuntime,\n Fragment: this.React.Fragment,\n development: false,\n });\n\n Content = result.default;\n\n // Cache the compiled component\n componentCache.set(cacheKey, Content);\n }\n\n // Build component map with custom MDX components\n const mdxComponents = {\n // User-provided components from tool config\n ...options?.mdxComponents,\n // Wrapper that provides context to the content\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n wrapper: ({ children }: { children: any }) => {\n return this.React.createElement('div', { className: 'mdx-content' }, children);\n },\n };\n\n // Create props that MDX can access\n // These become available in MDX as {props.input}, {props.output}, etc.\n const props: ToolUIProps<In, Out> = {\n input: context.input,\n output: context.output,\n structuredContent: context.structuredContent,\n helpers: context.helpers,\n };\n\n // Also spread output properties at top level for convenience\n // This allows accessing {output.name} or just {name} in MDX\n const spreadProps = {\n ...props,\n ...(typeof context.output === 'object' && context.output !== null ? context.output : {}),\n };\n\n // Create the element with components and props\n const element = this.React.createElement(Content, {\n components: mdxComponents,\n ...spreadProps,\n });\n\n // Render to HTML\n const html = this.ReactDOMServer.renderToString(element);\n\n // If hydration is enabled, wrap with markers\n if (options?.hydrate) {\n // Full HTML attribute escaping to prevent XSS\n const escapedProps = JSON.stringify(props)\n .replace(/&/g, '&amp;')\n .replace(/'/g, '&#39;')\n .replace(/</g, '&lt;')\n .replace(/>/g, '&gt;');\n return `<div data-mdx-hydrate=\"true\" data-props='${escapedProps}'>${html}</div>`;\n }\n\n return html;\n }\n\n /**\n * Get runtime scripts for client-side functionality.\n */\n getRuntimeScripts(platform: PlatformCapabilities): RuntimeScripts {\n // For blocked-network platforms (Claude), scripts must be inline\n if (platform.networkMode === 'blocked') {\n return {\n headScripts: '',\n inlineScripts: INLINE_MDX_PLACEHOLDER,\n isInline: true,\n };\n }\n\n // For platforms with network access, use CDN (React required for MDX)\n return {\n headScripts: `\n <script crossorigin src=\"${REACT_CDN.react}\"></script>\n <script crossorigin src=\"${REACT_CDN.reactDom}\"></script>\n `,\n isInline: false,\n };\n }\n\n /**\n * Load React and ReactDOMServer modules.\n */\n private async loadReact(): Promise<void> {\n if (this.React && this.ReactDOMServer && this.jsxRuntime) {\n return;\n }\n\n try {\n const [react, reactDomServer, jsxRuntime] = await Promise.all([\n import('react'),\n import('react-dom/server'),\n import('react/jsx-runtime'),\n ]);\n\n this.React = react;\n this.ReactDOMServer = reactDomServer;\n this.jsxRuntime = jsxRuntime;\n } catch {\n throw new Error('React is required for MdxRenderer. Install react and react-dom: npm install react react-dom');\n }\n }\n\n /**\n * Load @mdx-js/mdx evaluate function.\n *\n * evaluate() is the cleanest way to run MDX - it combines\n * compile and run in a single step, handling all the runtime\n * injection automatically.\n */\n private async loadMdx(): Promise<void> {\n if (this.mdxEvaluate) {\n return;\n }\n\n try {\n const mdx = await import('@mdx-js/mdx');\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.mdxEvaluate = mdx.evaluate as any;\n } catch {\n console.warn(\n '[@frontmcp/ui] @mdx-js/mdx not available. MDX rendering disabled. ' +\n 'Install @mdx-js/mdx to enable: npm install @mdx-js/mdx',\n );\n }\n }\n}\n\n/**\n * Singleton instance of the MDX renderer.\n */\nexport const mdxRenderer = new MdxRenderer();\n\n/**\n * Build MDX hydration script for client-side interactivity.\n *\n * Note: MDX hydration is more complex than React hydration\n * because it needs the MDX runtime and component definitions.\n */\nexport function buildMdxHydrationScript(): string {\n return `\n<script>\n(function() {\n // MDX hydration requires React and component definitions\n if (typeof React === 'undefined' || typeof ReactDOM === 'undefined') {\n console.warn('[FrontMCP] React not available for MDX hydration');\n return;\n }\n\n // Find all elements marked for MDX hydration\n document.querySelectorAll('[data-mdx-hydrate]').forEach(function(root) {\n var propsJson = root.getAttribute('data-props');\n var props = propsJson ? JSON.parse(propsJson) : {};\n\n // MDX content is pre-rendered, hydration mainly attaches event handlers\n // For full interactivity, components need to be available client-side\n if (window.__frontmcp_mdx_content) {\n try {\n ReactDOM.hydrateRoot(root, React.createElement(\n window.__frontmcp_mdx_content,\n props\n ));\n } catch (e) {\n console.error('[FrontMCP] MDX hydration failed', e);\n }\n }\n });\n})();\n</script>\n`;\n}\n"]}
@@ -1,95 +0,0 @@
1
- /**
2
- * React Renderer
3
- *
4
- * Handles React component templates:
5
- * - Imported React components (already transpiled)
6
- * - JSX string templates (transpiled at runtime with SWC)
7
- *
8
- * Uses react-dom/server for SSR to HTML.
9
- */
10
- import type { TemplateContext } from '../runtime/types';
11
- import type { PlatformCapabilities } from '../theme';
12
- import type { UIRenderer, TranspileResult, TranspileOptions, RenderOptions, RuntimeScripts, ToolUIProps } from './types';
13
- /**
14
- * Types this renderer can handle.
15
- */
16
- type ReactTemplate<In = unknown, Out = unknown> = ((props: ToolUIProps<In, Out>) => unknown) | string;
17
- /**
18
- * React Renderer Implementation.
19
- *
20
- * Handles:
21
- * - Imported React components (FC or class)
22
- * - JSX string templates (transpiled with SWC at runtime)
23
- *
24
- * Renders to HTML using react-dom/server's renderToString.
25
- *
26
- * @example Imported component
27
- * ```typescript
28
- * import { MyWidget } from './my-widget.tsx';
29
- *
30
- * @Tool({
31
- * ui: { template: MyWidget }
32
- * })
33
- * ```
34
- *
35
- * @example JSX string (runtime transpilation)
36
- * ```typescript
37
- * @Tool({
38
- * ui: {
39
- * template: `
40
- * function Widget({ output }) {
41
- * return <div>{output.name}</div>;
42
- * }
43
- * `
44
- * }
45
- * })
46
- * ```
47
- */
48
- export declare class ReactRenderer implements UIRenderer<ReactTemplate> {
49
- readonly type: "react";
50
- readonly priority = 20;
51
- /**
52
- * Lazy-loaded React modules.
53
- */
54
- private React;
55
- private ReactDOMServer;
56
- /**
57
- * Check if this renderer can handle the given template.
58
- *
59
- * Accepts:
60
- * - React component functions (imported, already transpiled)
61
- * - Strings containing JSX syntax
62
- */
63
- canHandle(template: unknown): template is ReactTemplate;
64
- /**
65
- * Transpile the template if needed.
66
- *
67
- * For imported React components, no transpilation is needed.
68
- * For JSX strings, SWC transpilation is performed.
69
- */
70
- transpile(template: ReactTemplate, options?: TranspileOptions): Promise<TranspileResult>;
71
- /**
72
- * Render the template to HTML string using react-dom/server.
73
- */
74
- render<In, Out>(template: ReactTemplate<In, Out>, context: TemplateContext<In, Out>, options?: RenderOptions): Promise<string>;
75
- /**
76
- * Get runtime scripts for client-side functionality.
77
- */
78
- getRuntimeScripts(platform: PlatformCapabilities): RuntimeScripts;
79
- /**
80
- * Load React and ReactDOMServer modules.
81
- */
82
- private loadReact;
83
- }
84
- /**
85
- * Singleton instance of the React renderer.
86
- */
87
- export declare const reactRenderer: ReactRenderer;
88
- /**
89
- * Build React hydration script for client-side interactivity.
90
- *
91
- * This script finds elements with data-hydrate attributes and
92
- * hydrates them with the corresponding React component.
93
- */
94
- export declare function buildHydrationScript(): string;
95
- export {};
@@ -1,260 +0,0 @@
1
- "use strict";
2
- /**
3
- * React Renderer
4
- *
5
- * Handles React component templates:
6
- * - Imported React components (already transpiled)
7
- * - JSX string templates (transpiled at runtime with SWC)
8
- *
9
- * Uses react-dom/server for SSR to HTML.
10
- */
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.reactRenderer = exports.ReactRenderer = void 0;
13
- exports.buildHydrationScript = buildHydrationScript;
14
- const detect_1 = require("./utils/detect");
15
- const hash_1 = require("./utils/hash");
16
- const transpiler_1 = require("./utils/transpiler");
17
- const cache_1 = require("./cache");
18
- /**
19
- * React runtime CDN URLs.
20
- * Using esm.sh for React 19 (ES modules).
21
- */
22
- const REACT_CDN = {
23
- react: 'https://esm.sh/react@19',
24
- reactDom: 'https://esm.sh/react-dom@19/client',
25
- };
26
- /**
27
- * Minimal inline React runtime for blocked-network platforms (Claude).
28
- * This is a placeholder - in production, we'd bundle a minified React.
29
- */
30
- const INLINE_REACT_PLACEHOLDER = `
31
- // React runtime not available inline yet.
32
- // For blocked-network platforms, use pre-rendered HTML templates.
33
- console.warn('[FrontMCP] React hydration not available on this platform.');
34
- `;
35
- /**
36
- * React Renderer Implementation.
37
- *
38
- * Handles:
39
- * - Imported React components (FC or class)
40
- * - JSX string templates (transpiled with SWC at runtime)
41
- *
42
- * Renders to HTML using react-dom/server's renderToString.
43
- *
44
- * @example Imported component
45
- * ```typescript
46
- * import { MyWidget } from './my-widget.tsx';
47
- *
48
- * @Tool({
49
- * ui: { template: MyWidget }
50
- * })
51
- * ```
52
- *
53
- * @example JSX string (runtime transpilation)
54
- * ```typescript
55
- * @Tool({
56
- * ui: {
57
- * template: `
58
- * function Widget({ output }) {
59
- * return <div>{output.name}</div>;
60
- * }
61
- * `
62
- * }
63
- * })
64
- * ```
65
- */
66
- class ReactRenderer {
67
- type = 'react';
68
- priority = 20; // Higher priority than HTML
69
- /**
70
- * Lazy-loaded React modules.
71
- */
72
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
73
- React = null;
74
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
75
- ReactDOMServer = null;
76
- /**
77
- * Check if this renderer can handle the given template.
78
- *
79
- * Accepts:
80
- * - React component functions (imported, already transpiled)
81
- * - Strings containing JSX syntax
82
- */
83
- canHandle(template) {
84
- // React component function
85
- if (typeof template === 'function' && (0, detect_1.isReactComponent)(template)) {
86
- return true;
87
- }
88
- // JSX string
89
- if (typeof template === 'string' && (0, detect_1.containsJsx)(template)) {
90
- return true;
91
- }
92
- return false;
93
- }
94
- /**
95
- * Transpile the template if needed.
96
- *
97
- * For imported React components, no transpilation is needed.
98
- * For JSX strings, SWC transpilation is performed.
99
- */
100
- async transpile(template, options) {
101
- // Imported component - no transpilation needed
102
- if (typeof template === 'function') {
103
- const hash = (0, hash_1.hashString)(template.toString());
104
- return {
105
- code: '', // No transpiled code for already-compiled components
106
- hash,
107
- cached: true,
108
- };
109
- }
110
- // JSX string - transpile with SWC
111
- if (typeof template === 'string') {
112
- return (0, transpiler_1.transpileJsx)(template, {
113
- development: options?.sourceMaps ?? false,
114
- });
115
- }
116
- throw new Error('Invalid template type for ReactRenderer');
117
- }
118
- /**
119
- * Render the template to HTML string using react-dom/server.
120
- */
121
- async render(template, context, options) {
122
- // Ensure React is loaded
123
- await this.loadReact();
124
- // Get the component function
125
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
126
- let Component;
127
- if (typeof template === 'function') {
128
- // Already a component function
129
- Component = template;
130
- }
131
- else if (typeof template === 'string') {
132
- // Transpile and execute the JSX string
133
- const transpiled = await this.transpile(template);
134
- // Check cache for the executed component
135
- const cached = cache_1.transpileCache.getByKey(`exec:${transpiled.hash}`);
136
- if (cached) {
137
- Component = cached.code;
138
- }
139
- else {
140
- // Execute the transpiled code to get the component
141
- Component = await (0, transpiler_1.executeTranspiledCode)(transpiled.code, {
142
- // Provide any additional MDX components if specified
143
- ...options?.mdxComponents,
144
- });
145
- // Cache the component function
146
- cache_1.transpileCache.setByKey(`exec:${transpiled.hash}`, {
147
- code: Component,
148
- hash: transpiled.hash,
149
- cached: false,
150
- });
151
- }
152
- }
153
- else {
154
- throw new Error('Invalid template type for ReactRenderer');
155
- }
156
- // Build props from context
157
- const props = {
158
- input: context.input,
159
- output: context.output,
160
- structuredContent: context.structuredContent,
161
- helpers: context.helpers,
162
- };
163
- // Create React element
164
- const element = this.React.createElement(Component, props);
165
- // Render to HTML string
166
- const html = this.ReactDOMServer.renderToString(element);
167
- // If hydration is enabled, wrap with hydration markers
168
- if (options?.hydrate) {
169
- const componentName = Component.name || 'Component';
170
- // Full HTML attribute escaping to prevent XSS
171
- const escapedProps = JSON.stringify(props)
172
- .replace(/&/g, '&amp;')
173
- .replace(/'/g, '&#39;')
174
- .replace(/</g, '&lt;')
175
- .replace(/>/g, '&gt;');
176
- return `<div data-hydrate="${componentName}" data-props='${escapedProps}'>${html}</div>`;
177
- }
178
- return html;
179
- }
180
- /**
181
- * Get runtime scripts for client-side functionality.
182
- */
183
- getRuntimeScripts(platform) {
184
- // For blocked-network platforms (Claude), scripts must be inline
185
- if (platform.networkMode === 'blocked') {
186
- return {
187
- headScripts: '',
188
- inlineScripts: INLINE_REACT_PLACEHOLDER,
189
- isInline: true,
190
- };
191
- }
192
- // For platforms with network access, use CDN
193
- return {
194
- headScripts: `
195
- <script crossorigin src="${REACT_CDN.react}"></script>
196
- <script crossorigin src="${REACT_CDN.reactDom}"></script>
197
- `,
198
- isInline: false,
199
- };
200
- }
201
- /**
202
- * Load React and ReactDOMServer modules.
203
- */
204
- async loadReact() {
205
- if (this.React && this.ReactDOMServer) {
206
- return;
207
- }
208
- try {
209
- this.React = await import('react');
210
- this.ReactDOMServer = await import('react-dom/server');
211
- }
212
- catch {
213
- throw new Error('React is required for ReactRenderer. Install react and react-dom: npm install react react-dom');
214
- }
215
- }
216
- }
217
- exports.ReactRenderer = ReactRenderer;
218
- /**
219
- * Singleton instance of the React renderer.
220
- */
221
- exports.reactRenderer = new ReactRenderer();
222
- /**
223
- * Build React hydration script for client-side interactivity.
224
- *
225
- * This script finds elements with data-hydrate attributes and
226
- * hydrates them with the corresponding React component.
227
- */
228
- function buildHydrationScript() {
229
- return `
230
- <script>
231
- (function() {
232
- // Wait for React to be available
233
- if (typeof React === 'undefined' || typeof ReactDOM === 'undefined') {
234
- console.warn('[FrontMCP] React not available for hydration');
235
- return;
236
- }
237
-
238
- // Find all elements marked for hydration
239
- document.querySelectorAll('[data-hydrate]').forEach(function(root) {
240
- var componentName = root.getAttribute('data-hydrate');
241
- var propsJson = root.getAttribute('data-props');
242
- var props = propsJson ? JSON.parse(propsJson) : {};
243
-
244
- // Look for the component in the global scope
245
- if (window.__frontmcp_components && window.__frontmcp_components[componentName]) {
246
- try {
247
- ReactDOM.hydrateRoot(root, React.createElement(
248
- window.__frontmcp_components[componentName],
249
- props
250
- ));
251
- } catch (e) {
252
- console.error('[FrontMCP] Hydration failed for', componentName, e);
253
- }
254
- }
255
- });
256
- })();
257
- </script>
258
- `;
259
- }
260
- //# sourceMappingURL=react.renderer.js.map