@frontmcp/ui 0.5.1 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (805) hide show
  1. package/README.md +140 -362
  2. package/bridge/adapters/base-adapter.d.ts +104 -0
  3. package/bridge/adapters/base-adapter.d.ts.map +1 -0
  4. package/bridge/adapters/claude.adapter.d.ts +67 -0
  5. package/bridge/adapters/claude.adapter.d.ts.map +1 -0
  6. package/bridge/adapters/ext-apps.adapter.d.ts +143 -0
  7. package/bridge/adapters/ext-apps.adapter.d.ts.map +1 -0
  8. package/bridge/adapters/gemini.adapter.d.ts +64 -0
  9. package/bridge/adapters/gemini.adapter.d.ts.map +1 -0
  10. package/bridge/adapters/generic.adapter.d.ts +56 -0
  11. package/bridge/adapters/generic.adapter.d.ts.map +1 -0
  12. package/bridge/adapters/index.d.ts +26 -0
  13. package/bridge/adapters/index.d.ts.map +1 -0
  14. package/bridge/adapters/openai.adapter.d.ts +65 -0
  15. package/bridge/adapters/openai.adapter.d.ts.map +1 -0
  16. package/bridge/core/adapter-registry.d.ts +122 -0
  17. package/bridge/core/adapter-registry.d.ts.map +1 -0
  18. package/bridge/core/bridge-factory.d.ts +199 -0
  19. package/bridge/core/bridge-factory.d.ts.map +1 -0
  20. package/bridge/core/index.d.ts +10 -0
  21. package/bridge/core/index.d.ts.map +1 -0
  22. package/bridge/index.d.ts +62 -0
  23. package/bridge/index.d.ts.map +1 -0
  24. package/bridge/index.js +2540 -0
  25. package/bridge/runtime/iife-generator.d.ts +62 -0
  26. package/bridge/runtime/iife-generator.d.ts.map +1 -0
  27. package/bridge/runtime/index.d.ts +10 -0
  28. package/bridge/runtime/index.d.ts.map +1 -0
  29. package/bridge/types.d.ts +386 -0
  30. package/bridge/types.d.ts.map +1 -0
  31. package/bundler/bundler.d.ts +208 -0
  32. package/bundler/bundler.d.ts.map +1 -0
  33. package/bundler/cache.d.ts +173 -0
  34. package/bundler/cache.d.ts.map +1 -0
  35. package/bundler/file-cache/component-builder.d.ts +167 -0
  36. package/bundler/file-cache/component-builder.d.ts.map +1 -0
  37. package/bundler/file-cache/hash-calculator.d.ts +155 -0
  38. package/bundler/file-cache/hash-calculator.d.ts.map +1 -0
  39. package/bundler/file-cache/index.d.ts +12 -0
  40. package/bundler/file-cache/index.d.ts.map +1 -0
  41. package/bundler/file-cache/storage/filesystem.d.ts +149 -0
  42. package/bundler/file-cache/storage/filesystem.d.ts.map +1 -0
  43. package/bundler/file-cache/storage/index.d.ts +11 -0
  44. package/bundler/file-cache/storage/index.d.ts.map +1 -0
  45. package/bundler/file-cache/storage/interface.d.ts +152 -0
  46. package/bundler/file-cache/storage/interface.d.ts.map +1 -0
  47. package/bundler/file-cache/storage/redis.d.ts +139 -0
  48. package/bundler/file-cache/storage/redis.d.ts.map +1 -0
  49. package/bundler/index.d.ts +43 -0
  50. package/bundler/index.d.ts.map +1 -0
  51. package/bundler/index.js +3707 -0
  52. package/bundler/sandbox/enclave-adapter.d.ts +121 -0
  53. package/bundler/sandbox/enclave-adapter.d.ts.map +1 -0
  54. package/bundler/sandbox/executor.d.ts +14 -0
  55. package/bundler/sandbox/executor.d.ts.map +1 -0
  56. package/bundler/sandbox/policy.d.ts +62 -0
  57. package/bundler/sandbox/policy.d.ts.map +1 -0
  58. package/bundler/types.d.ts +702 -0
  59. package/bundler/types.d.ts.map +1 -0
  60. package/components/alert.d.ts +66 -0
  61. package/components/alert.d.ts.map +1 -0
  62. package/components/alert.schema.d.ts +98 -0
  63. package/components/alert.schema.d.ts.map +1 -0
  64. package/components/avatar.d.ts +77 -0
  65. package/components/avatar.d.ts.map +1 -0
  66. package/components/avatar.schema.d.ts +170 -0
  67. package/components/avatar.schema.d.ts.map +1 -0
  68. package/components/badge.d.ts +64 -0
  69. package/components/badge.d.ts.map +1 -0
  70. package/components/badge.schema.d.ts +91 -0
  71. package/components/badge.schema.d.ts.map +1 -0
  72. package/components/button.d.ts +100 -0
  73. package/components/button.d.ts.map +1 -0
  74. package/components/button.schema.d.ts +120 -0
  75. package/components/button.schema.d.ts.map +1 -0
  76. package/components/card.d.ts +53 -0
  77. package/components/card.d.ts.map +1 -0
  78. package/components/card.schema.d.ts +93 -0
  79. package/components/card.schema.d.ts.map +1 -0
  80. package/components/form.d.ts +212 -0
  81. package/components/form.d.ts.map +1 -0
  82. package/components/form.schema.d.ts +365 -0
  83. package/components/form.schema.d.ts.map +1 -0
  84. package/components/index.d.ts +29 -0
  85. package/components/index.d.ts.map +1 -0
  86. package/components/index.js +2525 -0
  87. package/components/list.d.ts +121 -0
  88. package/components/list.d.ts.map +1 -0
  89. package/components/list.schema.d.ts +129 -0
  90. package/components/list.schema.d.ts.map +1 -0
  91. package/components/modal.d.ts +100 -0
  92. package/components/modal.d.ts.map +1 -0
  93. package/components/modal.schema.d.ts +151 -0
  94. package/components/modal.schema.d.ts.map +1 -0
  95. package/components/table.d.ts +91 -0
  96. package/components/table.d.ts.map +1 -0
  97. package/components/table.schema.d.ts +123 -0
  98. package/components/table.schema.d.ts.map +1 -0
  99. package/esm/bridge/adapters/base-adapter.d.ts +104 -0
  100. package/esm/bridge/adapters/base-adapter.d.ts.map +1 -0
  101. package/esm/bridge/adapters/claude.adapter.d.ts +67 -0
  102. package/esm/bridge/adapters/claude.adapter.d.ts.map +1 -0
  103. package/esm/bridge/adapters/ext-apps.adapter.d.ts +143 -0
  104. package/esm/bridge/adapters/ext-apps.adapter.d.ts.map +1 -0
  105. package/esm/bridge/adapters/gemini.adapter.d.ts +64 -0
  106. package/esm/bridge/adapters/gemini.adapter.d.ts.map +1 -0
  107. package/esm/bridge/adapters/generic.adapter.d.ts +56 -0
  108. package/esm/bridge/adapters/generic.adapter.d.ts.map +1 -0
  109. package/esm/bridge/adapters/index.d.ts +26 -0
  110. package/esm/bridge/adapters/index.d.ts.map +1 -0
  111. package/esm/bridge/adapters/openai.adapter.d.ts +65 -0
  112. package/esm/bridge/adapters/openai.adapter.d.ts.map +1 -0
  113. package/esm/bridge/core/adapter-registry.d.ts +122 -0
  114. package/esm/bridge/core/adapter-registry.d.ts.map +1 -0
  115. package/esm/bridge/core/bridge-factory.d.ts +199 -0
  116. package/esm/bridge/core/bridge-factory.d.ts.map +1 -0
  117. package/esm/bridge/core/index.d.ts +10 -0
  118. package/esm/bridge/core/index.d.ts.map +1 -0
  119. package/esm/bridge/index.d.ts +62 -0
  120. package/esm/bridge/index.d.ts.map +1 -0
  121. package/esm/bridge/index.js +2487 -0
  122. package/esm/bridge/runtime/iife-generator.d.ts +62 -0
  123. package/esm/bridge/runtime/iife-generator.d.ts.map +1 -0
  124. package/esm/bridge/runtime/index.d.ts +10 -0
  125. package/esm/bridge/runtime/index.d.ts.map +1 -0
  126. package/esm/bridge/types.d.ts +386 -0
  127. package/esm/bridge/types.d.ts.map +1 -0
  128. package/esm/bundler/bundler.d.ts +208 -0
  129. package/esm/bundler/bundler.d.ts.map +1 -0
  130. package/esm/bundler/cache.d.ts +173 -0
  131. package/esm/bundler/cache.d.ts.map +1 -0
  132. package/esm/bundler/file-cache/component-builder.d.ts +167 -0
  133. package/esm/bundler/file-cache/component-builder.d.ts.map +1 -0
  134. package/esm/bundler/file-cache/hash-calculator.d.ts +155 -0
  135. package/esm/bundler/file-cache/hash-calculator.d.ts.map +1 -0
  136. package/esm/bundler/file-cache/index.d.ts +12 -0
  137. package/esm/bundler/file-cache/index.d.ts.map +1 -0
  138. package/esm/bundler/file-cache/storage/filesystem.d.ts +149 -0
  139. package/esm/bundler/file-cache/storage/filesystem.d.ts.map +1 -0
  140. package/esm/bundler/file-cache/storage/index.d.ts +11 -0
  141. package/esm/bundler/file-cache/storage/index.d.ts.map +1 -0
  142. package/esm/bundler/file-cache/storage/interface.d.ts +152 -0
  143. package/esm/bundler/file-cache/storage/interface.d.ts.map +1 -0
  144. package/esm/bundler/file-cache/storage/redis.d.ts +139 -0
  145. package/esm/bundler/file-cache/storage/redis.d.ts.map +1 -0
  146. package/esm/bundler/index.d.ts +43 -0
  147. package/esm/bundler/index.d.ts.map +1 -0
  148. package/esm/bundler/index.js +3640 -0
  149. package/esm/bundler/sandbox/enclave-adapter.d.ts +121 -0
  150. package/esm/bundler/sandbox/enclave-adapter.d.ts.map +1 -0
  151. package/esm/bundler/sandbox/executor.d.ts +14 -0
  152. package/esm/bundler/sandbox/executor.d.ts.map +1 -0
  153. package/esm/bundler/sandbox/policy.d.ts +62 -0
  154. package/esm/bundler/sandbox/policy.d.ts.map +1 -0
  155. package/esm/bundler/types.d.ts +702 -0
  156. package/esm/bundler/types.d.ts.map +1 -0
  157. package/esm/components/alert.d.ts +66 -0
  158. package/esm/components/alert.d.ts.map +1 -0
  159. package/esm/components/alert.schema.d.ts +98 -0
  160. package/esm/components/alert.schema.d.ts.map +1 -0
  161. package/esm/components/avatar.d.ts +77 -0
  162. package/esm/components/avatar.d.ts.map +1 -0
  163. package/esm/components/avatar.schema.d.ts +170 -0
  164. package/esm/components/avatar.schema.d.ts.map +1 -0
  165. package/esm/components/badge.d.ts +64 -0
  166. package/esm/components/badge.d.ts.map +1 -0
  167. package/esm/components/badge.schema.d.ts +91 -0
  168. package/esm/components/badge.schema.d.ts.map +1 -0
  169. package/esm/components/button.d.ts +100 -0
  170. package/esm/components/button.d.ts.map +1 -0
  171. package/esm/components/button.schema.d.ts +120 -0
  172. package/esm/components/button.schema.d.ts.map +1 -0
  173. package/esm/components/card.d.ts +53 -0
  174. package/esm/components/card.d.ts.map +1 -0
  175. package/esm/components/card.schema.d.ts +93 -0
  176. package/esm/components/card.schema.d.ts.map +1 -0
  177. package/esm/components/form.d.ts +212 -0
  178. package/esm/components/form.d.ts.map +1 -0
  179. package/esm/components/form.schema.d.ts +365 -0
  180. package/esm/components/form.schema.d.ts.map +1 -0
  181. package/esm/components/index.d.ts +29 -0
  182. package/esm/components/index.d.ts.map +1 -0
  183. package/esm/components/index.js +2396 -0
  184. package/esm/components/list.d.ts +121 -0
  185. package/esm/components/list.d.ts.map +1 -0
  186. package/esm/components/list.schema.d.ts +129 -0
  187. package/esm/components/list.schema.d.ts.map +1 -0
  188. package/esm/components/modal.d.ts +100 -0
  189. package/esm/components/modal.d.ts.map +1 -0
  190. package/esm/components/modal.schema.d.ts +151 -0
  191. package/esm/components/modal.schema.d.ts.map +1 -0
  192. package/esm/components/table.d.ts +91 -0
  193. package/esm/components/table.d.ts.map +1 -0
  194. package/esm/components/table.schema.d.ts +123 -0
  195. package/esm/components/table.schema.d.ts.map +1 -0
  196. package/esm/index.d.ts +40 -0
  197. package/esm/index.d.ts.map +1 -0
  198. package/esm/index.js +8326 -0
  199. package/esm/layouts/base.d.ts +86 -0
  200. package/esm/layouts/base.d.ts.map +1 -0
  201. package/esm/layouts/index.d.ts +8 -0
  202. package/esm/layouts/index.d.ts.map +1 -0
  203. package/esm/layouts/index.js +409 -0
  204. package/esm/layouts/presets.d.ts +134 -0
  205. package/esm/layouts/presets.d.ts.map +1 -0
  206. package/esm/package.json +72 -0
  207. package/esm/pages/consent.d.ts +117 -0
  208. package/esm/pages/consent.d.ts.map +1 -0
  209. package/esm/pages/error.d.ts +101 -0
  210. package/esm/pages/error.d.ts.map +1 -0
  211. package/esm/pages/index.d.ts +9 -0
  212. package/esm/pages/index.d.ts.map +1 -0
  213. package/esm/pages/index.js +1036 -0
  214. package/esm/react/Alert.d.ts +101 -0
  215. package/esm/react/Alert.d.ts.map +1 -0
  216. package/esm/react/Badge.d.ts +100 -0
  217. package/esm/react/Badge.d.ts.map +1 -0
  218. package/esm/react/Button.d.ts +108 -0
  219. package/esm/react/Button.d.ts.map +1 -0
  220. package/esm/react/Card.d.ts +103 -0
  221. package/esm/react/Card.d.ts.map +1 -0
  222. package/esm/react/hooks/context.d.ts +179 -0
  223. package/esm/react/hooks/context.d.ts.map +1 -0
  224. package/esm/react/hooks/index.d.ts +42 -0
  225. package/esm/react/hooks/index.d.ts.map +1 -0
  226. package/esm/react/hooks/tools.d.ts +284 -0
  227. package/esm/react/hooks/tools.d.ts.map +1 -0
  228. package/esm/react/index.d.ts +80 -0
  229. package/esm/react/index.d.ts.map +1 -0
  230. package/esm/react/index.js +3124 -0
  231. package/esm/react/types.d.ts +105 -0
  232. package/esm/react/types.d.ts.map +1 -0
  233. package/esm/react/utils.d.ts +43 -0
  234. package/esm/react/utils.d.ts.map +1 -0
  235. package/esm/render/index.d.ts +8 -0
  236. package/esm/render/index.d.ts.map +1 -0
  237. package/esm/render/index.js +45 -0
  238. package/esm/render/prerender.d.ts +57 -0
  239. package/esm/render/prerender.d.ts.map +1 -0
  240. package/esm/renderers/index.d.ts +21 -0
  241. package/esm/renderers/index.d.ts.map +1 -0
  242. package/esm/renderers/index.js +381 -0
  243. package/esm/renderers/react.adapter.d.ts +70 -0
  244. package/esm/renderers/react.adapter.d.ts.map +1 -0
  245. package/esm/renderers/react.renderer.d.ts +96 -0
  246. package/esm/renderers/react.renderer.d.ts.map +1 -0
  247. package/esm/universal/UniversalApp.d.ts +108 -0
  248. package/esm/universal/UniversalApp.d.ts.map +1 -0
  249. package/esm/universal/cached-runtime.d.ts +115 -0
  250. package/esm/universal/cached-runtime.d.ts.map +1 -0
  251. package/esm/universal/context.d.ts +122 -0
  252. package/esm/universal/context.d.ts.map +1 -0
  253. package/esm/universal/index.d.ts +57 -0
  254. package/esm/universal/index.d.ts.map +1 -0
  255. package/esm/universal/index.js +1755 -0
  256. package/esm/universal/renderers/html.renderer.d.ts +37 -0
  257. package/esm/universal/renderers/html.renderer.d.ts.map +1 -0
  258. package/esm/universal/renderers/index.d.ts +112 -0
  259. package/esm/universal/renderers/index.d.ts.map +1 -0
  260. package/esm/universal/renderers/markdown.renderer.d.ts +33 -0
  261. package/esm/universal/renderers/markdown.renderer.d.ts.map +1 -0
  262. package/esm/universal/renderers/mdx.renderer.d.ts +38 -0
  263. package/esm/universal/renderers/mdx.renderer.d.ts.map +1 -0
  264. package/esm/universal/renderers/react.renderer.d.ts +46 -0
  265. package/esm/universal/renderers/react.renderer.d.ts.map +1 -0
  266. package/esm/universal/runtime-builder.d.ts +33 -0
  267. package/esm/universal/runtime-builder.d.ts.map +1 -0
  268. package/esm/universal/store.d.ts +135 -0
  269. package/esm/universal/store.d.ts.map +1 -0
  270. package/esm/universal/types.d.ts +199 -0
  271. package/esm/universal/types.d.ts.map +1 -0
  272. package/esm/web-components/core/attribute-parser.d.ts +82 -0
  273. package/esm/web-components/core/attribute-parser.d.ts.map +1 -0
  274. package/esm/web-components/core/base-element.d.ts +197 -0
  275. package/esm/web-components/core/base-element.d.ts.map +1 -0
  276. package/esm/web-components/core/index.d.ts +9 -0
  277. package/esm/web-components/core/index.d.ts.map +1 -0
  278. package/esm/web-components/elements/fmcp-alert.d.ts +46 -0
  279. package/esm/web-components/elements/fmcp-alert.d.ts.map +1 -0
  280. package/esm/web-components/elements/fmcp-badge.d.ts +47 -0
  281. package/esm/web-components/elements/fmcp-badge.d.ts.map +1 -0
  282. package/esm/web-components/elements/fmcp-button.d.ts +117 -0
  283. package/esm/web-components/elements/fmcp-button.d.ts.map +1 -0
  284. package/esm/web-components/elements/fmcp-card.d.ts +53 -0
  285. package/esm/web-components/elements/fmcp-card.d.ts.map +1 -0
  286. package/esm/web-components/elements/fmcp-input.d.ts +96 -0
  287. package/esm/web-components/elements/fmcp-input.d.ts.map +1 -0
  288. package/esm/web-components/elements/fmcp-select.d.ts +100 -0
  289. package/esm/web-components/elements/fmcp-select.d.ts.map +1 -0
  290. package/esm/web-components/elements/index.d.ts +13 -0
  291. package/esm/web-components/elements/index.d.ts.map +1 -0
  292. package/esm/web-components/index.d.ts +50 -0
  293. package/esm/web-components/index.d.ts.map +1 -0
  294. package/esm/web-components/index.js +1993 -0
  295. package/esm/web-components/register.d.ts +57 -0
  296. package/esm/web-components/register.d.ts.map +1 -0
  297. package/esm/web-components/types.d.ts +122 -0
  298. package/esm/web-components/types.d.ts.map +1 -0
  299. package/esm/widgets/index.d.ts +8 -0
  300. package/esm/widgets/index.d.ts.map +1 -0
  301. package/esm/widgets/index.js +883 -0
  302. package/esm/widgets/progress.d.ts +133 -0
  303. package/esm/widgets/progress.d.ts.map +1 -0
  304. package/esm/widgets/resource.d.ts +163 -0
  305. package/esm/widgets/resource.d.ts.map +1 -0
  306. package/index.d.ts +40 -0
  307. package/index.d.ts.map +1 -0
  308. package/index.js +8526 -0
  309. package/layouts/base.d.ts +86 -0
  310. package/layouts/base.d.ts.map +1 -0
  311. package/layouts/index.d.ts +8 -0
  312. package/layouts/index.d.ts.map +1 -0
  313. package/layouts/index.js +437 -0
  314. package/layouts/presets.d.ts +134 -0
  315. package/layouts/presets.d.ts.map +1 -0
  316. package/package.json +33 -110
  317. package/pages/consent.d.ts +117 -0
  318. package/pages/consent.d.ts.map +1 -0
  319. package/pages/error.d.ts +101 -0
  320. package/pages/error.d.ts.map +1 -0
  321. package/pages/index.d.ts +9 -0
  322. package/pages/index.d.ts.map +1 -0
  323. package/pages/index.js +1065 -0
  324. package/react/Alert.d.ts +101 -0
  325. package/react/Alert.d.ts.map +1 -0
  326. package/react/Badge.d.ts +100 -0
  327. package/react/Badge.d.ts.map +1 -0
  328. package/react/Button.d.ts +108 -0
  329. package/react/Button.d.ts.map +1 -0
  330. package/react/Card.d.ts +103 -0
  331. package/react/Card.d.ts.map +1 -0
  332. package/react/hooks/context.d.ts +179 -0
  333. package/react/hooks/context.d.ts.map +1 -0
  334. package/react/hooks/index.d.ts +42 -0
  335. package/react/hooks/index.d.ts.map +1 -0
  336. package/react/hooks/tools.d.ts +284 -0
  337. package/react/hooks/tools.d.ts.map +1 -0
  338. package/react/index.d.ts +80 -0
  339. package/react/index.d.ts.map +1 -0
  340. package/react/index.js +3160 -0
  341. package/react/types.d.ts +105 -0
  342. package/react/types.d.ts.map +1 -0
  343. package/react/utils.d.ts +43 -0
  344. package/react/utils.d.ts.map +1 -0
  345. package/render/index.d.ts +8 -0
  346. package/render/index.d.ts.map +1 -0
  347. package/render/index.js +77 -0
  348. package/render/prerender.d.ts +57 -0
  349. package/render/prerender.d.ts.map +1 -0
  350. package/renderers/index.d.ts +21 -0
  351. package/renderers/index.d.ts.map +1 -0
  352. package/renderers/index.js +416 -0
  353. package/renderers/react.adapter.d.ts +70 -0
  354. package/renderers/react.adapter.d.ts.map +1 -0
  355. package/renderers/react.renderer.d.ts +96 -0
  356. package/renderers/react.renderer.d.ts.map +1 -0
  357. package/universal/UniversalApp.d.ts +108 -0
  358. package/universal/UniversalApp.d.ts.map +1 -0
  359. package/universal/cached-runtime.d.ts +115 -0
  360. package/universal/cached-runtime.d.ts.map +1 -0
  361. package/universal/context.d.ts +122 -0
  362. package/universal/context.d.ts.map +1 -0
  363. package/universal/index.d.ts +57 -0
  364. package/universal/index.d.ts.map +1 -0
  365. package/universal/index.js +1841 -0
  366. package/universal/renderers/html.renderer.d.ts +37 -0
  367. package/universal/renderers/html.renderer.d.ts.map +1 -0
  368. package/universal/renderers/index.d.ts +112 -0
  369. package/universal/renderers/index.d.ts.map +1 -0
  370. package/universal/renderers/markdown.renderer.d.ts +33 -0
  371. package/universal/renderers/markdown.renderer.d.ts.map +1 -0
  372. package/universal/renderers/mdx.renderer.d.ts +38 -0
  373. package/universal/renderers/mdx.renderer.d.ts.map +1 -0
  374. package/universal/renderers/react.renderer.d.ts +46 -0
  375. package/universal/renderers/react.renderer.d.ts.map +1 -0
  376. package/universal/runtime-builder.d.ts +33 -0
  377. package/universal/runtime-builder.d.ts.map +1 -0
  378. package/universal/store.d.ts +135 -0
  379. package/universal/store.d.ts.map +1 -0
  380. package/universal/types.d.ts +199 -0
  381. package/universal/types.d.ts.map +1 -0
  382. package/web-components/core/attribute-parser.d.ts +82 -0
  383. package/web-components/core/attribute-parser.d.ts.map +1 -0
  384. package/web-components/core/base-element.d.ts +197 -0
  385. package/web-components/core/base-element.d.ts.map +1 -0
  386. package/web-components/core/index.d.ts +9 -0
  387. package/web-components/core/index.d.ts.map +1 -0
  388. package/web-components/elements/fmcp-alert.d.ts +46 -0
  389. package/web-components/elements/fmcp-alert.d.ts.map +1 -0
  390. package/web-components/elements/fmcp-badge.d.ts +47 -0
  391. package/web-components/elements/fmcp-badge.d.ts.map +1 -0
  392. package/web-components/elements/fmcp-button.d.ts +117 -0
  393. package/web-components/elements/fmcp-button.d.ts.map +1 -0
  394. package/web-components/elements/fmcp-card.d.ts +53 -0
  395. package/web-components/elements/fmcp-card.d.ts.map +1 -0
  396. package/web-components/elements/fmcp-input.d.ts +96 -0
  397. package/web-components/elements/fmcp-input.d.ts.map +1 -0
  398. package/web-components/elements/fmcp-select.d.ts +100 -0
  399. package/web-components/elements/fmcp-select.d.ts.map +1 -0
  400. package/web-components/elements/index.d.ts +13 -0
  401. package/web-components/elements/index.d.ts.map +1 -0
  402. package/web-components/index.d.ts +50 -0
  403. package/web-components/index.d.ts.map +1 -0
  404. package/web-components/index.js +2028 -0
  405. package/web-components/register.d.ts +57 -0
  406. package/web-components/register.d.ts.map +1 -0
  407. package/web-components/types.d.ts +122 -0
  408. package/web-components/types.d.ts.map +1 -0
  409. package/widgets/index.d.ts +8 -0
  410. package/widgets/index.d.ts.map +1 -0
  411. package/widgets/index.js +910 -0
  412. package/widgets/progress.d.ts +133 -0
  413. package/widgets/progress.d.ts.map +1 -0
  414. package/widgets/resource.d.ts +163 -0
  415. package/widgets/resource.d.ts.map +1 -0
  416. package/src/adapters/index.d.ts +0 -10
  417. package/src/adapters/index.js +0 -18
  418. package/src/adapters/index.js.map +0 -1
  419. package/src/adapters/platform-meta.d.ts +0 -165
  420. package/src/adapters/platform-meta.js +0 -310
  421. package/src/adapters/platform-meta.js.map +0 -1
  422. package/src/base-template/bridge.d.ts +0 -89
  423. package/src/base-template/bridge.js +0 -452
  424. package/src/base-template/bridge.js.map +0 -1
  425. package/src/base-template/default-base-template.d.ts +0 -91
  426. package/src/base-template/default-base-template.js +0 -435
  427. package/src/base-template/default-base-template.js.map +0 -1
  428. package/src/base-template/index.d.ts +0 -14
  429. package/src/base-template/index.js +0 -30
  430. package/src/base-template/index.js.map +0 -1
  431. package/src/base-template/polyfills.d.ts +0 -30
  432. package/src/base-template/polyfills.js +0 -190
  433. package/src/base-template/polyfills.js.map +0 -1
  434. package/src/base-template/theme-styles.d.ts +0 -73
  435. package/src/base-template/theme-styles.js +0 -95
  436. package/src/base-template/theme-styles.js.map +0 -1
  437. package/src/bridge/adapters/base-adapter.d.ts +0 -103
  438. package/src/bridge/adapters/base-adapter.js +0 -314
  439. package/src/bridge/adapters/base-adapter.js.map +0 -1
  440. package/src/bridge/adapters/claude.adapter.d.ts +0 -66
  441. package/src/bridge/adapters/claude.adapter.js +0 -145
  442. package/src/bridge/adapters/claude.adapter.js.map +0 -1
  443. package/src/bridge/adapters/ext-apps.adapter.d.ts +0 -142
  444. package/src/bridge/adapters/ext-apps.adapter.js +0 -416
  445. package/src/bridge/adapters/ext-apps.adapter.js.map +0 -1
  446. package/src/bridge/adapters/gemini.adapter.d.ts +0 -63
  447. package/src/bridge/adapters/gemini.adapter.js +0 -160
  448. package/src/bridge/adapters/gemini.adapter.js.map +0 -1
  449. package/src/bridge/adapters/generic.adapter.d.ts +0 -55
  450. package/src/bridge/adapters/generic.adapter.js +0 -108
  451. package/src/bridge/adapters/generic.adapter.js.map +0 -1
  452. package/src/bridge/adapters/index.d.ts +0 -25
  453. package/src/bridge/adapters/index.js +0 -65
  454. package/src/bridge/adapters/index.js.map +0 -1
  455. package/src/bridge/adapters/openai.adapter.d.ts +0 -64
  456. package/src/bridge/adapters/openai.adapter.js +0 -194
  457. package/src/bridge/adapters/openai.adapter.js.map +0 -1
  458. package/src/bridge/core/adapter-registry.d.ts +0 -121
  459. package/src/bridge/core/adapter-registry.js +0 -271
  460. package/src/bridge/core/adapter-registry.js.map +0 -1
  461. package/src/bridge/core/bridge-factory.d.ts +0 -198
  462. package/src/bridge/core/bridge-factory.js +0 -428
  463. package/src/bridge/core/bridge-factory.js.map +0 -1
  464. package/src/bridge/core/index.d.ts +0 -9
  465. package/src/bridge/core/index.js +0 -22
  466. package/src/bridge/core/index.js.map +0 -1
  467. package/src/bridge/index.d.ts +0 -61
  468. package/src/bridge/index.js +0 -94
  469. package/src/bridge/index.js.map +0 -1
  470. package/src/bridge/runtime/iife-generator.d.ts +0 -61
  471. package/src/bridge/runtime/iife-generator.js +0 -940
  472. package/src/bridge/runtime/iife-generator.js.map +0 -1
  473. package/src/bridge/runtime/index.d.ts +0 -8
  474. package/src/bridge/runtime/index.js +0 -16
  475. package/src/bridge/runtime/index.js.map +0 -1
  476. package/src/bridge/types.d.ts +0 -385
  477. package/src/bridge/types.js +0 -11
  478. package/src/bridge/types.js.map +0 -1
  479. package/src/build/cdn-resources.d.ts +0 -140
  480. package/src/build/cdn-resources.js +0 -314
  481. package/src/build/cdn-resources.js.map +0 -1
  482. package/src/build/index.d.ts +0 -294
  483. package/src/build/index.js +0 -325
  484. package/src/build/index.js.map +0 -1
  485. package/src/build/widget-manifest.d.ts +0 -212
  486. package/src/build/widget-manifest.js +0 -652
  487. package/src/build/widget-manifest.js.map +0 -1
  488. package/src/bundler/bundler.d.ts +0 -110
  489. package/src/bundler/bundler.js +0 -432
  490. package/src/bundler/bundler.js.map +0 -1
  491. package/src/bundler/cache.d.ts +0 -172
  492. package/src/bundler/cache.js +0 -250
  493. package/src/bundler/cache.js.map +0 -1
  494. package/src/bundler/index.d.ts +0 -41
  495. package/src/bundler/index.js +0 -73
  496. package/src/bundler/index.js.map +0 -1
  497. package/src/bundler/sandbox/enclave-adapter.d.ts +0 -120
  498. package/src/bundler/sandbox/enclave-adapter.js +0 -339
  499. package/src/bundler/sandbox/enclave-adapter.js.map +0 -1
  500. package/src/bundler/sandbox/executor.d.ts +0 -13
  501. package/src/bundler/sandbox/executor.js +0 -22
  502. package/src/bundler/sandbox/executor.js.map +0 -1
  503. package/src/bundler/sandbox/policy.d.ts +0 -61
  504. package/src/bundler/sandbox/policy.js +0 -238
  505. package/src/bundler/sandbox/policy.js.map +0 -1
  506. package/src/bundler/types.d.ts +0 -347
  507. package/src/bundler/types.js +0 -132
  508. package/src/bundler/types.js.map +0 -1
  509. package/src/components/alert.d.ts +0 -71
  510. package/src/components/alert.js +0 -189
  511. package/src/components/alert.js.map +0 -1
  512. package/src/components/alert.schema.d.ts +0 -114
  513. package/src/components/alert.schema.js +0 -105
  514. package/src/components/alert.schema.js.map +0 -1
  515. package/src/components/avatar.d.ts +0 -76
  516. package/src/components/avatar.js +0 -176
  517. package/src/components/avatar.js.map +0 -1
  518. package/src/components/avatar.schema.d.ts +0 -169
  519. package/src/components/avatar.schema.js +0 -103
  520. package/src/components/avatar.schema.js.map +0 -1
  521. package/src/components/badge.d.ts +0 -70
  522. package/src/components/badge.js +0 -149
  523. package/src/components/badge.js.map +0 -1
  524. package/src/components/badge.schema.d.ts +0 -109
  525. package/src/components/badge.schema.js +0 -96
  526. package/src/components/badge.schema.js.map +0 -1
  527. package/src/components/button.d.ts +0 -111
  528. package/src/components/button.js +0 -336
  529. package/src/components/button.js.map +0 -1
  530. package/src/components/button.schema.d.ts +0 -148
  531. package/src/components/button.schema.js +0 -121
  532. package/src/components/button.schema.js.map +0 -1
  533. package/src/components/card.d.ts +0 -60
  534. package/src/components/card.js +0 -117
  535. package/src/components/card.js.map +0 -1
  536. package/src/components/card.schema.d.ts +0 -113
  537. package/src/components/card.schema.js +0 -98
  538. package/src/components/card.schema.js.map +0 -1
  539. package/src/components/form.d.ts +0 -239
  540. package/src/components/form.js +0 -420
  541. package/src/components/form.js.map +0 -1
  542. package/src/components/form.schema.d.ts +0 -441
  543. package/src/components/form.schema.js +0 -406
  544. package/src/components/form.schema.js.map +0 -1
  545. package/src/components/index.d.ts +0 -29
  546. package/src/components/index.js +0 -98
  547. package/src/components/index.js.map +0 -1
  548. package/src/components/list.d.ts +0 -127
  549. package/src/components/list.js +0 -279
  550. package/src/components/list.js.map +0 -1
  551. package/src/components/list.schema.d.ts +0 -134
  552. package/src/components/list.schema.js +0 -168
  553. package/src/components/list.schema.js.map +0 -1
  554. package/src/components/modal.d.ts +0 -111
  555. package/src/components/modal.js +0 -260
  556. package/src/components/modal.js.map +0 -1
  557. package/src/components/modal.schema.d.ts +0 -186
  558. package/src/components/modal.schema.js +0 -167
  559. package/src/components/modal.schema.js.map +0 -1
  560. package/src/components/table.d.ts +0 -105
  561. package/src/components/table.js +0 -283
  562. package/src/components/table.js.map +0 -1
  563. package/src/components/table.schema.d.ts +0 -159
  564. package/src/components/table.schema.js +0 -173
  565. package/src/components/table.schema.js.map +0 -1
  566. package/src/handlebars/helpers.d.ts +0 -348
  567. package/src/handlebars/helpers.js +0 -605
  568. package/src/handlebars/helpers.js.map +0 -1
  569. package/src/handlebars/index.d.ts +0 -193
  570. package/src/handlebars/index.js +0 -350
  571. package/src/handlebars/index.js.map +0 -1
  572. package/src/index.d.ts +0 -50
  573. package/src/index.js +0 -192
  574. package/src/index.js.map +0 -1
  575. package/src/layouts/base.d.ts +0 -88
  576. package/src/layouts/base.js +0 -227
  577. package/src/layouts/base.js.map +0 -1
  578. package/src/layouts/index.d.ts +0 -7
  579. package/src/layouts/index.js +0 -25
  580. package/src/layouts/index.js.map +0 -1
  581. package/src/layouts/presets.d.ts +0 -133
  582. package/src/layouts/presets.js +0 -277
  583. package/src/layouts/presets.js.map +0 -1
  584. package/src/pages/consent.d.ts +0 -116
  585. package/src/pages/consent.js +0 -218
  586. package/src/pages/consent.js.map +0 -1
  587. package/src/pages/error.d.ts +0 -100
  588. package/src/pages/error.js +0 -263
  589. package/src/pages/error.js.map +0 -1
  590. package/src/pages/index.d.ts +0 -8
  591. package/src/pages/index.js +0 -27
  592. package/src/pages/index.js.map +0 -1
  593. package/src/react/Alert.d.ts +0 -101
  594. package/src/react/Alert.js +0 -51
  595. package/src/react/Alert.js.map +0 -1
  596. package/src/react/Badge.d.ts +0 -100
  597. package/src/react/Badge.js +0 -55
  598. package/src/react/Badge.js.map +0 -1
  599. package/src/react/Button.d.ts +0 -108
  600. package/src/react/Button.js +0 -52
  601. package/src/react/Button.js.map +0 -1
  602. package/src/react/Card.d.ts +0 -103
  603. package/src/react/Card.js +0 -55
  604. package/src/react/Card.js.map +0 -1
  605. package/src/react/hooks/context.d.ts +0 -178
  606. package/src/react/hooks/context.js +0 -287
  607. package/src/react/hooks/context.js.map +0 -1
  608. package/src/react/hooks/index.d.ts +0 -41
  609. package/src/react/hooks/index.js +0 -61
  610. package/src/react/hooks/index.js.map +0 -1
  611. package/src/react/hooks/tools.d.ts +0 -283
  612. package/src/react/hooks/tools.js +0 -465
  613. package/src/react/hooks/tools.js.map +0 -1
  614. package/src/react/index.d.ts +0 -80
  615. package/src/react/index.js +0 -113
  616. package/src/react/index.js.map +0 -1
  617. package/src/react/types.d.ts +0 -105
  618. package/src/react/types.js +0 -12
  619. package/src/react/types.js.map +0 -1
  620. package/src/react/utils.d.ts +0 -42
  621. package/src/react/utils.js +0 -99
  622. package/src/react/utils.js.map +0 -1
  623. package/src/registry/index.d.ts +0 -45
  624. package/src/registry/index.js +0 -67
  625. package/src/registry/index.js.map +0 -1
  626. package/src/registry/render-template.d.ts +0 -86
  627. package/src/registry/render-template.js +0 -239
  628. package/src/registry/render-template.js.map +0 -1
  629. package/src/registry/tool-ui.registry.d.ts +0 -260
  630. package/src/registry/tool-ui.registry.js +0 -438
  631. package/src/registry/tool-ui.registry.js.map +0 -1
  632. package/src/registry/uri-utils.d.ts +0 -55
  633. package/src/registry/uri-utils.js +0 -97
  634. package/src/registry/uri-utils.js.map +0 -1
  635. package/src/render/index.d.ts +0 -7
  636. package/src/render/index.js +0 -14
  637. package/src/render/index.js.map +0 -1
  638. package/src/render/prerender.d.ts +0 -56
  639. package/src/render/prerender.js +0 -98
  640. package/src/render/prerender.js.map +0 -1
  641. package/src/renderers/cache.d.ts +0 -144
  642. package/src/renderers/cache.js +0 -240
  643. package/src/renderers/cache.js.map +0 -1
  644. package/src/renderers/html.renderer.d.ts +0 -122
  645. package/src/renderers/html.renderer.js +0 -204
  646. package/src/renderers/html.renderer.js.map +0 -1
  647. package/src/renderers/index.d.ts +0 -35
  648. package/src/renderers/index.js +0 -70
  649. package/src/renderers/index.js.map +0 -1
  650. package/src/renderers/mdx.renderer.d.ts +0 -119
  651. package/src/renderers/mdx.renderer.js +0 -305
  652. package/src/renderers/mdx.renderer.js.map +0 -1
  653. package/src/renderers/react.renderer.d.ts +0 -95
  654. package/src/renderers/react.renderer.js +0 -260
  655. package/src/renderers/react.renderer.js.map +0 -1
  656. package/src/renderers/registry.d.ts +0 -133
  657. package/src/renderers/registry.js +0 -232
  658. package/src/renderers/registry.js.map +0 -1
  659. package/src/renderers/types.d.ts +0 -341
  660. package/src/renderers/types.js +0 -9
  661. package/src/renderers/types.js.map +0 -1
  662. package/src/renderers/utils/detect.d.ts +0 -106
  663. package/src/renderers/utils/detect.js +0 -267
  664. package/src/renderers/utils/detect.js.map +0 -1
  665. package/src/renderers/utils/hash.d.ts +0 -39
  666. package/src/renderers/utils/hash.js +0 -75
  667. package/src/renderers/utils/hash.js.map +0 -1
  668. package/src/renderers/utils/index.d.ts +0 -8
  669. package/src/renderers/utils/index.js +0 -28
  670. package/src/renderers/utils/index.js.map +0 -1
  671. package/src/renderers/utils/transpiler.d.ts +0 -88
  672. package/src/renderers/utils/transpiler.js +0 -215
  673. package/src/renderers/utils/transpiler.js.map +0 -1
  674. package/src/runtime/adapters/html.adapter.d.ts +0 -58
  675. package/src/runtime/adapters/html.adapter.js +0 -131
  676. package/src/runtime/adapters/html.adapter.js.map +0 -1
  677. package/src/runtime/adapters/index.d.ts +0 -25
  678. package/src/runtime/adapters/index.js +0 -54
  679. package/src/runtime/adapters/index.js.map +0 -1
  680. package/src/runtime/adapters/mdx.adapter.d.ts +0 -72
  681. package/src/runtime/adapters/mdx.adapter.js +0 -241
  682. package/src/runtime/adapters/mdx.adapter.js.map +0 -1
  683. package/src/runtime/adapters/react.adapter.d.ts +0 -69
  684. package/src/runtime/adapters/react.adapter.js +0 -245
  685. package/src/runtime/adapters/react.adapter.js.map +0 -1
  686. package/src/runtime/adapters/types.d.ts +0 -94
  687. package/src/runtime/adapters/types.js +0 -11
  688. package/src/runtime/adapters/types.js.map +0 -1
  689. package/src/runtime/csp.d.ts +0 -37
  690. package/src/runtime/csp.js +0 -140
  691. package/src/runtime/csp.js.map +0 -1
  692. package/src/runtime/index.d.ts +0 -16
  693. package/src/runtime/index.js +0 -72
  694. package/src/runtime/index.js.map +0 -1
  695. package/src/runtime/mcp-bridge.d.ts +0 -100
  696. package/src/runtime/mcp-bridge.js +0 -581
  697. package/src/runtime/mcp-bridge.js.map +0 -1
  698. package/src/runtime/renderer-runtime.d.ts +0 -132
  699. package/src/runtime/renderer-runtime.js +0 -389
  700. package/src/runtime/renderer-runtime.js.map +0 -1
  701. package/src/runtime/sanitizer.d.ts +0 -171
  702. package/src/runtime/sanitizer.js +0 -318
  703. package/src/runtime/sanitizer.js.map +0 -1
  704. package/src/runtime/types.d.ts +0 -414
  705. package/src/runtime/types.js +0 -12
  706. package/src/runtime/types.js.map +0 -1
  707. package/src/runtime/wrapper.d.ts +0 -375
  708. package/src/runtime/wrapper.js +0 -1793
  709. package/src/runtime/wrapper.js.map +0 -1
  710. package/src/styles/index.d.ts +0 -7
  711. package/src/styles/index.js +0 -11
  712. package/src/styles/index.js.map +0 -1
  713. package/src/styles/variants.d.ts +0 -50
  714. package/src/styles/variants.js +0 -175
  715. package/src/styles/variants.js.map +0 -1
  716. package/src/theme/cdn.d.ts +0 -194
  717. package/src/theme/cdn.js +0 -375
  718. package/src/theme/cdn.js.map +0 -1
  719. package/src/theme/index.d.ts +0 -17
  720. package/src/theme/index.js +0 -57
  721. package/src/theme/index.js.map +0 -1
  722. package/src/theme/platforms.d.ts +0 -106
  723. package/src/theme/platforms.js +0 -161
  724. package/src/theme/platforms.js.map +0 -1
  725. package/src/theme/presets/github-openai.d.ts +0 -49
  726. package/src/theme/presets/github-openai.js +0 -189
  727. package/src/theme/presets/github-openai.js.map +0 -1
  728. package/src/theme/presets/index.d.ts +0 -10
  729. package/src/theme/presets/index.js +0 -17
  730. package/src/theme/presets/index.js.map +0 -1
  731. package/src/theme/theme.d.ts +0 -395
  732. package/src/theme/theme.js +0 -332
  733. package/src/theme/theme.js.map +0 -1
  734. package/src/tool-template/builder.d.ts +0 -212
  735. package/src/tool-template/builder.js +0 -397
  736. package/src/tool-template/builder.js.map +0 -1
  737. package/src/tool-template/index.d.ts +0 -15
  738. package/src/tool-template/index.js +0 -38
  739. package/src/tool-template/index.js.map +0 -1
  740. package/src/types/index.d.ts +0 -13
  741. package/src/types/index.js +0 -26
  742. package/src/types/index.js.map +0 -1
  743. package/src/types/ui-config.d.ts +0 -357
  744. package/src/types/ui-config.js +0 -12
  745. package/src/types/ui-config.js.map +0 -1
  746. package/src/types/ui-runtime.d.ts +0 -965
  747. package/src/types/ui-runtime.js +0 -117
  748. package/src/types/ui-runtime.js.map +0 -1
  749. package/src/validation/error-box.d.ts +0 -55
  750. package/src/validation/error-box.js +0 -75
  751. package/src/validation/error-box.js.map +0 -1
  752. package/src/validation/index.d.ts +0 -12
  753. package/src/validation/index.js +0 -21
  754. package/src/validation/index.js.map +0 -1
  755. package/src/validation/wrapper.d.ts +0 -96
  756. package/src/validation/wrapper.js +0 -117
  757. package/src/validation/wrapper.js.map +0 -1
  758. package/src/web-components/core/attribute-parser.d.ts +0 -85
  759. package/src/web-components/core/attribute-parser.js +0 -189
  760. package/src/web-components/core/attribute-parser.js.map +0 -1
  761. package/src/web-components/core/base-element.d.ts +0 -197
  762. package/src/web-components/core/base-element.js +0 -289
  763. package/src/web-components/core/base-element.js.map +0 -1
  764. package/src/web-components/core/index.d.ts +0 -8
  765. package/src/web-components/core/index.js +0 -18
  766. package/src/web-components/core/index.js.map +0 -1
  767. package/src/web-components/elements/fmcp-alert.d.ts +0 -45
  768. package/src/web-components/elements/fmcp-alert.js +0 -93
  769. package/src/web-components/elements/fmcp-alert.js.map +0 -1
  770. package/src/web-components/elements/fmcp-badge.d.ts +0 -46
  771. package/src/web-components/elements/fmcp-badge.js +0 -99
  772. package/src/web-components/elements/fmcp-badge.js.map +0 -1
  773. package/src/web-components/elements/fmcp-button.d.ts +0 -124
  774. package/src/web-components/elements/fmcp-button.js +0 -233
  775. package/src/web-components/elements/fmcp-button.js.map +0 -1
  776. package/src/web-components/elements/fmcp-card.d.ts +0 -52
  777. package/src/web-components/elements/fmcp-card.js +0 -115
  778. package/src/web-components/elements/fmcp-card.js.map +0 -1
  779. package/src/web-components/elements/fmcp-input.d.ts +0 -95
  780. package/src/web-components/elements/fmcp-input.js +0 -248
  781. package/src/web-components/elements/fmcp-input.js.map +0 -1
  782. package/src/web-components/elements/fmcp-select.d.ts +0 -99
  783. package/src/web-components/elements/fmcp-select.js +0 -243
  784. package/src/web-components/elements/fmcp-select.js.map +0 -1
  785. package/src/web-components/elements/index.d.ts +0 -12
  786. package/src/web-components/elements/index.js +0 -34
  787. package/src/web-components/elements/index.js.map +0 -1
  788. package/src/web-components/index.d.ts +0 -49
  789. package/src/web-components/index.js +0 -75
  790. package/src/web-components/index.js.map +0 -1
  791. package/src/web-components/register.d.ts +0 -56
  792. package/src/web-components/register.js +0 -80
  793. package/src/web-components/register.js.map +0 -1
  794. package/src/web-components/types.d.ts +0 -121
  795. package/src/web-components/types.js +0 -25
  796. package/src/web-components/types.js.map +0 -1
  797. package/src/widgets/index.d.ts +0 -7
  798. package/src/widgets/index.js +0 -24
  799. package/src/widgets/index.js.map +0 -1
  800. package/src/widgets/progress.d.ts +0 -132
  801. package/src/widgets/progress.js +0 -303
  802. package/src/widgets/progress.js.map +0 -1
  803. package/src/widgets/resource.d.ts +0 -162
  804. package/src/widgets/resource.js +0 -340
  805. package/src/widgets/resource.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"react.renderer.js","sourceRoot":"","sources":["../../../src/renderers/react.renderer.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * React Renderer\n *\n * Handles React component templates:\n * - Imported React components (already transpiled)\n * - JSX string templates (transpiled at runtime with SWC)\n *\n * Uses react-dom/server for SSR to HTML.\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 { isReactComponent, containsJsx } from './utils/detect';\nimport { hashString } from './utils/hash';\nimport { transpileJsx, executeTranspiledCode } from './utils/transpiler';\nimport { transpileCache } from './cache';\n\n/**\n * Types this renderer can handle.\n */\ntype ReactTemplate<In = unknown, Out = unknown> =\n | ((props: ToolUIProps<In, Out>) => unknown) // React component function\n | string; // JSX string to transpile\n\n/**\n * React runtime CDN URLs.\n * Using esm.sh for React 19 (ES modules).\n */\nconst REACT_CDN = {\n react: 'https://esm.sh/react@19',\n reactDom: 'https://esm.sh/react-dom@19/client',\n};\n\n/**\n * Minimal inline React runtime for blocked-network platforms (Claude).\n * This is a placeholder - in production, we'd bundle a minified React.\n */\nconst INLINE_REACT_PLACEHOLDER = `\n// React runtime not available inline yet.\n// For blocked-network platforms, use pre-rendered HTML templates.\nconsole.warn('[FrontMCP] React hydration not available on this platform.');\n`;\n\n/**\n * React Renderer Implementation.\n *\n * Handles:\n * - Imported React components (FC or class)\n * - JSX string templates (transpiled with SWC at runtime)\n *\n * Renders to HTML using react-dom/server's renderToString.\n *\n * @example Imported component\n * ```typescript\n * import { MyWidget } from './my-widget.tsx';\n *\n * @Tool({\n * ui: { template: MyWidget }\n * })\n * ```\n *\n * @example JSX string (runtime transpilation)\n * ```typescript\n * @Tool({\n * ui: {\n * template: `\n * function Widget({ output }) {\n * return <div>{output.name}</div>;\n * }\n * `\n * }\n * })\n * ```\n */\nexport class ReactRenderer implements UIRenderer<ReactTemplate> {\n readonly type = 'react' as const;\n readonly priority = 20; // Higher priority than HTML\n\n /**\n * Lazy-loaded React 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\n /**\n * Check if this renderer can handle the given template.\n *\n * Accepts:\n * - React component functions (imported, already transpiled)\n * - Strings containing JSX syntax\n */\n canHandle(template: unknown): template is ReactTemplate {\n // React component function\n if (typeof template === 'function' && isReactComponent(template)) {\n return true;\n }\n\n // JSX string\n if (typeof template === 'string' && containsJsx(template)) {\n return true;\n }\n\n return false;\n }\n\n /**\n * Transpile the template if needed.\n *\n * For imported React components, no transpilation is needed.\n * For JSX strings, SWC transpilation is performed.\n */\n async transpile(template: ReactTemplate, options?: TranspileOptions): Promise<TranspileResult> {\n // Imported component - no transpilation needed\n if (typeof template === 'function') {\n const hash = hashString(template.toString());\n\n return {\n code: '', // No transpiled code for already-compiled components\n hash,\n cached: true,\n };\n }\n\n // JSX string - transpile with SWC\n if (typeof template === 'string') {\n return transpileJsx(template, {\n development: options?.sourceMaps ?? false,\n });\n }\n\n throw new Error('Invalid template type for ReactRenderer');\n }\n\n /**\n * Render the template to HTML string using react-dom/server.\n */\n async render<In, Out>(\n template: ReactTemplate<In, Out>,\n context: TemplateContext<In, Out>,\n options?: RenderOptions,\n ): Promise<string> {\n // Ensure React is loaded\n await this.loadReact();\n\n // Get the component function\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let Component: (props: ToolUIProps<In, Out>) => any;\n\n if (typeof template === 'function') {\n // Already a component function\n Component = template;\n } else if (typeof template === 'string') {\n // Transpile and execute the JSX string\n const transpiled = await this.transpile(template);\n\n // Check cache for the executed component\n const cached = transpileCache.getByKey(`exec:${transpiled.hash}`);\n if (cached) {\n Component = cached.code as unknown as typeof Component;\n } else {\n // Execute the transpiled code to get the component\n Component = await executeTranspiledCode(transpiled.code, {\n // Provide any additional MDX components if specified\n ...options?.mdxComponents,\n });\n\n // Cache the component function\n transpileCache.setByKey(`exec:${transpiled.hash}`, {\n code: Component as unknown as string,\n hash: transpiled.hash,\n cached: false,\n });\n }\n } else {\n throw new Error('Invalid template type for ReactRenderer');\n }\n\n // Build props from context\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 // Create React element\n const element = this.React.createElement(Component, props);\n\n // Render to HTML string\n const html = this.ReactDOMServer.renderToString(element);\n\n // If hydration is enabled, wrap with hydration markers\n if (options?.hydrate) {\n const componentName = (Component as { name?: string }).name || 'Component';\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-hydrate=\"${componentName}\" 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_REACT_PLACEHOLDER,\n isInline: true,\n };\n }\n\n // For platforms with network access, use CDN\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) {\n return;\n }\n\n try {\n this.React = await import('react');\n this.ReactDOMServer = await import('react-dom/server');\n } catch {\n throw new Error('React is required for ReactRenderer. Install react and react-dom: npm install react react-dom');\n }\n }\n}\n\n/**\n * Singleton instance of the React renderer.\n */\nexport const reactRenderer = new ReactRenderer();\n\n/**\n * Build React hydration script for client-side interactivity.\n *\n * This script finds elements with data-hydrate attributes and\n * hydrates them with the corresponding React component.\n */\nexport function buildHydrationScript(): string {\n return `\n<script>\n(function() {\n // Wait for React to be available\n if (typeof React === 'undefined' || typeof ReactDOM === 'undefined') {\n console.warn('[FrontMCP] React not available for hydration');\n return;\n }\n\n // Find all elements marked for hydration\n document.querySelectorAll('[data-hydrate]').forEach(function(root) {\n var componentName = root.getAttribute('data-hydrate');\n var propsJson = root.getAttribute('data-props');\n var props = propsJson ? JSON.parse(propsJson) : {};\n\n // Look for the component in the global scope\n if (window.__frontmcp_components && window.__frontmcp_components[componentName]) {\n try {\n ReactDOM.hydrateRoot(root, React.createElement(\n window.__frontmcp_components[componentName],\n props\n ));\n } catch (e) {\n console.error('[FrontMCP] Hydration failed for', componentName, e);\n }\n }\n });\n})();\n</script>\n`;\n}\n"]}
@@ -1,133 +0,0 @@
1
- /**
2
- * Renderer Registry
3
- *
4
- * Global registry for template renderers with auto-detection.
5
- * Manages registration, detection, and rendering of templates.
6
- */
7
- import type { TemplateContext } from '../runtime/types';
8
- import type { UIRenderer, RendererType, RendererRegistryOptions, DetectionResult, RenderResult, RenderOptions } from './types';
9
- /**
10
- * Renderer Registry.
11
- *
12
- * Manages a collection of renderers and provides:
13
- * - Registration of custom renderers
14
- * - Auto-detection of template types
15
- * - Unified rendering interface
16
- *
17
- * @example
18
- * ```typescript
19
- * // Register a custom renderer
20
- * registry.register(myCustomRenderer);
21
- *
22
- * // Auto-detect and render
23
- * const result = await registry.render(template, context);
24
- * ```
25
- */
26
- export declare class RendererRegistry {
27
- private renderers;
28
- private sortedRenderers;
29
- private defaultRenderer;
30
- private debug;
31
- constructor(options?: RendererRegistryOptions);
32
- /**
33
- * Register a renderer.
34
- *
35
- * Renderers are sorted by priority (highest first) for detection.
36
- *
37
- * @param renderer - Renderer to register
38
- */
39
- register(renderer: UIRenderer): void;
40
- /**
41
- * Unregister a renderer.
42
- *
43
- * @param type - Type of renderer to remove
44
- * @returns True if renderer was removed
45
- */
46
- unregister(type: RendererType): boolean;
47
- /**
48
- * Get a renderer by type.
49
- *
50
- * @param type - Renderer type
51
- * @returns Renderer or undefined if not found
52
- */
53
- get(type: RendererType): UIRenderer | undefined;
54
- /**
55
- * Check if a renderer type is registered.
56
- *
57
- * @param type - Renderer type
58
- * @returns True if registered
59
- */
60
- has(type: RendererType): boolean;
61
- /**
62
- * Get all registered renderer types.
63
- *
64
- * @returns Array of renderer types
65
- */
66
- getTypes(): RendererType[];
67
- /**
68
- * Auto-detect the renderer for a template.
69
- *
70
- * Checks renderers in priority order (highest first).
71
- * Returns HTML renderer as fallback.
72
- *
73
- * @param template - Template to detect
74
- * @returns Detection result with renderer and confidence
75
- */
76
- detect(template: unknown): DetectionResult;
77
- /**
78
- * Render a template with auto-detection.
79
- *
80
- * @param template - Template to render (React, MDX, or HTML)
81
- * @param context - Template context with input/output
82
- * @param options - Render options
83
- * @returns Rendered result with HTML and metadata
84
- */
85
- render<In, Out>(template: unknown, context: TemplateContext<In, Out>, options?: RenderOptions): Promise<RenderResult>;
86
- /**
87
- * Render with a specific renderer type.
88
- *
89
- * @param type - Renderer type to use
90
- * @param template - Template to render
91
- * @param context - Template context
92
- * @param options - Render options
93
- * @returns Rendered result
94
- */
95
- renderWith<In, Out>(type: RendererType, template: unknown, context: TemplateContext<In, Out>, options?: RenderOptions): Promise<RenderResult>;
96
- /**
97
- * Update the sorted renderer list by priority.
98
- */
99
- private updateSortedList;
100
- /**
101
- * Set the default renderer type.
102
- *
103
- * @param type - Renderer type to use as default
104
- */
105
- setDefault(type: RendererType): void;
106
- /**
107
- * Get registry statistics.
108
- */
109
- getStats(): {
110
- registeredRenderers: RendererType[];
111
- defaultRenderer: RendererType;
112
- priorityOrder: Array<{
113
- type: RendererType;
114
- priority: number;
115
- }>;
116
- };
117
- }
118
- /**
119
- * Global renderer registry instance.
120
- *
121
- * Pre-configured with the HTML renderer.
122
- * React and MDX renderers can be added:
123
- *
124
- * ```typescript
125
- * import { rendererRegistry } from '@frontmcp/ui';
126
- * import { reactRenderer } from '@frontmcp/ui';
127
- * import { mdxRenderer } from '@frontmcp/ui';
128
- *
129
- * rendererRegistry.register(reactRenderer);
130
- * rendererRegistry.register(mdxRenderer);
131
- * ```
132
- */
133
- export declare const rendererRegistry: RendererRegistry;
@@ -1,232 +0,0 @@
1
- "use strict";
2
- /**
3
- * Renderer Registry
4
- *
5
- * Global registry for template renderers with auto-detection.
6
- * Manages registration, detection, and rendering of templates.
7
- */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.rendererRegistry = exports.RendererRegistry = void 0;
10
- const theme_1 = require("../theme");
11
- const html_renderer_1 = require("./html.renderer");
12
- /**
13
- * Renderer Registry.
14
- *
15
- * Manages a collection of renderers and provides:
16
- * - Registration of custom renderers
17
- * - Auto-detection of template types
18
- * - Unified rendering interface
19
- *
20
- * @example
21
- * ```typescript
22
- * // Register a custom renderer
23
- * registry.register(myCustomRenderer);
24
- *
25
- * // Auto-detect and render
26
- * const result = await registry.render(template, context);
27
- * ```
28
- */
29
- class RendererRegistry {
30
- renderers = new Map();
31
- sortedRenderers = [];
32
- defaultRenderer = 'html';
33
- debug;
34
- constructor(options = {}) {
35
- this.debug = options.debug ?? false;
36
- // Register built-in HTML renderer
37
- this.register(html_renderer_1.htmlRenderer);
38
- }
39
- /**
40
- * Register a renderer.
41
- *
42
- * Renderers are sorted by priority (highest first) for detection.
43
- *
44
- * @param renderer - Renderer to register
45
- */
46
- register(renderer) {
47
- this.renderers.set(renderer.type, renderer);
48
- this.updateSortedList();
49
- if (this.debug) {
50
- console.log(`[RendererRegistry] Registered renderer: ${renderer.type} (priority: ${renderer.priority})`);
51
- }
52
- }
53
- /**
54
- * Unregister a renderer.
55
- *
56
- * @param type - Type of renderer to remove
57
- * @returns True if renderer was removed
58
- */
59
- unregister(type) {
60
- const removed = this.renderers.delete(type);
61
- if (removed) {
62
- this.updateSortedList();
63
- }
64
- return removed;
65
- }
66
- /**
67
- * Get a renderer by type.
68
- *
69
- * @param type - Renderer type
70
- * @returns Renderer or undefined if not found
71
- */
72
- get(type) {
73
- return this.renderers.get(type);
74
- }
75
- /**
76
- * Check if a renderer type is registered.
77
- *
78
- * @param type - Renderer type
79
- * @returns True if registered
80
- */
81
- has(type) {
82
- return this.renderers.has(type);
83
- }
84
- /**
85
- * Get all registered renderer types.
86
- *
87
- * @returns Array of renderer types
88
- */
89
- getTypes() {
90
- return Array.from(this.renderers.keys());
91
- }
92
- /**
93
- * Auto-detect the renderer for a template.
94
- *
95
- * Checks renderers in priority order (highest first).
96
- * Returns HTML renderer as fallback.
97
- *
98
- * @param template - Template to detect
99
- * @returns Detection result with renderer and confidence
100
- */
101
- detect(template) {
102
- // Check each renderer in priority order
103
- for (const renderer of this.sortedRenderers) {
104
- if (renderer.canHandle(template)) {
105
- const result = {
106
- renderer,
107
- confidence: renderer.priority / 100, // Normalize to 0-1
108
- reason: `Matched by ${renderer.type} renderer`,
109
- };
110
- if (this.debug) {
111
- console.log(`[RendererRegistry] Detected template as ${renderer.type} (confidence: ${result.confidence})`);
112
- }
113
- return result;
114
- }
115
- }
116
- // Fallback to HTML renderer (should always match strings/functions)
117
- const fallback = this.renderers.get(this.defaultRenderer);
118
- if (!fallback) {
119
- throw new Error(`Default renderer '${this.defaultRenderer}' not found`);
120
- }
121
- return {
122
- renderer: fallback,
123
- confidence: 0.5,
124
- reason: 'Fallback to default HTML renderer',
125
- };
126
- }
127
- /**
128
- * Render a template with auto-detection.
129
- *
130
- * @param template - Template to render (React, MDX, or HTML)
131
- * @param context - Template context with input/output
132
- * @param options - Render options
133
- * @returns Rendered result with HTML and metadata
134
- */
135
- async render(template, context, options = {}) {
136
- const platform = options.platform ?? theme_1.OPENAI_PLATFORM;
137
- // Detect renderer
138
- const detection = this.detect(template);
139
- const renderer = detection.renderer;
140
- if (this.debug) {
141
- console.log(`[RendererRegistry] Rendering with ${renderer.type} renderer`);
142
- }
143
- // Transpile if needed
144
- const transpileResult = await renderer.transpile(template);
145
- // Render to HTML
146
- const html = await renderer.render(template, context, options);
147
- // Get runtime scripts
148
- const runtimeScripts = renderer.getRuntimeScripts(platform);
149
- return {
150
- html,
151
- rendererType: renderer.type,
152
- transpileCached: transpileResult.cached,
153
- runtimeScripts,
154
- };
155
- }
156
- /**
157
- * Render with a specific renderer type.
158
- *
159
- * @param type - Renderer type to use
160
- * @param template - Template to render
161
- * @param context - Template context
162
- * @param options - Render options
163
- * @returns Rendered result
164
- */
165
- async renderWith(type, template, context, options = {}) {
166
- const renderer = this.renderers.get(type);
167
- if (!renderer) {
168
- throw new Error(`Renderer '${type}' not registered`);
169
- }
170
- const platform = options.platform ?? theme_1.OPENAI_PLATFORM;
171
- // Transpile
172
- const transpileResult = await renderer.transpile(template);
173
- // Render
174
- const html = await renderer.render(template, context, options);
175
- // Runtime scripts
176
- const runtimeScripts = renderer.getRuntimeScripts(platform);
177
- return {
178
- html,
179
- rendererType: type,
180
- transpileCached: transpileResult.cached,
181
- runtimeScripts,
182
- };
183
- }
184
- /**
185
- * Update the sorted renderer list by priority.
186
- */
187
- updateSortedList() {
188
- this.sortedRenderers = Array.from(this.renderers.values()).sort((a, b) => b.priority - a.priority);
189
- }
190
- /**
191
- * Set the default renderer type.
192
- *
193
- * @param type - Renderer type to use as default
194
- */
195
- setDefault(type) {
196
- if (!this.renderers.has(type)) {
197
- throw new Error(`Cannot set default to unregistered renderer '${type}'`);
198
- }
199
- this.defaultRenderer = type;
200
- }
201
- /**
202
- * Get registry statistics.
203
- */
204
- getStats() {
205
- return {
206
- registeredRenderers: this.getTypes(),
207
- defaultRenderer: this.defaultRenderer,
208
- priorityOrder: this.sortedRenderers.map((r) => ({
209
- type: r.type,
210
- priority: r.priority,
211
- })),
212
- };
213
- }
214
- }
215
- exports.RendererRegistry = RendererRegistry;
216
- /**
217
- * Global renderer registry instance.
218
- *
219
- * Pre-configured with the HTML renderer.
220
- * React and MDX renderers can be added:
221
- *
222
- * ```typescript
223
- * import { rendererRegistry } from '@frontmcp/ui';
224
- * import { reactRenderer } from '@frontmcp/ui';
225
- * import { mdxRenderer } from '@frontmcp/ui';
226
- *
227
- * rendererRegistry.register(reactRenderer);
228
- * rendererRegistry.register(mdxRenderer);
229
- * ```
230
- */
231
- exports.rendererRegistry = new RendererRegistry();
232
- //# sourceMappingURL=registry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/renderers/registry.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Renderer Registry\n *\n * Global registry for template renderers with auto-detection.\n * Manages registration, detection, and rendering of templates.\n */\n\nimport type { TemplateContext } from '../runtime/types';\nimport type { PlatformCapabilities } from '../theme';\nimport { OPENAI_PLATFORM } from '../theme';\nimport type {\n UIRenderer,\n RendererType,\n RendererRegistryOptions,\n DetectionResult,\n RenderResult,\n RenderOptions,\n} from './types';\nimport { htmlRenderer } from './html.renderer';\n\n/**\n * Renderer Registry.\n *\n * Manages a collection of renderers and provides:\n * - Registration of custom renderers\n * - Auto-detection of template types\n * - Unified rendering interface\n *\n * @example\n * ```typescript\n * // Register a custom renderer\n * registry.register(myCustomRenderer);\n *\n * // Auto-detect and render\n * const result = await registry.render(template, context);\n * ```\n */\nexport class RendererRegistry {\n private renderers = new Map<RendererType, UIRenderer>();\n private sortedRenderers: UIRenderer[] = [];\n private defaultRenderer: RendererType = 'html';\n private debug: boolean;\n\n constructor(options: RendererRegistryOptions = {}) {\n this.debug = options.debug ?? false;\n\n // Register built-in HTML renderer\n this.register(htmlRenderer);\n }\n\n /**\n * Register a renderer.\n *\n * Renderers are sorted by priority (highest first) for detection.\n *\n * @param renderer - Renderer to register\n */\n register(renderer: UIRenderer): void {\n this.renderers.set(renderer.type, renderer);\n this.updateSortedList();\n\n if (this.debug) {\n console.log(`[RendererRegistry] Registered renderer: ${renderer.type} (priority: ${renderer.priority})`);\n }\n }\n\n /**\n * Unregister a renderer.\n *\n * @param type - Type of renderer to remove\n * @returns True if renderer was removed\n */\n unregister(type: RendererType): boolean {\n const removed = this.renderers.delete(type);\n if (removed) {\n this.updateSortedList();\n }\n return removed;\n }\n\n /**\n * Get a renderer by type.\n *\n * @param type - Renderer type\n * @returns Renderer or undefined if not found\n */\n get(type: RendererType): UIRenderer | undefined {\n return this.renderers.get(type);\n }\n\n /**\n * Check if a renderer type is registered.\n *\n * @param type - Renderer type\n * @returns True if registered\n */\n has(type: RendererType): boolean {\n return this.renderers.has(type);\n }\n\n /**\n * Get all registered renderer types.\n *\n * @returns Array of renderer types\n */\n getTypes(): RendererType[] {\n return Array.from(this.renderers.keys());\n }\n\n /**\n * Auto-detect the renderer for a template.\n *\n * Checks renderers in priority order (highest first).\n * Returns HTML renderer as fallback.\n *\n * @param template - Template to detect\n * @returns Detection result with renderer and confidence\n */\n detect(template: unknown): DetectionResult {\n // Check each renderer in priority order\n for (const renderer of this.sortedRenderers) {\n if (renderer.canHandle(template)) {\n const result: DetectionResult = {\n renderer,\n confidence: renderer.priority / 100, // Normalize to 0-1\n reason: `Matched by ${renderer.type} renderer`,\n };\n\n if (this.debug) {\n console.log(`[RendererRegistry] Detected template as ${renderer.type} (confidence: ${result.confidence})`);\n }\n\n return result;\n }\n }\n\n // Fallback to HTML renderer (should always match strings/functions)\n const fallback = this.renderers.get(this.defaultRenderer);\n if (!fallback) {\n throw new Error(`Default renderer '${this.defaultRenderer}' not found`);\n }\n\n return {\n renderer: fallback,\n confidence: 0.5,\n reason: 'Fallback to default HTML renderer',\n };\n }\n\n /**\n * Render a template with auto-detection.\n *\n * @param template - Template to render (React, MDX, or HTML)\n * @param context - Template context with input/output\n * @param options - Render options\n * @returns Rendered result with HTML and metadata\n */\n async render<In, Out>(\n template: unknown,\n context: TemplateContext<In, Out>,\n options: RenderOptions = {},\n ): Promise<RenderResult> {\n const platform = options.platform ?? OPENAI_PLATFORM;\n\n // Detect renderer\n const detection = this.detect(template);\n const renderer = detection.renderer;\n\n if (this.debug) {\n console.log(`[RendererRegistry] Rendering with ${renderer.type} renderer`);\n }\n\n // Transpile if needed\n const transpileResult = await renderer.transpile(template);\n\n // Render to HTML\n const html = await renderer.render(template, context, options);\n\n // Get runtime scripts\n const runtimeScripts = renderer.getRuntimeScripts(platform);\n\n return {\n html,\n rendererType: renderer.type,\n transpileCached: transpileResult.cached,\n runtimeScripts,\n };\n }\n\n /**\n * Render with a specific renderer type.\n *\n * @param type - Renderer type to use\n * @param template - Template to render\n * @param context - Template context\n * @param options - Render options\n * @returns Rendered result\n */\n async renderWith<In, Out>(\n type: RendererType,\n template: unknown,\n context: TemplateContext<In, Out>,\n options: RenderOptions = {},\n ): Promise<RenderResult> {\n const renderer = this.renderers.get(type);\n if (!renderer) {\n throw new Error(`Renderer '${type}' not registered`);\n }\n\n const platform = options.platform ?? OPENAI_PLATFORM;\n\n // Transpile\n const transpileResult = await renderer.transpile(template);\n\n // Render\n const html = await renderer.render(template, context, options);\n\n // Runtime scripts\n const runtimeScripts = renderer.getRuntimeScripts(platform);\n\n return {\n html,\n rendererType: type,\n transpileCached: transpileResult.cached,\n runtimeScripts,\n };\n }\n\n /**\n * Update the sorted renderer list by priority.\n */\n private updateSortedList(): void {\n this.sortedRenderers = Array.from(this.renderers.values()).sort((a, b) => b.priority - a.priority);\n }\n\n /**\n * Set the default renderer type.\n *\n * @param type - Renderer type to use as default\n */\n setDefault(type: RendererType): void {\n if (!this.renderers.has(type)) {\n throw new Error(`Cannot set default to unregistered renderer '${type}'`);\n }\n this.defaultRenderer = type;\n }\n\n /**\n * Get registry statistics.\n */\n getStats(): {\n registeredRenderers: RendererType[];\n defaultRenderer: RendererType;\n priorityOrder: Array<{ type: RendererType; priority: number }>;\n } {\n return {\n registeredRenderers: this.getTypes(),\n defaultRenderer: this.defaultRenderer,\n priorityOrder: this.sortedRenderers.map((r) => ({\n type: r.type,\n priority: r.priority,\n })),\n };\n }\n}\n\n/**\n * Global renderer registry instance.\n *\n * Pre-configured with the HTML renderer.\n * React and MDX renderers can be added:\n *\n * ```typescript\n * import { rendererRegistry } from '@frontmcp/ui';\n * import { reactRenderer } from '@frontmcp/ui';\n * import { mdxRenderer } from '@frontmcp/ui';\n *\n * rendererRegistry.register(reactRenderer);\n * rendererRegistry.register(mdxRenderer);\n * ```\n */\nexport const rendererRegistry = new RendererRegistry();\n"]}