@frontmcp/ui 0.5.1 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1134) hide show
  1. package/adapters/index.d.ts +13 -0
  2. package/adapters/index.d.ts.map +1 -0
  3. package/adapters/index.js +462 -0
  4. package/adapters/platform-meta.d.ts +166 -0
  5. package/adapters/platform-meta.d.ts.map +1 -0
  6. package/adapters/response-builder.d.ts +108 -0
  7. package/adapters/response-builder.d.ts.map +1 -0
  8. package/adapters/serving-mode.d.ts +107 -0
  9. package/adapters/serving-mode.d.ts.map +1 -0
  10. package/base-template/bridge.d.ts +90 -0
  11. package/base-template/bridge.d.ts.map +1 -0
  12. package/base-template/default-base-template.d.ts +92 -0
  13. package/base-template/default-base-template.d.ts.map +1 -0
  14. package/base-template/index.d.ts +15 -0
  15. package/base-template/index.d.ts.map +1 -0
  16. package/base-template/index.js +1398 -0
  17. package/base-template/polyfills.d.ts +31 -0
  18. package/base-template/polyfills.d.ts.map +1 -0
  19. package/base-template/theme-styles.d.ts +74 -0
  20. package/base-template/theme-styles.d.ts.map +1 -0
  21. package/bridge/adapters/base-adapter.d.ts +104 -0
  22. package/bridge/adapters/base-adapter.d.ts.map +1 -0
  23. package/bridge/adapters/claude.adapter.d.ts +67 -0
  24. package/bridge/adapters/claude.adapter.d.ts.map +1 -0
  25. package/bridge/adapters/ext-apps.adapter.d.ts +143 -0
  26. package/bridge/adapters/ext-apps.adapter.d.ts.map +1 -0
  27. package/bridge/adapters/gemini.adapter.d.ts +64 -0
  28. package/bridge/adapters/gemini.adapter.d.ts.map +1 -0
  29. package/bridge/adapters/generic.adapter.d.ts +56 -0
  30. package/bridge/adapters/generic.adapter.d.ts.map +1 -0
  31. package/bridge/adapters/index.d.ts +26 -0
  32. package/bridge/adapters/index.d.ts.map +1 -0
  33. package/bridge/adapters/openai.adapter.d.ts +65 -0
  34. package/bridge/adapters/openai.adapter.d.ts.map +1 -0
  35. package/bridge/core/adapter-registry.d.ts +122 -0
  36. package/bridge/core/adapter-registry.d.ts.map +1 -0
  37. package/bridge/core/bridge-factory.d.ts +199 -0
  38. package/bridge/core/bridge-factory.d.ts.map +1 -0
  39. package/bridge/core/index.d.ts +10 -0
  40. package/bridge/core/index.d.ts.map +1 -0
  41. package/bridge/index.d.ts +62 -0
  42. package/bridge/index.d.ts.map +1 -0
  43. package/bridge/index.js +2540 -0
  44. package/bridge/runtime/iife-generator.d.ts +62 -0
  45. package/bridge/runtime/iife-generator.d.ts.map +1 -0
  46. package/bridge/runtime/index.d.ts +9 -0
  47. package/bridge/runtime/index.d.ts.map +1 -0
  48. package/bridge/types.d.ts +386 -0
  49. package/bridge/types.d.ts.map +1 -0
  50. package/build/cdn-resources.d.ts +243 -0
  51. package/build/cdn-resources.d.ts.map +1 -0
  52. package/build/index.d.ts +295 -0
  53. package/build/index.d.ts.map +1 -0
  54. package/build/index.js +7096 -0
  55. package/build/widget-manifest.d.ts +362 -0
  56. package/build/widget-manifest.d.ts.map +1 -0
  57. package/bundler/bundler.d.ts +208 -0
  58. package/bundler/bundler.d.ts.map +1 -0
  59. package/bundler/cache.d.ts +173 -0
  60. package/bundler/cache.d.ts.map +1 -0
  61. package/bundler/file-cache/component-builder.d.ts +167 -0
  62. package/bundler/file-cache/component-builder.d.ts.map +1 -0
  63. package/bundler/file-cache/hash-calculator.d.ts +155 -0
  64. package/bundler/file-cache/hash-calculator.d.ts.map +1 -0
  65. package/bundler/file-cache/index.d.ts +12 -0
  66. package/bundler/file-cache/index.d.ts.map +1 -0
  67. package/bundler/file-cache/storage/filesystem.d.ts +149 -0
  68. package/bundler/file-cache/storage/filesystem.d.ts.map +1 -0
  69. package/bundler/file-cache/storage/index.d.ts +11 -0
  70. package/bundler/file-cache/storage/index.d.ts.map +1 -0
  71. package/bundler/file-cache/storage/interface.d.ts +152 -0
  72. package/bundler/file-cache/storage/interface.d.ts.map +1 -0
  73. package/bundler/file-cache/storage/redis.d.ts +139 -0
  74. package/bundler/file-cache/storage/redis.d.ts.map +1 -0
  75. package/bundler/index.d.ts +43 -0
  76. package/bundler/index.d.ts.map +1 -0
  77. package/bundler/index.js +4754 -0
  78. package/bundler/sandbox/enclave-adapter.d.ts +121 -0
  79. package/bundler/sandbox/enclave-adapter.d.ts.map +1 -0
  80. package/bundler/sandbox/executor.d.ts +14 -0
  81. package/bundler/sandbox/executor.d.ts.map +1 -0
  82. package/bundler/sandbox/policy.d.ts +62 -0
  83. package/bundler/sandbox/policy.d.ts.map +1 -0
  84. package/bundler/types.d.ts +702 -0
  85. package/bundler/types.d.ts.map +1 -0
  86. package/components/alert.d.ts +66 -0
  87. package/components/alert.d.ts.map +1 -0
  88. package/components/alert.schema.d.ts +98 -0
  89. package/components/alert.schema.d.ts.map +1 -0
  90. package/components/avatar.d.ts +77 -0
  91. package/components/avatar.d.ts.map +1 -0
  92. package/components/avatar.schema.d.ts +170 -0
  93. package/components/avatar.schema.d.ts.map +1 -0
  94. package/components/badge.d.ts +64 -0
  95. package/components/badge.d.ts.map +1 -0
  96. package/components/badge.schema.d.ts +91 -0
  97. package/components/badge.schema.d.ts.map +1 -0
  98. package/components/button.d.ts +100 -0
  99. package/components/button.d.ts.map +1 -0
  100. package/components/button.schema.d.ts +120 -0
  101. package/components/button.schema.d.ts.map +1 -0
  102. package/components/card.d.ts +53 -0
  103. package/components/card.d.ts.map +1 -0
  104. package/components/card.schema.d.ts +93 -0
  105. package/components/card.schema.d.ts.map +1 -0
  106. package/components/form.d.ts +212 -0
  107. package/components/form.d.ts.map +1 -0
  108. package/components/form.schema.d.ts +365 -0
  109. package/components/form.schema.d.ts.map +1 -0
  110. package/components/index.d.ts +29 -0
  111. package/components/index.d.ts.map +1 -0
  112. package/components/index.js +2595 -0
  113. package/components/list.d.ts +121 -0
  114. package/components/list.d.ts.map +1 -0
  115. package/components/list.schema.d.ts +129 -0
  116. package/components/list.schema.d.ts.map +1 -0
  117. package/components/modal.d.ts +100 -0
  118. package/components/modal.d.ts.map +1 -0
  119. package/components/modal.schema.d.ts +151 -0
  120. package/components/modal.schema.d.ts.map +1 -0
  121. package/components/table.d.ts +91 -0
  122. package/components/table.d.ts.map +1 -0
  123. package/components/table.schema.d.ts +123 -0
  124. package/components/table.schema.d.ts.map +1 -0
  125. package/dependency/cdn-registry.d.ts +98 -0
  126. package/dependency/cdn-registry.d.ts.map +1 -0
  127. package/dependency/import-map.d.ts +186 -0
  128. package/dependency/import-map.d.ts.map +1 -0
  129. package/dependency/import-parser.d.ts +82 -0
  130. package/dependency/import-parser.d.ts.map +1 -0
  131. package/dependency/index.d.ts +17 -0
  132. package/dependency/index.d.ts.map +1 -0
  133. package/dependency/resolver.d.ts +164 -0
  134. package/dependency/resolver.d.ts.map +1 -0
  135. package/dependency/schemas.d.ts +486 -0
  136. package/dependency/schemas.d.ts.map +1 -0
  137. package/dependency/template-loader.d.ts +204 -0
  138. package/dependency/template-loader.d.ts.map +1 -0
  139. package/dependency/template-processor.d.ts +118 -0
  140. package/dependency/template-processor.d.ts.map +1 -0
  141. package/dependency/types.d.ts +739 -0
  142. package/dependency/types.d.ts.map +1 -0
  143. package/esm/adapters/index.d.ts +13 -0
  144. package/esm/adapters/index.d.ts.map +1 -0
  145. package/esm/adapters/index.js +427 -0
  146. package/esm/adapters/platform-meta.d.ts +166 -0
  147. package/esm/adapters/platform-meta.d.ts.map +1 -0
  148. package/esm/adapters/response-builder.d.ts +108 -0
  149. package/esm/adapters/response-builder.d.ts.map +1 -0
  150. package/esm/adapters/serving-mode.d.ts +107 -0
  151. package/esm/adapters/serving-mode.d.ts.map +1 -0
  152. package/esm/base-template/bridge.d.ts +90 -0
  153. package/esm/base-template/bridge.d.ts.map +1 -0
  154. package/esm/base-template/default-base-template.d.ts +92 -0
  155. package/esm/base-template/default-base-template.d.ts.map +1 -0
  156. package/esm/base-template/index.d.ts +15 -0
  157. package/esm/base-template/index.d.ts.map +1 -0
  158. package/esm/base-template/index.js +1364 -0
  159. package/esm/base-template/polyfills.d.ts +31 -0
  160. package/esm/base-template/polyfills.d.ts.map +1 -0
  161. package/esm/base-template/theme-styles.d.ts +74 -0
  162. package/esm/base-template/theme-styles.d.ts.map +1 -0
  163. package/esm/bridge/adapters/base-adapter.d.ts +104 -0
  164. package/esm/bridge/adapters/base-adapter.d.ts.map +1 -0
  165. package/esm/bridge/adapters/claude.adapter.d.ts +67 -0
  166. package/esm/bridge/adapters/claude.adapter.d.ts.map +1 -0
  167. package/esm/bridge/adapters/ext-apps.adapter.d.ts +143 -0
  168. package/esm/bridge/adapters/ext-apps.adapter.d.ts.map +1 -0
  169. package/esm/bridge/adapters/gemini.adapter.d.ts +64 -0
  170. package/esm/bridge/adapters/gemini.adapter.d.ts.map +1 -0
  171. package/esm/bridge/adapters/generic.adapter.d.ts +56 -0
  172. package/esm/bridge/adapters/generic.adapter.d.ts.map +1 -0
  173. package/esm/bridge/adapters/index.d.ts +26 -0
  174. package/esm/bridge/adapters/index.d.ts.map +1 -0
  175. package/esm/bridge/adapters/openai.adapter.d.ts +65 -0
  176. package/esm/bridge/adapters/openai.adapter.d.ts.map +1 -0
  177. package/esm/bridge/core/adapter-registry.d.ts +122 -0
  178. package/esm/bridge/core/adapter-registry.d.ts.map +1 -0
  179. package/esm/bridge/core/bridge-factory.d.ts +199 -0
  180. package/esm/bridge/core/bridge-factory.d.ts.map +1 -0
  181. package/esm/bridge/core/index.d.ts +10 -0
  182. package/esm/bridge/core/index.d.ts.map +1 -0
  183. package/esm/bridge/index.d.ts +62 -0
  184. package/esm/bridge/index.d.ts.map +1 -0
  185. package/esm/bridge/index.js +2487 -0
  186. package/esm/bridge/runtime/iife-generator.d.ts +62 -0
  187. package/esm/bridge/runtime/iife-generator.d.ts.map +1 -0
  188. package/esm/bridge/runtime/index.d.ts +9 -0
  189. package/esm/bridge/runtime/index.d.ts.map +1 -0
  190. package/esm/bridge/types.d.ts +386 -0
  191. package/esm/bridge/types.d.ts.map +1 -0
  192. package/esm/build/cdn-resources.d.ts +243 -0
  193. package/esm/build/cdn-resources.d.ts.map +1 -0
  194. package/esm/build/index.d.ts +295 -0
  195. package/esm/build/index.d.ts.map +1 -0
  196. package/esm/build/index.js +7021 -0
  197. package/esm/build/widget-manifest.d.ts +362 -0
  198. package/esm/build/widget-manifest.d.ts.map +1 -0
  199. package/esm/bundler/bundler.d.ts +208 -0
  200. package/esm/bundler/bundler.d.ts.map +1 -0
  201. package/esm/bundler/cache.d.ts +173 -0
  202. package/esm/bundler/cache.d.ts.map +1 -0
  203. package/esm/bundler/file-cache/component-builder.d.ts +167 -0
  204. package/esm/bundler/file-cache/component-builder.d.ts.map +1 -0
  205. package/esm/bundler/file-cache/hash-calculator.d.ts +155 -0
  206. package/esm/bundler/file-cache/hash-calculator.d.ts.map +1 -0
  207. package/esm/bundler/file-cache/index.d.ts +12 -0
  208. package/esm/bundler/file-cache/index.d.ts.map +1 -0
  209. package/esm/bundler/file-cache/storage/filesystem.d.ts +149 -0
  210. package/esm/bundler/file-cache/storage/filesystem.d.ts.map +1 -0
  211. package/esm/bundler/file-cache/storage/index.d.ts +11 -0
  212. package/esm/bundler/file-cache/storage/index.d.ts.map +1 -0
  213. package/esm/bundler/file-cache/storage/interface.d.ts +152 -0
  214. package/esm/bundler/file-cache/storage/interface.d.ts.map +1 -0
  215. package/esm/bundler/file-cache/storage/redis.d.ts +139 -0
  216. package/esm/bundler/file-cache/storage/redis.d.ts.map +1 -0
  217. package/esm/bundler/index.d.ts +43 -0
  218. package/esm/bundler/index.d.ts.map +1 -0
  219. package/esm/bundler/index.js +4687 -0
  220. package/esm/bundler/sandbox/enclave-adapter.d.ts +121 -0
  221. package/esm/bundler/sandbox/enclave-adapter.d.ts.map +1 -0
  222. package/esm/bundler/sandbox/executor.d.ts +14 -0
  223. package/esm/bundler/sandbox/executor.d.ts.map +1 -0
  224. package/esm/bundler/sandbox/policy.d.ts +62 -0
  225. package/esm/bundler/sandbox/policy.d.ts.map +1 -0
  226. package/esm/bundler/types.d.ts +702 -0
  227. package/esm/bundler/types.d.ts.map +1 -0
  228. package/esm/components/alert.d.ts +66 -0
  229. package/esm/components/alert.d.ts.map +1 -0
  230. package/esm/components/alert.schema.d.ts +98 -0
  231. package/esm/components/alert.schema.d.ts.map +1 -0
  232. package/esm/components/avatar.d.ts +77 -0
  233. package/esm/components/avatar.d.ts.map +1 -0
  234. package/esm/components/avatar.schema.d.ts +170 -0
  235. package/esm/components/avatar.schema.d.ts.map +1 -0
  236. package/esm/components/badge.d.ts +64 -0
  237. package/esm/components/badge.d.ts.map +1 -0
  238. package/esm/components/badge.schema.d.ts +91 -0
  239. package/esm/components/badge.schema.d.ts.map +1 -0
  240. package/esm/components/button.d.ts +100 -0
  241. package/esm/components/button.d.ts.map +1 -0
  242. package/esm/components/button.schema.d.ts +120 -0
  243. package/esm/components/button.schema.d.ts.map +1 -0
  244. package/esm/components/card.d.ts +53 -0
  245. package/esm/components/card.d.ts.map +1 -0
  246. package/esm/components/card.schema.d.ts +93 -0
  247. package/esm/components/card.schema.d.ts.map +1 -0
  248. package/esm/components/form.d.ts +212 -0
  249. package/esm/components/form.d.ts.map +1 -0
  250. package/esm/components/form.schema.d.ts +365 -0
  251. package/esm/components/form.schema.d.ts.map +1 -0
  252. package/esm/components/index.d.ts +29 -0
  253. package/esm/components/index.d.ts.map +1 -0
  254. package/esm/components/index.js +2456 -0
  255. package/esm/components/list.d.ts +121 -0
  256. package/esm/components/list.d.ts.map +1 -0
  257. package/esm/components/list.schema.d.ts +129 -0
  258. package/esm/components/list.schema.d.ts.map +1 -0
  259. package/esm/components/modal.d.ts +100 -0
  260. package/esm/components/modal.d.ts.map +1 -0
  261. package/esm/components/modal.schema.d.ts +151 -0
  262. package/esm/components/modal.schema.d.ts.map +1 -0
  263. package/esm/components/table.d.ts +91 -0
  264. package/esm/components/table.d.ts.map +1 -0
  265. package/esm/components/table.schema.d.ts +123 -0
  266. package/esm/components/table.schema.d.ts.map +1 -0
  267. package/esm/dependency/cdn-registry.d.ts +98 -0
  268. package/esm/dependency/cdn-registry.d.ts.map +1 -0
  269. package/esm/dependency/import-map.d.ts +186 -0
  270. package/esm/dependency/import-map.d.ts.map +1 -0
  271. package/esm/dependency/import-parser.d.ts +82 -0
  272. package/esm/dependency/import-parser.d.ts.map +1 -0
  273. package/esm/dependency/index.d.ts +17 -0
  274. package/esm/dependency/index.d.ts.map +1 -0
  275. package/esm/dependency/resolver.d.ts +164 -0
  276. package/esm/dependency/resolver.d.ts.map +1 -0
  277. package/esm/dependency/schemas.d.ts +486 -0
  278. package/esm/dependency/schemas.d.ts.map +1 -0
  279. package/esm/dependency/template-loader.d.ts +204 -0
  280. package/esm/dependency/template-loader.d.ts.map +1 -0
  281. package/esm/dependency/template-processor.d.ts +118 -0
  282. package/esm/dependency/template-processor.d.ts.map +1 -0
  283. package/esm/dependency/types.d.ts +739 -0
  284. package/esm/dependency/types.d.ts.map +1 -0
  285. package/esm/handlebars/expression-extractor.d.ts +147 -0
  286. package/esm/handlebars/expression-extractor.d.ts.map +1 -0
  287. package/esm/handlebars/helpers.d.ts +339 -0
  288. package/esm/handlebars/helpers.d.ts.map +1 -0
  289. package/esm/handlebars/index.d.ts +195 -0
  290. package/esm/handlebars/index.d.ts.map +1 -0
  291. package/esm/handlebars/index.js +587 -0
  292. package/esm/index.d.ts +56 -0
  293. package/esm/index.d.ts.map +1 -0
  294. package/esm/index.js +20511 -0
  295. package/esm/layouts/base.d.ts +86 -0
  296. package/esm/layouts/base.d.ts.map +1 -0
  297. package/esm/layouts/index.d.ts +8 -0
  298. package/esm/layouts/index.d.ts.map +1 -0
  299. package/esm/layouts/index.js +892 -0
  300. package/esm/layouts/presets.d.ts +134 -0
  301. package/esm/layouts/presets.d.ts.map +1 -0
  302. package/esm/package.json +90 -0
  303. package/esm/pages/consent.d.ts +117 -0
  304. package/esm/pages/consent.d.ts.map +1 -0
  305. package/esm/pages/error.d.ts +101 -0
  306. package/esm/pages/error.d.ts.map +1 -0
  307. package/esm/pages/index.d.ts +9 -0
  308. package/esm/pages/index.d.ts.map +1 -0
  309. package/esm/pages/index.js +1563 -0
  310. package/esm/react/Alert.d.ts +102 -0
  311. package/esm/react/Alert.d.ts.map +1 -0
  312. package/esm/react/Badge.d.ts +101 -0
  313. package/esm/react/Badge.d.ts.map +1 -0
  314. package/esm/react/Button.d.ts +109 -0
  315. package/esm/react/Button.d.ts.map +1 -0
  316. package/esm/react/Card.d.ts +104 -0
  317. package/esm/react/Card.d.ts.map +1 -0
  318. package/esm/react/hooks/context.d.ts +179 -0
  319. package/esm/react/hooks/context.d.ts.map +1 -0
  320. package/esm/react/hooks/index.d.ts +42 -0
  321. package/esm/react/hooks/index.d.ts.map +1 -0
  322. package/esm/react/hooks/tools.d.ts +284 -0
  323. package/esm/react/hooks/tools.d.ts.map +1 -0
  324. package/esm/react/index.d.ts +81 -0
  325. package/esm/react/index.d.ts.map +1 -0
  326. package/esm/react/index.js +1372 -0
  327. package/esm/react/types.d.ts +106 -0
  328. package/esm/react/types.d.ts.map +1 -0
  329. package/esm/react/utils.d.ts +43 -0
  330. package/esm/react/utils.d.ts.map +1 -0
  331. package/esm/registry/index.d.ts +46 -0
  332. package/esm/registry/index.d.ts.map +1 -0
  333. package/esm/registry/index.js +6422 -0
  334. package/esm/registry/render-template.d.ts +91 -0
  335. package/esm/registry/render-template.d.ts.map +1 -0
  336. package/esm/registry/tool-ui.registry.d.ts +294 -0
  337. package/esm/registry/tool-ui.registry.d.ts.map +1 -0
  338. package/esm/registry/uri-utils.d.ts +56 -0
  339. package/esm/registry/uri-utils.d.ts.map +1 -0
  340. package/esm/render/index.d.ts +8 -0
  341. package/esm/render/index.d.ts.map +1 -0
  342. package/esm/render/index.js +45 -0
  343. package/esm/render/prerender.d.ts +57 -0
  344. package/esm/render/prerender.d.ts.map +1 -0
  345. package/esm/renderers/cache.d.ts +145 -0
  346. package/esm/renderers/cache.d.ts.map +1 -0
  347. package/esm/renderers/html.renderer.d.ts +123 -0
  348. package/esm/renderers/html.renderer.d.ts.map +1 -0
  349. package/esm/renderers/index.d.ts +36 -0
  350. package/esm/renderers/index.d.ts.map +1 -0
  351. package/esm/renderers/index.js +1827 -0
  352. package/esm/renderers/mdx.renderer.d.ts +120 -0
  353. package/esm/renderers/mdx.renderer.d.ts.map +1 -0
  354. package/esm/renderers/react.renderer.d.ts +96 -0
  355. package/esm/renderers/react.renderer.d.ts.map +1 -0
  356. package/esm/renderers/registry.d.ts +134 -0
  357. package/esm/renderers/registry.d.ts.map +1 -0
  358. package/esm/renderers/types.d.ts +342 -0
  359. package/esm/renderers/types.d.ts.map +1 -0
  360. package/esm/renderers/utils/detect.d.ts +107 -0
  361. package/esm/renderers/utils/detect.d.ts.map +1 -0
  362. package/esm/renderers/utils/hash.d.ts +40 -0
  363. package/esm/renderers/utils/hash.d.ts.map +1 -0
  364. package/esm/renderers/utils/index.d.ts +9 -0
  365. package/esm/renderers/utils/index.d.ts.map +1 -0
  366. package/esm/renderers/utils/transpiler.d.ts +89 -0
  367. package/esm/renderers/utils/transpiler.d.ts.map +1 -0
  368. package/esm/runtime/adapters/html.adapter.d.ts +59 -0
  369. package/esm/runtime/adapters/html.adapter.d.ts.map +1 -0
  370. package/esm/runtime/adapters/index.d.ts +26 -0
  371. package/esm/runtime/adapters/index.d.ts.map +1 -0
  372. package/esm/runtime/adapters/mdx.adapter.d.ts +73 -0
  373. package/esm/runtime/adapters/mdx.adapter.d.ts.map +1 -0
  374. package/esm/runtime/adapters/react.adapter.d.ts +70 -0
  375. package/esm/runtime/adapters/react.adapter.d.ts.map +1 -0
  376. package/esm/runtime/adapters/types.d.ts +95 -0
  377. package/esm/runtime/adapters/types.d.ts.map +1 -0
  378. package/esm/runtime/csp.d.ts +48 -0
  379. package/esm/runtime/csp.d.ts.map +1 -0
  380. package/esm/runtime/index.d.ts +17 -0
  381. package/esm/runtime/index.d.ts.map +1 -0
  382. package/esm/runtime/index.js +5186 -0
  383. package/esm/runtime/mcp-bridge.d.ts +101 -0
  384. package/esm/runtime/mcp-bridge.d.ts.map +1 -0
  385. package/esm/runtime/renderer-runtime.d.ts +133 -0
  386. package/esm/runtime/renderer-runtime.d.ts.map +1 -0
  387. package/esm/runtime/sanitizer.d.ts +172 -0
  388. package/esm/runtime/sanitizer.d.ts.map +1 -0
  389. package/esm/runtime/types.d.ts +415 -0
  390. package/esm/runtime/types.d.ts.map +1 -0
  391. package/esm/runtime/wrapper.d.ts +421 -0
  392. package/esm/runtime/wrapper.d.ts.map +1 -0
  393. package/esm/styles/index.d.ts +8 -0
  394. package/esm/styles/index.d.ts.map +1 -0
  395. package/esm/styles/index.js +171 -0
  396. package/esm/styles/variants.d.ts +51 -0
  397. package/esm/styles/variants.d.ts.map +1 -0
  398. package/esm/theme/cdn.d.ts +195 -0
  399. package/esm/theme/cdn.d.ts.map +1 -0
  400. package/esm/theme/index.d.ts +18 -0
  401. package/esm/theme/index.d.ts.map +1 -0
  402. package/esm/theme/index.js +700 -0
  403. package/esm/theme/platforms.d.ts +107 -0
  404. package/esm/theme/platforms.d.ts.map +1 -0
  405. package/esm/theme/presets/github-openai.d.ts +50 -0
  406. package/esm/theme/presets/github-openai.d.ts.map +1 -0
  407. package/esm/theme/presets/index.d.ts +11 -0
  408. package/esm/theme/presets/index.d.ts.map +1 -0
  409. package/esm/theme/theme.d.ts +396 -0
  410. package/esm/theme/theme.d.ts.map +1 -0
  411. package/esm/tool-template/builder.d.ts +213 -0
  412. package/esm/tool-template/builder.d.ts.map +1 -0
  413. package/esm/tool-template/index.d.ts +16 -0
  414. package/esm/tool-template/index.d.ts.map +1 -0
  415. package/esm/tool-template/index.js +3515 -0
  416. package/esm/types/index.d.ts +14 -0
  417. package/esm/types/index.d.ts.map +1 -0
  418. package/esm/types/index.js +75 -0
  419. package/esm/types/ui-config.d.ts +639 -0
  420. package/esm/types/ui-config.d.ts.map +1 -0
  421. package/esm/types/ui-runtime.d.ts +1007 -0
  422. package/esm/types/ui-runtime.d.ts.map +1 -0
  423. package/esm/typings/cache/cache-adapter.d.ts +125 -0
  424. package/esm/typings/cache/cache-adapter.d.ts.map +1 -0
  425. package/esm/typings/cache/index.d.ts +10 -0
  426. package/esm/typings/cache/index.d.ts.map +1 -0
  427. package/esm/typings/cache/memory-cache.d.ts +92 -0
  428. package/esm/typings/cache/memory-cache.d.ts.map +1 -0
  429. package/esm/typings/dts-parser.d.ts +90 -0
  430. package/esm/typings/dts-parser.d.ts.map +1 -0
  431. package/esm/typings/index.d.ts +48 -0
  432. package/esm/typings/index.d.ts.map +1 -0
  433. package/esm/typings/schemas.d.ts +232 -0
  434. package/esm/typings/schemas.d.ts.map +1 -0
  435. package/esm/typings/type-fetcher.d.ts +89 -0
  436. package/esm/typings/type-fetcher.d.ts.map +1 -0
  437. package/esm/typings/types.d.ts +320 -0
  438. package/esm/typings/types.d.ts.map +1 -0
  439. package/esm/universal/UniversalApp.d.ts +108 -0
  440. package/esm/universal/UniversalApp.d.ts.map +1 -0
  441. package/esm/universal/cached-runtime.d.ts +115 -0
  442. package/esm/universal/cached-runtime.d.ts.map +1 -0
  443. package/esm/universal/context.d.ts +122 -0
  444. package/esm/universal/context.d.ts.map +1 -0
  445. package/esm/universal/index.d.ts +57 -0
  446. package/esm/universal/index.d.ts.map +1 -0
  447. package/esm/universal/renderers/html.renderer.d.ts +37 -0
  448. package/esm/universal/renderers/html.renderer.d.ts.map +1 -0
  449. package/esm/universal/renderers/index.d.ts +112 -0
  450. package/esm/universal/renderers/index.d.ts.map +1 -0
  451. package/esm/universal/renderers/markdown.renderer.d.ts +33 -0
  452. package/esm/universal/renderers/markdown.renderer.d.ts.map +1 -0
  453. package/esm/universal/renderers/mdx.renderer.d.ts +38 -0
  454. package/esm/universal/renderers/mdx.renderer.d.ts.map +1 -0
  455. package/esm/universal/renderers/react.renderer.d.ts +46 -0
  456. package/esm/universal/renderers/react.renderer.d.ts.map +1 -0
  457. package/esm/universal/runtime-builder.d.ts +33 -0
  458. package/esm/universal/runtime-builder.d.ts.map +1 -0
  459. package/esm/universal/store.d.ts +135 -0
  460. package/esm/universal/store.d.ts.map +1 -0
  461. package/esm/universal/types.d.ts +199 -0
  462. package/esm/universal/types.d.ts.map +1 -0
  463. package/esm/utils/escape-html.d.ts +58 -0
  464. package/esm/utils/escape-html.d.ts.map +1 -0
  465. package/esm/utils/index.d.ts +10 -0
  466. package/esm/utils/index.d.ts.map +1 -0
  467. package/esm/utils/index.js +40 -0
  468. package/esm/utils/safe-stringify.d.ts +30 -0
  469. package/esm/utils/safe-stringify.d.ts.map +1 -0
  470. package/esm/validation/error-box.d.ts +56 -0
  471. package/esm/validation/error-box.d.ts.map +1 -0
  472. package/esm/validation/index.d.ts +13 -0
  473. package/esm/validation/index.d.ts.map +1 -0
  474. package/esm/validation/index.js +562 -0
  475. package/esm/validation/schema-paths.d.ts +118 -0
  476. package/esm/validation/schema-paths.d.ts.map +1 -0
  477. package/esm/validation/template-validator.d.ts +143 -0
  478. package/esm/validation/template-validator.d.ts.map +1 -0
  479. package/esm/validation/wrapper.d.ts +97 -0
  480. package/esm/validation/wrapper.d.ts.map +1 -0
  481. package/esm/web-components/core/attribute-parser.d.ts +82 -0
  482. package/esm/web-components/core/attribute-parser.d.ts.map +1 -0
  483. package/esm/web-components/core/base-element.d.ts +197 -0
  484. package/esm/web-components/core/base-element.d.ts.map +1 -0
  485. package/esm/web-components/core/index.d.ts +9 -0
  486. package/esm/web-components/core/index.d.ts.map +1 -0
  487. package/esm/web-components/elements/fmcp-alert.d.ts +46 -0
  488. package/esm/web-components/elements/fmcp-alert.d.ts.map +1 -0
  489. package/esm/web-components/elements/fmcp-badge.d.ts +47 -0
  490. package/esm/web-components/elements/fmcp-badge.d.ts.map +1 -0
  491. package/esm/web-components/elements/fmcp-button.d.ts +117 -0
  492. package/esm/web-components/elements/fmcp-button.d.ts.map +1 -0
  493. package/esm/web-components/elements/fmcp-card.d.ts +53 -0
  494. package/esm/web-components/elements/fmcp-card.d.ts.map +1 -0
  495. package/esm/web-components/elements/fmcp-input.d.ts +96 -0
  496. package/esm/web-components/elements/fmcp-input.d.ts.map +1 -0
  497. package/esm/web-components/elements/fmcp-select.d.ts +100 -0
  498. package/esm/web-components/elements/fmcp-select.d.ts.map +1 -0
  499. package/esm/web-components/elements/index.d.ts +13 -0
  500. package/esm/web-components/elements/index.d.ts.map +1 -0
  501. package/esm/web-components/index.d.ts +50 -0
  502. package/esm/web-components/index.d.ts.map +1 -0
  503. package/esm/web-components/index.js +2048 -0
  504. package/esm/web-components/register.d.ts +57 -0
  505. package/esm/web-components/register.d.ts.map +1 -0
  506. package/esm/web-components/types.d.ts +122 -0
  507. package/esm/web-components/types.d.ts.map +1 -0
  508. package/esm/widgets/index.d.ts +8 -0
  509. package/esm/widgets/index.d.ts.map +1 -0
  510. package/esm/widgets/index.js +941 -0
  511. package/esm/widgets/progress.d.ts +133 -0
  512. package/esm/widgets/progress.d.ts.map +1 -0
  513. package/esm/widgets/resource.d.ts +163 -0
  514. package/esm/widgets/resource.d.ts.map +1 -0
  515. package/handlebars/expression-extractor.d.ts +147 -0
  516. package/handlebars/expression-extractor.d.ts.map +1 -0
  517. package/handlebars/helpers.d.ts +339 -0
  518. package/handlebars/helpers.d.ts.map +1 -0
  519. package/handlebars/index.d.ts +195 -0
  520. package/handlebars/index.d.ts.map +1 -0
  521. package/handlebars/index.js +666 -0
  522. package/index.d.ts +56 -0
  523. package/index.d.ts.map +1 -0
  524. package/index.js +20942 -0
  525. package/layouts/base.d.ts +86 -0
  526. package/layouts/base.d.ts.map +1 -0
  527. package/layouts/index.d.ts +8 -0
  528. package/layouts/index.d.ts.map +1 -0
  529. package/layouts/index.js +930 -0
  530. package/layouts/presets.d.ts +134 -0
  531. package/layouts/presets.d.ts.map +1 -0
  532. package/package.json +26 -85
  533. package/pages/consent.d.ts +117 -0
  534. package/pages/consent.d.ts.map +1 -0
  535. package/pages/error.d.ts +101 -0
  536. package/pages/error.d.ts.map +1 -0
  537. package/pages/index.d.ts +9 -0
  538. package/pages/index.d.ts.map +1 -0
  539. package/pages/index.js +1602 -0
  540. package/react/Alert.d.ts +102 -0
  541. package/react/Alert.d.ts.map +1 -0
  542. package/react/Badge.d.ts +101 -0
  543. package/react/Badge.d.ts.map +1 -0
  544. package/react/Button.d.ts +109 -0
  545. package/react/Button.d.ts.map +1 -0
  546. package/react/Card.d.ts +104 -0
  547. package/react/Card.d.ts.map +1 -0
  548. package/react/hooks/context.d.ts +179 -0
  549. package/react/hooks/context.d.ts.map +1 -0
  550. package/react/hooks/index.d.ts +42 -0
  551. package/react/hooks/index.d.ts.map +1 -0
  552. package/react/hooks/tools.d.ts +284 -0
  553. package/react/hooks/tools.d.ts.map +1 -0
  554. package/react/index.d.ts +81 -0
  555. package/react/index.d.ts.map +1 -0
  556. package/react/index.js +1430 -0
  557. package/react/types.d.ts +106 -0
  558. package/react/types.d.ts.map +1 -0
  559. package/react/utils.d.ts +43 -0
  560. package/react/utils.d.ts.map +1 -0
  561. package/registry/index.d.ts +46 -0
  562. package/registry/index.d.ts.map +1 -0
  563. package/registry/index.js +6465 -0
  564. package/registry/render-template.d.ts +91 -0
  565. package/registry/render-template.d.ts.map +1 -0
  566. package/registry/tool-ui.registry.d.ts +294 -0
  567. package/registry/tool-ui.registry.d.ts.map +1 -0
  568. package/registry/uri-utils.d.ts +56 -0
  569. package/registry/uri-utils.d.ts.map +1 -0
  570. package/render/index.d.ts +8 -0
  571. package/render/index.d.ts.map +1 -0
  572. package/render/index.js +77 -0
  573. package/render/prerender.d.ts +57 -0
  574. package/render/prerender.d.ts.map +1 -0
  575. package/renderers/cache.d.ts +145 -0
  576. package/renderers/cache.d.ts.map +1 -0
  577. package/renderers/html.renderer.d.ts +123 -0
  578. package/renderers/html.renderer.d.ts.map +1 -0
  579. package/renderers/index.d.ts +36 -0
  580. package/renderers/index.d.ts.map +1 -0
  581. package/renderers/index.js +1882 -0
  582. package/renderers/mdx.renderer.d.ts +120 -0
  583. package/renderers/mdx.renderer.d.ts.map +1 -0
  584. package/renderers/react.renderer.d.ts +96 -0
  585. package/renderers/react.renderer.d.ts.map +1 -0
  586. package/renderers/registry.d.ts +134 -0
  587. package/renderers/registry.d.ts.map +1 -0
  588. package/renderers/types.d.ts +342 -0
  589. package/renderers/types.d.ts.map +1 -0
  590. package/renderers/utils/detect.d.ts +107 -0
  591. package/renderers/utils/detect.d.ts.map +1 -0
  592. package/renderers/utils/hash.d.ts +40 -0
  593. package/renderers/utils/hash.d.ts.map +1 -0
  594. package/renderers/utils/index.d.ts +9 -0
  595. package/renderers/utils/index.d.ts.map +1 -0
  596. package/renderers/utils/transpiler.d.ts +89 -0
  597. package/renderers/utils/transpiler.d.ts.map +1 -0
  598. package/runtime/adapters/html.adapter.d.ts +59 -0
  599. package/runtime/adapters/html.adapter.d.ts.map +1 -0
  600. package/runtime/adapters/index.d.ts +26 -0
  601. package/runtime/adapters/index.d.ts.map +1 -0
  602. package/runtime/adapters/mdx.adapter.d.ts +73 -0
  603. package/runtime/adapters/mdx.adapter.d.ts.map +1 -0
  604. package/runtime/adapters/react.adapter.d.ts +70 -0
  605. package/runtime/adapters/react.adapter.d.ts.map +1 -0
  606. package/runtime/adapters/types.d.ts +95 -0
  607. package/runtime/adapters/types.d.ts.map +1 -0
  608. package/runtime/csp.d.ts +48 -0
  609. package/runtime/csp.d.ts.map +1 -0
  610. package/runtime/index.d.ts +17 -0
  611. package/runtime/index.d.ts.map +1 -0
  612. package/runtime/index.js +5264 -0
  613. package/runtime/mcp-bridge.d.ts +101 -0
  614. package/runtime/mcp-bridge.d.ts.map +1 -0
  615. package/runtime/renderer-runtime.d.ts +133 -0
  616. package/runtime/renderer-runtime.d.ts.map +1 -0
  617. package/runtime/sanitizer.d.ts +172 -0
  618. package/runtime/sanitizer.d.ts.map +1 -0
  619. package/runtime/types.d.ts +415 -0
  620. package/runtime/types.d.ts.map +1 -0
  621. package/runtime/wrapper.d.ts +421 -0
  622. package/runtime/wrapper.d.ts.map +1 -0
  623. package/styles/index.d.ts +8 -0
  624. package/styles/index.d.ts.map +1 -0
  625. package/styles/index.js +222 -0
  626. package/styles/variants.d.ts +51 -0
  627. package/styles/variants.d.ts.map +1 -0
  628. package/theme/cdn.d.ts +195 -0
  629. package/theme/cdn.d.ts.map +1 -0
  630. package/theme/index.d.ts +18 -0
  631. package/theme/index.d.ts.map +1 -0
  632. package/theme/index.js +757 -0
  633. package/theme/platforms.d.ts +107 -0
  634. package/theme/platforms.d.ts.map +1 -0
  635. package/theme/presets/github-openai.d.ts +50 -0
  636. package/theme/presets/github-openai.d.ts.map +1 -0
  637. package/theme/presets/index.d.ts +11 -0
  638. package/theme/presets/index.d.ts.map +1 -0
  639. package/theme/theme.d.ts +396 -0
  640. package/theme/theme.d.ts.map +1 -0
  641. package/tool-template/builder.d.ts +213 -0
  642. package/tool-template/builder.d.ts.map +1 -0
  643. package/tool-template/index.d.ts +16 -0
  644. package/tool-template/index.d.ts.map +1 -0
  645. package/tool-template/index.js +3559 -0
  646. package/types/index.d.ts +14 -0
  647. package/types/index.d.ts.map +1 -0
  648. package/types/index.js +108 -0
  649. package/types/ui-config.d.ts +639 -0
  650. package/types/ui-config.d.ts.map +1 -0
  651. package/types/ui-runtime.d.ts +1007 -0
  652. package/types/ui-runtime.d.ts.map +1 -0
  653. package/typings/cache/cache-adapter.d.ts +125 -0
  654. package/typings/cache/cache-adapter.d.ts.map +1 -0
  655. package/typings/cache/index.d.ts +10 -0
  656. package/typings/cache/index.d.ts.map +1 -0
  657. package/typings/cache/memory-cache.d.ts +92 -0
  658. package/typings/cache/memory-cache.d.ts.map +1 -0
  659. package/typings/dts-parser.d.ts +90 -0
  660. package/typings/dts-parser.d.ts.map +1 -0
  661. package/typings/index.d.ts +48 -0
  662. package/typings/index.d.ts.map +1 -0
  663. package/typings/schemas.d.ts +232 -0
  664. package/typings/schemas.d.ts.map +1 -0
  665. package/typings/type-fetcher.d.ts +89 -0
  666. package/typings/type-fetcher.d.ts.map +1 -0
  667. package/typings/types.d.ts +320 -0
  668. package/typings/types.d.ts.map +1 -0
  669. package/universal/UniversalApp.d.ts +108 -0
  670. package/universal/UniversalApp.d.ts.map +1 -0
  671. package/universal/cached-runtime.d.ts +115 -0
  672. package/universal/cached-runtime.d.ts.map +1 -0
  673. package/universal/context.d.ts +122 -0
  674. package/universal/context.d.ts.map +1 -0
  675. package/universal/index.d.ts +57 -0
  676. package/universal/index.d.ts.map +1 -0
  677. package/universal/renderers/html.renderer.d.ts +37 -0
  678. package/universal/renderers/html.renderer.d.ts.map +1 -0
  679. package/universal/renderers/index.d.ts +112 -0
  680. package/universal/renderers/index.d.ts.map +1 -0
  681. package/universal/renderers/markdown.renderer.d.ts +33 -0
  682. package/universal/renderers/markdown.renderer.d.ts.map +1 -0
  683. package/universal/renderers/mdx.renderer.d.ts +38 -0
  684. package/universal/renderers/mdx.renderer.d.ts.map +1 -0
  685. package/universal/renderers/react.renderer.d.ts +46 -0
  686. package/universal/renderers/react.renderer.d.ts.map +1 -0
  687. package/universal/runtime-builder.d.ts +33 -0
  688. package/universal/runtime-builder.d.ts.map +1 -0
  689. package/universal/store.d.ts +135 -0
  690. package/universal/store.d.ts.map +1 -0
  691. package/universal/types.d.ts +199 -0
  692. package/universal/types.d.ts.map +1 -0
  693. package/utils/escape-html.d.ts +58 -0
  694. package/utils/escape-html.d.ts.map +1 -0
  695. package/utils/index.d.ts +10 -0
  696. package/utils/index.d.ts.map +1 -0
  697. package/utils/index.js +70 -0
  698. package/utils/safe-stringify.d.ts +30 -0
  699. package/utils/safe-stringify.d.ts.map +1 -0
  700. package/validation/error-box.d.ts +56 -0
  701. package/validation/error-box.d.ts.map +1 -0
  702. package/validation/index.d.ts +13 -0
  703. package/validation/index.d.ts.map +1 -0
  704. package/validation/index.js +603 -0
  705. package/validation/schema-paths.d.ts +118 -0
  706. package/validation/schema-paths.d.ts.map +1 -0
  707. package/validation/template-validator.d.ts +143 -0
  708. package/validation/template-validator.d.ts.map +1 -0
  709. package/validation/wrapper.d.ts +97 -0
  710. package/validation/wrapper.d.ts.map +1 -0
  711. package/web-components/core/attribute-parser.d.ts +82 -0
  712. package/web-components/core/attribute-parser.d.ts.map +1 -0
  713. package/web-components/core/base-element.d.ts +197 -0
  714. package/web-components/core/base-element.d.ts.map +1 -0
  715. package/web-components/core/index.d.ts +9 -0
  716. package/web-components/core/index.d.ts.map +1 -0
  717. package/web-components/elements/fmcp-alert.d.ts +46 -0
  718. package/web-components/elements/fmcp-alert.d.ts.map +1 -0
  719. package/web-components/elements/fmcp-badge.d.ts +47 -0
  720. package/web-components/elements/fmcp-badge.d.ts.map +1 -0
  721. package/web-components/elements/fmcp-button.d.ts +117 -0
  722. package/web-components/elements/fmcp-button.d.ts.map +1 -0
  723. package/web-components/elements/fmcp-card.d.ts +53 -0
  724. package/web-components/elements/fmcp-card.d.ts.map +1 -0
  725. package/web-components/elements/fmcp-input.d.ts +96 -0
  726. package/web-components/elements/fmcp-input.d.ts.map +1 -0
  727. package/web-components/elements/fmcp-select.d.ts +100 -0
  728. package/web-components/elements/fmcp-select.d.ts.map +1 -0
  729. package/web-components/elements/index.d.ts +13 -0
  730. package/web-components/elements/index.d.ts.map +1 -0
  731. package/web-components/index.d.ts +50 -0
  732. package/web-components/index.d.ts.map +1 -0
  733. package/web-components/index.js +2093 -0
  734. package/web-components/register.d.ts +57 -0
  735. package/web-components/register.d.ts.map +1 -0
  736. package/web-components/types.d.ts +122 -0
  737. package/web-components/types.d.ts.map +1 -0
  738. package/widgets/index.d.ts +8 -0
  739. package/widgets/index.d.ts.map +1 -0
  740. package/widgets/index.js +978 -0
  741. package/widgets/progress.d.ts +133 -0
  742. package/widgets/progress.d.ts.map +1 -0
  743. package/widgets/resource.d.ts +163 -0
  744. package/widgets/resource.d.ts.map +1 -0
  745. package/src/adapters/index.d.ts +0 -10
  746. package/src/adapters/index.js +0 -18
  747. package/src/adapters/index.js.map +0 -1
  748. package/src/adapters/platform-meta.d.ts +0 -165
  749. package/src/adapters/platform-meta.js +0 -310
  750. package/src/adapters/platform-meta.js.map +0 -1
  751. package/src/base-template/bridge.d.ts +0 -89
  752. package/src/base-template/bridge.js +0 -452
  753. package/src/base-template/bridge.js.map +0 -1
  754. package/src/base-template/default-base-template.d.ts +0 -91
  755. package/src/base-template/default-base-template.js +0 -435
  756. package/src/base-template/default-base-template.js.map +0 -1
  757. package/src/base-template/index.d.ts +0 -14
  758. package/src/base-template/index.js +0 -30
  759. package/src/base-template/index.js.map +0 -1
  760. package/src/base-template/polyfills.d.ts +0 -30
  761. package/src/base-template/polyfills.js +0 -190
  762. package/src/base-template/polyfills.js.map +0 -1
  763. package/src/base-template/theme-styles.d.ts +0 -73
  764. package/src/base-template/theme-styles.js +0 -95
  765. package/src/base-template/theme-styles.js.map +0 -1
  766. package/src/bridge/adapters/base-adapter.d.ts +0 -103
  767. package/src/bridge/adapters/base-adapter.js +0 -314
  768. package/src/bridge/adapters/base-adapter.js.map +0 -1
  769. package/src/bridge/adapters/claude.adapter.d.ts +0 -66
  770. package/src/bridge/adapters/claude.adapter.js +0 -145
  771. package/src/bridge/adapters/claude.adapter.js.map +0 -1
  772. package/src/bridge/adapters/ext-apps.adapter.d.ts +0 -142
  773. package/src/bridge/adapters/ext-apps.adapter.js +0 -416
  774. package/src/bridge/adapters/ext-apps.adapter.js.map +0 -1
  775. package/src/bridge/adapters/gemini.adapter.d.ts +0 -63
  776. package/src/bridge/adapters/gemini.adapter.js +0 -160
  777. package/src/bridge/adapters/gemini.adapter.js.map +0 -1
  778. package/src/bridge/adapters/generic.adapter.d.ts +0 -55
  779. package/src/bridge/adapters/generic.adapter.js +0 -108
  780. package/src/bridge/adapters/generic.adapter.js.map +0 -1
  781. package/src/bridge/adapters/index.d.ts +0 -25
  782. package/src/bridge/adapters/index.js +0 -65
  783. package/src/bridge/adapters/index.js.map +0 -1
  784. package/src/bridge/adapters/openai.adapter.d.ts +0 -64
  785. package/src/bridge/adapters/openai.adapter.js +0 -194
  786. package/src/bridge/adapters/openai.adapter.js.map +0 -1
  787. package/src/bridge/core/adapter-registry.d.ts +0 -121
  788. package/src/bridge/core/adapter-registry.js +0 -271
  789. package/src/bridge/core/adapter-registry.js.map +0 -1
  790. package/src/bridge/core/bridge-factory.d.ts +0 -198
  791. package/src/bridge/core/bridge-factory.js +0 -428
  792. package/src/bridge/core/bridge-factory.js.map +0 -1
  793. package/src/bridge/core/index.d.ts +0 -9
  794. package/src/bridge/core/index.js +0 -22
  795. package/src/bridge/core/index.js.map +0 -1
  796. package/src/bridge/index.d.ts +0 -61
  797. package/src/bridge/index.js +0 -94
  798. package/src/bridge/index.js.map +0 -1
  799. package/src/bridge/runtime/iife-generator.d.ts +0 -61
  800. package/src/bridge/runtime/iife-generator.js +0 -940
  801. package/src/bridge/runtime/iife-generator.js.map +0 -1
  802. package/src/bridge/runtime/index.d.ts +0 -8
  803. package/src/bridge/runtime/index.js +0 -16
  804. package/src/bridge/runtime/index.js.map +0 -1
  805. package/src/bridge/types.d.ts +0 -385
  806. package/src/bridge/types.js +0 -11
  807. package/src/bridge/types.js.map +0 -1
  808. package/src/build/cdn-resources.d.ts +0 -140
  809. package/src/build/cdn-resources.js +0 -314
  810. package/src/build/cdn-resources.js.map +0 -1
  811. package/src/build/index.d.ts +0 -294
  812. package/src/build/index.js +0 -325
  813. package/src/build/index.js.map +0 -1
  814. package/src/build/widget-manifest.d.ts +0 -212
  815. package/src/build/widget-manifest.js +0 -652
  816. package/src/build/widget-manifest.js.map +0 -1
  817. package/src/bundler/bundler.d.ts +0 -110
  818. package/src/bundler/bundler.js +0 -432
  819. package/src/bundler/bundler.js.map +0 -1
  820. package/src/bundler/cache.d.ts +0 -172
  821. package/src/bundler/cache.js +0 -250
  822. package/src/bundler/cache.js.map +0 -1
  823. package/src/bundler/index.d.ts +0 -41
  824. package/src/bundler/index.js +0 -73
  825. package/src/bundler/index.js.map +0 -1
  826. package/src/bundler/sandbox/enclave-adapter.d.ts +0 -120
  827. package/src/bundler/sandbox/enclave-adapter.js +0 -339
  828. package/src/bundler/sandbox/enclave-adapter.js.map +0 -1
  829. package/src/bundler/sandbox/executor.d.ts +0 -13
  830. package/src/bundler/sandbox/executor.js +0 -22
  831. package/src/bundler/sandbox/executor.js.map +0 -1
  832. package/src/bundler/sandbox/policy.d.ts +0 -61
  833. package/src/bundler/sandbox/policy.js +0 -238
  834. package/src/bundler/sandbox/policy.js.map +0 -1
  835. package/src/bundler/types.d.ts +0 -347
  836. package/src/bundler/types.js +0 -132
  837. package/src/bundler/types.js.map +0 -1
  838. package/src/components/alert.d.ts +0 -71
  839. package/src/components/alert.js +0 -189
  840. package/src/components/alert.js.map +0 -1
  841. package/src/components/alert.schema.d.ts +0 -114
  842. package/src/components/alert.schema.js +0 -105
  843. package/src/components/alert.schema.js.map +0 -1
  844. package/src/components/avatar.d.ts +0 -76
  845. package/src/components/avatar.js +0 -176
  846. package/src/components/avatar.js.map +0 -1
  847. package/src/components/avatar.schema.d.ts +0 -169
  848. package/src/components/avatar.schema.js +0 -103
  849. package/src/components/avatar.schema.js.map +0 -1
  850. package/src/components/badge.d.ts +0 -70
  851. package/src/components/badge.js +0 -149
  852. package/src/components/badge.js.map +0 -1
  853. package/src/components/badge.schema.d.ts +0 -109
  854. package/src/components/badge.schema.js +0 -96
  855. package/src/components/badge.schema.js.map +0 -1
  856. package/src/components/button.d.ts +0 -111
  857. package/src/components/button.js +0 -336
  858. package/src/components/button.js.map +0 -1
  859. package/src/components/button.schema.d.ts +0 -148
  860. package/src/components/button.schema.js +0 -121
  861. package/src/components/button.schema.js.map +0 -1
  862. package/src/components/card.d.ts +0 -60
  863. package/src/components/card.js +0 -117
  864. package/src/components/card.js.map +0 -1
  865. package/src/components/card.schema.d.ts +0 -113
  866. package/src/components/card.schema.js +0 -98
  867. package/src/components/card.schema.js.map +0 -1
  868. package/src/components/form.d.ts +0 -239
  869. package/src/components/form.js +0 -420
  870. package/src/components/form.js.map +0 -1
  871. package/src/components/form.schema.d.ts +0 -441
  872. package/src/components/form.schema.js +0 -406
  873. package/src/components/form.schema.js.map +0 -1
  874. package/src/components/index.d.ts +0 -29
  875. package/src/components/index.js +0 -98
  876. package/src/components/index.js.map +0 -1
  877. package/src/components/list.d.ts +0 -127
  878. package/src/components/list.js +0 -279
  879. package/src/components/list.js.map +0 -1
  880. package/src/components/list.schema.d.ts +0 -134
  881. package/src/components/list.schema.js +0 -168
  882. package/src/components/list.schema.js.map +0 -1
  883. package/src/components/modal.d.ts +0 -111
  884. package/src/components/modal.js +0 -260
  885. package/src/components/modal.js.map +0 -1
  886. package/src/components/modal.schema.d.ts +0 -186
  887. package/src/components/modal.schema.js +0 -167
  888. package/src/components/modal.schema.js.map +0 -1
  889. package/src/components/table.d.ts +0 -105
  890. package/src/components/table.js +0 -283
  891. package/src/components/table.js.map +0 -1
  892. package/src/components/table.schema.d.ts +0 -159
  893. package/src/components/table.schema.js +0 -173
  894. package/src/components/table.schema.js.map +0 -1
  895. package/src/handlebars/helpers.d.ts +0 -348
  896. package/src/handlebars/helpers.js +0 -605
  897. package/src/handlebars/helpers.js.map +0 -1
  898. package/src/handlebars/index.d.ts +0 -193
  899. package/src/handlebars/index.js +0 -350
  900. package/src/handlebars/index.js.map +0 -1
  901. package/src/index.d.ts +0 -50
  902. package/src/index.js +0 -192
  903. package/src/index.js.map +0 -1
  904. package/src/layouts/base.d.ts +0 -88
  905. package/src/layouts/base.js +0 -227
  906. package/src/layouts/base.js.map +0 -1
  907. package/src/layouts/index.d.ts +0 -7
  908. package/src/layouts/index.js +0 -25
  909. package/src/layouts/index.js.map +0 -1
  910. package/src/layouts/presets.d.ts +0 -133
  911. package/src/layouts/presets.js +0 -277
  912. package/src/layouts/presets.js.map +0 -1
  913. package/src/pages/consent.d.ts +0 -116
  914. package/src/pages/consent.js +0 -218
  915. package/src/pages/consent.js.map +0 -1
  916. package/src/pages/error.d.ts +0 -100
  917. package/src/pages/error.js +0 -263
  918. package/src/pages/error.js.map +0 -1
  919. package/src/pages/index.d.ts +0 -8
  920. package/src/pages/index.js +0 -27
  921. package/src/pages/index.js.map +0 -1
  922. package/src/react/Alert.d.ts +0 -101
  923. package/src/react/Alert.js +0 -51
  924. package/src/react/Alert.js.map +0 -1
  925. package/src/react/Badge.d.ts +0 -100
  926. package/src/react/Badge.js +0 -55
  927. package/src/react/Badge.js.map +0 -1
  928. package/src/react/Button.d.ts +0 -108
  929. package/src/react/Button.js +0 -52
  930. package/src/react/Button.js.map +0 -1
  931. package/src/react/Card.d.ts +0 -103
  932. package/src/react/Card.js +0 -55
  933. package/src/react/Card.js.map +0 -1
  934. package/src/react/hooks/context.d.ts +0 -178
  935. package/src/react/hooks/context.js +0 -287
  936. package/src/react/hooks/context.js.map +0 -1
  937. package/src/react/hooks/index.d.ts +0 -41
  938. package/src/react/hooks/index.js +0 -61
  939. package/src/react/hooks/index.js.map +0 -1
  940. package/src/react/hooks/tools.d.ts +0 -283
  941. package/src/react/hooks/tools.js +0 -465
  942. package/src/react/hooks/tools.js.map +0 -1
  943. package/src/react/index.d.ts +0 -80
  944. package/src/react/index.js +0 -113
  945. package/src/react/index.js.map +0 -1
  946. package/src/react/types.d.ts +0 -105
  947. package/src/react/types.js +0 -12
  948. package/src/react/types.js.map +0 -1
  949. package/src/react/utils.d.ts +0 -42
  950. package/src/react/utils.js +0 -99
  951. package/src/react/utils.js.map +0 -1
  952. package/src/registry/index.d.ts +0 -45
  953. package/src/registry/index.js +0 -67
  954. package/src/registry/index.js.map +0 -1
  955. package/src/registry/render-template.d.ts +0 -86
  956. package/src/registry/render-template.js +0 -239
  957. package/src/registry/render-template.js.map +0 -1
  958. package/src/registry/tool-ui.registry.d.ts +0 -260
  959. package/src/registry/tool-ui.registry.js +0 -438
  960. package/src/registry/tool-ui.registry.js.map +0 -1
  961. package/src/registry/uri-utils.d.ts +0 -55
  962. package/src/registry/uri-utils.js +0 -97
  963. package/src/registry/uri-utils.js.map +0 -1
  964. package/src/render/index.d.ts +0 -7
  965. package/src/render/index.js +0 -14
  966. package/src/render/index.js.map +0 -1
  967. package/src/render/prerender.d.ts +0 -56
  968. package/src/render/prerender.js +0 -98
  969. package/src/render/prerender.js.map +0 -1
  970. package/src/renderers/cache.d.ts +0 -144
  971. package/src/renderers/cache.js +0 -240
  972. package/src/renderers/cache.js.map +0 -1
  973. package/src/renderers/html.renderer.d.ts +0 -122
  974. package/src/renderers/html.renderer.js +0 -204
  975. package/src/renderers/html.renderer.js.map +0 -1
  976. package/src/renderers/index.d.ts +0 -35
  977. package/src/renderers/index.js +0 -70
  978. package/src/renderers/index.js.map +0 -1
  979. package/src/renderers/mdx.renderer.d.ts +0 -119
  980. package/src/renderers/mdx.renderer.js +0 -305
  981. package/src/renderers/mdx.renderer.js.map +0 -1
  982. package/src/renderers/react.renderer.d.ts +0 -95
  983. package/src/renderers/react.renderer.js +0 -260
  984. package/src/renderers/react.renderer.js.map +0 -1
  985. package/src/renderers/registry.d.ts +0 -133
  986. package/src/renderers/registry.js +0 -232
  987. package/src/renderers/registry.js.map +0 -1
  988. package/src/renderers/types.d.ts +0 -341
  989. package/src/renderers/types.js +0 -9
  990. package/src/renderers/types.js.map +0 -1
  991. package/src/renderers/utils/detect.d.ts +0 -106
  992. package/src/renderers/utils/detect.js +0 -267
  993. package/src/renderers/utils/detect.js.map +0 -1
  994. package/src/renderers/utils/hash.d.ts +0 -39
  995. package/src/renderers/utils/hash.js +0 -75
  996. package/src/renderers/utils/hash.js.map +0 -1
  997. package/src/renderers/utils/index.d.ts +0 -8
  998. package/src/renderers/utils/index.js +0 -28
  999. package/src/renderers/utils/index.js.map +0 -1
  1000. package/src/renderers/utils/transpiler.d.ts +0 -88
  1001. package/src/renderers/utils/transpiler.js +0 -215
  1002. package/src/renderers/utils/transpiler.js.map +0 -1
  1003. package/src/runtime/adapters/html.adapter.d.ts +0 -58
  1004. package/src/runtime/adapters/html.adapter.js +0 -131
  1005. package/src/runtime/adapters/html.adapter.js.map +0 -1
  1006. package/src/runtime/adapters/index.d.ts +0 -25
  1007. package/src/runtime/adapters/index.js +0 -54
  1008. package/src/runtime/adapters/index.js.map +0 -1
  1009. package/src/runtime/adapters/mdx.adapter.d.ts +0 -72
  1010. package/src/runtime/adapters/mdx.adapter.js +0 -241
  1011. package/src/runtime/adapters/mdx.adapter.js.map +0 -1
  1012. package/src/runtime/adapters/react.adapter.d.ts +0 -69
  1013. package/src/runtime/adapters/react.adapter.js +0 -245
  1014. package/src/runtime/adapters/react.adapter.js.map +0 -1
  1015. package/src/runtime/adapters/types.d.ts +0 -94
  1016. package/src/runtime/adapters/types.js +0 -11
  1017. package/src/runtime/adapters/types.js.map +0 -1
  1018. package/src/runtime/csp.d.ts +0 -37
  1019. package/src/runtime/csp.js +0 -140
  1020. package/src/runtime/csp.js.map +0 -1
  1021. package/src/runtime/index.d.ts +0 -16
  1022. package/src/runtime/index.js +0 -72
  1023. package/src/runtime/index.js.map +0 -1
  1024. package/src/runtime/mcp-bridge.d.ts +0 -100
  1025. package/src/runtime/mcp-bridge.js +0 -581
  1026. package/src/runtime/mcp-bridge.js.map +0 -1
  1027. package/src/runtime/renderer-runtime.d.ts +0 -132
  1028. package/src/runtime/renderer-runtime.js +0 -389
  1029. package/src/runtime/renderer-runtime.js.map +0 -1
  1030. package/src/runtime/sanitizer.d.ts +0 -171
  1031. package/src/runtime/sanitizer.js +0 -318
  1032. package/src/runtime/sanitizer.js.map +0 -1
  1033. package/src/runtime/types.d.ts +0 -414
  1034. package/src/runtime/types.js +0 -12
  1035. package/src/runtime/types.js.map +0 -1
  1036. package/src/runtime/wrapper.d.ts +0 -375
  1037. package/src/runtime/wrapper.js +0 -1793
  1038. package/src/runtime/wrapper.js.map +0 -1
  1039. package/src/styles/index.d.ts +0 -7
  1040. package/src/styles/index.js +0 -11
  1041. package/src/styles/index.js.map +0 -1
  1042. package/src/styles/variants.d.ts +0 -50
  1043. package/src/styles/variants.js +0 -175
  1044. package/src/styles/variants.js.map +0 -1
  1045. package/src/theme/cdn.d.ts +0 -194
  1046. package/src/theme/cdn.js +0 -375
  1047. package/src/theme/cdn.js.map +0 -1
  1048. package/src/theme/index.d.ts +0 -17
  1049. package/src/theme/index.js +0 -57
  1050. package/src/theme/index.js.map +0 -1
  1051. package/src/theme/platforms.d.ts +0 -106
  1052. package/src/theme/platforms.js +0 -161
  1053. package/src/theme/platforms.js.map +0 -1
  1054. package/src/theme/presets/github-openai.d.ts +0 -49
  1055. package/src/theme/presets/github-openai.js +0 -189
  1056. package/src/theme/presets/github-openai.js.map +0 -1
  1057. package/src/theme/presets/index.d.ts +0 -10
  1058. package/src/theme/presets/index.js +0 -17
  1059. package/src/theme/presets/index.js.map +0 -1
  1060. package/src/theme/theme.d.ts +0 -395
  1061. package/src/theme/theme.js +0 -332
  1062. package/src/theme/theme.js.map +0 -1
  1063. package/src/tool-template/builder.d.ts +0 -212
  1064. package/src/tool-template/builder.js +0 -397
  1065. package/src/tool-template/builder.js.map +0 -1
  1066. package/src/tool-template/index.d.ts +0 -15
  1067. package/src/tool-template/index.js +0 -38
  1068. package/src/tool-template/index.js.map +0 -1
  1069. package/src/types/index.d.ts +0 -13
  1070. package/src/types/index.js +0 -26
  1071. package/src/types/index.js.map +0 -1
  1072. package/src/types/ui-config.d.ts +0 -357
  1073. package/src/types/ui-config.js +0 -12
  1074. package/src/types/ui-config.js.map +0 -1
  1075. package/src/types/ui-runtime.d.ts +0 -965
  1076. package/src/types/ui-runtime.js +0 -117
  1077. package/src/types/ui-runtime.js.map +0 -1
  1078. package/src/validation/error-box.d.ts +0 -55
  1079. package/src/validation/error-box.js +0 -75
  1080. package/src/validation/error-box.js.map +0 -1
  1081. package/src/validation/index.d.ts +0 -12
  1082. package/src/validation/index.js +0 -21
  1083. package/src/validation/index.js.map +0 -1
  1084. package/src/validation/wrapper.d.ts +0 -96
  1085. package/src/validation/wrapper.js +0 -117
  1086. package/src/validation/wrapper.js.map +0 -1
  1087. package/src/web-components/core/attribute-parser.d.ts +0 -85
  1088. package/src/web-components/core/attribute-parser.js +0 -189
  1089. package/src/web-components/core/attribute-parser.js.map +0 -1
  1090. package/src/web-components/core/base-element.d.ts +0 -197
  1091. package/src/web-components/core/base-element.js +0 -289
  1092. package/src/web-components/core/base-element.js.map +0 -1
  1093. package/src/web-components/core/index.d.ts +0 -8
  1094. package/src/web-components/core/index.js +0 -18
  1095. package/src/web-components/core/index.js.map +0 -1
  1096. package/src/web-components/elements/fmcp-alert.d.ts +0 -45
  1097. package/src/web-components/elements/fmcp-alert.js +0 -93
  1098. package/src/web-components/elements/fmcp-alert.js.map +0 -1
  1099. package/src/web-components/elements/fmcp-badge.d.ts +0 -46
  1100. package/src/web-components/elements/fmcp-badge.js +0 -99
  1101. package/src/web-components/elements/fmcp-badge.js.map +0 -1
  1102. package/src/web-components/elements/fmcp-button.d.ts +0 -124
  1103. package/src/web-components/elements/fmcp-button.js +0 -233
  1104. package/src/web-components/elements/fmcp-button.js.map +0 -1
  1105. package/src/web-components/elements/fmcp-card.d.ts +0 -52
  1106. package/src/web-components/elements/fmcp-card.js +0 -115
  1107. package/src/web-components/elements/fmcp-card.js.map +0 -1
  1108. package/src/web-components/elements/fmcp-input.d.ts +0 -95
  1109. package/src/web-components/elements/fmcp-input.js +0 -248
  1110. package/src/web-components/elements/fmcp-input.js.map +0 -1
  1111. package/src/web-components/elements/fmcp-select.d.ts +0 -99
  1112. package/src/web-components/elements/fmcp-select.js +0 -243
  1113. package/src/web-components/elements/fmcp-select.js.map +0 -1
  1114. package/src/web-components/elements/index.d.ts +0 -12
  1115. package/src/web-components/elements/index.js +0 -34
  1116. package/src/web-components/elements/index.js.map +0 -1
  1117. package/src/web-components/index.d.ts +0 -49
  1118. package/src/web-components/index.js +0 -75
  1119. package/src/web-components/index.js.map +0 -1
  1120. package/src/web-components/register.d.ts +0 -56
  1121. package/src/web-components/register.js +0 -80
  1122. package/src/web-components/register.js.map +0 -1
  1123. package/src/web-components/types.d.ts +0 -121
  1124. package/src/web-components/types.js +0 -25
  1125. package/src/web-components/types.js.map +0 -1
  1126. package/src/widgets/index.d.ts +0 -7
  1127. package/src/widgets/index.js +0 -24
  1128. package/src/widgets/index.js.map +0 -1
  1129. package/src/widgets/progress.d.ts +0 -132
  1130. package/src/widgets/progress.js +0 -303
  1131. package/src/widgets/progress.js.map +0 -1
  1132. package/src/widgets/resource.d.ts +0 -162
  1133. package/src/widgets/resource.js +0 -340
  1134. package/src/widgets/resource.js.map +0 -1
@@ -1,142 +0,0 @@
1
- /**
2
- * ext-apps (SEP-1865) Platform Adapter
3
- *
4
- * Implements the MCP Apps Extension protocol (SEP-1865) for embedded
5
- * widget communication with AI hosts via JSON-RPC 2.0 over postMessage.
6
- *
7
- * @see https://github.com/modelcontextprotocol/ext-apps
8
- * @packageDocumentation
9
- */
10
- import type { DisplayMode, AdapterConfig } from '../types';
11
- import { BaseAdapter } from './base-adapter';
12
- /**
13
- * Configuration options for ext-apps adapter.
14
- */
15
- export interface ExtAppsAdapterConfig extends AdapterConfig {
16
- options?: {
17
- /** Trusted origins for postMessage security (trust-on-first-use if not specified) */
18
- trustedOrigins?: string[];
19
- /** Application name for handshake */
20
- appName?: string;
21
- /** Application version for handshake */
22
- appVersion?: string;
23
- /** Protocol version (defaults to '2024-11-05') */
24
- protocolVersion?: string;
25
- /** Timeout for initialization handshake (ms) */
26
- initTimeout?: number;
27
- };
28
- }
29
- /**
30
- * ext-apps (SEP-1865) adapter.
31
- *
32
- * Provides communication between embedded widgets and AI hosts using
33
- * the standardized JSON-RPC 2.0 over postMessage protocol.
34
- *
35
- * @example
36
- * ```typescript
37
- * import { ExtAppsAdapter } from '@frontmcp/ui/bridge';
38
- *
39
- * const adapter = new ExtAppsAdapter({
40
- * options: {
41
- * trustedOrigins: ['https://claude.ai'],
42
- * }
43
- * });
44
- * if (adapter.canHandle()) {
45
- * await adapter.initialize();
46
- * }
47
- * ```
48
- */
49
- export declare class ExtAppsAdapter extends BaseAdapter {
50
- readonly id = "ext-apps";
51
- readonly name = "ext-apps (SEP-1865)";
52
- readonly priority = 80;
53
- private _config;
54
- private _messageListener;
55
- private _pendingRequests;
56
- private _requestId;
57
- private _trustedOrigin;
58
- private _hostCapabilities;
59
- constructor(config?: ExtAppsAdapterConfig);
60
- /**
61
- * Check if we're in an iframe (potential ext-apps context).
62
- */
63
- canHandle(): boolean;
64
- /**
65
- * Initialize the ext-apps adapter with protocol handshake.
66
- */
67
- initialize(): Promise<void>;
68
- /**
69
- * Dispose adapter resources.
70
- */
71
- dispose(): void;
72
- callTool(name: string, args: Record<string, unknown>): Promise<unknown>;
73
- sendMessage(content: string): Promise<void>;
74
- openLink(url: string): Promise<void>;
75
- requestDisplayMode(mode: DisplayMode): Promise<void>;
76
- requestClose(): Promise<void>;
77
- /**
78
- * Setup postMessage listener for incoming messages.
79
- */
80
- private _setupMessageListener;
81
- /**
82
- * Handle incoming postMessage events.
83
- */
84
- private _handleMessage;
85
- /**
86
- * Handle JSON-RPC response.
87
- */
88
- private _handleResponse;
89
- /**
90
- * Handle JSON-RPC notification from host.
91
- */
92
- private _handleNotification;
93
- /**
94
- * Handle tool input notification.
95
- */
96
- private _handleToolInput;
97
- /**
98
- * Handle partial tool input (streaming).
99
- */
100
- private _handleToolInputPartial;
101
- /**
102
- * Handle tool result notification.
103
- */
104
- private _handleToolResult;
105
- /**
106
- * Handle host context change notification.
107
- */
108
- private _handleHostContextChange;
109
- /**
110
- * Handle cancellation notification.
111
- */
112
- private _handleCancelled;
113
- /**
114
- * Send a JSON-RPC request to the host.
115
- */
116
- private _sendRequest;
117
- /**
118
- * Send a JSON-RPC notification (no response expected).
119
- */
120
- private _sendNotification;
121
- /**
122
- * Post a message to the parent window.
123
- */
124
- private _postMessage;
125
- /**
126
- * Perform the ui/initialize handshake with the host.
127
- */
128
- private _performHandshake;
129
- /**
130
- * Check if an origin is trusted.
131
- * Uses trust-on-first-use if no explicit origins configured.
132
- */
133
- private _isOriginTrusted;
134
- /**
135
- * Emit a bridge event via CustomEvent.
136
- */
137
- private _emitBridgeEvent;
138
- }
139
- /**
140
- * Factory function for creating ext-apps adapter instances.
141
- */
142
- export declare function createExtAppsAdapter(config?: ExtAppsAdapterConfig): ExtAppsAdapter;
@@ -1,416 +0,0 @@
1
- "use strict";
2
- /**
3
- * ext-apps (SEP-1865) Platform Adapter
4
- *
5
- * Implements the MCP Apps Extension protocol (SEP-1865) for embedded
6
- * widget communication with AI hosts via JSON-RPC 2.0 over postMessage.
7
- *
8
- * @see https://github.com/modelcontextprotocol/ext-apps
9
- * @packageDocumentation
10
- */
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.ExtAppsAdapter = void 0;
13
- exports.createExtAppsAdapter = createExtAppsAdapter;
14
- const base_adapter_1 = require("./base-adapter");
15
- /**
16
- * ext-apps (SEP-1865) adapter.
17
- *
18
- * Provides communication between embedded widgets and AI hosts using
19
- * the standardized JSON-RPC 2.0 over postMessage protocol.
20
- *
21
- * @example
22
- * ```typescript
23
- * import { ExtAppsAdapter } from '@frontmcp/ui/bridge';
24
- *
25
- * const adapter = new ExtAppsAdapter({
26
- * options: {
27
- * trustedOrigins: ['https://claude.ai'],
28
- * }
29
- * });
30
- * if (adapter.canHandle()) {
31
- * await adapter.initialize();
32
- * }
33
- * ```
34
- */
35
- class ExtAppsAdapter extends base_adapter_1.BaseAdapter {
36
- id = 'ext-apps';
37
- name = 'ext-apps (SEP-1865)';
38
- priority = 80; // High priority, but below OpenAI native
39
- _config;
40
- _messageListener;
41
- _pendingRequests = new Map();
42
- _requestId = 0;
43
- _trustedOrigin;
44
- _hostCapabilities = {};
45
- constructor(config) {
46
- super();
47
- this._config = config || {};
48
- // Start with minimal capabilities, updated after handshake
49
- this._capabilities = {
50
- ...base_adapter_1.DEFAULT_CAPABILITIES,
51
- canPersistState: true,
52
- hasNetworkAccess: true, // ext-apps usually allows network
53
- supportsTheme: true,
54
- };
55
- }
56
- /**
57
- * Check if we're in an iframe (potential ext-apps context).
58
- */
59
- canHandle() {
60
- if (typeof window === 'undefined')
61
- return false;
62
- // Check if we're in an iframe
63
- const inIframe = window.parent !== window;
64
- if (!inIframe)
65
- return false;
66
- // Check we're not already detected as OpenAI
67
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
68
- const win = window;
69
- if (win.openai?.canvas)
70
- return false;
71
- // Check for explicit ext-apps marker
72
- if (win.__mcpPlatform === 'ext-apps')
73
- return true;
74
- // In an iframe without OpenAI SDK = likely ext-apps context
75
- return true;
76
- }
77
- /**
78
- * Initialize the ext-apps adapter with protocol handshake.
79
- */
80
- async initialize() {
81
- if (this._initialized)
82
- return;
83
- // Setup message listener
84
- this._setupMessageListener();
85
- // Call base initialization
86
- await super.initialize();
87
- // Perform ui/initialize handshake
88
- await this._performHandshake();
89
- this._initialized = true;
90
- }
91
- /**
92
- * Dispose adapter resources.
93
- */
94
- dispose() {
95
- // Remove message listener
96
- if (this._messageListener && typeof window !== 'undefined') {
97
- window.removeEventListener('message', this._messageListener);
98
- this._messageListener = undefined;
99
- }
100
- // Reject all pending requests
101
- for (const [id, pending] of this._pendingRequests) {
102
- clearTimeout(pending.timeout);
103
- pending.reject(new Error('Adapter disposed'));
104
- }
105
- this._pendingRequests.clear();
106
- super.dispose();
107
- }
108
- // ============================================
109
- // Actions (via JSON-RPC)
110
- // ============================================
111
- async callTool(name, args) {
112
- if (!this._hostCapabilities.serverToolProxy) {
113
- throw new Error('Server tool proxy not supported by host');
114
- }
115
- return this._sendRequest('ui/callServerTool', {
116
- name,
117
- arguments: args,
118
- });
119
- }
120
- async sendMessage(content) {
121
- await this._sendRequest('ui/message', { content });
122
- }
123
- async openLink(url) {
124
- if (!this._hostCapabilities.openLink) {
125
- // Fallback to window.open
126
- return super.openLink(url);
127
- }
128
- await this._sendRequest('ui/openLink', { url });
129
- }
130
- async requestDisplayMode(mode) {
131
- await this._sendRequest('ui/setDisplayMode', { mode });
132
- this._hostContext = { ...this._hostContext, displayMode: mode };
133
- }
134
- async requestClose() {
135
- await this._sendRequest('ui/close', {});
136
- }
137
- // ============================================
138
- // Private: Message Handling
139
- // ============================================
140
- /**
141
- * Setup postMessage listener for incoming messages.
142
- */
143
- _setupMessageListener() {
144
- if (typeof window === 'undefined')
145
- return;
146
- this._messageListener = (event) => {
147
- this._handleMessage(event);
148
- };
149
- window.addEventListener('message', this._messageListener);
150
- }
151
- /**
152
- * Handle incoming postMessage events.
153
- */
154
- _handleMessage(event) {
155
- // Validate origin
156
- if (!this._isOriginTrusted(event.origin)) {
157
- return;
158
- }
159
- const data = event.data;
160
- if (!data || typeof data !== 'object')
161
- return;
162
- if (data.jsonrpc !== '2.0')
163
- return;
164
- // Handle response to our request
165
- if ('id' in data && (data.result !== undefined || data.error !== undefined)) {
166
- this._handleResponse(data);
167
- return;
168
- }
169
- // Handle notification from host
170
- if ('method' in data && !('id' in data)) {
171
- this._handleNotification(data);
172
- return;
173
- }
174
- }
175
- /**
176
- * Handle JSON-RPC response.
177
- */
178
- _handleResponse(response) {
179
- const pending = this._pendingRequests.get(response.id);
180
- if (!pending)
181
- return;
182
- clearTimeout(pending.timeout);
183
- this._pendingRequests.delete(response.id);
184
- if (response.error) {
185
- pending.reject(new Error(`${response.error.message} (code: ${response.error.code})`));
186
- }
187
- else {
188
- pending.resolve(response.result);
189
- }
190
- }
191
- /**
192
- * Handle JSON-RPC notification from host.
193
- */
194
- _handleNotification(notification) {
195
- switch (notification.method) {
196
- case 'ui/notifications/tool-input':
197
- this._handleToolInput(notification.params);
198
- break;
199
- case 'ui/notifications/tool-input-partial':
200
- this._handleToolInputPartial(notification.params);
201
- break;
202
- case 'ui/notifications/tool-result':
203
- this._handleToolResult(notification.params);
204
- break;
205
- case 'ui/notifications/host-context-changed':
206
- this._handleHostContextChange(notification.params);
207
- break;
208
- case 'ui/notifications/initialized':
209
- // Host confirms initialization complete
210
- break;
211
- case 'ui/notifications/cancelled':
212
- this._handleCancelled(notification.params);
213
- break;
214
- }
215
- }
216
- /**
217
- * Handle tool input notification.
218
- */
219
- _handleToolInput(params) {
220
- this._toolInput = params.arguments || {};
221
- // Emit tool:input event
222
- this._emitBridgeEvent('tool:input', { arguments: this._toolInput });
223
- }
224
- /**
225
- * Handle partial tool input (streaming).
226
- */
227
- _handleToolInputPartial(params) {
228
- this._toolInput = { ...this._toolInput, ...params.arguments };
229
- // Emit tool:input-partial event
230
- this._emitBridgeEvent('tool:input-partial', { arguments: this._toolInput });
231
- }
232
- /**
233
- * Handle tool result notification.
234
- */
235
- _handleToolResult(params) {
236
- this._toolOutput = params.content;
237
- this._structuredContent = params.structuredContent;
238
- // Notify listeners
239
- this._notifyToolResult(params.content);
240
- // Emit tool:result event
241
- this._emitBridgeEvent('tool:result', {
242
- content: params.content,
243
- structuredContent: params.structuredContent,
244
- });
245
- }
246
- /**
247
- * Handle host context change notification.
248
- */
249
- _handleHostContextChange(params) {
250
- const changes = {};
251
- if (params.theme !== undefined) {
252
- changes.theme = params.theme;
253
- }
254
- if (params.displayMode !== undefined) {
255
- changes.displayMode = params.displayMode;
256
- }
257
- if (params.viewport !== undefined) {
258
- changes.viewport = params.viewport;
259
- }
260
- if (params.locale !== undefined) {
261
- changes.locale = params.locale;
262
- }
263
- if (params.timezone !== undefined) {
264
- changes.timezone = params.timezone;
265
- }
266
- this._notifyContextChange(changes);
267
- }
268
- /**
269
- * Handle cancellation notification.
270
- */
271
- _handleCancelled(params) {
272
- const reason = params?.reason;
273
- this._emitBridgeEvent('tool:cancelled', { reason });
274
- }
275
- // ============================================
276
- // Private: JSON-RPC Transport
277
- // ============================================
278
- /**
279
- * Send a JSON-RPC request to the host.
280
- */
281
- _sendRequest(method, params) {
282
- return new Promise((resolve, reject) => {
283
- const id = ++this._requestId;
284
- const timeout = this._config.options?.initTimeout || 10000;
285
- const request = {
286
- jsonrpc: '2.0',
287
- id,
288
- method,
289
- params,
290
- };
291
- const timeoutHandle = setTimeout(() => {
292
- this._pendingRequests.delete(id);
293
- reject(new Error(`Request ${method} timed out after ${timeout}ms`));
294
- }, timeout);
295
- this._pendingRequests.set(id, {
296
- resolve,
297
- reject,
298
- timeout: timeoutHandle,
299
- });
300
- this._postMessage(request);
301
- });
302
- }
303
- /**
304
- * Send a JSON-RPC notification (no response expected).
305
- */
306
- _sendNotification(method, params) {
307
- const notification = {
308
- jsonrpc: '2.0',
309
- method,
310
- params,
311
- };
312
- this._postMessage(notification);
313
- }
314
- /**
315
- * Post a message to the parent window.
316
- */
317
- _postMessage(message) {
318
- if (typeof window === 'undefined')
319
- return;
320
- const targetOrigin = this._trustedOrigin || '*';
321
- window.parent.postMessage(message, targetOrigin);
322
- }
323
- // ============================================
324
- // Private: Handshake
325
- // ============================================
326
- /**
327
- * Perform the ui/initialize handshake with the host.
328
- */
329
- async _performHandshake() {
330
- const params = {
331
- appInfo: {
332
- name: this._config.options?.appName || 'FrontMCP Widget',
333
- version: this._config.options?.appVersion || '1.0.0',
334
- },
335
- appCapabilities: {
336
- tools: {
337
- listChanged: false,
338
- },
339
- },
340
- protocolVersion: this._config.options?.protocolVersion || '2024-11-05',
341
- };
342
- try {
343
- const result = (await this._sendRequest('ui/initialize', params));
344
- // Store host capabilities
345
- this._hostCapabilities = result.hostCapabilities || {};
346
- // Update adapter capabilities based on host
347
- this._capabilities = {
348
- ...this._capabilities,
349
- canCallTools: Boolean(this._hostCapabilities.serverToolProxy),
350
- canSendMessages: true,
351
- canOpenLinks: Boolean(this._hostCapabilities.openLink),
352
- supportsDisplayModes: true,
353
- };
354
- // Update host context
355
- if (result.hostContext) {
356
- this._hostContext = {
357
- ...this._hostContext,
358
- ...result.hostContext,
359
- };
360
- }
361
- // Trust the origin that successfully completed handshake
362
- // (trust-on-first-use if no explicit trusted origins)
363
- if (!this._config.options?.trustedOrigins?.length) {
364
- // Origin is already set from first successful message
365
- }
366
- }
367
- catch (error) {
368
- throw new Error(`ext-apps handshake failed: ${error}`);
369
- }
370
- }
371
- // ============================================
372
- // Private: Origin Security
373
- // ============================================
374
- /**
375
- * Check if an origin is trusted.
376
- * Uses trust-on-first-use if no explicit origins configured.
377
- */
378
- _isOriginTrusted(origin) {
379
- // Explicit trusted origins from config
380
- const trustedOrigins = this._config.options?.trustedOrigins;
381
- if (trustedOrigins && trustedOrigins.length > 0) {
382
- return trustedOrigins.includes(origin);
383
- }
384
- // Trust-on-first-use: trust the first origin we receive from
385
- if (!this._trustedOrigin) {
386
- this._trustedOrigin = origin;
387
- return true;
388
- }
389
- return this._trustedOrigin === origin;
390
- }
391
- // ============================================
392
- // Private: Events
393
- // ============================================
394
- /**
395
- * Emit a bridge event via CustomEvent.
396
- */
397
- _emitBridgeEvent(type, detail) {
398
- if (typeof window !== 'undefined' && typeof CustomEvent !== 'undefined') {
399
- try {
400
- const event = new CustomEvent(type, { detail });
401
- window.dispatchEvent(event);
402
- }
403
- catch {
404
- // Ignore event dispatch errors
405
- }
406
- }
407
- }
408
- }
409
- exports.ExtAppsAdapter = ExtAppsAdapter;
410
- /**
411
- * Factory function for creating ext-apps adapter instances.
412
- */
413
- function createExtAppsAdapter(config) {
414
- return new ExtAppsAdapter(config);
415
- }
416
- //# sourceMappingURL=ext-apps.adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ext-apps.adapter.js","sourceRoot":"","sources":["../../../../src/bridge/adapters/ext-apps.adapter.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * ext-apps (SEP-1865) Platform Adapter\n *\n * Implements the MCP Apps Extension protocol (SEP-1865) for embedded\n * widget communication with AI hosts via JSON-RPC 2.0 over postMessage.\n *\n * @see https://github.com/modelcontextprotocol/ext-apps\n * @packageDocumentation\n */\n\nimport type {\n DisplayMode,\n HostContext,\n JsonRpcRequest,\n JsonRpcResponse,\n JsonRpcNotification,\n ExtAppsInitializeParams,\n ExtAppsInitializeResult,\n ExtAppsToolInputParams,\n ExtAppsToolResultParams,\n ExtAppsHostContextChangeParams,\n AdapterConfig,\n} from '../types';\nimport { BaseAdapter, DEFAULT_CAPABILITIES } from './base-adapter';\n\n/**\n * Configuration options for ext-apps adapter.\n */\nexport interface ExtAppsAdapterConfig extends AdapterConfig {\n options?: {\n /** Trusted origins for postMessage security (trust-on-first-use if not specified) */\n trustedOrigins?: string[];\n /** Application name for handshake */\n appName?: string;\n /** Application version for handshake */\n appVersion?: string;\n /** Protocol version (defaults to '2024-11-05') */\n protocolVersion?: string;\n /** Timeout for initialization handshake (ms) */\n initTimeout?: number;\n };\n}\n\n/**\n * ext-apps (SEP-1865) adapter.\n *\n * Provides communication between embedded widgets and AI hosts using\n * the standardized JSON-RPC 2.0 over postMessage protocol.\n *\n * @example\n * ```typescript\n * import { ExtAppsAdapter } from '@frontmcp/ui/bridge';\n *\n * const adapter = new ExtAppsAdapter({\n * options: {\n * trustedOrigins: ['https://claude.ai'],\n * }\n * });\n * if (adapter.canHandle()) {\n * await adapter.initialize();\n * }\n * ```\n */\nexport class ExtAppsAdapter extends BaseAdapter {\n readonly id = 'ext-apps';\n readonly name = 'ext-apps (SEP-1865)';\n readonly priority = 80; // High priority, but below OpenAI native\n\n private _config: ExtAppsAdapterConfig;\n private _messageListener: ((event: MessageEvent) => void) | undefined;\n private _pendingRequests: Map<\n string | number,\n {\n resolve: (value: unknown) => void;\n reject: (error: Error) => void;\n timeout: ReturnType<typeof setTimeout>;\n }\n > = new Map();\n private _requestId = 0;\n private _trustedOrigin: string | undefined;\n private _hostCapabilities: ExtAppsInitializeResult['hostCapabilities'] = {};\n\n constructor(config?: ExtAppsAdapterConfig) {\n super();\n this._config = config || {};\n\n // Start with minimal capabilities, updated after handshake\n this._capabilities = {\n ...DEFAULT_CAPABILITIES,\n canPersistState: true,\n hasNetworkAccess: true, // ext-apps usually allows network\n supportsTheme: true,\n };\n }\n\n /**\n * Check if we're in an iframe (potential ext-apps context).\n */\n canHandle(): boolean {\n if (typeof window === 'undefined') return false;\n\n // Check if we're in an iframe\n const inIframe = window.parent !== window;\n if (!inIframe) return false;\n\n // Check we're not already detected as OpenAI\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const win = window as any;\n if (win.openai?.canvas) return false;\n\n // Check for explicit ext-apps marker\n if (win.__mcpPlatform === 'ext-apps') return true;\n\n // In an iframe without OpenAI SDK = likely ext-apps context\n return true;\n }\n\n /**\n * Initialize the ext-apps adapter with protocol handshake.\n */\n override async initialize(): Promise<void> {\n if (this._initialized) return;\n\n // Setup message listener\n this._setupMessageListener();\n\n // Call base initialization\n await super.initialize();\n\n // Perform ui/initialize handshake\n await this._performHandshake();\n\n this._initialized = true;\n }\n\n /**\n * Dispose adapter resources.\n */\n override dispose(): void {\n // Remove message listener\n if (this._messageListener && typeof window !== 'undefined') {\n window.removeEventListener('message', this._messageListener);\n this._messageListener = undefined;\n }\n\n // Reject all pending requests\n for (const [id, pending] of this._pendingRequests) {\n clearTimeout(pending.timeout);\n pending.reject(new Error('Adapter disposed'));\n }\n this._pendingRequests.clear();\n\n super.dispose();\n }\n\n // ============================================\n // Actions (via JSON-RPC)\n // ============================================\n\n override async callTool(name: string, args: Record<string, unknown>): Promise<unknown> {\n if (!this._hostCapabilities.serverToolProxy) {\n throw new Error('Server tool proxy not supported by host');\n }\n\n return this._sendRequest('ui/callServerTool', {\n name,\n arguments: args,\n });\n }\n\n override async sendMessage(content: string): Promise<void> {\n await this._sendRequest('ui/message', { content });\n }\n\n override async openLink(url: string): Promise<void> {\n if (!this._hostCapabilities.openLink) {\n // Fallback to window.open\n return super.openLink(url);\n }\n\n await this._sendRequest('ui/openLink', { url });\n }\n\n override async requestDisplayMode(mode: DisplayMode): Promise<void> {\n await this._sendRequest('ui/setDisplayMode', { mode });\n this._hostContext = { ...this._hostContext, displayMode: mode };\n }\n\n override async requestClose(): Promise<void> {\n await this._sendRequest('ui/close', {});\n }\n\n // ============================================\n // Private: Message Handling\n // ============================================\n\n /**\n * Setup postMessage listener for incoming messages.\n */\n private _setupMessageListener(): void {\n if (typeof window === 'undefined') return;\n\n this._messageListener = (event: MessageEvent) => {\n this._handleMessage(event);\n };\n\n window.addEventListener('message', this._messageListener);\n }\n\n /**\n * Handle incoming postMessage events.\n */\n private _handleMessage(event: MessageEvent): void {\n // Validate origin\n if (!this._isOriginTrusted(event.origin)) {\n return;\n }\n\n const data = event.data;\n if (!data || typeof data !== 'object') return;\n if (data.jsonrpc !== '2.0') return;\n\n // Handle response to our request\n if ('id' in data && (data.result !== undefined || data.error !== undefined)) {\n this._handleResponse(data as JsonRpcResponse);\n return;\n }\n\n // Handle notification from host\n if ('method' in data && !('id' in data)) {\n this._handleNotification(data as JsonRpcNotification);\n return;\n }\n }\n\n /**\n * Handle JSON-RPC response.\n */\n private _handleResponse(response: JsonRpcResponse): void {\n const pending = this._pendingRequests.get(response.id);\n if (!pending) return;\n\n clearTimeout(pending.timeout);\n this._pendingRequests.delete(response.id);\n\n if (response.error) {\n pending.reject(new Error(`${response.error.message} (code: ${response.error.code})`));\n } else {\n pending.resolve(response.result);\n }\n }\n\n /**\n * Handle JSON-RPC notification from host.\n */\n private _handleNotification(notification: JsonRpcNotification): void {\n switch (notification.method) {\n case 'ui/notifications/tool-input':\n this._handleToolInput(notification.params as ExtAppsToolInputParams);\n break;\n\n case 'ui/notifications/tool-input-partial':\n this._handleToolInputPartial(notification.params as ExtAppsToolInputParams);\n break;\n\n case 'ui/notifications/tool-result':\n this._handleToolResult(notification.params as ExtAppsToolResultParams);\n break;\n\n case 'ui/notifications/host-context-changed':\n this._handleHostContextChange(notification.params as ExtAppsHostContextChangeParams);\n break;\n\n case 'ui/notifications/initialized':\n // Host confirms initialization complete\n break;\n\n case 'ui/notifications/cancelled':\n this._handleCancelled(notification.params);\n break;\n }\n }\n\n /**\n * Handle tool input notification.\n */\n private _handleToolInput(params: ExtAppsToolInputParams): void {\n this._toolInput = params.arguments || {};\n\n // Emit tool:input event\n this._emitBridgeEvent('tool:input', { arguments: this._toolInput });\n }\n\n /**\n * Handle partial tool input (streaming).\n */\n private _handleToolInputPartial(params: ExtAppsToolInputParams): void {\n this._toolInput = { ...this._toolInput, ...params.arguments };\n\n // Emit tool:input-partial event\n this._emitBridgeEvent('tool:input-partial', { arguments: this._toolInput });\n }\n\n /**\n * Handle tool result notification.\n */\n private _handleToolResult(params: ExtAppsToolResultParams): void {\n this._toolOutput = params.content;\n this._structuredContent = params.structuredContent;\n\n // Notify listeners\n this._notifyToolResult(params.content);\n\n // Emit tool:result event\n this._emitBridgeEvent('tool:result', {\n content: params.content,\n structuredContent: params.structuredContent,\n });\n }\n\n /**\n * Handle host context change notification.\n */\n private _handleHostContextChange(params: ExtAppsHostContextChangeParams): void {\n const changes: Partial<HostContext> = {};\n\n if (params.theme !== undefined) {\n changes.theme = params.theme;\n }\n if (params.displayMode !== undefined) {\n changes.displayMode = params.displayMode;\n }\n if (params.viewport !== undefined) {\n changes.viewport = params.viewport;\n }\n if (params.locale !== undefined) {\n changes.locale = params.locale;\n }\n if (params.timezone !== undefined) {\n changes.timezone = params.timezone;\n }\n\n this._notifyContextChange(changes);\n }\n\n /**\n * Handle cancellation notification.\n */\n private _handleCancelled(params: unknown): void {\n const reason = (params as { reason?: string })?.reason;\n this._emitBridgeEvent('tool:cancelled', { reason });\n }\n\n // ============================================\n // Private: JSON-RPC Transport\n // ============================================\n\n /**\n * Send a JSON-RPC request to the host.\n */\n private _sendRequest(method: string, params?: unknown): Promise<unknown> {\n return new Promise((resolve, reject) => {\n const id = ++this._requestId;\n const timeout = this._config.options?.initTimeout || 10000;\n\n const request: JsonRpcRequest = {\n jsonrpc: '2.0',\n id,\n method,\n params,\n };\n\n const timeoutHandle = setTimeout(() => {\n this._pendingRequests.delete(id);\n reject(new Error(`Request ${method} timed out after ${timeout}ms`));\n }, timeout);\n\n this._pendingRequests.set(id, {\n resolve,\n reject,\n timeout: timeoutHandle,\n });\n\n this._postMessage(request);\n });\n }\n\n /**\n * Send a JSON-RPC notification (no response expected).\n */\n private _sendNotification(method: string, params?: unknown): void {\n const notification: JsonRpcNotification = {\n jsonrpc: '2.0',\n method,\n params,\n };\n this._postMessage(notification);\n }\n\n /**\n * Post a message to the parent window.\n */\n private _postMessage(message: JsonRpcRequest | JsonRpcResponse | JsonRpcNotification): void {\n if (typeof window === 'undefined') return;\n\n const targetOrigin = this._trustedOrigin || '*';\n window.parent.postMessage(message, targetOrigin);\n }\n\n // ============================================\n // Private: Handshake\n // ============================================\n\n /**\n * Perform the ui/initialize handshake with the host.\n */\n private async _performHandshake(): Promise<void> {\n const params: ExtAppsInitializeParams = {\n appInfo: {\n name: this._config.options?.appName || 'FrontMCP Widget',\n version: this._config.options?.appVersion || '1.0.0',\n },\n appCapabilities: {\n tools: {\n listChanged: false,\n },\n },\n protocolVersion: this._config.options?.protocolVersion || '2024-11-05',\n };\n\n try {\n const result = (await this._sendRequest('ui/initialize', params)) as ExtAppsInitializeResult;\n\n // Store host capabilities\n this._hostCapabilities = result.hostCapabilities || {};\n\n // Update adapter capabilities based on host\n this._capabilities = {\n ...this._capabilities,\n canCallTools: Boolean(this._hostCapabilities.serverToolProxy),\n canSendMessages: true,\n canOpenLinks: Boolean(this._hostCapabilities.openLink),\n supportsDisplayModes: true,\n };\n\n // Update host context\n if (result.hostContext) {\n this._hostContext = {\n ...this._hostContext,\n ...result.hostContext,\n };\n }\n\n // Trust the origin that successfully completed handshake\n // (trust-on-first-use if no explicit trusted origins)\n if (!this._config.options?.trustedOrigins?.length) {\n // Origin is already set from first successful message\n }\n } catch (error) {\n throw new Error(`ext-apps handshake failed: ${error}`);\n }\n }\n\n // ============================================\n // Private: Origin Security\n // ============================================\n\n /**\n * Check if an origin is trusted.\n * Uses trust-on-first-use if no explicit origins configured.\n */\n private _isOriginTrusted(origin: string): boolean {\n // Explicit trusted origins from config\n const trustedOrigins = this._config.options?.trustedOrigins;\n if (trustedOrigins && trustedOrigins.length > 0) {\n return trustedOrigins.includes(origin);\n }\n\n // Trust-on-first-use: trust the first origin we receive from\n if (!this._trustedOrigin) {\n this._trustedOrigin = origin;\n return true;\n }\n\n return this._trustedOrigin === origin;\n }\n\n // ============================================\n // Private: Events\n // ============================================\n\n /**\n * Emit a bridge event via CustomEvent.\n */\n private _emitBridgeEvent(type: string, detail: unknown): void {\n if (typeof window !== 'undefined' && typeof CustomEvent !== 'undefined') {\n try {\n const event = new CustomEvent(type, { detail });\n window.dispatchEvent(event);\n } catch {\n // Ignore event dispatch errors\n }\n }\n }\n}\n\n/**\n * Factory function for creating ext-apps adapter instances.\n */\nexport function createExtAppsAdapter(config?: ExtAppsAdapterConfig): ExtAppsAdapter {\n return new ExtAppsAdapter(config);\n}\n"]}
@@ -1,63 +0,0 @@
1
- /**
2
- * Gemini Platform Adapter
3
- *
4
- * Adapter for Google's Gemini AI platform.
5
- * Provides integration with Gemini-specific features and APIs.
6
- *
7
- * @packageDocumentation
8
- */
9
- import { BaseAdapter } from './base-adapter';
10
- /**
11
- * Gemini adapter for Google's AI platform.
12
- *
13
- * Features:
14
- * - Theme detection from Gemini SDK or system
15
- * - Network access for external resources
16
- * - LocalStorage persistence
17
- * - Link opening capability
18
- *
19
- * @example
20
- * ```typescript
21
- * import { GeminiAdapter } from '@frontmcp/ui/bridge';
22
- *
23
- * const adapter = new GeminiAdapter();
24
- * if (adapter.canHandle()) {
25
- * await adapter.initialize();
26
- * }
27
- * ```
28
- */
29
- export declare class GeminiAdapter extends BaseAdapter {
30
- readonly id = "gemini";
31
- readonly name = "Google Gemini";
32
- readonly priority = 40;
33
- private _gemini;
34
- constructor();
35
- /**
36
- * Check if we're running in a Gemini context.
37
- */
38
- canHandle(): boolean;
39
- /**
40
- * Initialize the Gemini adapter.
41
- */
42
- initialize(): Promise<void>;
43
- /**
44
- * Get current theme.
45
- */
46
- getTheme(): 'light' | 'dark';
47
- /**
48
- * Send a message (if supported by SDK).
49
- */
50
- sendMessage(content: string): Promise<void>;
51
- /**
52
- * Open a link.
53
- */
54
- openLink(url: string): Promise<void>;
55
- /**
56
- * Setup listener for system theme changes.
57
- */
58
- private _setupThemeListener;
59
- }
60
- /**
61
- * Factory function for creating Gemini adapter instances.
62
- */
63
- export declare function createGeminiAdapter(): GeminiAdapter;