@frontmcp/ui 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1134) hide show
  1. package/adapters/index.d.ts +13 -0
  2. package/adapters/index.d.ts.map +1 -0
  3. package/adapters/index.js +462 -0
  4. package/adapters/platform-meta.d.ts +166 -0
  5. package/adapters/platform-meta.d.ts.map +1 -0
  6. package/adapters/response-builder.d.ts +108 -0
  7. package/adapters/response-builder.d.ts.map +1 -0
  8. package/adapters/serving-mode.d.ts +107 -0
  9. package/adapters/serving-mode.d.ts.map +1 -0
  10. package/base-template/bridge.d.ts +90 -0
  11. package/base-template/bridge.d.ts.map +1 -0
  12. package/base-template/default-base-template.d.ts +92 -0
  13. package/base-template/default-base-template.d.ts.map +1 -0
  14. package/base-template/index.d.ts +15 -0
  15. package/base-template/index.d.ts.map +1 -0
  16. package/base-template/index.js +1398 -0
  17. package/base-template/polyfills.d.ts +31 -0
  18. package/base-template/polyfills.d.ts.map +1 -0
  19. package/base-template/theme-styles.d.ts +74 -0
  20. package/base-template/theme-styles.d.ts.map +1 -0
  21. package/bridge/adapters/base-adapter.d.ts +104 -0
  22. package/bridge/adapters/base-adapter.d.ts.map +1 -0
  23. package/bridge/adapters/claude.adapter.d.ts +67 -0
  24. package/bridge/adapters/claude.adapter.d.ts.map +1 -0
  25. package/bridge/adapters/ext-apps.adapter.d.ts +143 -0
  26. package/bridge/adapters/ext-apps.adapter.d.ts.map +1 -0
  27. package/bridge/adapters/gemini.adapter.d.ts +64 -0
  28. package/bridge/adapters/gemini.adapter.d.ts.map +1 -0
  29. package/bridge/adapters/generic.adapter.d.ts +56 -0
  30. package/bridge/adapters/generic.adapter.d.ts.map +1 -0
  31. package/bridge/adapters/index.d.ts +26 -0
  32. package/bridge/adapters/index.d.ts.map +1 -0
  33. package/bridge/adapters/openai.adapter.d.ts +65 -0
  34. package/bridge/adapters/openai.adapter.d.ts.map +1 -0
  35. package/bridge/core/adapter-registry.d.ts +122 -0
  36. package/bridge/core/adapter-registry.d.ts.map +1 -0
  37. package/bridge/core/bridge-factory.d.ts +199 -0
  38. package/bridge/core/bridge-factory.d.ts.map +1 -0
  39. package/bridge/core/index.d.ts +10 -0
  40. package/bridge/core/index.d.ts.map +1 -0
  41. package/bridge/index.d.ts +62 -0
  42. package/bridge/index.d.ts.map +1 -0
  43. package/bridge/index.js +2540 -0
  44. package/bridge/runtime/iife-generator.d.ts +62 -0
  45. package/bridge/runtime/iife-generator.d.ts.map +1 -0
  46. package/bridge/runtime/index.d.ts +9 -0
  47. package/bridge/runtime/index.d.ts.map +1 -0
  48. package/bridge/types.d.ts +386 -0
  49. package/bridge/types.d.ts.map +1 -0
  50. package/build/cdn-resources.d.ts +243 -0
  51. package/build/cdn-resources.d.ts.map +1 -0
  52. package/build/index.d.ts +295 -0
  53. package/build/index.d.ts.map +1 -0
  54. package/build/index.js +7096 -0
  55. package/build/widget-manifest.d.ts +362 -0
  56. package/build/widget-manifest.d.ts.map +1 -0
  57. package/bundler/bundler.d.ts +208 -0
  58. package/bundler/bundler.d.ts.map +1 -0
  59. package/bundler/cache.d.ts +173 -0
  60. package/bundler/cache.d.ts.map +1 -0
  61. package/bundler/file-cache/component-builder.d.ts +167 -0
  62. package/bundler/file-cache/component-builder.d.ts.map +1 -0
  63. package/bundler/file-cache/hash-calculator.d.ts +155 -0
  64. package/bundler/file-cache/hash-calculator.d.ts.map +1 -0
  65. package/bundler/file-cache/index.d.ts +12 -0
  66. package/bundler/file-cache/index.d.ts.map +1 -0
  67. package/bundler/file-cache/storage/filesystem.d.ts +149 -0
  68. package/bundler/file-cache/storage/filesystem.d.ts.map +1 -0
  69. package/bundler/file-cache/storage/index.d.ts +11 -0
  70. package/bundler/file-cache/storage/index.d.ts.map +1 -0
  71. package/bundler/file-cache/storage/interface.d.ts +152 -0
  72. package/bundler/file-cache/storage/interface.d.ts.map +1 -0
  73. package/bundler/file-cache/storage/redis.d.ts +139 -0
  74. package/bundler/file-cache/storage/redis.d.ts.map +1 -0
  75. package/bundler/index.d.ts +43 -0
  76. package/bundler/index.d.ts.map +1 -0
  77. package/bundler/index.js +4754 -0
  78. package/bundler/sandbox/enclave-adapter.d.ts +121 -0
  79. package/bundler/sandbox/enclave-adapter.d.ts.map +1 -0
  80. package/bundler/sandbox/executor.d.ts +14 -0
  81. package/bundler/sandbox/executor.d.ts.map +1 -0
  82. package/bundler/sandbox/policy.d.ts +62 -0
  83. package/bundler/sandbox/policy.d.ts.map +1 -0
  84. package/bundler/types.d.ts +702 -0
  85. package/bundler/types.d.ts.map +1 -0
  86. package/components/alert.d.ts +66 -0
  87. package/components/alert.d.ts.map +1 -0
  88. package/components/alert.schema.d.ts +98 -0
  89. package/components/alert.schema.d.ts.map +1 -0
  90. package/components/avatar.d.ts +77 -0
  91. package/components/avatar.d.ts.map +1 -0
  92. package/components/avatar.schema.d.ts +170 -0
  93. package/components/avatar.schema.d.ts.map +1 -0
  94. package/components/badge.d.ts +64 -0
  95. package/components/badge.d.ts.map +1 -0
  96. package/components/badge.schema.d.ts +91 -0
  97. package/components/badge.schema.d.ts.map +1 -0
  98. package/components/button.d.ts +100 -0
  99. package/components/button.d.ts.map +1 -0
  100. package/components/button.schema.d.ts +120 -0
  101. package/components/button.schema.d.ts.map +1 -0
  102. package/components/card.d.ts +53 -0
  103. package/components/card.d.ts.map +1 -0
  104. package/components/card.schema.d.ts +93 -0
  105. package/components/card.schema.d.ts.map +1 -0
  106. package/components/form.d.ts +212 -0
  107. package/components/form.d.ts.map +1 -0
  108. package/components/form.schema.d.ts +365 -0
  109. package/components/form.schema.d.ts.map +1 -0
  110. package/components/index.d.ts +29 -0
  111. package/components/index.d.ts.map +1 -0
  112. package/components/index.js +2595 -0
  113. package/components/list.d.ts +121 -0
  114. package/components/list.d.ts.map +1 -0
  115. package/components/list.schema.d.ts +129 -0
  116. package/components/list.schema.d.ts.map +1 -0
  117. package/components/modal.d.ts +100 -0
  118. package/components/modal.d.ts.map +1 -0
  119. package/components/modal.schema.d.ts +151 -0
  120. package/components/modal.schema.d.ts.map +1 -0
  121. package/components/table.d.ts +91 -0
  122. package/components/table.d.ts.map +1 -0
  123. package/components/table.schema.d.ts +123 -0
  124. package/components/table.schema.d.ts.map +1 -0
  125. package/dependency/cdn-registry.d.ts +98 -0
  126. package/dependency/cdn-registry.d.ts.map +1 -0
  127. package/dependency/import-map.d.ts +186 -0
  128. package/dependency/import-map.d.ts.map +1 -0
  129. package/dependency/import-parser.d.ts +82 -0
  130. package/dependency/import-parser.d.ts.map +1 -0
  131. package/dependency/index.d.ts +17 -0
  132. package/dependency/index.d.ts.map +1 -0
  133. package/dependency/resolver.d.ts +164 -0
  134. package/dependency/resolver.d.ts.map +1 -0
  135. package/dependency/schemas.d.ts +486 -0
  136. package/dependency/schemas.d.ts.map +1 -0
  137. package/dependency/template-loader.d.ts +204 -0
  138. package/dependency/template-loader.d.ts.map +1 -0
  139. package/dependency/template-processor.d.ts +118 -0
  140. package/dependency/template-processor.d.ts.map +1 -0
  141. package/dependency/types.d.ts +739 -0
  142. package/dependency/types.d.ts.map +1 -0
  143. package/esm/adapters/index.d.ts +13 -0
  144. package/esm/adapters/index.d.ts.map +1 -0
  145. package/esm/adapters/index.js +427 -0
  146. package/esm/adapters/platform-meta.d.ts +166 -0
  147. package/esm/adapters/platform-meta.d.ts.map +1 -0
  148. package/esm/adapters/response-builder.d.ts +108 -0
  149. package/esm/adapters/response-builder.d.ts.map +1 -0
  150. package/esm/adapters/serving-mode.d.ts +107 -0
  151. package/esm/adapters/serving-mode.d.ts.map +1 -0
  152. package/esm/base-template/bridge.d.ts +90 -0
  153. package/esm/base-template/bridge.d.ts.map +1 -0
  154. package/esm/base-template/default-base-template.d.ts +92 -0
  155. package/esm/base-template/default-base-template.d.ts.map +1 -0
  156. package/esm/base-template/index.d.ts +15 -0
  157. package/esm/base-template/index.d.ts.map +1 -0
  158. package/esm/base-template/index.js +1364 -0
  159. package/esm/base-template/polyfills.d.ts +31 -0
  160. package/esm/base-template/polyfills.d.ts.map +1 -0
  161. package/esm/base-template/theme-styles.d.ts +74 -0
  162. package/esm/base-template/theme-styles.d.ts.map +1 -0
  163. package/esm/bridge/adapters/base-adapter.d.ts +104 -0
  164. package/esm/bridge/adapters/base-adapter.d.ts.map +1 -0
  165. package/esm/bridge/adapters/claude.adapter.d.ts +67 -0
  166. package/esm/bridge/adapters/claude.adapter.d.ts.map +1 -0
  167. package/esm/bridge/adapters/ext-apps.adapter.d.ts +143 -0
  168. package/esm/bridge/adapters/ext-apps.adapter.d.ts.map +1 -0
  169. package/esm/bridge/adapters/gemini.adapter.d.ts +64 -0
  170. package/esm/bridge/adapters/gemini.adapter.d.ts.map +1 -0
  171. package/esm/bridge/adapters/generic.adapter.d.ts +56 -0
  172. package/esm/bridge/adapters/generic.adapter.d.ts.map +1 -0
  173. package/esm/bridge/adapters/index.d.ts +26 -0
  174. package/esm/bridge/adapters/index.d.ts.map +1 -0
  175. package/esm/bridge/adapters/openai.adapter.d.ts +65 -0
  176. package/esm/bridge/adapters/openai.adapter.d.ts.map +1 -0
  177. package/esm/bridge/core/adapter-registry.d.ts +122 -0
  178. package/esm/bridge/core/adapter-registry.d.ts.map +1 -0
  179. package/esm/bridge/core/bridge-factory.d.ts +199 -0
  180. package/esm/bridge/core/bridge-factory.d.ts.map +1 -0
  181. package/esm/bridge/core/index.d.ts +10 -0
  182. package/esm/bridge/core/index.d.ts.map +1 -0
  183. package/esm/bridge/index.d.ts +62 -0
  184. package/esm/bridge/index.d.ts.map +1 -0
  185. package/esm/bridge/index.js +2487 -0
  186. package/esm/bridge/runtime/iife-generator.d.ts +62 -0
  187. package/esm/bridge/runtime/iife-generator.d.ts.map +1 -0
  188. package/esm/bridge/runtime/index.d.ts +9 -0
  189. package/esm/bridge/runtime/index.d.ts.map +1 -0
  190. package/esm/bridge/types.d.ts +386 -0
  191. package/esm/bridge/types.d.ts.map +1 -0
  192. package/esm/build/cdn-resources.d.ts +243 -0
  193. package/esm/build/cdn-resources.d.ts.map +1 -0
  194. package/esm/build/index.d.ts +295 -0
  195. package/esm/build/index.d.ts.map +1 -0
  196. package/esm/build/index.js +7021 -0
  197. package/esm/build/widget-manifest.d.ts +362 -0
  198. package/esm/build/widget-manifest.d.ts.map +1 -0
  199. package/esm/bundler/bundler.d.ts +208 -0
  200. package/esm/bundler/bundler.d.ts.map +1 -0
  201. package/esm/bundler/cache.d.ts +173 -0
  202. package/esm/bundler/cache.d.ts.map +1 -0
  203. package/esm/bundler/file-cache/component-builder.d.ts +167 -0
  204. package/esm/bundler/file-cache/component-builder.d.ts.map +1 -0
  205. package/esm/bundler/file-cache/hash-calculator.d.ts +155 -0
  206. package/esm/bundler/file-cache/hash-calculator.d.ts.map +1 -0
  207. package/esm/bundler/file-cache/index.d.ts +12 -0
  208. package/esm/bundler/file-cache/index.d.ts.map +1 -0
  209. package/esm/bundler/file-cache/storage/filesystem.d.ts +149 -0
  210. package/esm/bundler/file-cache/storage/filesystem.d.ts.map +1 -0
  211. package/esm/bundler/file-cache/storage/index.d.ts +11 -0
  212. package/esm/bundler/file-cache/storage/index.d.ts.map +1 -0
  213. package/esm/bundler/file-cache/storage/interface.d.ts +152 -0
  214. package/esm/bundler/file-cache/storage/interface.d.ts.map +1 -0
  215. package/esm/bundler/file-cache/storage/redis.d.ts +139 -0
  216. package/esm/bundler/file-cache/storage/redis.d.ts.map +1 -0
  217. package/esm/bundler/index.d.ts +43 -0
  218. package/esm/bundler/index.d.ts.map +1 -0
  219. package/esm/bundler/index.js +4687 -0
  220. package/esm/bundler/sandbox/enclave-adapter.d.ts +121 -0
  221. package/esm/bundler/sandbox/enclave-adapter.d.ts.map +1 -0
  222. package/esm/bundler/sandbox/executor.d.ts +14 -0
  223. package/esm/bundler/sandbox/executor.d.ts.map +1 -0
  224. package/esm/bundler/sandbox/policy.d.ts +62 -0
  225. package/esm/bundler/sandbox/policy.d.ts.map +1 -0
  226. package/esm/bundler/types.d.ts +702 -0
  227. package/esm/bundler/types.d.ts.map +1 -0
  228. package/esm/components/alert.d.ts +66 -0
  229. package/esm/components/alert.d.ts.map +1 -0
  230. package/esm/components/alert.schema.d.ts +98 -0
  231. package/esm/components/alert.schema.d.ts.map +1 -0
  232. package/esm/components/avatar.d.ts +77 -0
  233. package/esm/components/avatar.d.ts.map +1 -0
  234. package/esm/components/avatar.schema.d.ts +170 -0
  235. package/esm/components/avatar.schema.d.ts.map +1 -0
  236. package/esm/components/badge.d.ts +64 -0
  237. package/esm/components/badge.d.ts.map +1 -0
  238. package/esm/components/badge.schema.d.ts +91 -0
  239. package/esm/components/badge.schema.d.ts.map +1 -0
  240. package/esm/components/button.d.ts +100 -0
  241. package/esm/components/button.d.ts.map +1 -0
  242. package/esm/components/button.schema.d.ts +120 -0
  243. package/esm/components/button.schema.d.ts.map +1 -0
  244. package/esm/components/card.d.ts +53 -0
  245. package/esm/components/card.d.ts.map +1 -0
  246. package/esm/components/card.schema.d.ts +93 -0
  247. package/esm/components/card.schema.d.ts.map +1 -0
  248. package/esm/components/form.d.ts +212 -0
  249. package/esm/components/form.d.ts.map +1 -0
  250. package/esm/components/form.schema.d.ts +365 -0
  251. package/esm/components/form.schema.d.ts.map +1 -0
  252. package/esm/components/index.d.ts +29 -0
  253. package/esm/components/index.d.ts.map +1 -0
  254. package/esm/components/index.js +2456 -0
  255. package/esm/components/list.d.ts +121 -0
  256. package/esm/components/list.d.ts.map +1 -0
  257. package/esm/components/list.schema.d.ts +129 -0
  258. package/esm/components/list.schema.d.ts.map +1 -0
  259. package/esm/components/modal.d.ts +100 -0
  260. package/esm/components/modal.d.ts.map +1 -0
  261. package/esm/components/modal.schema.d.ts +151 -0
  262. package/esm/components/modal.schema.d.ts.map +1 -0
  263. package/esm/components/table.d.ts +91 -0
  264. package/esm/components/table.d.ts.map +1 -0
  265. package/esm/components/table.schema.d.ts +123 -0
  266. package/esm/components/table.schema.d.ts.map +1 -0
  267. package/esm/dependency/cdn-registry.d.ts +98 -0
  268. package/esm/dependency/cdn-registry.d.ts.map +1 -0
  269. package/esm/dependency/import-map.d.ts +186 -0
  270. package/esm/dependency/import-map.d.ts.map +1 -0
  271. package/esm/dependency/import-parser.d.ts +82 -0
  272. package/esm/dependency/import-parser.d.ts.map +1 -0
  273. package/esm/dependency/index.d.ts +17 -0
  274. package/esm/dependency/index.d.ts.map +1 -0
  275. package/esm/dependency/resolver.d.ts +164 -0
  276. package/esm/dependency/resolver.d.ts.map +1 -0
  277. package/esm/dependency/schemas.d.ts +486 -0
  278. package/esm/dependency/schemas.d.ts.map +1 -0
  279. package/esm/dependency/template-loader.d.ts +204 -0
  280. package/esm/dependency/template-loader.d.ts.map +1 -0
  281. package/esm/dependency/template-processor.d.ts +118 -0
  282. package/esm/dependency/template-processor.d.ts.map +1 -0
  283. package/esm/dependency/types.d.ts +739 -0
  284. package/esm/dependency/types.d.ts.map +1 -0
  285. package/esm/handlebars/expression-extractor.d.ts +147 -0
  286. package/esm/handlebars/expression-extractor.d.ts.map +1 -0
  287. package/esm/handlebars/helpers.d.ts +339 -0
  288. package/esm/handlebars/helpers.d.ts.map +1 -0
  289. package/esm/handlebars/index.d.ts +195 -0
  290. package/esm/handlebars/index.d.ts.map +1 -0
  291. package/esm/handlebars/index.js +587 -0
  292. package/esm/index.d.ts +56 -0
  293. package/esm/index.d.ts.map +1 -0
  294. package/esm/index.js +20511 -0
  295. package/esm/layouts/base.d.ts +86 -0
  296. package/esm/layouts/base.d.ts.map +1 -0
  297. package/esm/layouts/index.d.ts +8 -0
  298. package/esm/layouts/index.d.ts.map +1 -0
  299. package/esm/layouts/index.js +892 -0
  300. package/esm/layouts/presets.d.ts +134 -0
  301. package/esm/layouts/presets.d.ts.map +1 -0
  302. package/esm/package.json +90 -0
  303. package/esm/pages/consent.d.ts +117 -0
  304. package/esm/pages/consent.d.ts.map +1 -0
  305. package/esm/pages/error.d.ts +101 -0
  306. package/esm/pages/error.d.ts.map +1 -0
  307. package/esm/pages/index.d.ts +9 -0
  308. package/esm/pages/index.d.ts.map +1 -0
  309. package/esm/pages/index.js +1563 -0
  310. package/esm/react/Alert.d.ts +102 -0
  311. package/esm/react/Alert.d.ts.map +1 -0
  312. package/esm/react/Badge.d.ts +101 -0
  313. package/esm/react/Badge.d.ts.map +1 -0
  314. package/esm/react/Button.d.ts +109 -0
  315. package/esm/react/Button.d.ts.map +1 -0
  316. package/esm/react/Card.d.ts +104 -0
  317. package/esm/react/Card.d.ts.map +1 -0
  318. package/esm/react/hooks/context.d.ts +179 -0
  319. package/esm/react/hooks/context.d.ts.map +1 -0
  320. package/esm/react/hooks/index.d.ts +42 -0
  321. package/esm/react/hooks/index.d.ts.map +1 -0
  322. package/esm/react/hooks/tools.d.ts +284 -0
  323. package/esm/react/hooks/tools.d.ts.map +1 -0
  324. package/esm/react/index.d.ts +81 -0
  325. package/esm/react/index.d.ts.map +1 -0
  326. package/esm/react/index.js +1372 -0
  327. package/esm/react/types.d.ts +106 -0
  328. package/esm/react/types.d.ts.map +1 -0
  329. package/esm/react/utils.d.ts +43 -0
  330. package/esm/react/utils.d.ts.map +1 -0
  331. package/esm/registry/index.d.ts +46 -0
  332. package/esm/registry/index.d.ts.map +1 -0
  333. package/esm/registry/index.js +6422 -0
  334. package/esm/registry/render-template.d.ts +91 -0
  335. package/esm/registry/render-template.d.ts.map +1 -0
  336. package/esm/registry/tool-ui.registry.d.ts +294 -0
  337. package/esm/registry/tool-ui.registry.d.ts.map +1 -0
  338. package/esm/registry/uri-utils.d.ts +56 -0
  339. package/esm/registry/uri-utils.d.ts.map +1 -0
  340. package/esm/render/index.d.ts +8 -0
  341. package/esm/render/index.d.ts.map +1 -0
  342. package/esm/render/index.js +45 -0
  343. package/esm/render/prerender.d.ts +57 -0
  344. package/esm/render/prerender.d.ts.map +1 -0
  345. package/esm/renderers/cache.d.ts +145 -0
  346. package/esm/renderers/cache.d.ts.map +1 -0
  347. package/esm/renderers/html.renderer.d.ts +123 -0
  348. package/esm/renderers/html.renderer.d.ts.map +1 -0
  349. package/esm/renderers/index.d.ts +36 -0
  350. package/esm/renderers/index.d.ts.map +1 -0
  351. package/esm/renderers/index.js +1827 -0
  352. package/esm/renderers/mdx.renderer.d.ts +120 -0
  353. package/esm/renderers/mdx.renderer.d.ts.map +1 -0
  354. package/esm/renderers/react.renderer.d.ts +96 -0
  355. package/esm/renderers/react.renderer.d.ts.map +1 -0
  356. package/esm/renderers/registry.d.ts +134 -0
  357. package/esm/renderers/registry.d.ts.map +1 -0
  358. package/esm/renderers/types.d.ts +342 -0
  359. package/esm/renderers/types.d.ts.map +1 -0
  360. package/esm/renderers/utils/detect.d.ts +107 -0
  361. package/esm/renderers/utils/detect.d.ts.map +1 -0
  362. package/esm/renderers/utils/hash.d.ts +40 -0
  363. package/esm/renderers/utils/hash.d.ts.map +1 -0
  364. package/esm/renderers/utils/index.d.ts +9 -0
  365. package/esm/renderers/utils/index.d.ts.map +1 -0
  366. package/esm/renderers/utils/transpiler.d.ts +89 -0
  367. package/esm/renderers/utils/transpiler.d.ts.map +1 -0
  368. package/esm/runtime/adapters/html.adapter.d.ts +59 -0
  369. package/esm/runtime/adapters/html.adapter.d.ts.map +1 -0
  370. package/esm/runtime/adapters/index.d.ts +26 -0
  371. package/esm/runtime/adapters/index.d.ts.map +1 -0
  372. package/esm/runtime/adapters/mdx.adapter.d.ts +73 -0
  373. package/esm/runtime/adapters/mdx.adapter.d.ts.map +1 -0
  374. package/esm/runtime/adapters/react.adapter.d.ts +70 -0
  375. package/esm/runtime/adapters/react.adapter.d.ts.map +1 -0
  376. package/esm/runtime/adapters/types.d.ts +95 -0
  377. package/esm/runtime/adapters/types.d.ts.map +1 -0
  378. package/esm/runtime/csp.d.ts +48 -0
  379. package/esm/runtime/csp.d.ts.map +1 -0
  380. package/esm/runtime/index.d.ts +17 -0
  381. package/esm/runtime/index.d.ts.map +1 -0
  382. package/esm/runtime/index.js +5186 -0
  383. package/esm/runtime/mcp-bridge.d.ts +101 -0
  384. package/esm/runtime/mcp-bridge.d.ts.map +1 -0
  385. package/esm/runtime/renderer-runtime.d.ts +133 -0
  386. package/esm/runtime/renderer-runtime.d.ts.map +1 -0
  387. package/esm/runtime/sanitizer.d.ts +172 -0
  388. package/esm/runtime/sanitizer.d.ts.map +1 -0
  389. package/esm/runtime/types.d.ts +415 -0
  390. package/esm/runtime/types.d.ts.map +1 -0
  391. package/esm/runtime/wrapper.d.ts +421 -0
  392. package/esm/runtime/wrapper.d.ts.map +1 -0
  393. package/esm/styles/index.d.ts +8 -0
  394. package/esm/styles/index.d.ts.map +1 -0
  395. package/esm/styles/index.js +171 -0
  396. package/esm/styles/variants.d.ts +51 -0
  397. package/esm/styles/variants.d.ts.map +1 -0
  398. package/esm/theme/cdn.d.ts +195 -0
  399. package/esm/theme/cdn.d.ts.map +1 -0
  400. package/esm/theme/index.d.ts +18 -0
  401. package/esm/theme/index.d.ts.map +1 -0
  402. package/esm/theme/index.js +700 -0
  403. package/esm/theme/platforms.d.ts +107 -0
  404. package/esm/theme/platforms.d.ts.map +1 -0
  405. package/esm/theme/presets/github-openai.d.ts +50 -0
  406. package/esm/theme/presets/github-openai.d.ts.map +1 -0
  407. package/esm/theme/presets/index.d.ts +11 -0
  408. package/esm/theme/presets/index.d.ts.map +1 -0
  409. package/esm/theme/theme.d.ts +396 -0
  410. package/esm/theme/theme.d.ts.map +1 -0
  411. package/esm/tool-template/builder.d.ts +213 -0
  412. package/esm/tool-template/builder.d.ts.map +1 -0
  413. package/esm/tool-template/index.d.ts +16 -0
  414. package/esm/tool-template/index.d.ts.map +1 -0
  415. package/esm/tool-template/index.js +3515 -0
  416. package/esm/types/index.d.ts +14 -0
  417. package/esm/types/index.d.ts.map +1 -0
  418. package/esm/types/index.js +75 -0
  419. package/esm/types/ui-config.d.ts +639 -0
  420. package/esm/types/ui-config.d.ts.map +1 -0
  421. package/esm/types/ui-runtime.d.ts +1007 -0
  422. package/esm/types/ui-runtime.d.ts.map +1 -0
  423. package/esm/typings/cache/cache-adapter.d.ts +125 -0
  424. package/esm/typings/cache/cache-adapter.d.ts.map +1 -0
  425. package/esm/typings/cache/index.d.ts +10 -0
  426. package/esm/typings/cache/index.d.ts.map +1 -0
  427. package/esm/typings/cache/memory-cache.d.ts +92 -0
  428. package/esm/typings/cache/memory-cache.d.ts.map +1 -0
  429. package/esm/typings/dts-parser.d.ts +90 -0
  430. package/esm/typings/dts-parser.d.ts.map +1 -0
  431. package/esm/typings/index.d.ts +48 -0
  432. package/esm/typings/index.d.ts.map +1 -0
  433. package/esm/typings/schemas.d.ts +232 -0
  434. package/esm/typings/schemas.d.ts.map +1 -0
  435. package/esm/typings/type-fetcher.d.ts +89 -0
  436. package/esm/typings/type-fetcher.d.ts.map +1 -0
  437. package/esm/typings/types.d.ts +320 -0
  438. package/esm/typings/types.d.ts.map +1 -0
  439. package/esm/universal/UniversalApp.d.ts +108 -0
  440. package/esm/universal/UniversalApp.d.ts.map +1 -0
  441. package/esm/universal/cached-runtime.d.ts +115 -0
  442. package/esm/universal/cached-runtime.d.ts.map +1 -0
  443. package/esm/universal/context.d.ts +122 -0
  444. package/esm/universal/context.d.ts.map +1 -0
  445. package/esm/universal/index.d.ts +57 -0
  446. package/esm/universal/index.d.ts.map +1 -0
  447. package/esm/universal/renderers/html.renderer.d.ts +37 -0
  448. package/esm/universal/renderers/html.renderer.d.ts.map +1 -0
  449. package/esm/universal/renderers/index.d.ts +112 -0
  450. package/esm/universal/renderers/index.d.ts.map +1 -0
  451. package/esm/universal/renderers/markdown.renderer.d.ts +33 -0
  452. package/esm/universal/renderers/markdown.renderer.d.ts.map +1 -0
  453. package/esm/universal/renderers/mdx.renderer.d.ts +38 -0
  454. package/esm/universal/renderers/mdx.renderer.d.ts.map +1 -0
  455. package/esm/universal/renderers/react.renderer.d.ts +46 -0
  456. package/esm/universal/renderers/react.renderer.d.ts.map +1 -0
  457. package/esm/universal/runtime-builder.d.ts +33 -0
  458. package/esm/universal/runtime-builder.d.ts.map +1 -0
  459. package/esm/universal/store.d.ts +135 -0
  460. package/esm/universal/store.d.ts.map +1 -0
  461. package/esm/universal/types.d.ts +199 -0
  462. package/esm/universal/types.d.ts.map +1 -0
  463. package/esm/utils/escape-html.d.ts +58 -0
  464. package/esm/utils/escape-html.d.ts.map +1 -0
  465. package/esm/utils/index.d.ts +10 -0
  466. package/esm/utils/index.d.ts.map +1 -0
  467. package/esm/utils/index.js +40 -0
  468. package/esm/utils/safe-stringify.d.ts +30 -0
  469. package/esm/utils/safe-stringify.d.ts.map +1 -0
  470. package/esm/validation/error-box.d.ts +56 -0
  471. package/esm/validation/error-box.d.ts.map +1 -0
  472. package/esm/validation/index.d.ts +13 -0
  473. package/esm/validation/index.d.ts.map +1 -0
  474. package/esm/validation/index.js +562 -0
  475. package/esm/validation/schema-paths.d.ts +118 -0
  476. package/esm/validation/schema-paths.d.ts.map +1 -0
  477. package/esm/validation/template-validator.d.ts +143 -0
  478. package/esm/validation/template-validator.d.ts.map +1 -0
  479. package/esm/validation/wrapper.d.ts +97 -0
  480. package/esm/validation/wrapper.d.ts.map +1 -0
  481. package/esm/web-components/core/attribute-parser.d.ts +82 -0
  482. package/esm/web-components/core/attribute-parser.d.ts.map +1 -0
  483. package/esm/web-components/core/base-element.d.ts +197 -0
  484. package/esm/web-components/core/base-element.d.ts.map +1 -0
  485. package/esm/web-components/core/index.d.ts +9 -0
  486. package/esm/web-components/core/index.d.ts.map +1 -0
  487. package/esm/web-components/elements/fmcp-alert.d.ts +46 -0
  488. package/esm/web-components/elements/fmcp-alert.d.ts.map +1 -0
  489. package/esm/web-components/elements/fmcp-badge.d.ts +47 -0
  490. package/esm/web-components/elements/fmcp-badge.d.ts.map +1 -0
  491. package/esm/web-components/elements/fmcp-button.d.ts +117 -0
  492. package/esm/web-components/elements/fmcp-button.d.ts.map +1 -0
  493. package/esm/web-components/elements/fmcp-card.d.ts +53 -0
  494. package/esm/web-components/elements/fmcp-card.d.ts.map +1 -0
  495. package/esm/web-components/elements/fmcp-input.d.ts +96 -0
  496. package/esm/web-components/elements/fmcp-input.d.ts.map +1 -0
  497. package/esm/web-components/elements/fmcp-select.d.ts +100 -0
  498. package/esm/web-components/elements/fmcp-select.d.ts.map +1 -0
  499. package/esm/web-components/elements/index.d.ts +13 -0
  500. package/esm/web-components/elements/index.d.ts.map +1 -0
  501. package/esm/web-components/index.d.ts +50 -0
  502. package/esm/web-components/index.d.ts.map +1 -0
  503. package/esm/web-components/index.js +2048 -0
  504. package/esm/web-components/register.d.ts +57 -0
  505. package/esm/web-components/register.d.ts.map +1 -0
  506. package/esm/web-components/types.d.ts +122 -0
  507. package/esm/web-components/types.d.ts.map +1 -0
  508. package/esm/widgets/index.d.ts +8 -0
  509. package/esm/widgets/index.d.ts.map +1 -0
  510. package/esm/widgets/index.js +941 -0
  511. package/esm/widgets/progress.d.ts +133 -0
  512. package/esm/widgets/progress.d.ts.map +1 -0
  513. package/esm/widgets/resource.d.ts +163 -0
  514. package/esm/widgets/resource.d.ts.map +1 -0
  515. package/handlebars/expression-extractor.d.ts +147 -0
  516. package/handlebars/expression-extractor.d.ts.map +1 -0
  517. package/handlebars/helpers.d.ts +339 -0
  518. package/handlebars/helpers.d.ts.map +1 -0
  519. package/handlebars/index.d.ts +195 -0
  520. package/handlebars/index.d.ts.map +1 -0
  521. package/handlebars/index.js +666 -0
  522. package/index.d.ts +56 -0
  523. package/index.d.ts.map +1 -0
  524. package/index.js +20942 -0
  525. package/layouts/base.d.ts +86 -0
  526. package/layouts/base.d.ts.map +1 -0
  527. package/layouts/index.d.ts +8 -0
  528. package/layouts/index.d.ts.map +1 -0
  529. package/layouts/index.js +930 -0
  530. package/layouts/presets.d.ts +134 -0
  531. package/layouts/presets.d.ts.map +1 -0
  532. package/package.json +28 -87
  533. package/pages/consent.d.ts +117 -0
  534. package/pages/consent.d.ts.map +1 -0
  535. package/pages/error.d.ts +101 -0
  536. package/pages/error.d.ts.map +1 -0
  537. package/pages/index.d.ts +9 -0
  538. package/pages/index.d.ts.map +1 -0
  539. package/pages/index.js +1602 -0
  540. package/react/Alert.d.ts +102 -0
  541. package/react/Alert.d.ts.map +1 -0
  542. package/react/Badge.d.ts +101 -0
  543. package/react/Badge.d.ts.map +1 -0
  544. package/react/Button.d.ts +109 -0
  545. package/react/Button.d.ts.map +1 -0
  546. package/react/Card.d.ts +104 -0
  547. package/react/Card.d.ts.map +1 -0
  548. package/react/hooks/context.d.ts +179 -0
  549. package/react/hooks/context.d.ts.map +1 -0
  550. package/react/hooks/index.d.ts +42 -0
  551. package/react/hooks/index.d.ts.map +1 -0
  552. package/react/hooks/tools.d.ts +284 -0
  553. package/react/hooks/tools.d.ts.map +1 -0
  554. package/react/index.d.ts +81 -0
  555. package/react/index.d.ts.map +1 -0
  556. package/react/index.js +1430 -0
  557. package/react/types.d.ts +106 -0
  558. package/react/types.d.ts.map +1 -0
  559. package/react/utils.d.ts +43 -0
  560. package/react/utils.d.ts.map +1 -0
  561. package/registry/index.d.ts +46 -0
  562. package/registry/index.d.ts.map +1 -0
  563. package/registry/index.js +6465 -0
  564. package/registry/render-template.d.ts +91 -0
  565. package/registry/render-template.d.ts.map +1 -0
  566. package/registry/tool-ui.registry.d.ts +294 -0
  567. package/registry/tool-ui.registry.d.ts.map +1 -0
  568. package/registry/uri-utils.d.ts +56 -0
  569. package/registry/uri-utils.d.ts.map +1 -0
  570. package/render/index.d.ts +8 -0
  571. package/render/index.d.ts.map +1 -0
  572. package/render/index.js +77 -0
  573. package/render/prerender.d.ts +57 -0
  574. package/render/prerender.d.ts.map +1 -0
  575. package/renderers/cache.d.ts +145 -0
  576. package/renderers/cache.d.ts.map +1 -0
  577. package/renderers/html.renderer.d.ts +123 -0
  578. package/renderers/html.renderer.d.ts.map +1 -0
  579. package/renderers/index.d.ts +36 -0
  580. package/renderers/index.d.ts.map +1 -0
  581. package/renderers/index.js +1882 -0
  582. package/renderers/mdx.renderer.d.ts +120 -0
  583. package/renderers/mdx.renderer.d.ts.map +1 -0
  584. package/renderers/react.renderer.d.ts +96 -0
  585. package/renderers/react.renderer.d.ts.map +1 -0
  586. package/renderers/registry.d.ts +134 -0
  587. package/renderers/registry.d.ts.map +1 -0
  588. package/renderers/types.d.ts +342 -0
  589. package/renderers/types.d.ts.map +1 -0
  590. package/renderers/utils/detect.d.ts +107 -0
  591. package/renderers/utils/detect.d.ts.map +1 -0
  592. package/renderers/utils/hash.d.ts +40 -0
  593. package/renderers/utils/hash.d.ts.map +1 -0
  594. package/renderers/utils/index.d.ts +9 -0
  595. package/renderers/utils/index.d.ts.map +1 -0
  596. package/renderers/utils/transpiler.d.ts +89 -0
  597. package/renderers/utils/transpiler.d.ts.map +1 -0
  598. package/runtime/adapters/html.adapter.d.ts +59 -0
  599. package/runtime/adapters/html.adapter.d.ts.map +1 -0
  600. package/runtime/adapters/index.d.ts +26 -0
  601. package/runtime/adapters/index.d.ts.map +1 -0
  602. package/runtime/adapters/mdx.adapter.d.ts +73 -0
  603. package/runtime/adapters/mdx.adapter.d.ts.map +1 -0
  604. package/runtime/adapters/react.adapter.d.ts +70 -0
  605. package/runtime/adapters/react.adapter.d.ts.map +1 -0
  606. package/runtime/adapters/types.d.ts +95 -0
  607. package/runtime/adapters/types.d.ts.map +1 -0
  608. package/runtime/csp.d.ts +48 -0
  609. package/runtime/csp.d.ts.map +1 -0
  610. package/runtime/index.d.ts +17 -0
  611. package/runtime/index.d.ts.map +1 -0
  612. package/runtime/index.js +5264 -0
  613. package/runtime/mcp-bridge.d.ts +101 -0
  614. package/runtime/mcp-bridge.d.ts.map +1 -0
  615. package/runtime/renderer-runtime.d.ts +133 -0
  616. package/runtime/renderer-runtime.d.ts.map +1 -0
  617. package/runtime/sanitizer.d.ts +172 -0
  618. package/runtime/sanitizer.d.ts.map +1 -0
  619. package/runtime/types.d.ts +415 -0
  620. package/runtime/types.d.ts.map +1 -0
  621. package/runtime/wrapper.d.ts +421 -0
  622. package/runtime/wrapper.d.ts.map +1 -0
  623. package/styles/index.d.ts +8 -0
  624. package/styles/index.d.ts.map +1 -0
  625. package/styles/index.js +222 -0
  626. package/styles/variants.d.ts +51 -0
  627. package/styles/variants.d.ts.map +1 -0
  628. package/theme/cdn.d.ts +195 -0
  629. package/theme/cdn.d.ts.map +1 -0
  630. package/theme/index.d.ts +18 -0
  631. package/theme/index.d.ts.map +1 -0
  632. package/theme/index.js +757 -0
  633. package/theme/platforms.d.ts +107 -0
  634. package/theme/platforms.d.ts.map +1 -0
  635. package/theme/presets/github-openai.d.ts +50 -0
  636. package/theme/presets/github-openai.d.ts.map +1 -0
  637. package/theme/presets/index.d.ts +11 -0
  638. package/theme/presets/index.d.ts.map +1 -0
  639. package/theme/theme.d.ts +396 -0
  640. package/theme/theme.d.ts.map +1 -0
  641. package/tool-template/builder.d.ts +213 -0
  642. package/tool-template/builder.d.ts.map +1 -0
  643. package/tool-template/index.d.ts +16 -0
  644. package/tool-template/index.d.ts.map +1 -0
  645. package/tool-template/index.js +3559 -0
  646. package/types/index.d.ts +14 -0
  647. package/types/index.d.ts.map +1 -0
  648. package/types/index.js +108 -0
  649. package/types/ui-config.d.ts +639 -0
  650. package/types/ui-config.d.ts.map +1 -0
  651. package/types/ui-runtime.d.ts +1007 -0
  652. package/types/ui-runtime.d.ts.map +1 -0
  653. package/typings/cache/cache-adapter.d.ts +125 -0
  654. package/typings/cache/cache-adapter.d.ts.map +1 -0
  655. package/typings/cache/index.d.ts +10 -0
  656. package/typings/cache/index.d.ts.map +1 -0
  657. package/typings/cache/memory-cache.d.ts +92 -0
  658. package/typings/cache/memory-cache.d.ts.map +1 -0
  659. package/typings/dts-parser.d.ts +90 -0
  660. package/typings/dts-parser.d.ts.map +1 -0
  661. package/typings/index.d.ts +48 -0
  662. package/typings/index.d.ts.map +1 -0
  663. package/typings/schemas.d.ts +232 -0
  664. package/typings/schemas.d.ts.map +1 -0
  665. package/typings/type-fetcher.d.ts +89 -0
  666. package/typings/type-fetcher.d.ts.map +1 -0
  667. package/typings/types.d.ts +320 -0
  668. package/typings/types.d.ts.map +1 -0
  669. package/universal/UniversalApp.d.ts +108 -0
  670. package/universal/UniversalApp.d.ts.map +1 -0
  671. package/universal/cached-runtime.d.ts +115 -0
  672. package/universal/cached-runtime.d.ts.map +1 -0
  673. package/universal/context.d.ts +122 -0
  674. package/universal/context.d.ts.map +1 -0
  675. package/universal/index.d.ts +57 -0
  676. package/universal/index.d.ts.map +1 -0
  677. package/universal/renderers/html.renderer.d.ts +37 -0
  678. package/universal/renderers/html.renderer.d.ts.map +1 -0
  679. package/universal/renderers/index.d.ts +112 -0
  680. package/universal/renderers/index.d.ts.map +1 -0
  681. package/universal/renderers/markdown.renderer.d.ts +33 -0
  682. package/universal/renderers/markdown.renderer.d.ts.map +1 -0
  683. package/universal/renderers/mdx.renderer.d.ts +38 -0
  684. package/universal/renderers/mdx.renderer.d.ts.map +1 -0
  685. package/universal/renderers/react.renderer.d.ts +46 -0
  686. package/universal/renderers/react.renderer.d.ts.map +1 -0
  687. package/universal/runtime-builder.d.ts +33 -0
  688. package/universal/runtime-builder.d.ts.map +1 -0
  689. package/universal/store.d.ts +135 -0
  690. package/universal/store.d.ts.map +1 -0
  691. package/universal/types.d.ts +199 -0
  692. package/universal/types.d.ts.map +1 -0
  693. package/utils/escape-html.d.ts +58 -0
  694. package/utils/escape-html.d.ts.map +1 -0
  695. package/utils/index.d.ts +10 -0
  696. package/utils/index.d.ts.map +1 -0
  697. package/utils/index.js +70 -0
  698. package/utils/safe-stringify.d.ts +30 -0
  699. package/utils/safe-stringify.d.ts.map +1 -0
  700. package/validation/error-box.d.ts +56 -0
  701. package/validation/error-box.d.ts.map +1 -0
  702. package/validation/index.d.ts +13 -0
  703. package/validation/index.d.ts.map +1 -0
  704. package/validation/index.js +603 -0
  705. package/validation/schema-paths.d.ts +118 -0
  706. package/validation/schema-paths.d.ts.map +1 -0
  707. package/validation/template-validator.d.ts +143 -0
  708. package/validation/template-validator.d.ts.map +1 -0
  709. package/validation/wrapper.d.ts +97 -0
  710. package/validation/wrapper.d.ts.map +1 -0
  711. package/web-components/core/attribute-parser.d.ts +82 -0
  712. package/web-components/core/attribute-parser.d.ts.map +1 -0
  713. package/web-components/core/base-element.d.ts +197 -0
  714. package/web-components/core/base-element.d.ts.map +1 -0
  715. package/web-components/core/index.d.ts +9 -0
  716. package/web-components/core/index.d.ts.map +1 -0
  717. package/web-components/elements/fmcp-alert.d.ts +46 -0
  718. package/web-components/elements/fmcp-alert.d.ts.map +1 -0
  719. package/web-components/elements/fmcp-badge.d.ts +47 -0
  720. package/web-components/elements/fmcp-badge.d.ts.map +1 -0
  721. package/web-components/elements/fmcp-button.d.ts +117 -0
  722. package/web-components/elements/fmcp-button.d.ts.map +1 -0
  723. package/web-components/elements/fmcp-card.d.ts +53 -0
  724. package/web-components/elements/fmcp-card.d.ts.map +1 -0
  725. package/web-components/elements/fmcp-input.d.ts +96 -0
  726. package/web-components/elements/fmcp-input.d.ts.map +1 -0
  727. package/web-components/elements/fmcp-select.d.ts +100 -0
  728. package/web-components/elements/fmcp-select.d.ts.map +1 -0
  729. package/web-components/elements/index.d.ts +13 -0
  730. package/web-components/elements/index.d.ts.map +1 -0
  731. package/web-components/index.d.ts +50 -0
  732. package/web-components/index.d.ts.map +1 -0
  733. package/web-components/index.js +2093 -0
  734. package/web-components/register.d.ts +57 -0
  735. package/web-components/register.d.ts.map +1 -0
  736. package/web-components/types.d.ts +122 -0
  737. package/web-components/types.d.ts.map +1 -0
  738. package/widgets/index.d.ts +8 -0
  739. package/widgets/index.d.ts.map +1 -0
  740. package/widgets/index.js +978 -0
  741. package/widgets/progress.d.ts +133 -0
  742. package/widgets/progress.d.ts.map +1 -0
  743. package/widgets/resource.d.ts +163 -0
  744. package/widgets/resource.d.ts.map +1 -0
  745. package/src/adapters/index.d.ts +0 -10
  746. package/src/adapters/index.js +0 -18
  747. package/src/adapters/index.js.map +0 -1
  748. package/src/adapters/platform-meta.d.ts +0 -165
  749. package/src/adapters/platform-meta.js +0 -310
  750. package/src/adapters/platform-meta.js.map +0 -1
  751. package/src/base-template/bridge.d.ts +0 -89
  752. package/src/base-template/bridge.js +0 -452
  753. package/src/base-template/bridge.js.map +0 -1
  754. package/src/base-template/default-base-template.d.ts +0 -91
  755. package/src/base-template/default-base-template.js +0 -435
  756. package/src/base-template/default-base-template.js.map +0 -1
  757. package/src/base-template/index.d.ts +0 -14
  758. package/src/base-template/index.js +0 -30
  759. package/src/base-template/index.js.map +0 -1
  760. package/src/base-template/polyfills.d.ts +0 -30
  761. package/src/base-template/polyfills.js +0 -190
  762. package/src/base-template/polyfills.js.map +0 -1
  763. package/src/base-template/theme-styles.d.ts +0 -73
  764. package/src/base-template/theme-styles.js +0 -95
  765. package/src/base-template/theme-styles.js.map +0 -1
  766. package/src/bridge/adapters/base-adapter.d.ts +0 -103
  767. package/src/bridge/adapters/base-adapter.js +0 -314
  768. package/src/bridge/adapters/base-adapter.js.map +0 -1
  769. package/src/bridge/adapters/claude.adapter.d.ts +0 -66
  770. package/src/bridge/adapters/claude.adapter.js +0 -145
  771. package/src/bridge/adapters/claude.adapter.js.map +0 -1
  772. package/src/bridge/adapters/ext-apps.adapter.d.ts +0 -142
  773. package/src/bridge/adapters/ext-apps.adapter.js +0 -416
  774. package/src/bridge/adapters/ext-apps.adapter.js.map +0 -1
  775. package/src/bridge/adapters/gemini.adapter.d.ts +0 -63
  776. package/src/bridge/adapters/gemini.adapter.js +0 -160
  777. package/src/bridge/adapters/gemini.adapter.js.map +0 -1
  778. package/src/bridge/adapters/generic.adapter.d.ts +0 -55
  779. package/src/bridge/adapters/generic.adapter.js +0 -108
  780. package/src/bridge/adapters/generic.adapter.js.map +0 -1
  781. package/src/bridge/adapters/index.d.ts +0 -25
  782. package/src/bridge/adapters/index.js +0 -65
  783. package/src/bridge/adapters/index.js.map +0 -1
  784. package/src/bridge/adapters/openai.adapter.d.ts +0 -64
  785. package/src/bridge/adapters/openai.adapter.js +0 -194
  786. package/src/bridge/adapters/openai.adapter.js.map +0 -1
  787. package/src/bridge/core/adapter-registry.d.ts +0 -121
  788. package/src/bridge/core/adapter-registry.js +0 -271
  789. package/src/bridge/core/adapter-registry.js.map +0 -1
  790. package/src/bridge/core/bridge-factory.d.ts +0 -198
  791. package/src/bridge/core/bridge-factory.js +0 -428
  792. package/src/bridge/core/bridge-factory.js.map +0 -1
  793. package/src/bridge/core/index.d.ts +0 -9
  794. package/src/bridge/core/index.js +0 -22
  795. package/src/bridge/core/index.js.map +0 -1
  796. package/src/bridge/index.d.ts +0 -61
  797. package/src/bridge/index.js +0 -94
  798. package/src/bridge/index.js.map +0 -1
  799. package/src/bridge/runtime/iife-generator.d.ts +0 -61
  800. package/src/bridge/runtime/iife-generator.js +0 -940
  801. package/src/bridge/runtime/iife-generator.js.map +0 -1
  802. package/src/bridge/runtime/index.d.ts +0 -8
  803. package/src/bridge/runtime/index.js +0 -16
  804. package/src/bridge/runtime/index.js.map +0 -1
  805. package/src/bridge/types.d.ts +0 -385
  806. package/src/bridge/types.js +0 -11
  807. package/src/bridge/types.js.map +0 -1
  808. package/src/build/cdn-resources.d.ts +0 -140
  809. package/src/build/cdn-resources.js +0 -314
  810. package/src/build/cdn-resources.js.map +0 -1
  811. package/src/build/index.d.ts +0 -294
  812. package/src/build/index.js +0 -325
  813. package/src/build/index.js.map +0 -1
  814. package/src/build/widget-manifest.d.ts +0 -212
  815. package/src/build/widget-manifest.js +0 -652
  816. package/src/build/widget-manifest.js.map +0 -1
  817. package/src/bundler/bundler.d.ts +0 -110
  818. package/src/bundler/bundler.js +0 -432
  819. package/src/bundler/bundler.js.map +0 -1
  820. package/src/bundler/cache.d.ts +0 -172
  821. package/src/bundler/cache.js +0 -250
  822. package/src/bundler/cache.js.map +0 -1
  823. package/src/bundler/index.d.ts +0 -41
  824. package/src/bundler/index.js +0 -73
  825. package/src/bundler/index.js.map +0 -1
  826. package/src/bundler/sandbox/enclave-adapter.d.ts +0 -120
  827. package/src/bundler/sandbox/enclave-adapter.js +0 -339
  828. package/src/bundler/sandbox/enclave-adapter.js.map +0 -1
  829. package/src/bundler/sandbox/executor.d.ts +0 -13
  830. package/src/bundler/sandbox/executor.js +0 -22
  831. package/src/bundler/sandbox/executor.js.map +0 -1
  832. package/src/bundler/sandbox/policy.d.ts +0 -61
  833. package/src/bundler/sandbox/policy.js +0 -238
  834. package/src/bundler/sandbox/policy.js.map +0 -1
  835. package/src/bundler/types.d.ts +0 -347
  836. package/src/bundler/types.js +0 -132
  837. package/src/bundler/types.js.map +0 -1
  838. package/src/components/alert.d.ts +0 -71
  839. package/src/components/alert.js +0 -189
  840. package/src/components/alert.js.map +0 -1
  841. package/src/components/alert.schema.d.ts +0 -114
  842. package/src/components/alert.schema.js +0 -105
  843. package/src/components/alert.schema.js.map +0 -1
  844. package/src/components/avatar.d.ts +0 -76
  845. package/src/components/avatar.js +0 -176
  846. package/src/components/avatar.js.map +0 -1
  847. package/src/components/avatar.schema.d.ts +0 -169
  848. package/src/components/avatar.schema.js +0 -103
  849. package/src/components/avatar.schema.js.map +0 -1
  850. package/src/components/badge.d.ts +0 -70
  851. package/src/components/badge.js +0 -149
  852. package/src/components/badge.js.map +0 -1
  853. package/src/components/badge.schema.d.ts +0 -109
  854. package/src/components/badge.schema.js +0 -96
  855. package/src/components/badge.schema.js.map +0 -1
  856. package/src/components/button.d.ts +0 -111
  857. package/src/components/button.js +0 -336
  858. package/src/components/button.js.map +0 -1
  859. package/src/components/button.schema.d.ts +0 -148
  860. package/src/components/button.schema.js +0 -121
  861. package/src/components/button.schema.js.map +0 -1
  862. package/src/components/card.d.ts +0 -60
  863. package/src/components/card.js +0 -117
  864. package/src/components/card.js.map +0 -1
  865. package/src/components/card.schema.d.ts +0 -113
  866. package/src/components/card.schema.js +0 -98
  867. package/src/components/card.schema.js.map +0 -1
  868. package/src/components/form.d.ts +0 -239
  869. package/src/components/form.js +0 -420
  870. package/src/components/form.js.map +0 -1
  871. package/src/components/form.schema.d.ts +0 -441
  872. package/src/components/form.schema.js +0 -406
  873. package/src/components/form.schema.js.map +0 -1
  874. package/src/components/index.d.ts +0 -29
  875. package/src/components/index.js +0 -98
  876. package/src/components/index.js.map +0 -1
  877. package/src/components/list.d.ts +0 -127
  878. package/src/components/list.js +0 -279
  879. package/src/components/list.js.map +0 -1
  880. package/src/components/list.schema.d.ts +0 -134
  881. package/src/components/list.schema.js +0 -168
  882. package/src/components/list.schema.js.map +0 -1
  883. package/src/components/modal.d.ts +0 -111
  884. package/src/components/modal.js +0 -260
  885. package/src/components/modal.js.map +0 -1
  886. package/src/components/modal.schema.d.ts +0 -186
  887. package/src/components/modal.schema.js +0 -167
  888. package/src/components/modal.schema.js.map +0 -1
  889. package/src/components/table.d.ts +0 -105
  890. package/src/components/table.js +0 -283
  891. package/src/components/table.js.map +0 -1
  892. package/src/components/table.schema.d.ts +0 -159
  893. package/src/components/table.schema.js +0 -173
  894. package/src/components/table.schema.js.map +0 -1
  895. package/src/handlebars/helpers.d.ts +0 -348
  896. package/src/handlebars/helpers.js +0 -605
  897. package/src/handlebars/helpers.js.map +0 -1
  898. package/src/handlebars/index.d.ts +0 -193
  899. package/src/handlebars/index.js +0 -350
  900. package/src/handlebars/index.js.map +0 -1
  901. package/src/index.d.ts +0 -50
  902. package/src/index.js +0 -192
  903. package/src/index.js.map +0 -1
  904. package/src/layouts/base.d.ts +0 -88
  905. package/src/layouts/base.js +0 -227
  906. package/src/layouts/base.js.map +0 -1
  907. package/src/layouts/index.d.ts +0 -7
  908. package/src/layouts/index.js +0 -25
  909. package/src/layouts/index.js.map +0 -1
  910. package/src/layouts/presets.d.ts +0 -133
  911. package/src/layouts/presets.js +0 -277
  912. package/src/layouts/presets.js.map +0 -1
  913. package/src/pages/consent.d.ts +0 -116
  914. package/src/pages/consent.js +0 -218
  915. package/src/pages/consent.js.map +0 -1
  916. package/src/pages/error.d.ts +0 -100
  917. package/src/pages/error.js +0 -263
  918. package/src/pages/error.js.map +0 -1
  919. package/src/pages/index.d.ts +0 -8
  920. package/src/pages/index.js +0 -27
  921. package/src/pages/index.js.map +0 -1
  922. package/src/react/Alert.d.ts +0 -101
  923. package/src/react/Alert.js +0 -51
  924. package/src/react/Alert.js.map +0 -1
  925. package/src/react/Badge.d.ts +0 -100
  926. package/src/react/Badge.js +0 -55
  927. package/src/react/Badge.js.map +0 -1
  928. package/src/react/Button.d.ts +0 -108
  929. package/src/react/Button.js +0 -52
  930. package/src/react/Button.js.map +0 -1
  931. package/src/react/Card.d.ts +0 -103
  932. package/src/react/Card.js +0 -55
  933. package/src/react/Card.js.map +0 -1
  934. package/src/react/hooks/context.d.ts +0 -178
  935. package/src/react/hooks/context.js +0 -287
  936. package/src/react/hooks/context.js.map +0 -1
  937. package/src/react/hooks/index.d.ts +0 -41
  938. package/src/react/hooks/index.js +0 -61
  939. package/src/react/hooks/index.js.map +0 -1
  940. package/src/react/hooks/tools.d.ts +0 -283
  941. package/src/react/hooks/tools.js +0 -465
  942. package/src/react/hooks/tools.js.map +0 -1
  943. package/src/react/index.d.ts +0 -80
  944. package/src/react/index.js +0 -113
  945. package/src/react/index.js.map +0 -1
  946. package/src/react/types.d.ts +0 -105
  947. package/src/react/types.js +0 -12
  948. package/src/react/types.js.map +0 -1
  949. package/src/react/utils.d.ts +0 -42
  950. package/src/react/utils.js +0 -99
  951. package/src/react/utils.js.map +0 -1
  952. package/src/registry/index.d.ts +0 -45
  953. package/src/registry/index.js +0 -67
  954. package/src/registry/index.js.map +0 -1
  955. package/src/registry/render-template.d.ts +0 -86
  956. package/src/registry/render-template.js +0 -239
  957. package/src/registry/render-template.js.map +0 -1
  958. package/src/registry/tool-ui.registry.d.ts +0 -260
  959. package/src/registry/tool-ui.registry.js +0 -438
  960. package/src/registry/tool-ui.registry.js.map +0 -1
  961. package/src/registry/uri-utils.d.ts +0 -55
  962. package/src/registry/uri-utils.js +0 -97
  963. package/src/registry/uri-utils.js.map +0 -1
  964. package/src/render/index.d.ts +0 -7
  965. package/src/render/index.js +0 -14
  966. package/src/render/index.js.map +0 -1
  967. package/src/render/prerender.d.ts +0 -56
  968. package/src/render/prerender.js +0 -98
  969. package/src/render/prerender.js.map +0 -1
  970. package/src/renderers/cache.d.ts +0 -144
  971. package/src/renderers/cache.js +0 -240
  972. package/src/renderers/cache.js.map +0 -1
  973. package/src/renderers/html.renderer.d.ts +0 -122
  974. package/src/renderers/html.renderer.js +0 -204
  975. package/src/renderers/html.renderer.js.map +0 -1
  976. package/src/renderers/index.d.ts +0 -35
  977. package/src/renderers/index.js +0 -70
  978. package/src/renderers/index.js.map +0 -1
  979. package/src/renderers/mdx.renderer.d.ts +0 -119
  980. package/src/renderers/mdx.renderer.js +0 -305
  981. package/src/renderers/mdx.renderer.js.map +0 -1
  982. package/src/renderers/react.renderer.d.ts +0 -95
  983. package/src/renderers/react.renderer.js +0 -260
  984. package/src/renderers/react.renderer.js.map +0 -1
  985. package/src/renderers/registry.d.ts +0 -133
  986. package/src/renderers/registry.js +0 -232
  987. package/src/renderers/registry.js.map +0 -1
  988. package/src/renderers/types.d.ts +0 -341
  989. package/src/renderers/types.js +0 -9
  990. package/src/renderers/types.js.map +0 -1
  991. package/src/renderers/utils/detect.d.ts +0 -106
  992. package/src/renderers/utils/detect.js +0 -267
  993. package/src/renderers/utils/detect.js.map +0 -1
  994. package/src/renderers/utils/hash.d.ts +0 -39
  995. package/src/renderers/utils/hash.js +0 -75
  996. package/src/renderers/utils/hash.js.map +0 -1
  997. package/src/renderers/utils/index.d.ts +0 -8
  998. package/src/renderers/utils/index.js +0 -28
  999. package/src/renderers/utils/index.js.map +0 -1
  1000. package/src/renderers/utils/transpiler.d.ts +0 -88
  1001. package/src/renderers/utils/transpiler.js +0 -215
  1002. package/src/renderers/utils/transpiler.js.map +0 -1
  1003. package/src/runtime/adapters/html.adapter.d.ts +0 -58
  1004. package/src/runtime/adapters/html.adapter.js +0 -131
  1005. package/src/runtime/adapters/html.adapter.js.map +0 -1
  1006. package/src/runtime/adapters/index.d.ts +0 -25
  1007. package/src/runtime/adapters/index.js +0 -54
  1008. package/src/runtime/adapters/index.js.map +0 -1
  1009. package/src/runtime/adapters/mdx.adapter.d.ts +0 -72
  1010. package/src/runtime/adapters/mdx.adapter.js +0 -241
  1011. package/src/runtime/adapters/mdx.adapter.js.map +0 -1
  1012. package/src/runtime/adapters/react.adapter.d.ts +0 -69
  1013. package/src/runtime/adapters/react.adapter.js +0 -245
  1014. package/src/runtime/adapters/react.adapter.js.map +0 -1
  1015. package/src/runtime/adapters/types.d.ts +0 -94
  1016. package/src/runtime/adapters/types.js +0 -11
  1017. package/src/runtime/adapters/types.js.map +0 -1
  1018. package/src/runtime/csp.d.ts +0 -37
  1019. package/src/runtime/csp.js +0 -140
  1020. package/src/runtime/csp.js.map +0 -1
  1021. package/src/runtime/index.d.ts +0 -16
  1022. package/src/runtime/index.js +0 -72
  1023. package/src/runtime/index.js.map +0 -1
  1024. package/src/runtime/mcp-bridge.d.ts +0 -100
  1025. package/src/runtime/mcp-bridge.js +0 -581
  1026. package/src/runtime/mcp-bridge.js.map +0 -1
  1027. package/src/runtime/renderer-runtime.d.ts +0 -132
  1028. package/src/runtime/renderer-runtime.js +0 -389
  1029. package/src/runtime/renderer-runtime.js.map +0 -1
  1030. package/src/runtime/sanitizer.d.ts +0 -171
  1031. package/src/runtime/sanitizer.js +0 -318
  1032. package/src/runtime/sanitizer.js.map +0 -1
  1033. package/src/runtime/types.d.ts +0 -414
  1034. package/src/runtime/types.js +0 -12
  1035. package/src/runtime/types.js.map +0 -1
  1036. package/src/runtime/wrapper.d.ts +0 -375
  1037. package/src/runtime/wrapper.js +0 -1793
  1038. package/src/runtime/wrapper.js.map +0 -1
  1039. package/src/styles/index.d.ts +0 -7
  1040. package/src/styles/index.js +0 -11
  1041. package/src/styles/index.js.map +0 -1
  1042. package/src/styles/variants.d.ts +0 -50
  1043. package/src/styles/variants.js +0 -175
  1044. package/src/styles/variants.js.map +0 -1
  1045. package/src/theme/cdn.d.ts +0 -194
  1046. package/src/theme/cdn.js +0 -375
  1047. package/src/theme/cdn.js.map +0 -1
  1048. package/src/theme/index.d.ts +0 -17
  1049. package/src/theme/index.js +0 -57
  1050. package/src/theme/index.js.map +0 -1
  1051. package/src/theme/platforms.d.ts +0 -106
  1052. package/src/theme/platforms.js +0 -161
  1053. package/src/theme/platforms.js.map +0 -1
  1054. package/src/theme/presets/github-openai.d.ts +0 -49
  1055. package/src/theme/presets/github-openai.js +0 -189
  1056. package/src/theme/presets/github-openai.js.map +0 -1
  1057. package/src/theme/presets/index.d.ts +0 -10
  1058. package/src/theme/presets/index.js +0 -17
  1059. package/src/theme/presets/index.js.map +0 -1
  1060. package/src/theme/theme.d.ts +0 -395
  1061. package/src/theme/theme.js +0 -332
  1062. package/src/theme/theme.js.map +0 -1
  1063. package/src/tool-template/builder.d.ts +0 -212
  1064. package/src/tool-template/builder.js +0 -397
  1065. package/src/tool-template/builder.js.map +0 -1
  1066. package/src/tool-template/index.d.ts +0 -15
  1067. package/src/tool-template/index.js +0 -38
  1068. package/src/tool-template/index.js.map +0 -1
  1069. package/src/types/index.d.ts +0 -13
  1070. package/src/types/index.js +0 -26
  1071. package/src/types/index.js.map +0 -1
  1072. package/src/types/ui-config.d.ts +0 -357
  1073. package/src/types/ui-config.js +0 -12
  1074. package/src/types/ui-config.js.map +0 -1
  1075. package/src/types/ui-runtime.d.ts +0 -965
  1076. package/src/types/ui-runtime.js +0 -117
  1077. package/src/types/ui-runtime.js.map +0 -1
  1078. package/src/validation/error-box.d.ts +0 -55
  1079. package/src/validation/error-box.js +0 -75
  1080. package/src/validation/error-box.js.map +0 -1
  1081. package/src/validation/index.d.ts +0 -12
  1082. package/src/validation/index.js +0 -21
  1083. package/src/validation/index.js.map +0 -1
  1084. package/src/validation/wrapper.d.ts +0 -96
  1085. package/src/validation/wrapper.js +0 -117
  1086. package/src/validation/wrapper.js.map +0 -1
  1087. package/src/web-components/core/attribute-parser.d.ts +0 -85
  1088. package/src/web-components/core/attribute-parser.js +0 -189
  1089. package/src/web-components/core/attribute-parser.js.map +0 -1
  1090. package/src/web-components/core/base-element.d.ts +0 -197
  1091. package/src/web-components/core/base-element.js +0 -289
  1092. package/src/web-components/core/base-element.js.map +0 -1
  1093. package/src/web-components/core/index.d.ts +0 -8
  1094. package/src/web-components/core/index.js +0 -18
  1095. package/src/web-components/core/index.js.map +0 -1
  1096. package/src/web-components/elements/fmcp-alert.d.ts +0 -45
  1097. package/src/web-components/elements/fmcp-alert.js +0 -93
  1098. package/src/web-components/elements/fmcp-alert.js.map +0 -1
  1099. package/src/web-components/elements/fmcp-badge.d.ts +0 -46
  1100. package/src/web-components/elements/fmcp-badge.js +0 -99
  1101. package/src/web-components/elements/fmcp-badge.js.map +0 -1
  1102. package/src/web-components/elements/fmcp-button.d.ts +0 -124
  1103. package/src/web-components/elements/fmcp-button.js +0 -233
  1104. package/src/web-components/elements/fmcp-button.js.map +0 -1
  1105. package/src/web-components/elements/fmcp-card.d.ts +0 -52
  1106. package/src/web-components/elements/fmcp-card.js +0 -115
  1107. package/src/web-components/elements/fmcp-card.js.map +0 -1
  1108. package/src/web-components/elements/fmcp-input.d.ts +0 -95
  1109. package/src/web-components/elements/fmcp-input.js +0 -248
  1110. package/src/web-components/elements/fmcp-input.js.map +0 -1
  1111. package/src/web-components/elements/fmcp-select.d.ts +0 -99
  1112. package/src/web-components/elements/fmcp-select.js +0 -243
  1113. package/src/web-components/elements/fmcp-select.js.map +0 -1
  1114. package/src/web-components/elements/index.d.ts +0 -12
  1115. package/src/web-components/elements/index.js +0 -34
  1116. package/src/web-components/elements/index.js.map +0 -1
  1117. package/src/web-components/index.d.ts +0 -49
  1118. package/src/web-components/index.js +0 -75
  1119. package/src/web-components/index.js.map +0 -1
  1120. package/src/web-components/register.d.ts +0 -56
  1121. package/src/web-components/register.js +0 -80
  1122. package/src/web-components/register.js.map +0 -1
  1123. package/src/web-components/types.d.ts +0 -121
  1124. package/src/web-components/types.js +0 -25
  1125. package/src/web-components/types.js.map +0 -1
  1126. package/src/widgets/index.d.ts +0 -7
  1127. package/src/widgets/index.js +0 -24
  1128. package/src/widgets/index.js.map +0 -1
  1129. package/src/widgets/progress.d.ts +0 -132
  1130. package/src/widgets/progress.js +0 -303
  1131. package/src/widgets/progress.js.map +0 -1
  1132. package/src/widgets/resource.d.ts +0 -162
  1133. package/src/widgets/resource.js +0 -340
  1134. package/src/widgets/resource.js.map +0 -1
@@ -1,310 +0,0 @@
1
- "use strict";
2
- /**
3
- * Platform Metadata Adapters
4
- *
5
- * Build platform-specific _meta fields for tool UI responses.
6
- * Adapts the UI configuration to the format expected by each
7
- * AI platform (OpenAI, Claude, Gemini, etc.).
8
- *
9
- * This module is SDK-independent and can be used by external systems
10
- * like AgentLink without requiring @frontmcp/sdk.
11
- *
12
- * @packageDocumentation
13
- */
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.buildUIMeta = buildUIMeta;
16
- exports.buildOpenAICSP = buildOpenAICSP;
17
- exports.buildToolDiscoveryMeta = buildToolDiscoveryMeta;
18
- // ============================================
19
- // Main Builder Function
20
- // ============================================
21
- /**
22
- * Build platform-specific UI metadata for tool response.
23
- *
24
- * For inline serving mode (default), HTML is embedded directly in `_meta['ui/html']`.
25
- * For static mode, the static widget URI is provided in tools/list
26
- * and the tool response contains only structured data.
27
- *
28
- * @example
29
- * ```typescript
30
- * import { buildUIMeta } from '@frontmcp/ui/adapters';
31
- *
32
- * const meta = buildUIMeta({
33
- * uiConfig: { template: (ctx) => `<div>${ctx.output.value}</div>` },
34
- * platformType: 'openai',
35
- * html: '<div>Hello World</div>',
36
- * });
37
- * ```
38
- */
39
- function buildUIMeta(options) {
40
- const { uiConfig, platformType, html, token, directUrl, rendererType, contentHash, manifestUri } = options;
41
- const meta = {};
42
- // Add manifest-related fields if provided
43
- if (rendererType) {
44
- meta['ui/type'] = rendererType;
45
- }
46
- if (contentHash) {
47
- meta['ui/contentHash'] = contentHash;
48
- }
49
- if (manifestUri) {
50
- meta['ui/manifestUri'] = manifestUri;
51
- }
52
- // For inline mode, embed HTML directly in response
53
- // This is the only serving mode that uses buildUIMeta
54
- // (static mode returns structured data only, no UI _meta)
55
- meta['ui/html'] = html;
56
- // Always include MIME type for platforms that need it
57
- meta['ui/mimeType'] = getMimeType(platformType);
58
- // Include token if provided
59
- if (token) {
60
- meta['ui/widgetToken'] = token;
61
- }
62
- // Include direct URL if provided
63
- if (directUrl) {
64
- meta['ui/directUrl'] = directUrl;
65
- }
66
- // Platform-specific fields
67
- switch (platformType) {
68
- case 'openai':
69
- return buildOpenAIMeta(meta, uiConfig);
70
- case 'claude':
71
- return buildClaudeMeta(meta, uiConfig);
72
- case 'gemini':
73
- return buildGeminiMeta(meta, uiConfig);
74
- case 'cursor':
75
- case 'continue':
76
- case 'cody':
77
- return buildIDEMeta(meta, uiConfig);
78
- case 'generic-mcp':
79
- return buildGenericMeta(meta, uiConfig);
80
- case 'ext-apps':
81
- return buildExtAppsMeta(meta, uiConfig);
82
- default:
83
- // Unknown platform - just return universal fields
84
- return meta;
85
- }
86
- }
87
- // ============================================
88
- // Helper Functions
89
- // ============================================
90
- /**
91
- * Get MIME type based on platform.
92
- */
93
- function getMimeType(platformType) {
94
- switch (platformType) {
95
- case 'openai':
96
- return 'text/html+skybridge';
97
- default:
98
- return 'text/html+mcp';
99
- }
100
- }
101
- /**
102
- * Build OpenAI-specific metadata for tool CALL response (inline mode).
103
- *
104
- * NOTE: Per OpenAI's pizzaz example, the call response should only include
105
- * invocation status in _meta. The outputTemplate, resultCanProduceWidget, etc.
106
- * are discovery-time fields that belong in tools/list _meta, NOT in call response.
107
- *
108
- * For static mode: OpenAI fetches the widget HTML from the outputTemplate URI
109
- * (set in tools/list) and injects structuredContent as window.openai.toolOutput.
110
- * For inline mode: HTML is embedded directly in _meta['ui/html'].
111
- */
112
- function buildOpenAIMeta(meta, uiConfig) {
113
- // Only include invocation status in call response _meta
114
- // (per pizzaz example - they don't include outputTemplate in call response)
115
- if (uiConfig.invocationStatus?.invoking) {
116
- meta['openai/toolInvocation/invoking'] = uiConfig.invocationStatus.invoking;
117
- }
118
- if (uiConfig.invocationStatus?.invoked) {
119
- meta['openai/toolInvocation/invoked'] = uiConfig.invocationStatus.invoked;
120
- }
121
- return meta;
122
- }
123
- /**
124
- * Build OpenAI CSP format.
125
- */
126
- function buildOpenAICSP(csp) {
127
- const result = {};
128
- if (csp.connectDomains?.length) {
129
- result.connect_domains = csp.connectDomains;
130
- }
131
- if (csp.resourceDomains?.length) {
132
- result.resource_domains = csp.resourceDomains;
133
- }
134
- return result;
135
- }
136
- /**
137
- * Build Claude-specific metadata.
138
- * Claude widgets are network-blocked, so we don't include URI references.
139
- */
140
- function buildClaudeMeta(meta, uiConfig) {
141
- // Claude uses inline HTML only (network-blocked)
142
- // Don't include resource URI since Claude can't fetch it
143
- if (uiConfig.widgetDescription) {
144
- meta['claude/widgetDescription'] = uiConfig.widgetDescription;
145
- }
146
- return meta;
147
- }
148
- /**
149
- * Build Gemini-specific metadata.
150
- */
151
- function buildGeminiMeta(meta, uiConfig) {
152
- // Gemini support is limited - include inline HTML
153
- // Future: Add Gemini-specific fields when they're defined
154
- if (uiConfig.widgetDescription) {
155
- meta['gemini/widgetDescription'] = uiConfig.widgetDescription;
156
- }
157
- return meta;
158
- }
159
- /**
160
- * Build IDE-specific metadata (Cursor, Continue, Cody).
161
- * For inline mode, HTML is embedded directly in _meta['ui/html'].
162
- */
163
- function buildIDEMeta(meta, uiConfig) {
164
- if (uiConfig.widgetDescription) {
165
- meta['ide/widgetDescription'] = uiConfig.widgetDescription;
166
- }
167
- return meta;
168
- }
169
- /**
170
- * Build generic MCP client metadata.
171
- * For inline mode, HTML is embedded directly in _meta['ui/html'].
172
- */
173
- function buildGenericMeta(meta, uiConfig) {
174
- if (uiConfig.widgetAccessible) {
175
- meta['openai/widgetAccessible'] = true;
176
- }
177
- if (uiConfig.csp) {
178
- meta['openai/widgetCSP'] = buildOpenAICSP(uiConfig.csp);
179
- }
180
- return meta;
181
- }
182
- /**
183
- * Build MCP Apps (ext-apps) metadata per specification.
184
- * For inline mode, HTML is embedded directly in _meta['ui/html'].
185
- *
186
- * Per MCP Apps spec: https://github.com/modelcontextprotocol/ext-apps
187
- * - ui/csp: Content security policy for sandboxed iframe
188
- * - ui/displayMode: How the UI should be displayed
189
- * - ui/prefersBorder: Whether to show border around UI
190
- * - ui/domain: Optional dedicated sandbox domain
191
- */
192
- function buildExtAppsMeta(meta, uiConfig) {
193
- // MCP Apps uses text/html+mcp MIME type
194
- meta['ui/mimeType'] = 'text/html+mcp';
195
- // CSP configuration (uses camelCase per MCP Apps spec)
196
- if (uiConfig.csp) {
197
- const csp = {};
198
- if (uiConfig.csp.connectDomains?.length) {
199
- csp.connectDomains = uiConfig.csp.connectDomains;
200
- }
201
- if (uiConfig.csp.resourceDomains?.length) {
202
- csp.resourceDomains = uiConfig.csp.resourceDomains;
203
- }
204
- if (Object.keys(csp).length > 0) {
205
- meta['ui/csp'] = csp;
206
- }
207
- }
208
- // Display mode preference
209
- if (uiConfig.displayMode) {
210
- // Map generic display modes to MCP Apps specific values
211
- const displayModeMap = {
212
- inline: 'inline',
213
- fullscreen: 'fullscreen',
214
- pip: 'pip',
215
- // Map OpenAI-style values
216
- widget: 'inline',
217
- panel: 'fullscreen',
218
- };
219
- const mappedMode = displayModeMap[uiConfig.displayMode];
220
- if (mappedMode) {
221
- meta['ui/displayMode'] = mappedMode;
222
- }
223
- }
224
- // Border preference (default: true for visual clarity in sandbox)
225
- if (uiConfig.prefersBorder !== undefined) {
226
- meta['ui/prefersBorder'] = uiConfig.prefersBorder;
227
- }
228
- // Dedicated sandbox domain (optional)
229
- if (uiConfig.sandboxDomain) {
230
- meta['ui/domain'] = uiConfig.sandboxDomain;
231
- }
232
- return meta;
233
- }
234
- /**
235
- * Build tool discovery metadata (for tools/list response).
236
- */
237
- function buildToolDiscoveryMeta(options) {
238
- const { uiConfig, platformType, staticWidgetUri } = options;
239
- const meta = {};
240
- switch (platformType) {
241
- case 'openai':
242
- // OpenAI-specific discovery fields
243
- meta['openai/outputTemplate'] = staticWidgetUri;
244
- meta['openai/resultCanProduceWidget'] = true;
245
- if (uiConfig.widgetAccessible) {
246
- meta['openai/widgetAccessible'] = true;
247
- }
248
- if (uiConfig.csp) {
249
- meta['openai/widgetCSP'] = buildOpenAICSP(uiConfig.csp);
250
- }
251
- if (uiConfig.displayMode) {
252
- meta['openai/displayMode'] = uiConfig.displayMode;
253
- }
254
- if (uiConfig.widgetDescription) {
255
- meta['openai/widgetDescription'] = uiConfig.widgetDescription;
256
- }
257
- break;
258
- case 'generic-mcp':
259
- // Generic MCP uses OpenAI-like format
260
- meta['openai/outputTemplate'] = staticWidgetUri;
261
- meta['openai/resultCanProduceWidget'] = true;
262
- if (uiConfig.widgetAccessible) {
263
- meta['openai/widgetAccessible'] = true;
264
- }
265
- if (uiConfig.csp) {
266
- meta['openai/widgetCSP'] = buildOpenAICSP(uiConfig.csp);
267
- }
268
- break;
269
- case 'ext-apps':
270
- // MCP Apps discovery metadata per specification
271
- meta['ui/resourceUri'] = staticWidgetUri;
272
- meta['ui/mimeType'] = 'text/html+mcp';
273
- if (uiConfig.csp) {
274
- const csp = {};
275
- if (uiConfig.csp.connectDomains?.length) {
276
- csp.connectDomains = uiConfig.csp.connectDomains;
277
- }
278
- if (uiConfig.csp.resourceDomains?.length) {
279
- csp.resourceDomains = uiConfig.csp.resourceDomains;
280
- }
281
- if (Object.keys(csp).length > 0) {
282
- meta['ui/csp'] = csp;
283
- }
284
- }
285
- if (uiConfig.displayMode) {
286
- const displayModeMap = {
287
- inline: 'inline',
288
- fullscreen: 'fullscreen',
289
- pip: 'pip',
290
- };
291
- const mappedMode = displayModeMap[uiConfig.displayMode];
292
- if (mappedMode) {
293
- meta['ui/displayMode'] = mappedMode;
294
- }
295
- }
296
- if (uiConfig.prefersBorder !== undefined) {
297
- meta['ui/prefersBorder'] = uiConfig.prefersBorder;
298
- }
299
- if (uiConfig.sandboxDomain) {
300
- meta['ui/domain'] = uiConfig.sandboxDomain;
301
- }
302
- break;
303
- // Claude, Gemini, IDEs don't need discovery metadata
304
- // They use inline HTML at call time
305
- default:
306
- break;
307
- }
308
- return meta;
309
- }
310
- //# sourceMappingURL=platform-meta.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"platform-meta.js","sourceRoot":"","sources":["../../../src/adapters/platform-meta.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;AA0JH,kCA4DC;AA6CD,wCAeC;AAgKD,wDA0FC;AAxYD,+CAA+C;AAC/C,wBAAwB;AACxB,+CAA+C;AAE/C;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAgB,WAAW,CAA8B,OAAoC;IAC3F,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IAE3G,MAAM,IAAI,GAAe,EAAE,CAAC;IAE5B,0CAA0C;IAC1C,IAAI,YAAY,EAAE,CAAC;QACjB,IAAI,CAAC,SAAS,CAAC,GAAG,YAAY,CAAC;IACjC,CAAC;IACD,IAAI,WAAW,EAAE,CAAC;QAChB,IAAI,CAAC,gBAAgB,CAAC,GAAG,WAAW,CAAC;IACvC,CAAC;IACD,IAAI,WAAW,EAAE,CAAC;QAChB,IAAI,CAAC,gBAAgB,CAAC,GAAG,WAAW,CAAC;IACvC,CAAC;IAED,mDAAmD;IACnD,sDAAsD;IACtD,0DAA0D;IAC1D,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;IAEvB,sDAAsD;IACtD,IAAI,CAAC,aAAa,CAAC,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;IAEhD,4BAA4B;IAC5B,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,CAAC,gBAAgB,CAAC,GAAG,KAAK,CAAC;IACjC,CAAC;IAED,iCAAiC;IACjC,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC;IACnC,CAAC;IAED,2BAA2B;IAC3B,QAAQ,YAAY,EAAE,CAAC;QACrB,KAAK,QAAQ;YACX,OAAO,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAEzC,KAAK,QAAQ;YACX,OAAO,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAEzC,KAAK,QAAQ;YACX,OAAO,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAEzC,KAAK,QAAQ,CAAC;QACd,KAAK,UAAU,CAAC;QAChB,KAAK,MAAM;YACT,OAAO,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAEtC,KAAK,aAAa;YAChB,OAAO,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAE1C,KAAK,UAAU;YACb,OAAO,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAE1C;YACE,kDAAkD;YAClD,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED,+CAA+C;AAC/C,mBAAmB;AACnB,+CAA+C;AAE/C;;GAEG;AACH,SAAS,WAAW,CAAC,YAA4B;IAC/C,QAAQ,YAAY,EAAE,CAAC;QACrB,KAAK,QAAQ;YACX,OAAO,qBAAqB,CAAC;QAC/B;YACE,OAAO,eAAe,CAAC;IAC3B,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,eAAe,CAAU,IAAgB,EAAE,QAAmC;IACrF,wDAAwD;IACxD,4EAA4E;IAC5E,IAAI,QAAQ,CAAC,gBAAgB,EAAE,QAAQ,EAAE,CAAC;QACxC,IAAI,CAAC,gCAAgC,CAAC,GAAG,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC;IAC9E,CAAC;IACD,IAAI,QAAQ,CAAC,gBAAgB,EAAE,OAAO,EAAE,CAAC;QACvC,IAAI,CAAC,+BAA+B,CAAC,GAAG,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC;IAC5E,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,GAA4B;IAIzD,MAAM,MAAM,GAAgE,EAAE,CAAC;IAE/E,IAAI,GAAG,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC;QAC/B,MAAM,CAAC,eAAe,GAAG,GAAG,CAAC,cAAc,CAAC;IAC9C,CAAC;IAED,IAAI,GAAG,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;QAChC,MAAM,CAAC,gBAAgB,GAAG,GAAG,CAAC,eAAe,CAAC;IAChD,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,SAAS,eAAe,CAAU,IAAgB,EAAE,QAAmC;IACrF,iDAAiD;IACjD,yDAAyD;IAEzD,IAAI,QAAQ,CAAC,iBAAiB,EAAE,CAAC;QAC/B,IAAI,CAAC,0BAA0B,CAAC,GAAG,QAAQ,CAAC,iBAAiB,CAAC;IAChE,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAU,IAAgB,EAAE,QAAmC;IACrF,kDAAkD;IAClD,0DAA0D;IAE1D,IAAI,QAAQ,CAAC,iBAAiB,EAAE,CAAC;QAC/B,IAAI,CAAC,0BAA0B,CAAC,GAAG,QAAQ,CAAC,iBAAiB,CAAC;IAChE,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,SAAS,YAAY,CAAU,IAAgB,EAAE,QAAmC;IAClF,IAAI,QAAQ,CAAC,iBAAiB,EAAE,CAAC;QAC/B,IAAI,CAAC,uBAAuB,CAAC,GAAG,QAAQ,CAAC,iBAAiB,CAAC;IAC7D,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,SAAS,gBAAgB,CAAU,IAAgB,EAAE,QAAmC;IACtF,IAAI,QAAQ,CAAC,gBAAgB,EAAE,CAAC;QAC9B,IAAI,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC;IACzC,CAAC;IAED,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,kBAAkB,CAAC,GAAG,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC1D,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,gBAAgB,CAAU,IAAgB,EAAE,QAAmC;IACtF,wCAAwC;IACxC,IAAI,CAAC,aAAa,CAAC,GAAG,eAAe,CAAC;IAEtC,uDAAuD;IACvD,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,GAAG,GAA8D,EAAE,CAAC;QAE1E,IAAI,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC;YACxC,GAAG,CAAC,cAAc,GAAG,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC;QACnD,CAAC;QAED,IAAI,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;YACzC,GAAG,CAAC,eAAe,GAAG,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC;QACrD,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC;QACvB,CAAC;IACH,CAAC;IAED,0BAA0B;IAC1B,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;QACzB,wDAAwD;QACxD,MAAM,cAAc,GAAoD;YACtE,MAAM,EAAE,QAAQ;YAChB,UAAU,EAAE,YAAY;YACxB,GAAG,EAAE,KAAK;YACV,0BAA0B;YAC1B,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE,YAAY;SACpB,CAAC;QACF,MAAM,UAAU,GAAG,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACxD,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,gBAAgB,CAAC,GAAG,UAAU,CAAC;QACtC,CAAC;IACH,CAAC;IAED,kEAAkE;IAClE,IAAI,QAAQ,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QACzC,IAAI,CAAC,kBAAkB,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC;IACpD,CAAC;IAED,sCAAsC;IACtC,IAAI,QAAQ,CAAC,aAAa,EAAE,CAAC;QAC3B,IAAI,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC;IAC7C,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAuCD;;GAEG;AACH,SAAgB,sBAAsB,CACpC,OAA+C;IAE/C,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC;IAE5D,MAAM,IAAI,GAAe,EAAE,CAAC;IAE5B,QAAQ,YAAY,EAAE,CAAC;QACrB,KAAK,QAAQ;YACX,mCAAmC;YACnC,IAAI,CAAC,uBAAuB,CAAC,GAAG,eAAe,CAAC;YAChD,IAAI,CAAC,+BAA+B,CAAC,GAAG,IAAI,CAAC;YAE7C,IAAI,QAAQ,CAAC,gBAAgB,EAAE,CAAC;gBAC9B,IAAI,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC;YACzC,CAAC;YAED,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAC;gBACjB,IAAI,CAAC,kBAAkB,CAAC,GAAG,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC1D,CAAC;YAED,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;gBACzB,IAAI,CAAC,oBAAoB,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC;YACpD,CAAC;YAED,IAAI,QAAQ,CAAC,iBAAiB,EAAE,CAAC;gBAC/B,IAAI,CAAC,0BAA0B,CAAC,GAAG,QAAQ,CAAC,iBAAiB,CAAC;YAChE,CAAC;YACD,MAAM;QAER,KAAK,aAAa;YAChB,sCAAsC;YACtC,IAAI,CAAC,uBAAuB,CAAC,GAAG,eAAe,CAAC;YAChD,IAAI,CAAC,+BAA+B,CAAC,GAAG,IAAI,CAAC;YAE7C,IAAI,QAAQ,CAAC,gBAAgB,EAAE,CAAC;gBAC9B,IAAI,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC;YACzC,CAAC;YAED,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAC;gBACjB,IAAI,CAAC,kBAAkB,CAAC,GAAG,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC1D,CAAC;YACD,MAAM;QAER,KAAK,UAAU;YACb,gDAAgD;YAChD,IAAI,CAAC,gBAAgB,CAAC,GAAG,eAAe,CAAC;YACzC,IAAI,CAAC,aAAa,CAAC,GAAG,eAAe,CAAC;YAEtC,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAC;gBACjB,MAAM,GAAG,GAA8D,EAAE,CAAC;gBAC1E,IAAI,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC;oBACxC,GAAG,CAAC,cAAc,GAAG,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC;gBACnD,CAAC;gBACD,IAAI,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;oBACzC,GAAG,CAAC,eAAe,GAAG,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC;gBACrD,CAAC;gBACD,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAChC,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC;gBACvB,CAAC;YACH,CAAC;YAED,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;gBACzB,MAAM,cAAc,GAAoD;oBACtE,MAAM,EAAE,QAAQ;oBAChB,UAAU,EAAE,YAAY;oBACxB,GAAG,EAAE,KAAK;iBACX,CAAC;gBACF,MAAM,UAAU,GAAG,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBACxD,IAAI,UAAU,EAAE,CAAC;oBACf,IAAI,CAAC,gBAAgB,CAAC,GAAG,UAAU,CAAC;gBACtC,CAAC;YACH,CAAC;YAED,IAAI,QAAQ,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;gBACzC,IAAI,CAAC,kBAAkB,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC;YACpD,CAAC;YAED,IAAI,QAAQ,CAAC,aAAa,EAAE,CAAC;gBAC3B,IAAI,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC;YAC7C,CAAC;YACD,MAAM;QAER,qDAAqD;QACrD,oCAAoC;QACpC;YACE,MAAM;IACV,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["/**\n * Platform Metadata Adapters\n *\n * Build platform-specific _meta fields for tool UI responses.\n * Adapts the UI configuration to the format expected by each\n * AI platform (OpenAI, Claude, Gemini, etc.).\n *\n * This module is SDK-independent and can be used by external systems\n * like AgentLink without requiring @frontmcp/sdk.\n *\n * @packageDocumentation\n */\n\nimport type { UITemplateConfig, UIContentSecurityPolicy } from '../types';\n\n// ============================================\n// Platform Types\n// ============================================\n\n/**\n * Supported AI platform types.\n * Used to determine which metadata format to generate.\n */\nexport type AIPlatformType =\n | 'openai'\n | 'claude'\n | 'gemini'\n | 'cursor'\n | 'continue'\n | 'cody'\n | 'generic-mcp'\n | 'ext-apps'\n | 'unknown';\n\n// ============================================\n// UI Metadata\n// ============================================\n\n/**\n * UI metadata to include in tool response _meta field.\n * Contains both universal fields and platform-specific annotations.\n */\nexport interface UIMetadata {\n // Universal fields\n /** Inline rendered HTML (universal) */\n 'ui/html'?: string;\n /** MIME type for the HTML content */\n 'ui/mimeType'?: string;\n /** Widget token for authenticated operations */\n 'ui/widgetToken'?: string;\n /** Direct URL to widget (for direct-url serving mode) */\n 'ui/directUrl'?: string;\n\n // Widget manifest fields (new)\n /** Renderer type for the widget (html, react, mdx, markdown, auto) */\n 'ui/type'?: string;\n /** Manifest URI for accessing widget configuration */\n 'ui/manifestUri'?: string;\n /** Hash of the widget content for cache validation */\n 'ui/contentHash'?: string;\n /** Required renderer assets for lazy loading */\n 'ui/requiredRenderers'?: string[];\n\n // OpenAI-specific fields\n /** OpenAI: Resource URI for widget template */\n 'openai/outputTemplate'?: string;\n /** OpenAI: Whether widget can invoke tools */\n 'openai/widgetAccessible'?: boolean;\n /** OpenAI: Whether tool result can produce a widget (CRITICAL for ChatGPT) */\n 'openai/resultCanProduceWidget'?: boolean;\n /** OpenAI: CSP configuration */\n 'openai/widgetCSP'?: {\n connect_domains?: string[];\n resource_domains?: string[];\n };\n /** OpenAI: Display mode preference */\n 'openai/displayMode'?: string;\n /** OpenAI: Widget description */\n 'openai/widgetDescription'?: string;\n /** OpenAI: Status text while tool is executing */\n 'openai/toolInvocation/invoking'?: string;\n /** OpenAI: Status text after tool execution completes */\n 'openai/toolInvocation/invoked'?: string;\n\n // Claude-specific fields\n /** Claude: Widget description */\n 'claude/widgetDescription'?: string;\n\n // Gemini-specific fields\n /** Gemini: Widget description */\n 'gemini/widgetDescription'?: string;\n\n // IDE-specific fields (Cursor, Continue, Cody)\n /** IDE: Resource URI for widget template */\n 'ide/outputTemplate'?: string;\n /** IDE: Widget description */\n 'ide/widgetDescription'?: string;\n\n // MCP Apps (ext-apps) fields - per specification\n /** MCP Apps: Resource URI for UI template */\n 'ui/resourceUri'?: string;\n /** MCP Apps: CSP configuration */\n 'ui/csp'?: {\n connectDomains?: string[];\n resourceDomains?: string[];\n };\n /** MCP Apps: Dedicated sandbox domain */\n 'ui/domain'?: string;\n /** MCP Apps: Whether to show border around UI */\n 'ui/prefersBorder'?: boolean;\n /** MCP Apps: Display mode */\n 'ui/displayMode'?: 'inline' | 'fullscreen' | 'pip';\n\n /** Allow additional platform-specific fields */\n [key: string]: unknown;\n}\n\n// ============================================\n// Build Options\n// ============================================\n\n/**\n * Options for building UI metadata.\n */\nexport interface BuildUIMetaOptions<In = unknown, Out = unknown> {\n /** Tool UI configuration */\n uiConfig: UITemplateConfig<In, Out>;\n /** Detected platform type */\n platformType: AIPlatformType;\n /** Rendered HTML content */\n html: string;\n /** Widget access token */\n token?: string;\n /** Direct URL for widget serving */\n directUrl?: string;\n /** Renderer type for the widget (html, react, mdx, markdown, auto) */\n rendererType?: string;\n /** Hash of the widget content for cache validation */\n contentHash?: string;\n /** Manifest URI for accessing widget configuration */\n manifestUri?: string;\n}\n\n// ============================================\n// Main Builder Function\n// ============================================\n\n/**\n * Build platform-specific UI metadata for tool response.\n *\n * For inline serving mode (default), HTML is embedded directly in `_meta['ui/html']`.\n * For static mode, the static widget URI is provided in tools/list\n * and the tool response contains only structured data.\n *\n * @example\n * ```typescript\n * import { buildUIMeta } from '@frontmcp/ui/adapters';\n *\n * const meta = buildUIMeta({\n * uiConfig: { template: (ctx) => `<div>${ctx.output.value}</div>` },\n * platformType: 'openai',\n * html: '<div>Hello World</div>',\n * });\n * ```\n */\nexport function buildUIMeta<In = unknown, Out = unknown>(options: BuildUIMetaOptions<In, Out>): UIMetadata {\n const { uiConfig, platformType, html, token, directUrl, rendererType, contentHash, manifestUri } = options;\n\n const meta: UIMetadata = {};\n\n // Add manifest-related fields if provided\n if (rendererType) {\n meta['ui/type'] = rendererType;\n }\n if (contentHash) {\n meta['ui/contentHash'] = contentHash;\n }\n if (manifestUri) {\n meta['ui/manifestUri'] = manifestUri;\n }\n\n // For inline mode, embed HTML directly in response\n // This is the only serving mode that uses buildUIMeta\n // (static mode returns structured data only, no UI _meta)\n meta['ui/html'] = html;\n\n // Always include MIME type for platforms that need it\n meta['ui/mimeType'] = getMimeType(platformType);\n\n // Include token if provided\n if (token) {\n meta['ui/widgetToken'] = token;\n }\n\n // Include direct URL if provided\n if (directUrl) {\n meta['ui/directUrl'] = directUrl;\n }\n\n // Platform-specific fields\n switch (platformType) {\n case 'openai':\n return buildOpenAIMeta(meta, uiConfig);\n\n case 'claude':\n return buildClaudeMeta(meta, uiConfig);\n\n case 'gemini':\n return buildGeminiMeta(meta, uiConfig);\n\n case 'cursor':\n case 'continue':\n case 'cody':\n return buildIDEMeta(meta, uiConfig);\n\n case 'generic-mcp':\n return buildGenericMeta(meta, uiConfig);\n\n case 'ext-apps':\n return buildExtAppsMeta(meta, uiConfig);\n\n default:\n // Unknown platform - just return universal fields\n return meta;\n }\n}\n\n// ============================================\n// Helper Functions\n// ============================================\n\n/**\n * Get MIME type based on platform.\n */\nfunction getMimeType(platformType: AIPlatformType): string {\n switch (platformType) {\n case 'openai':\n return 'text/html+skybridge';\n default:\n return 'text/html+mcp';\n }\n}\n\n/**\n * Build OpenAI-specific metadata for tool CALL response (inline mode).\n *\n * NOTE: Per OpenAI's pizzaz example, the call response should only include\n * invocation status in _meta. The outputTemplate, resultCanProduceWidget, etc.\n * are discovery-time fields that belong in tools/list _meta, NOT in call response.\n *\n * For static mode: OpenAI fetches the widget HTML from the outputTemplate URI\n * (set in tools/list) and injects structuredContent as window.openai.toolOutput.\n * For inline mode: HTML is embedded directly in _meta['ui/html'].\n */\nfunction buildOpenAIMeta<In, Out>(meta: UIMetadata, uiConfig: UITemplateConfig<In, Out>): UIMetadata {\n // Only include invocation status in call response _meta\n // (per pizzaz example - they don't include outputTemplate in call response)\n if (uiConfig.invocationStatus?.invoking) {\n meta['openai/toolInvocation/invoking'] = uiConfig.invocationStatus.invoking;\n }\n if (uiConfig.invocationStatus?.invoked) {\n meta['openai/toolInvocation/invoked'] = uiConfig.invocationStatus.invoked;\n }\n\n return meta;\n}\n\n/**\n * Build OpenAI CSP format.\n */\nexport function buildOpenAICSP(csp: UIContentSecurityPolicy): {\n connect_domains?: string[];\n resource_domains?: string[];\n} {\n const result: { connect_domains?: string[]; resource_domains?: string[] } = {};\n\n if (csp.connectDomains?.length) {\n result.connect_domains = csp.connectDomains;\n }\n\n if (csp.resourceDomains?.length) {\n result.resource_domains = csp.resourceDomains;\n }\n\n return result;\n}\n\n/**\n * Build Claude-specific metadata.\n * Claude widgets are network-blocked, so we don't include URI references.\n */\nfunction buildClaudeMeta<In, Out>(meta: UIMetadata, uiConfig: UITemplateConfig<In, Out>): UIMetadata {\n // Claude uses inline HTML only (network-blocked)\n // Don't include resource URI since Claude can't fetch it\n\n if (uiConfig.widgetDescription) {\n meta['claude/widgetDescription'] = uiConfig.widgetDescription;\n }\n\n return meta;\n}\n\n/**\n * Build Gemini-specific metadata.\n */\nfunction buildGeminiMeta<In, Out>(meta: UIMetadata, uiConfig: UITemplateConfig<In, Out>): UIMetadata {\n // Gemini support is limited - include inline HTML\n // Future: Add Gemini-specific fields when they're defined\n\n if (uiConfig.widgetDescription) {\n meta['gemini/widgetDescription'] = uiConfig.widgetDescription;\n }\n\n return meta;\n}\n\n/**\n * Build IDE-specific metadata (Cursor, Continue, Cody).\n * For inline mode, HTML is embedded directly in _meta['ui/html'].\n */\nfunction buildIDEMeta<In, Out>(meta: UIMetadata, uiConfig: UITemplateConfig<In, Out>): UIMetadata {\n if (uiConfig.widgetDescription) {\n meta['ide/widgetDescription'] = uiConfig.widgetDescription;\n }\n\n return meta;\n}\n\n/**\n * Build generic MCP client metadata.\n * For inline mode, HTML is embedded directly in _meta['ui/html'].\n */\nfunction buildGenericMeta<In, Out>(meta: UIMetadata, uiConfig: UITemplateConfig<In, Out>): UIMetadata {\n if (uiConfig.widgetAccessible) {\n meta['openai/widgetAccessible'] = true;\n }\n\n if (uiConfig.csp) {\n meta['openai/widgetCSP'] = buildOpenAICSP(uiConfig.csp);\n }\n\n return meta;\n}\n\n/**\n * Build MCP Apps (ext-apps) metadata per specification.\n * For inline mode, HTML is embedded directly in _meta['ui/html'].\n *\n * Per MCP Apps spec: https://github.com/modelcontextprotocol/ext-apps\n * - ui/csp: Content security policy for sandboxed iframe\n * - ui/displayMode: How the UI should be displayed\n * - ui/prefersBorder: Whether to show border around UI\n * - ui/domain: Optional dedicated sandbox domain\n */\nfunction buildExtAppsMeta<In, Out>(meta: UIMetadata, uiConfig: UITemplateConfig<In, Out>): UIMetadata {\n // MCP Apps uses text/html+mcp MIME type\n meta['ui/mimeType'] = 'text/html+mcp';\n\n // CSP configuration (uses camelCase per MCP Apps spec)\n if (uiConfig.csp) {\n const csp: { connectDomains?: string[]; resourceDomains?: string[] } = {};\n\n if (uiConfig.csp.connectDomains?.length) {\n csp.connectDomains = uiConfig.csp.connectDomains;\n }\n\n if (uiConfig.csp.resourceDomains?.length) {\n csp.resourceDomains = uiConfig.csp.resourceDomains;\n }\n\n if (Object.keys(csp).length > 0) {\n meta['ui/csp'] = csp;\n }\n }\n\n // Display mode preference\n if (uiConfig.displayMode) {\n // Map generic display modes to MCP Apps specific values\n const displayModeMap: Record<string, 'inline' | 'fullscreen' | 'pip'> = {\n inline: 'inline',\n fullscreen: 'fullscreen',\n pip: 'pip',\n // Map OpenAI-style values\n widget: 'inline',\n panel: 'fullscreen',\n };\n const mappedMode = displayModeMap[uiConfig.displayMode];\n if (mappedMode) {\n meta['ui/displayMode'] = mappedMode;\n }\n }\n\n // Border preference (default: true for visual clarity in sandbox)\n if (uiConfig.prefersBorder !== undefined) {\n meta['ui/prefersBorder'] = uiConfig.prefersBorder;\n }\n\n // Dedicated sandbox domain (optional)\n if (uiConfig.sandboxDomain) {\n meta['ui/domain'] = uiConfig.sandboxDomain;\n }\n\n return meta;\n}\n\n// ============================================\n// Tool Discovery Metadata\n// ============================================\n\n/**\n * Build metadata for tool discovery (tools/list response).\n * This includes fields that should be present at discovery time,\n * not in individual tool call responses.\n *\n * @example\n * ```typescript\n * import { buildToolDiscoveryMeta } from '@frontmcp/ui/adapters';\n *\n * const toolMeta = buildToolDiscoveryMeta({\n * uiConfig: { template: MyWidget, widgetAccessible: true },\n * platformType: 'openai',\n * staticWidgetUri: 'ui://widget/my_tool.html',\n * });\n *\n * // Use in tools/list response\n * const tool = {\n * name: 'my_tool',\n * description: '...',\n * inputSchema: {...},\n * _meta: toolMeta,\n * };\n * ```\n */\nexport interface BuildToolDiscoveryMetaOptions<In = unknown, Out = unknown> {\n /** Tool UI configuration */\n uiConfig: UITemplateConfig<In, Out>;\n /** Detected platform type */\n platformType: AIPlatformType;\n /** Static widget URI (e.g., ui://widget/my_tool.html) */\n staticWidgetUri: string;\n}\n\n/**\n * Build tool discovery metadata (for tools/list response).\n */\nexport function buildToolDiscoveryMeta<In = unknown, Out = unknown>(\n options: BuildToolDiscoveryMetaOptions<In, Out>,\n): UIMetadata {\n const { uiConfig, platformType, staticWidgetUri } = options;\n\n const meta: UIMetadata = {};\n\n switch (platformType) {\n case 'openai':\n // OpenAI-specific discovery fields\n meta['openai/outputTemplate'] = staticWidgetUri;\n meta['openai/resultCanProduceWidget'] = true;\n\n if (uiConfig.widgetAccessible) {\n meta['openai/widgetAccessible'] = true;\n }\n\n if (uiConfig.csp) {\n meta['openai/widgetCSP'] = buildOpenAICSP(uiConfig.csp);\n }\n\n if (uiConfig.displayMode) {\n meta['openai/displayMode'] = uiConfig.displayMode;\n }\n\n if (uiConfig.widgetDescription) {\n meta['openai/widgetDescription'] = uiConfig.widgetDescription;\n }\n break;\n\n case 'generic-mcp':\n // Generic MCP uses OpenAI-like format\n meta['openai/outputTemplate'] = staticWidgetUri;\n meta['openai/resultCanProduceWidget'] = true;\n\n if (uiConfig.widgetAccessible) {\n meta['openai/widgetAccessible'] = true;\n }\n\n if (uiConfig.csp) {\n meta['openai/widgetCSP'] = buildOpenAICSP(uiConfig.csp);\n }\n break;\n\n case 'ext-apps':\n // MCP Apps discovery metadata per specification\n meta['ui/resourceUri'] = staticWidgetUri;\n meta['ui/mimeType'] = 'text/html+mcp';\n\n if (uiConfig.csp) {\n const csp: { connectDomains?: string[]; resourceDomains?: string[] } = {};\n if (uiConfig.csp.connectDomains?.length) {\n csp.connectDomains = uiConfig.csp.connectDomains;\n }\n if (uiConfig.csp.resourceDomains?.length) {\n csp.resourceDomains = uiConfig.csp.resourceDomains;\n }\n if (Object.keys(csp).length > 0) {\n meta['ui/csp'] = csp;\n }\n }\n\n if (uiConfig.displayMode) {\n const displayModeMap: Record<string, 'inline' | 'fullscreen' | 'pip'> = {\n inline: 'inline',\n fullscreen: 'fullscreen',\n pip: 'pip',\n };\n const mappedMode = displayModeMap[uiConfig.displayMode];\n if (mappedMode) {\n meta['ui/displayMode'] = mappedMode;\n }\n }\n\n if (uiConfig.prefersBorder !== undefined) {\n meta['ui/prefersBorder'] = uiConfig.prefersBorder;\n }\n\n if (uiConfig.sandboxDomain) {\n meta['ui/domain'] = uiConfig.sandboxDomain;\n }\n break;\n\n // Claude, Gemini, IDEs don't need discovery metadata\n // They use inline HTML at call time\n default:\n break;\n }\n\n return meta;\n}\n"]}
@@ -1,89 +0,0 @@
1
- /**
2
- * Platform Bridge - Reactive Data Store for Tool UI
3
- *
4
- * Provides a reactive interface for tool output data that works across:
5
- * - React (via useSyncExternalStore)
6
- * - HTMX (via custom events)
7
- * - Vanilla JS (via subscribe callbacks)
8
- *
9
- * Uses Object.defineProperty to intercept when platforms inject data,
10
- * automatically detecting and notifying subscribers when data changes.
11
- *
12
- * @example React integration
13
- * ```tsx
14
- * import { useSyncExternalStore } from 'react';
15
- *
16
- * function useToolOutput() {
17
- * return useSyncExternalStore(
18
- * window.__frontmcp.bridge.subscribe,
19
- * window.__frontmcp.bridge.getSnapshot,
20
- * window.__frontmcp.bridge.getServerSnapshot
21
- * );
22
- * }
23
- * ```
24
- *
25
- * @example Vanilla JS
26
- * ```javascript
27
- * const unsubscribe = window.__frontmcp.bridge.subscribe(() => {
28
- * const state = window.__frontmcp.bridge.getState();
29
- * if (!state.loading) {
30
- * renderWidget(state.data);
31
- * }
32
- * });
33
- * ```
34
- *
35
- * @example HTMX
36
- * ```html
37
- * <div hx-trigger="frontmcp:change from:document" hx-get="/render">
38
- * Loading...
39
- * </div>
40
- * ```
41
- */
42
- /**
43
- * Bridge state containing data, loading status, and error information.
44
- */
45
- export interface BridgeState<T = unknown> {
46
- /** Current data (null when loading or no data) */
47
- data: T | null;
48
- /** Whether the bridge is waiting for data */
49
- loading: boolean;
50
- /** Error message if data loading failed */
51
- error: string | null;
52
- }
53
- /**
54
- * Platform Bridge interface for reactive data access.
55
- */
56
- export interface PlatformBridge<T = unknown> {
57
- /** Get current state snapshot */
58
- getState(): BridgeState<T>;
59
- /** Subscribe to state changes */
60
- subscribe(callback: () => void): () => void;
61
- /** React useSyncExternalStore compatible getSnapshot */
62
- getSnapshot(): BridgeState<T>;
63
- /** React SSR compatible getServerSnapshot */
64
- getServerSnapshot(): BridgeState<T>;
65
- /** Check if bridge has received data */
66
- hasData(): boolean;
67
- /** Manually set data (for testing or custom injection) */
68
- setData(data: T): void;
69
- /** Manually set error */
70
- setError(error: string): void;
71
- /** Reset to loading state */
72
- reset(): void;
73
- }
74
- /**
75
- * Render the Platform Bridge inline script.
76
- *
77
- * This script creates a reactive data store that:
78
- * 1. Installs interceptors on window.openai to detect data injection
79
- * 2. Provides subscribe/getState API for React/HTMX/vanilla integration
80
- * 3. Dispatches custom events for HTMX compatibility
81
- * 4. Handles the race condition between iframe load and data injection
82
- *
83
- * @returns Script tag with bridge implementation
84
- */
85
- export declare function renderBridgeScript(): string;
86
- /**
87
- * Generate TypeScript types for the bridge (for documentation/IDE support).
88
- */
89
- export declare const BRIDGE_TYPES = "\ninterface BridgeState<T = unknown> {\n data: T | null;\n loading: boolean;\n error: string | null;\n}\n\ninterface PlatformBridge<T = unknown> {\n getState(): BridgeState<T>;\n subscribe(callback: () => void): () => void;\n getSnapshot(): BridgeState<T>;\n getServerSnapshot(): BridgeState<T>;\n hasData(): boolean;\n setData(data: T): void;\n setError(error: string): void;\n reset(): void;\n}\n\ndeclare global {\n interface Window {\n __frontmcp: {\n bridge: PlatformBridge;\n // ... other __frontmcp methods\n };\n }\n}\n";