@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 +0,0 @@
1
- {"version":3,"file":"iife-generator.js","sourceRoot":"","sources":["../../../../src/bridge/runtime/iife-generator.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * IIFE Generator for FrontMcpBridge Runtime\n *\n * Generates vanilla JavaScript IIFE scripts that can be embedded\n * in HTML templates for runtime platform detection and bridge setup.\n *\n * @packageDocumentation\n */\n\n/**\n * Options for generating the bridge IIFE.\n */\nexport interface IIFEGeneratorOptions {\n /** Include specific adapters (all if not specified) */\n adapters?: ('openai' | 'ext-apps' | 'claude' | 'gemini' | 'generic')[];\n /** Enable debug logging */\n debug?: boolean;\n /** Trusted origins for ext-apps adapter */\n trustedOrigins?: string[];\n /** Minify the output */\n minify?: boolean;\n}\n\n/**\n * Generate the bridge runtime IIFE script.\n *\n * This generates a self-contained vanilla JavaScript script that:\n * 1. Detects the current platform\n * 2. Initializes the appropriate adapter\n * 3. Exposes window.FrontMcpBridge global\n *\n * @example\n * ```typescript\n * import { generateBridgeIIFE } from '@frontmcp/ui/bridge';\n *\n * const script = generateBridgeIIFE({ debug: true });\n * const html = `<script>${script}</script>`;\n * ```\n */\nexport function generateBridgeIIFE(options: IIFEGeneratorOptions = {}): string {\n const { debug = false, trustedOrigins = [], minify = false } = options;\n const adapters = options.adapters || ['openai', 'ext-apps', 'claude', 'gemini', 'generic'];\n\n const parts: string[] = [];\n\n // Start IIFE\n parts.push('(function() {');\n parts.push('\"use strict\";');\n parts.push('');\n\n // Debug logging\n if (debug) {\n parts.push('function log(msg) { console.log(\"[FrontMcpBridge] \" + msg); }');\n } else {\n parts.push('function log() {}');\n }\n parts.push('');\n\n // Default safe area\n parts.push('var DEFAULT_SAFE_AREA = { top: 0, bottom: 0, left: 0, right: 0 };');\n parts.push('');\n\n // Host context detection\n parts.push(generateContextDetection());\n parts.push('');\n\n // Base adapter capabilities\n parts.push(generateBaseCapabilities());\n parts.push('');\n\n // Generate selected adapters\n if (adapters.includes('openai')) {\n parts.push(generateOpenAIAdapter());\n parts.push('');\n }\n\n if (adapters.includes('ext-apps')) {\n parts.push(generateExtAppsAdapter(trustedOrigins));\n parts.push('');\n }\n\n if (adapters.includes('claude')) {\n parts.push(generateClaudeAdapter());\n parts.push('');\n }\n\n if (adapters.includes('gemini')) {\n parts.push(generateGeminiAdapter());\n parts.push('');\n }\n\n if (adapters.includes('generic')) {\n parts.push(generateGenericAdapter());\n parts.push('');\n }\n\n // Platform detection and initialization\n parts.push(generatePlatformDetection(adapters));\n parts.push('');\n\n // Bridge class\n parts.push(generateBridgeClass());\n parts.push('');\n\n // Initialize and expose\n parts.push('var bridge = new FrontMcpBridge();');\n parts.push('bridge.initialize().then(function() {');\n parts.push(' log(\"Bridge initialized with adapter: \" + bridge.adapterId);');\n parts.push(' window.dispatchEvent(new CustomEvent(\"bridge:ready\", { detail: { adapter: bridge.adapterId } }));');\n parts.push('}).catch(function(err) {');\n parts.push(' console.error(\"[FrontMcpBridge] Init failed:\", err);');\n parts.push(' window.dispatchEvent(new CustomEvent(\"bridge:error\", { detail: { error: err } }));');\n parts.push('});');\n parts.push('');\n\n // Expose global\n parts.push('window.FrontMcpBridge = bridge;');\n\n // End IIFE\n parts.push('})();');\n\n const code = parts.join('\\n');\n\n if (minify) {\n return minifyJS(code);\n }\n\n return code;\n}\n\n/**\n * Generate context detection helper.\n */\nfunction generateContextDetection(): string {\n return `\nfunction detectTheme() {\n if (typeof window !== 'undefined' && window.matchMedia) {\n return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';\n }\n return 'light';\n}\n\nfunction detectLocale() {\n if (typeof navigator !== 'undefined') {\n return navigator.language || 'en-US';\n }\n return 'en-US';\n}\n\nfunction detectUserAgent() {\n if (typeof navigator === 'undefined') {\n return { type: 'web', hover: true, touch: false };\n }\n var ua = navigator.userAgent || '';\n var isMobile = /iPhone|iPad|iPod|Android/i.test(ua);\n var hasTouch = 'ontouchstart' in window || navigator.maxTouchPoints > 0;\n var hasHover = window.matchMedia && window.matchMedia('(hover: hover)').matches;\n return { type: isMobile ? 'mobile' : 'web', hover: hasHover !== false, touch: hasTouch };\n}\n\nfunction detectViewport() {\n if (typeof window !== 'undefined') {\n return { width: window.innerWidth, height: window.innerHeight };\n }\n return undefined;\n}\n\nfunction readInjectedData() {\n var data = { toolInput: {}, toolOutput: undefined, structuredContent: undefined };\n if (typeof window !== 'undefined') {\n if (window.__mcpToolInput) data.toolInput = window.__mcpToolInput;\n if (window.__mcpToolOutput) data.toolOutput = window.__mcpToolOutput;\n if (window.__mcpStructuredContent) data.structuredContent = window.__mcpStructuredContent;\n }\n return data;\n}\n`.trim();\n}\n\n/**\n * Generate base capabilities object.\n */\nfunction generateBaseCapabilities(): string {\n return `\nvar DEFAULT_CAPABILITIES = {\n canCallTools: false,\n canSendMessages: false,\n canOpenLinks: false,\n canPersistState: true,\n hasNetworkAccess: true,\n supportsDisplayModes: false,\n supportsTheme: true\n};\n`.trim();\n}\n\n/**\n * Generate OpenAI adapter code.\n */\nfunction generateOpenAIAdapter(): string {\n return `\nvar OpenAIAdapter = {\n id: 'openai',\n name: 'OpenAI ChatGPT',\n priority: 100,\n capabilities: Object.assign({}, DEFAULT_CAPABILITIES, {\n canCallTools: true,\n canSendMessages: true,\n canOpenLinks: true,\n supportsDisplayModes: true\n }),\n canHandle: function() {\n if (typeof window === 'undefined') return false;\n // Check for window.openai.callTool (the actual OpenAI SDK API)\n if (window.openai && typeof window.openai.callTool === 'function') return true;\n // Also check if we're being injected with tool metadata (OpenAI injects toolOutput)\n if (window.openai && (window.openai.toolOutput !== undefined || window.openai.toolInput !== undefined)) return true;\n return false;\n },\n initialize: function(context) {\n var sdk = window.openai;\n context.sdk = sdk;\n // OpenAI SDK exposes theme and displayMode directly as properties\n if (sdk.theme) {\n context.hostContext.theme = sdk.theme;\n }\n if (sdk.displayMode) {\n context.hostContext.displayMode = sdk.displayMode;\n }\n // Note: OpenAI SDK does not have an onContextChange equivalent\n return Promise.resolve();\n },\n callTool: function(context, name, args) {\n return context.sdk.callTool(name, args);\n },\n sendMessage: function(context, content) {\n if (typeof context.sdk.sendFollowUpMessage === 'function') {\n return context.sdk.sendFollowUpMessage(content);\n }\n return Promise.reject(new Error('Messages not supported'));\n },\n openLink: function(context, url) {\n window.open(url, '_blank', 'noopener,noreferrer');\n return Promise.resolve();\n },\n requestDisplayMode: function(context, mode) {\n return Promise.resolve();\n },\n requestClose: function(context) {\n return Promise.resolve();\n }\n};\n`.trim();\n}\n\n/**\n * Generate ext-apps adapter code.\n */\nfunction generateExtAppsAdapter(trustedOrigins: string[]): string {\n const originsArray = trustedOrigins.length > 0 ? JSON.stringify(trustedOrigins) : '[]';\n\n return `\nvar ExtAppsAdapter = {\n id: 'ext-apps',\n name: 'ext-apps (SEP-1865)',\n priority: 80,\n capabilities: Object.assign({}, DEFAULT_CAPABILITIES, { canPersistState: true, hasNetworkAccess: true }),\n trustedOrigins: ${originsArray},\n trustedOrigin: null,\n pendingRequests: {},\n requestId: 0,\n hostCapabilities: {},\n canHandle: function() {\n if (typeof window === 'undefined') return false;\n if (window.parent === window) return false;\n // Check for OpenAI SDK (window.openai.callTool) - defer to OpenAIAdapter\n if (window.openai && typeof window.openai.callTool === 'function') return false;\n if (window.__mcpPlatform === 'ext-apps') return true;\n return true;\n },\n initialize: function(context) {\n var self = this;\n context.extApps = this;\n\n window.addEventListener('message', function(event) {\n self.handleMessage(context, event);\n });\n\n return self.performHandshake(context);\n },\n handleMessage: function(context, event) {\n if (!this.isOriginTrusted(event.origin)) return;\n var data = event.data;\n if (!data || typeof data !== 'object' || data.jsonrpc !== '2.0') return;\n\n if ('id' in data && (data.result !== undefined || data.error !== undefined)) {\n var pending = this.pendingRequests[data.id];\n if (pending) {\n clearTimeout(pending.timeout);\n delete this.pendingRequests[data.id];\n if (data.error) {\n pending.reject(new Error(data.error.message + ' (code: ' + data.error.code + ')'));\n } else {\n pending.resolve(data.result);\n }\n }\n return;\n }\n\n if ('method' in data && !('id' in data)) {\n this.handleNotification(context, data);\n }\n },\n handleNotification: function(context, notification) {\n var params = notification.params || {};\n switch (notification.method) {\n case 'ui/notifications/tool-input':\n context.toolInput = params.arguments || {};\n window.dispatchEvent(new CustomEvent('tool:input', { detail: { arguments: context.toolInput } }));\n break;\n case 'ui/notifications/tool-result':\n context.toolOutput = params.content;\n context.structuredContent = params.structuredContent;\n context.notifyToolResult(params.content);\n window.dispatchEvent(new CustomEvent('tool:result', { detail: params }));\n break;\n case 'ui/notifications/host-context-changed':\n Object.assign(context.hostContext, params);\n context.notifyContextChange(params);\n break;\n }\n },\n isOriginTrusted: function(origin) {\n if (this.trustedOrigins.length > 0) {\n return this.trustedOrigins.indexOf(origin) !== -1;\n }\n // When no trusted origins configured, only trust first message in iframe context\n // This helps mitigate race conditions where a malicious iframe could establish trust\n if (!this.trustedOrigin) {\n if (window.parent !== window && origin) {\n this.trustedOrigin = origin;\n return true;\n }\n return false;\n }\n return this.trustedOrigin === origin;\n },\n sendRequest: function(method, params) {\n var self = this;\n return new Promise(function(resolve, reject) {\n // Security: Require trusted origin before sending requests to prevent message leaks\n if (!self.trustedOrigin && self.trustedOrigins.length === 0) {\n reject(new Error('Cannot send request: no trusted origin established'));\n return;\n }\n\n var id = ++self.requestId;\n var timeout = setTimeout(function() {\n delete self.pendingRequests[id];\n reject(new Error('Request ' + method + ' timed out'));\n }, 10000);\n\n self.pendingRequests[id] = { resolve: resolve, reject: reject, timeout: timeout };\n\n var targetOrigin = self.trustedOrigin || self.trustedOrigins[0];\n window.parent.postMessage({ jsonrpc: '2.0', id: id, method: method, params: params }, targetOrigin);\n });\n },\n performHandshake: function(context) {\n var self = this;\n var params = {\n appInfo: { name: 'FrontMCP Widget', version: '1.0.0' },\n appCapabilities: { tools: { listChanged: false } },\n protocolVersion: '2024-11-05'\n };\n\n return this.sendRequest('ui/initialize', params).then(function(result) {\n self.hostCapabilities = result.hostCapabilities || {};\n self.capabilities = Object.assign({}, self.capabilities, {\n canCallTools: Boolean(self.hostCapabilities.serverToolProxy),\n canSendMessages: true,\n canOpenLinks: Boolean(self.hostCapabilities.openLink),\n supportsDisplayModes: true\n });\n if (result.hostContext) {\n Object.assign(context.hostContext, result.hostContext);\n }\n });\n },\n callTool: function(context, name, args) {\n if (!this.hostCapabilities.serverToolProxy) {\n return Promise.reject(new Error('Server tool proxy not supported'));\n }\n return this.sendRequest('ui/callServerTool', { name: name, arguments: args });\n },\n sendMessage: function(context, content) {\n return this.sendRequest('ui/message', { content: content });\n },\n openLink: function(context, url) {\n if (!this.hostCapabilities.openLink) {\n window.open(url, '_blank', 'noopener,noreferrer');\n return Promise.resolve();\n }\n return this.sendRequest('ui/openLink', { url: url });\n },\n requestDisplayMode: function(context, mode) {\n return this.sendRequest('ui/setDisplayMode', { mode: mode });\n },\n requestClose: function(context) {\n return this.sendRequest('ui/close', {});\n }\n};\n`.trim();\n}\n\n/**\n * Generate Claude adapter code.\n */\nfunction generateClaudeAdapter(): string {\n return `\nvar ClaudeAdapter = {\n id: 'claude',\n name: 'Claude (Anthropic)',\n priority: 60,\n capabilities: Object.assign({}, DEFAULT_CAPABILITIES, {\n canCallTools: false,\n canSendMessages: false,\n canOpenLinks: true,\n hasNetworkAccess: false,\n supportsDisplayModes: false\n }),\n canHandle: function() {\n if (typeof window === 'undefined') return false;\n if (window.__mcpPlatform === 'claude') return true;\n if (window.claude) return true;\n if (window.__claudeArtifact) return true;\n if (typeof location !== 'undefined') {\n var href = location.href;\n if (href.indexOf('claude.ai') !== -1 || href.indexOf('anthropic.com') !== -1) return true;\n }\n return false;\n },\n initialize: function(context) {\n return Promise.resolve();\n },\n callTool: function() {\n return Promise.reject(new Error('Tool calls not supported in Claude'));\n },\n sendMessage: function() {\n return Promise.reject(new Error('Messages not supported in Claude'));\n },\n openLink: function(context, url) {\n window.open(url, '_blank', 'noopener,noreferrer');\n return Promise.resolve();\n },\n requestDisplayMode: function() {\n return Promise.resolve();\n },\n requestClose: function() {\n return Promise.resolve();\n }\n};\n`.trim();\n}\n\n/**\n * Generate Gemini adapter code.\n */\nfunction generateGeminiAdapter(): string {\n return `\nvar GeminiAdapter = {\n id: 'gemini',\n name: 'Google Gemini',\n priority: 40,\n capabilities: Object.assign({}, DEFAULT_CAPABILITIES, {\n canOpenLinks: true,\n hasNetworkAccess: true\n }),\n canHandle: function() {\n if (typeof window === 'undefined') return false;\n if (window.__mcpPlatform === 'gemini') return true;\n if (window.gemini) return true;\n if (typeof location !== 'undefined') {\n var href = location.href;\n if (href.indexOf('gemini.google.com') !== -1 || href.indexOf('bard.google.com') !== -1) return true;\n }\n return false;\n },\n initialize: function(context) {\n if (window.gemini && window.gemini.ui && window.gemini.ui.getTheme) {\n context.hostContext.theme = window.gemini.ui.getTheme() === 'dark' ? 'dark' : 'light';\n }\n return Promise.resolve();\n },\n callTool: function() {\n return Promise.reject(new Error('Tool calls not supported in Gemini'));\n },\n sendMessage: function(context, content) {\n if (window.gemini && window.gemini.ui && window.gemini.ui.sendMessage) {\n return window.gemini.ui.sendMessage(content);\n }\n return Promise.reject(new Error('Messages not supported in Gemini'));\n },\n openLink: function(context, url) {\n if (window.gemini && window.gemini.ui && window.gemini.ui.openLink) {\n return window.gemini.ui.openLink(url);\n }\n window.open(url, '_blank', 'noopener,noreferrer');\n return Promise.resolve();\n },\n requestDisplayMode: function() {\n return Promise.resolve();\n },\n requestClose: function() {\n return Promise.resolve();\n }\n};\n`.trim();\n}\n\n/**\n * Generate Generic adapter code.\n */\nfunction generateGenericAdapter(): string {\n return `\nvar GenericAdapter = {\n id: 'generic',\n name: 'Generic Web',\n priority: 0,\n capabilities: Object.assign({}, DEFAULT_CAPABILITIES, {\n canOpenLinks: true,\n hasNetworkAccess: true\n }),\n canHandle: function() {\n return typeof window !== 'undefined';\n },\n initialize: function(context) {\n return Promise.resolve();\n },\n callTool: function() {\n return Promise.reject(new Error('Tool calls not supported'));\n },\n sendMessage: function() {\n return Promise.reject(new Error('Messages not supported'));\n },\n openLink: function(context, url) {\n window.open(url, '_blank', 'noopener,noreferrer');\n return Promise.resolve();\n },\n requestDisplayMode: function() {\n return Promise.resolve();\n },\n requestClose: function() {\n return Promise.resolve();\n }\n};\n`.trim();\n}\n\n/**\n * Generate platform detection logic.\n */\nfunction generatePlatformDetection(adapters: string[]): string {\n const adapterVars = adapters\n .map((a) => {\n switch (a) {\n case 'openai':\n return 'OpenAIAdapter';\n case 'ext-apps':\n return 'ExtAppsAdapter';\n case 'claude':\n return 'ClaudeAdapter';\n case 'gemini':\n return 'GeminiAdapter';\n case 'generic':\n return 'GenericAdapter';\n default:\n return '';\n }\n })\n .filter(Boolean);\n\n return `\nvar ADAPTERS = [${adapterVars.join(', ')}].sort(function(a, b) { return b.priority - a.priority; });\n\nfunction detectPlatform() {\n for (var i = 0; i < ADAPTERS.length; i++) {\n if (ADAPTERS[i].canHandle()) {\n log('Detected platform: ' + ADAPTERS[i].id);\n return ADAPTERS[i];\n }\n }\n log('No platform detected, using generic');\n return GenericAdapter;\n}\n`.trim();\n}\n\n/**\n * Generate the main bridge class.\n */\nfunction generateBridgeClass(): string {\n return `\nfunction FrontMcpBridge() {\n this._adapter = null;\n this._initialized = false;\n this._context = {\n hostContext: {\n theme: detectTheme(),\n displayMode: 'inline',\n locale: detectLocale(),\n userAgent: detectUserAgent(),\n safeArea: DEFAULT_SAFE_AREA,\n viewport: detectViewport()\n },\n toolInput: {},\n toolOutput: undefined,\n structuredContent: undefined,\n widgetState: {},\n contextListeners: [],\n toolResultListeners: [],\n notifyContextChange: function(changes) {\n Object.assign(this.hostContext, changes);\n for (var i = 0; i < this.contextListeners.length; i++) {\n try { this.contextListeners[i](changes); } catch(e) {}\n }\n },\n notifyToolResult: function(result) {\n this.toolOutput = result;\n for (var i = 0; i < this.toolResultListeners.length; i++) {\n try { this.toolResultListeners[i](result); } catch(e) {}\n }\n }\n };\n\n var injected = readInjectedData();\n this._context.toolInput = injected.toolInput;\n this._context.toolOutput = injected.toolOutput;\n this._context.structuredContent = injected.structuredContent;\n\n this._loadWidgetState();\n}\n\nFrontMcpBridge.prototype._loadWidgetState = function() {\n try {\n var key = 'frontmcp:widget:' + (window.__mcpToolName || 'unknown');\n var stored = localStorage.getItem(key);\n if (stored) this._context.widgetState = JSON.parse(stored);\n } catch(e) {}\n};\n\nFrontMcpBridge.prototype._saveWidgetState = function() {\n try {\n var key = 'frontmcp:widget:' + (window.__mcpToolName || 'unknown');\n localStorage.setItem(key, JSON.stringify(this._context.widgetState));\n } catch(e) {}\n};\n\nFrontMcpBridge.prototype.initialize = function() {\n if (this._initialized) return Promise.resolve();\n var self = this;\n this._adapter = detectPlatform();\n return this._adapter.initialize(this._context).then(function() {\n self._initialized = true;\n // Set up the data-tool-call click handler after initialization\n self._setupDataToolCallHandler();\n });\n};\n\nObject.defineProperty(FrontMcpBridge.prototype, 'initialized', { get: function() { return this._initialized; } });\nObject.defineProperty(FrontMcpBridge.prototype, 'adapterId', { get: function() { return this._adapter ? this._adapter.id : undefined; } });\nObject.defineProperty(FrontMcpBridge.prototype, 'capabilities', { get: function() { return this._adapter ? this._adapter.capabilities : DEFAULT_CAPABILITIES; } });\n\nFrontMcpBridge.prototype.getTheme = function() { return this._context.hostContext.theme; };\nFrontMcpBridge.prototype.getDisplayMode = function() { return this._context.hostContext.displayMode; };\nFrontMcpBridge.prototype.getToolInput = function() { return this._context.toolInput; };\nFrontMcpBridge.prototype.getToolOutput = function() { return this._context.toolOutput; };\nFrontMcpBridge.prototype.getStructuredContent = function() { return this._context.structuredContent; };\nFrontMcpBridge.prototype.getWidgetState = function() { return this._context.widgetState; };\nFrontMcpBridge.prototype.getHostContext = function() { return Object.assign({}, this._context.hostContext); };\nFrontMcpBridge.prototype.hasCapability = function(cap) { return this._adapter && this._adapter.capabilities[cap] === true; };\n\n// Get tool response metadata (platform-agnostic)\n// Used by inline mode widgets to detect when ui/html arrives\nFrontMcpBridge.prototype.getToolResponseMetadata = function() {\n // OpenAI injects toolResponseMetadata for widget-producing tools\n if (typeof window !== 'undefined' && window.openai && window.openai.toolResponseMetadata) {\n return window.openai.toolResponseMetadata;\n }\n // Claude (future support)\n if (typeof window !== 'undefined' && window.claude && window.claude.toolResponseMetadata) {\n return window.claude.toolResponseMetadata;\n }\n // FrontMCP direct injection (for testing/ext-apps)\n if (typeof window !== 'undefined' && window.__mcpToolResponseMetadata) {\n return window.__mcpToolResponseMetadata;\n }\n return null;\n};\n\n// Subscribe to tool response metadata changes (for inline mode injection)\nFrontMcpBridge.prototype.onToolResponseMetadata = function(callback) {\n var self = this;\n var called = false;\n\n // Check if already available\n var existing = self.getToolResponseMetadata();\n if (existing) {\n called = true;\n callback(existing);\n }\n\n // Set up property interceptors for OpenAI\n if (typeof window !== 'undefined') {\n // OpenAI: Intercept toolResponseMetadata assignment\n if (!window.__frontmcpMetadataIntercepted) {\n window.__frontmcpMetadataIntercepted = true;\n window.__frontmcpMetadataCallbacks = [];\n\n // Create openai object if it doesn't exist\n if (!window.openai) window.openai = {};\n\n var originalMetadata = window.openai.toolResponseMetadata;\n Object.defineProperty(window.openai, 'toolResponseMetadata', {\n get: function() { return originalMetadata; },\n set: function(val) {\n originalMetadata = val;\n log('toolResponseMetadata set, notifying ' + window.__frontmcpMetadataCallbacks.length + ' listeners');\n for (var i = 0; i < window.__frontmcpMetadataCallbacks.length; i++) {\n try { window.__frontmcpMetadataCallbacks[i](val); } catch(e) {}\n }\n },\n configurable: true\n });\n }\n\n // Register callback wrapper (store reference for unsubscribe)\n var wrapper = function(metadata) {\n if (!called) {\n called = true;\n callback(metadata);\n }\n };\n window.__frontmcpMetadataCallbacks.push(wrapper);\n\n // Return unsubscribe function that removes the wrapper (not the original callback)\n return function() {\n if (window.__frontmcpMetadataCallbacks) {\n var idx = window.__frontmcpMetadataCallbacks.indexOf(wrapper);\n if (idx !== -1) window.__frontmcpMetadataCallbacks.splice(idx, 1);\n }\n };\n }\n\n // Return no-op unsubscribe for non-window environments\n return function() {};\n};\n\nFrontMcpBridge.prototype.callTool = function(name, args) {\n // Priority 1: Direct OpenAI SDK call (most reliable in OpenAI iframe)\n // This bypasses adapter abstraction for maximum compatibility\n if (typeof window !== 'undefined' && window.openai && typeof window.openai.callTool === 'function') {\n log('callTool: Using OpenAI SDK directly');\n return window.openai.callTool(name, args);\n }\n\n // Priority 2: Use adapter (if initialized and supports tool calls)\n if (this._adapter && this._adapter.capabilities && this._adapter.capabilities.canCallTools) {\n log('callTool: Using adapter ' + this._adapter.id);\n return this._adapter.callTool(this._context, name, args);\n }\n\n // Not initialized or no tool support\n if (!this._adapter) {\n return Promise.reject(new Error('Bridge not initialized. Wait for bridge:ready event.'));\n }\n return Promise.reject(new Error('Tool calls not supported on this platform (' + this._adapter.id + ')'));\n};\n\nFrontMcpBridge.prototype.sendMessage = function(content) {\n if (!this._adapter) return Promise.reject(new Error('Not initialized'));\n return this._adapter.sendMessage(this._context, content);\n};\n\nFrontMcpBridge.prototype.openLink = function(url) {\n if (!this._adapter) return Promise.reject(new Error('Not initialized'));\n return this._adapter.openLink(this._context, url);\n};\n\nFrontMcpBridge.prototype.requestDisplayMode = function(mode) {\n if (!this._adapter) return Promise.reject(new Error('Not initialized'));\n var self = this;\n return this._adapter.requestDisplayMode(this._context, mode).then(function() {\n self._context.hostContext.displayMode = mode;\n });\n};\n\nFrontMcpBridge.prototype.requestClose = function() {\n if (!this._adapter) return Promise.reject(new Error('Not initialized'));\n return this._adapter.requestClose(this._context);\n};\n\nFrontMcpBridge.prototype.setWidgetState = function(state) {\n Object.assign(this._context.widgetState, state);\n this._saveWidgetState();\n};\n\nFrontMcpBridge.prototype.onContextChange = function(callback) {\n var listeners = this._context.contextListeners;\n listeners.push(callback);\n return function() {\n var idx = listeners.indexOf(callback);\n if (idx !== -1) listeners.splice(idx, 1);\n };\n};\n\nFrontMcpBridge.prototype.onToolResult = function(callback) {\n var listeners = this._context.toolResultListeners;\n listeners.push(callback);\n return function() {\n var idx = listeners.indexOf(callback);\n if (idx !== -1) listeners.splice(idx, 1);\n };\n};\n\n// ==================== data-tool-call Click Handler ====================\n\nFrontMcpBridge.prototype._setupDataToolCallHandler = function() {\n var self = this;\n\n document.addEventListener('click', function(e) {\n // Find the closest element with data-tool-call attribute\n var target = e.target;\n while (target && target !== document) {\n if (target.hasAttribute && target.hasAttribute('data-tool-call')) {\n var toolName = target.getAttribute('data-tool-call');\n var argsAttr = target.getAttribute('data-tool-args');\n var args = {};\n\n try {\n if (argsAttr) {\n args = JSON.parse(argsAttr);\n }\n } catch (parseErr) {\n console.error('[frontmcp] Failed to parse data-tool-args:', parseErr);\n }\n\n log('data-tool-call clicked: ' + toolName);\n\n // Show loading state - save original content first\n var originalContent = target.innerHTML;\n var originalDisabled = target.disabled;\n target.disabled = true;\n target.classList.add('opacity-50', 'cursor-not-allowed');\n\n // Add spinner for buttons\n var spinner = '<svg class=\"animate-spin -ml-1 mr-2 h-4 w-4 inline\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\"><circle class=\"opacity-25\" cx=\"12\" cy=\"12\" r=\"10\" stroke=\"currentColor\" stroke-width=\"4\"></circle><path class=\"opacity-75\" fill=\"currentColor\" d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"></path></svg>';\n if (target.tagName === 'BUTTON') {\n target.innerHTML = spinner + 'Loading...';\n }\n\n // Helper to reset button state\n function resetButton() {\n target.innerHTML = originalContent;\n target.disabled = originalDisabled;\n target.classList.remove('opacity-50', 'cursor-not-allowed');\n }\n\n // Determine how to call the tool\n var toolCallPromise;\n\n // Priority 1: Direct OpenAI SDK call (bypasses adapter abstraction)\n if (typeof window !== 'undefined' && window.openai && typeof window.openai.callTool === 'function') {\n log('Using OpenAI SDK directly for tool call');\n toolCallPromise = window.openai.callTool(toolName, args);\n }\n // Priority 2: Use adapter (if it supports tool calls)\n else if (self.hasCapability('canCallTools')) {\n log('Using adapter for tool call');\n toolCallPromise = self.callTool(toolName, args);\n }\n // No tool call capability\n else {\n console.error('[frontmcp] Tool calls not supported on this platform (' + self.adapterId + ')');\n resetButton();\n target.dispatchEvent(new CustomEvent('tool:error', {\n detail: { name: toolName, args: args, error: 'Tool calls not supported on this platform' },\n bubbles: true\n }));\n e.preventDefault();\n return;\n }\n\n // Handle the tool call result\n toolCallPromise.then(function(result) {\n log('Tool call succeeded: ' + toolName);\n resetButton();\n\n // Update bridge state to trigger widget re-render\n // React isn't hydrated in OpenAI iframe, so useState doesn't work\n // Instead, we use the bridge's reactive state system\n if (result && window.__frontmcp && window.__frontmcp.bridge && typeof window.__frontmcp.bridge.setWidgetState === 'function') {\n var newData = result.structuredContent || result;\n log('Updating bridge state with new data');\n window.__frontmcp.bridge.setWidgetState(newData);\n }\n\n // Dispatch success event\n target.dispatchEvent(new CustomEvent('tool:success', {\n detail: { name: toolName, args: args, result: result },\n bubbles: true\n }));\n }).catch(function(err) {\n console.error('[frontmcp] Tool call failed: ' + toolName, err);\n resetButton();\n // Dispatch error event\n target.dispatchEvent(new CustomEvent('tool:error', {\n detail: { name: toolName, args: args, error: err.message || err },\n bubbles: true\n }));\n });\n\n // Prevent default behavior (e.g., form submission)\n e.preventDefault();\n return;\n }\n target = target.parentElement;\n }\n }, true); // Use capture phase to handle before React handlers\n};\n`.trim();\n}\n\n/**\n * Simple JS minification (removes extra whitespace and newlines).\n */\nfunction minifyJS(code: string): string {\n return code\n .replace(/\\/\\*[\\s\\S]*?\\*\\//g, '') // Remove block comments\n .replace(/\\/\\/.*$/gm, '') // Remove line comments\n .replace(/\\s+/g, ' ') // Collapse whitespace\n .replace(/\\s*([{};,:()\\[\\]])\\s*/g, '$1') // Remove space around punctuation\n .replace(/;\\}/g, '}') // Remove trailing semicolons before }\n .trim();\n}\n\n/**\n * Generate platform-specific bundle IIFE.\n *\n * @example ChatGPT-specific bundle\n * ```typescript\n * const script = generatePlatformBundle('chatgpt');\n * ```\n */\nexport function generatePlatformBundle(\n platform: 'chatgpt' | 'claude' | 'gemini' | 'universal',\n options: Omit<IIFEGeneratorOptions, 'adapters'> = {},\n): string {\n const platformAdapters: Record<string, IIFEGeneratorOptions['adapters']> = {\n chatgpt: ['openai', 'generic'],\n claude: ['claude', 'generic'],\n gemini: ['gemini', 'generic'],\n universal: ['openai', 'ext-apps', 'claude', 'gemini', 'generic'],\n };\n\n return generateBridgeIIFE({\n ...options,\n adapters: platformAdapters[platform],\n });\n}\n\n/**\n * Pre-generated universal bridge script (includes all adapters).\n * Use this for the simplest integration.\n */\nexport const UNIVERSAL_BRIDGE_SCRIPT = generateBridgeIIFE();\n\n/**\n * Pre-generated bridge scripts wrapped in script tags.\n */\nexport const BRIDGE_SCRIPT_TAGS = {\n universal: `<script>${UNIVERSAL_BRIDGE_SCRIPT}</script>`,\n chatgpt: `<script>${generatePlatformBundle('chatgpt')}</script>`,\n claude: `<script>${generatePlatformBundle('claude')}</script>`,\n gemini: `<script>${generatePlatformBundle('gemini')}</script>`,\n};\n"]}
@@ -1,8 +0,0 @@
1
- /**
2
- * Bridge Runtime Module
3
- *
4
- * Exports for generating runtime bridge scripts.
5
- *
6
- * @packageDocumentation
7
- */
8
- export { generateBridgeIIFE, generatePlatformBundle, UNIVERSAL_BRIDGE_SCRIPT, BRIDGE_SCRIPT_TAGS, type IIFEGeneratorOptions, } from './iife-generator';
@@ -1,16 +0,0 @@
1
- "use strict";
2
- /**
3
- * Bridge Runtime Module
4
- *
5
- * Exports for generating runtime bridge scripts.
6
- *
7
- * @packageDocumentation
8
- */
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.BRIDGE_SCRIPT_TAGS = exports.UNIVERSAL_BRIDGE_SCRIPT = exports.generatePlatformBundle = exports.generateBridgeIIFE = void 0;
11
- var iife_generator_1 = require("./iife-generator");
12
- Object.defineProperty(exports, "generateBridgeIIFE", { enumerable: true, get: function () { return iife_generator_1.generateBridgeIIFE; } });
13
- Object.defineProperty(exports, "generatePlatformBundle", { enumerable: true, get: function () { return iife_generator_1.generatePlatformBundle; } });
14
- Object.defineProperty(exports, "UNIVERSAL_BRIDGE_SCRIPT", { enumerable: true, get: function () { return iife_generator_1.UNIVERSAL_BRIDGE_SCRIPT; } });
15
- Object.defineProperty(exports, "BRIDGE_SCRIPT_TAGS", { enumerable: true, get: function () { return iife_generator_1.BRIDGE_SCRIPT_TAGS; } });
16
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/bridge/runtime/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,mDAM0B;AALxB,oHAAA,kBAAkB,OAAA;AAClB,wHAAA,sBAAsB,OAAA;AACtB,yHAAA,uBAAuB,OAAA;AACvB,oHAAA,kBAAkB,OAAA","sourcesContent":["/**\n * Bridge Runtime Module\n *\n * Exports for generating runtime bridge scripts.\n *\n * @packageDocumentation\n */\n\nexport {\n generateBridgeIIFE,\n generatePlatformBundle,\n UNIVERSAL_BRIDGE_SCRIPT,\n BRIDGE_SCRIPT_TAGS,\n type IIFEGeneratorOptions,\n} from './iife-generator';\n"]}
@@ -1,385 +0,0 @@
1
- /**
2
- * FrontMcpBridge Core Types
3
- *
4
- * Type definitions for the unified multi-platform adapter system.
5
- * Supports OpenAI, Claude, ext-apps (SEP-1865), Gemini, and custom adapters.
6
- *
7
- * @packageDocumentation
8
- */
9
- /**
10
- * Widget display mode preference.
11
- */
12
- export type DisplayMode = 'inline' | 'fullscreen' | 'pip' | 'carousel';
13
- /**
14
- * User agent information for device capability detection.
15
- */
16
- export interface UserAgentInfo {
17
- /** Device type */
18
- type: 'web' | 'mobile' | 'desktop';
19
- /** Has hover capability (mouse/trackpad) */
20
- hover: boolean;
21
- /** Has touch capability */
22
- touch: boolean;
23
- }
24
- /**
25
- * Safe area insets for mobile devices (notch, home indicator, etc.)
26
- */
27
- export interface SafeAreaInsets {
28
- top: number;
29
- bottom: number;
30
- left: number;
31
- right: number;
32
- }
33
- /**
34
- * Viewport information for responsive widgets.
35
- */
36
- export interface ViewportInfo {
37
- width?: number;
38
- height?: number;
39
- maxWidth?: number;
40
- maxHeight?: number;
41
- }
42
- /**
43
- * Host context provided by the AI platform.
44
- */
45
- export interface HostContext {
46
- /** Current theme */
47
- theme: 'light' | 'dark';
48
- /** Current display mode */
49
- displayMode: DisplayMode;
50
- /** BCP 47 locale */
51
- locale: string;
52
- /** IANA timezone */
53
- timezone?: string;
54
- /** User agent capabilities */
55
- userAgent: UserAgentInfo;
56
- /** Safe area insets */
57
- safeArea: SafeAreaInsets;
58
- /** Viewport dimensions */
59
- viewport?: ViewportInfo;
60
- /** Platform identifier */
61
- platform?: 'web' | 'desktop' | 'ios' | 'android';
62
- }
63
- /**
64
- * Capability flags for platform adapters.
65
- * Used for feature detection before calling unavailable features.
66
- */
67
- export interface AdapterCapabilities {
68
- /** Can invoke server-side MCP tools */
69
- canCallTools: boolean;
70
- /** Can send follow-up messages to the conversation */
71
- canSendMessages: boolean;
72
- /** Can open external links */
73
- canOpenLinks: boolean;
74
- /** Can persist widget state across sessions */
75
- canPersistState: boolean;
76
- /** Has network access for fetch/XHR */
77
- hasNetworkAccess: boolean;
78
- /** Supports display mode changes (fullscreen, pip) */
79
- supportsDisplayModes: boolean;
80
- /** Supports theme detection */
81
- supportsTheme: boolean;
82
- /** Custom capability extensions */
83
- extensions?: Record<string, boolean>;
84
- }
85
- /**
86
- * Platform adapter interface - implemented by each platform.
87
- * Provides a consistent API across OpenAI, Claude, ext-apps, Gemini, etc.
88
- */
89
- export interface PlatformAdapter {
90
- /** Unique adapter identifier (e.g., 'openai', 'claude', 'ext-apps') */
91
- readonly id: string;
92
- /** Human-readable adapter name */
93
- readonly name: string;
94
- /** Adapter priority for auto-detection (higher = checked first) */
95
- readonly priority: number;
96
- /** Static capability flags */
97
- readonly capabilities: AdapterCapabilities;
98
- /**
99
- * Check if this adapter can handle the current environment.
100
- * Called during auto-detection to find the best adapter.
101
- */
102
- canHandle(): boolean;
103
- /**
104
- * Initialize the adapter.
105
- * For ext-apps, this performs the ui/initialize handshake.
106
- * @returns Promise that resolves when the adapter is ready
107
- */
108
- initialize(): Promise<void>;
109
- /**
110
- * Clean up adapter resources.
111
- * Called when switching adapters or disposing the bridge.
112
- */
113
- dispose(): void;
114
- /** Get current theme */
115
- getTheme(): 'light' | 'dark';
116
- /** Get current display mode */
117
- getDisplayMode(): DisplayMode;
118
- /** Get user agent info */
119
- getUserAgent(): UserAgentInfo;
120
- /** Get BCP 47 locale */
121
- getLocale(): string;
122
- /** Get tool input arguments */
123
- getToolInput(): Record<string, unknown>;
124
- /** Get tool output/result */
125
- getToolOutput(): unknown;
126
- /** Get structured content (parsed output) */
127
- getStructuredContent(): unknown;
128
- /** Get persisted widget state */
129
- getWidgetState(): Record<string, unknown>;
130
- /** Get safe area insets */
131
- getSafeArea(): SafeAreaInsets;
132
- /** Get viewport info */
133
- getViewport(): ViewportInfo | undefined;
134
- /** Get full host context */
135
- getHostContext(): HostContext;
136
- /**
137
- * Call a tool on the MCP server.
138
- * @param name - Tool name
139
- * @param args - Tool arguments
140
- * @returns Promise resolving to tool result
141
- */
142
- callTool(name: string, args: Record<string, unknown>): Promise<unknown>;
143
- /**
144
- * Send a follow-up message to the conversation.
145
- * @param content - Message content
146
- */
147
- sendMessage(content: string): Promise<void>;
148
- /**
149
- * Open an external link.
150
- * @param url - URL to open
151
- */
152
- openLink(url: string): Promise<void>;
153
- /**
154
- * Request a display mode change.
155
- * @param mode - Desired display mode
156
- */
157
- requestDisplayMode(mode: DisplayMode): Promise<void>;
158
- /**
159
- * Request widget close.
160
- */
161
- requestClose(): Promise<void>;
162
- /**
163
- * Set widget state (persisted across sessions).
164
- * @param state - State object to persist
165
- */
166
- setWidgetState(state: Record<string, unknown>): void;
167
- /**
168
- * Subscribe to host context changes.
169
- * @param callback - Called when context changes (theme, displayMode, etc.)
170
- * @returns Unsubscribe function
171
- */
172
- onContextChange(callback: (changes: Partial<HostContext>) => void): () => void;
173
- /**
174
- * Subscribe to tool result updates.
175
- * @param callback - Called when tool result is received
176
- * @returns Unsubscribe function
177
- */
178
- onToolResult(callback: (result: unknown) => void): () => void;
179
- }
180
- /**
181
- * Per-adapter configuration options.
182
- */
183
- export interface AdapterConfig {
184
- /** Enable/disable this adapter */
185
- enabled?: boolean;
186
- /** Priority override */
187
- priority?: number;
188
- /** Adapter-specific options */
189
- options?: Record<string, unknown>;
190
- }
191
- /**
192
- * FrontMcpBridge configuration.
193
- */
194
- export interface BridgeConfig {
195
- /** Force a specific adapter (skip auto-detection) */
196
- forceAdapter?: string;
197
- /** Explicitly disable certain adapters */
198
- disabledAdapters?: string[];
199
- /** Debug mode (verbose logging) */
200
- debug?: boolean;
201
- /** Timeout for adapter initialization (ms) */
202
- initTimeout?: number;
203
- /** Trusted origins for postMessage (ext-apps security) */
204
- trustedOrigins?: string[];
205
- /** Per-adapter configurations */
206
- adapterConfigs?: Record<string, AdapterConfig>;
207
- }
208
- /**
209
- * JSON-RPC 2.0 message base.
210
- */
211
- export interface JsonRpcMessage {
212
- jsonrpc: '2.0';
213
- }
214
- /**
215
- * JSON-RPC request message.
216
- */
217
- export interface JsonRpcRequest extends JsonRpcMessage {
218
- id: string | number;
219
- method: string;
220
- params?: unknown;
221
- }
222
- /**
223
- * JSON-RPC response message.
224
- */
225
- export interface JsonRpcResponse extends JsonRpcMessage {
226
- id: string | number;
227
- result?: unknown;
228
- error?: JsonRpcError;
229
- }
230
- /**
231
- * JSON-RPC notification message (no id, no response expected).
232
- */
233
- export interface JsonRpcNotification extends JsonRpcMessage {
234
- method: string;
235
- params?: unknown;
236
- }
237
- /**
238
- * JSON-RPC error object.
239
- */
240
- export interface JsonRpcError {
241
- code: number;
242
- message: string;
243
- data?: unknown;
244
- }
245
- /**
246
- * SEP-1865 ui/initialize request params.
247
- */
248
- export interface ExtAppsInitializeParams {
249
- appInfo: {
250
- name: string;
251
- version: string;
252
- };
253
- appCapabilities: {
254
- tools?: {
255
- listChanged: boolean;
256
- };
257
- };
258
- protocolVersion: string;
259
- }
260
- /**
261
- * SEP-1865 ui/initialize response result.
262
- */
263
- export interface ExtAppsInitializeResult {
264
- protocolVersion: string;
265
- hostInfo: {
266
- name: string;
267
- version: string;
268
- };
269
- hostCapabilities: {
270
- openLink?: boolean;
271
- serverToolProxy?: boolean;
272
- resourceRead?: boolean;
273
- logging?: boolean;
274
- };
275
- hostContext: HostContext;
276
- }
277
- /**
278
- * SEP-1865 tool input notification params.
279
- */
280
- export interface ExtAppsToolInputParams {
281
- arguments: Record<string, unknown>;
282
- }
283
- /**
284
- * SEP-1865 tool result notification params.
285
- */
286
- export interface ExtAppsToolResultParams {
287
- content: unknown;
288
- structuredContent?: unknown;
289
- isError?: boolean;
290
- }
291
- /**
292
- * SEP-1865 host context change notification params.
293
- */
294
- export interface ExtAppsHostContextChangeParams {
295
- theme?: 'light' | 'dark';
296
- displayMode?: DisplayMode;
297
- viewport?: ViewportInfo;
298
- locale?: string;
299
- timezone?: string;
300
- }
301
- /**
302
- * Bridge event types for CustomEvent dispatch.
303
- */
304
- export type BridgeEventType = 'bridge:ready' | 'bridge:error' | 'bridge:adapter-changed' | 'context:change' | 'tool:input' | 'tool:input-partial' | 'tool:result' | 'tool:cancelled';
305
- /**
306
- * Bridge event payload map.
307
- */
308
- export interface BridgeEventPayloads {
309
- 'bridge:ready': {
310
- adapter: string;
311
- };
312
- 'bridge:error': {
313
- error: Error;
314
- adapter?: string;
315
- };
316
- 'bridge:adapter-changed': {
317
- from?: string;
318
- to: string;
319
- };
320
- 'context:change': Partial<HostContext>;
321
- 'tool:input': {
322
- arguments: Record<string, unknown>;
323
- };
324
- 'tool:input-partial': {
325
- arguments: Record<string, unknown>;
326
- };
327
- 'tool:result': {
328
- content: unknown;
329
- structuredContent?: unknown;
330
- };
331
- 'tool:cancelled': {
332
- reason?: string;
333
- };
334
- }
335
- /**
336
- * Adapter factory function type.
337
- */
338
- export type AdapterFactory = (config?: AdapterConfig) => PlatformAdapter;
339
- /**
340
- * Adapter registration entry.
341
- */
342
- export interface AdapterRegistration {
343
- id: string;
344
- factory: AdapterFactory;
345
- defaultConfig?: AdapterConfig;
346
- }
347
- /**
348
- * FrontMcpBridge public interface.
349
- * Unified entry point for all platform interactions.
350
- */
351
- export interface FrontMcpBridgeInterface {
352
- /** Whether the bridge is initialized */
353
- readonly initialized: boolean;
354
- /** Current adapter ID */
355
- readonly adapterId: string | undefined;
356
- /** Current adapter capabilities */
357
- readonly capabilities: AdapterCapabilities | undefined;
358
- /**
359
- * Initialize the bridge (auto-detects platform).
360
- */
361
- initialize(): Promise<void>;
362
- /**
363
- * Get the active adapter.
364
- */
365
- getAdapter(): PlatformAdapter | undefined;
366
- /**
367
- * Check if a specific capability is available.
368
- */
369
- hasCapability(cap: keyof AdapterCapabilities): boolean;
370
- /**
371
- * Dispose the bridge and release resources.
372
- */
373
- dispose(): void;
374
- getTheme(): 'light' | 'dark';
375
- getDisplayMode(): DisplayMode;
376
- getToolInput(): Record<string, unknown>;
377
- getToolOutput(): unknown;
378
- callTool(name: string, args: Record<string, unknown>): Promise<unknown>;
379
- sendMessage(content: string): Promise<void>;
380
- openLink(url: string): Promise<void>;
381
- requestDisplayMode(mode: DisplayMode): Promise<void>;
382
- setWidgetState(state: Record<string, unknown>): void;
383
- onContextChange(callback: (changes: Partial<HostContext>) => void): () => void;
384
- onToolResult(callback: (result: unknown) => void): () => void;
385
- }
@@ -1,11 +0,0 @@
1
- "use strict";
2
- /**
3
- * FrontMcpBridge Core Types
4
- *
5
- * Type definitions for the unified multi-platform adapter system.
6
- * Supports OpenAI, Claude, ext-apps (SEP-1865), Gemini, and custom adapters.
7
- *
8
- * @packageDocumentation
9
- */
10
- Object.defineProperty(exports, "__esModule", { value: true });
11
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/bridge/types.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG","sourcesContent":["/**\n * FrontMcpBridge Core Types\n *\n * Type definitions for the unified multi-platform adapter system.\n * Supports OpenAI, Claude, ext-apps (SEP-1865), Gemini, and custom adapters.\n *\n * @packageDocumentation\n */\n\n// ============================================\n// Display and UI Types\n// ============================================\n\n/**\n * Widget display mode preference.\n */\nexport type DisplayMode = 'inline' | 'fullscreen' | 'pip' | 'carousel';\n\n/**\n * User agent information for device capability detection.\n */\nexport interface UserAgentInfo {\n /** Device type */\n type: 'web' | 'mobile' | 'desktop';\n /** Has hover capability (mouse/trackpad) */\n hover: boolean;\n /** Has touch capability */\n touch: boolean;\n}\n\n/**\n * Safe area insets for mobile devices (notch, home indicator, etc.)\n */\nexport interface SafeAreaInsets {\n top: number;\n bottom: number;\n left: number;\n right: number;\n}\n\n/**\n * Viewport information for responsive widgets.\n */\nexport interface ViewportInfo {\n width?: number;\n height?: number;\n maxWidth?: number;\n maxHeight?: number;\n}\n\n/**\n * Host context provided by the AI platform.\n */\nexport interface HostContext {\n /** Current theme */\n theme: 'light' | 'dark';\n /** Current display mode */\n displayMode: DisplayMode;\n /** BCP 47 locale */\n locale: string;\n /** IANA timezone */\n timezone?: string;\n /** User agent capabilities */\n userAgent: UserAgentInfo;\n /** Safe area insets */\n safeArea: SafeAreaInsets;\n /** Viewport dimensions */\n viewport?: ViewportInfo;\n /** Platform identifier */\n platform?: 'web' | 'desktop' | 'ios' | 'android';\n}\n\n// ============================================\n// Adapter Capabilities\n// ============================================\n\n/**\n * Capability flags for platform adapters.\n * Used for feature detection before calling unavailable features.\n */\nexport interface AdapterCapabilities {\n /** Can invoke server-side MCP tools */\n canCallTools: boolean;\n /** Can send follow-up messages to the conversation */\n canSendMessages: boolean;\n /** Can open external links */\n canOpenLinks: boolean;\n /** Can persist widget state across sessions */\n canPersistState: boolean;\n /** Has network access for fetch/XHR */\n hasNetworkAccess: boolean;\n /** Supports display mode changes (fullscreen, pip) */\n supportsDisplayModes: boolean;\n /** Supports theme detection */\n supportsTheme: boolean;\n /** Custom capability extensions */\n extensions?: Record<string, boolean>;\n}\n\n// ============================================\n// Platform Adapter Interface\n// ============================================\n\n/**\n * Platform adapter interface - implemented by each platform.\n * Provides a consistent API across OpenAI, Claude, ext-apps, Gemini, etc.\n */\nexport interface PlatformAdapter {\n /** Unique adapter identifier (e.g., 'openai', 'claude', 'ext-apps') */\n readonly id: string;\n\n /** Human-readable adapter name */\n readonly name: string;\n\n /** Adapter priority for auto-detection (higher = checked first) */\n readonly priority: number;\n\n /** Static capability flags */\n readonly capabilities: AdapterCapabilities;\n\n // ============================================\n // Lifecycle\n // ============================================\n\n /**\n * Check if this adapter can handle the current environment.\n * Called during auto-detection to find the best adapter.\n */\n canHandle(): boolean;\n\n /**\n * Initialize the adapter.\n * For ext-apps, this performs the ui/initialize handshake.\n * @returns Promise that resolves when the adapter is ready\n */\n initialize(): Promise<void>;\n\n /**\n * Clean up adapter resources.\n * Called when switching adapters or disposing the bridge.\n */\n dispose(): void;\n\n // ============================================\n // Data Access\n // ============================================\n\n /** Get current theme */\n getTheme(): 'light' | 'dark';\n\n /** Get current display mode */\n getDisplayMode(): DisplayMode;\n\n /** Get user agent info */\n getUserAgent(): UserAgentInfo;\n\n /** Get BCP 47 locale */\n getLocale(): string;\n\n /** Get tool input arguments */\n getToolInput(): Record<string, unknown>;\n\n /** Get tool output/result */\n getToolOutput(): unknown;\n\n /** Get structured content (parsed output) */\n getStructuredContent(): unknown;\n\n /** Get persisted widget state */\n getWidgetState(): Record<string, unknown>;\n\n /** Get safe area insets */\n getSafeArea(): SafeAreaInsets;\n\n /** Get viewport info */\n getViewport(): ViewportInfo | undefined;\n\n /** Get full host context */\n getHostContext(): HostContext;\n\n // ============================================\n // Actions\n // ============================================\n\n /**\n * Call a tool on the MCP server.\n * @param name - Tool name\n * @param args - Tool arguments\n * @returns Promise resolving to tool result\n */\n callTool(name: string, args: Record<string, unknown>): Promise<unknown>;\n\n /**\n * Send a follow-up message to the conversation.\n * @param content - Message content\n */\n sendMessage(content: string): Promise<void>;\n\n /**\n * Open an external link.\n * @param url - URL to open\n */\n openLink(url: string): Promise<void>;\n\n /**\n * Request a display mode change.\n * @param mode - Desired display mode\n */\n requestDisplayMode(mode: DisplayMode): Promise<void>;\n\n /**\n * Request widget close.\n */\n requestClose(): Promise<void>;\n\n /**\n * Set widget state (persisted across sessions).\n * @param state - State object to persist\n */\n setWidgetState(state: Record<string, unknown>): void;\n\n // ============================================\n // Events\n // ============================================\n\n /**\n * Subscribe to host context changes.\n * @param callback - Called when context changes (theme, displayMode, etc.)\n * @returns Unsubscribe function\n */\n onContextChange(callback: (changes: Partial<HostContext>) => void): () => void;\n\n /**\n * Subscribe to tool result updates.\n * @param callback - Called when tool result is received\n * @returns Unsubscribe function\n */\n onToolResult(callback: (result: unknown) => void): () => void;\n}\n\n// ============================================\n// Adapter Configuration\n// ============================================\n\n/**\n * Per-adapter configuration options.\n */\nexport interface AdapterConfig {\n /** Enable/disable this adapter */\n enabled?: boolean;\n /** Priority override */\n priority?: number;\n /** Adapter-specific options */\n options?: Record<string, unknown>;\n}\n\n/**\n * FrontMcpBridge configuration.\n */\nexport interface BridgeConfig {\n /** Force a specific adapter (skip auto-detection) */\n forceAdapter?: string;\n\n /** Explicitly disable certain adapters */\n disabledAdapters?: string[];\n\n /** Debug mode (verbose logging) */\n debug?: boolean;\n\n /** Timeout for adapter initialization (ms) */\n initTimeout?: number;\n\n /** Trusted origins for postMessage (ext-apps security) */\n trustedOrigins?: string[];\n\n /** Per-adapter configurations */\n adapterConfigs?: Record<string, AdapterConfig>;\n}\n\n// ============================================\n// SEP-1865 Protocol Types (ext-apps)\n// ============================================\n\n/**\n * JSON-RPC 2.0 message base.\n */\nexport interface JsonRpcMessage {\n jsonrpc: '2.0';\n}\n\n/**\n * JSON-RPC request message.\n */\nexport interface JsonRpcRequest extends JsonRpcMessage {\n id: string | number;\n method: string;\n params?: unknown;\n}\n\n/**\n * JSON-RPC response message.\n */\nexport interface JsonRpcResponse extends JsonRpcMessage {\n id: string | number;\n result?: unknown;\n error?: JsonRpcError;\n}\n\n/**\n * JSON-RPC notification message (no id, no response expected).\n */\nexport interface JsonRpcNotification extends JsonRpcMessage {\n method: string;\n params?: unknown;\n}\n\n/**\n * JSON-RPC error object.\n */\nexport interface JsonRpcError {\n code: number;\n message: string;\n data?: unknown;\n}\n\n/**\n * SEP-1865 ui/initialize request params.\n */\nexport interface ExtAppsInitializeParams {\n appInfo: {\n name: string;\n version: string;\n };\n appCapabilities: {\n tools?: {\n listChanged: boolean;\n };\n };\n protocolVersion: string;\n}\n\n/**\n * SEP-1865 ui/initialize response result.\n */\nexport interface ExtAppsInitializeResult {\n protocolVersion: string;\n hostInfo: {\n name: string;\n version: string;\n };\n hostCapabilities: {\n openLink?: boolean;\n serverToolProxy?: boolean;\n resourceRead?: boolean;\n logging?: boolean;\n };\n hostContext: HostContext;\n}\n\n/**\n * SEP-1865 tool input notification params.\n */\nexport interface ExtAppsToolInputParams {\n arguments: Record<string, unknown>;\n}\n\n/**\n * SEP-1865 tool result notification params.\n */\nexport interface ExtAppsToolResultParams {\n content: unknown;\n structuredContent?: unknown;\n isError?: boolean;\n}\n\n/**\n * SEP-1865 host context change notification params.\n */\nexport interface ExtAppsHostContextChangeParams {\n theme?: 'light' | 'dark';\n displayMode?: DisplayMode;\n viewport?: ViewportInfo;\n locale?: string;\n timezone?: string;\n}\n\n// ============================================\n// Bridge Events\n// ============================================\n\n/**\n * Bridge event types for CustomEvent dispatch.\n */\nexport type BridgeEventType =\n | 'bridge:ready'\n | 'bridge:error'\n | 'bridge:adapter-changed'\n | 'context:change'\n | 'tool:input'\n | 'tool:input-partial'\n | 'tool:result'\n | 'tool:cancelled';\n\n/**\n * Bridge event payload map.\n */\nexport interface BridgeEventPayloads {\n 'bridge:ready': { adapter: string };\n 'bridge:error': { error: Error; adapter?: string };\n 'bridge:adapter-changed': { from?: string; to: string };\n 'context:change': Partial<HostContext>;\n 'tool:input': { arguments: Record<string, unknown> };\n 'tool:input-partial': { arguments: Record<string, unknown> };\n 'tool:result': { content: unknown; structuredContent?: unknown };\n 'tool:cancelled': { reason?: string };\n}\n\n// ============================================\n// Adapter Registry Types\n// ============================================\n\n/**\n * Adapter factory function type.\n */\nexport type AdapterFactory = (config?: AdapterConfig) => PlatformAdapter;\n\n/**\n * Adapter registration entry.\n */\nexport interface AdapterRegistration {\n id: string;\n factory: AdapterFactory;\n defaultConfig?: AdapterConfig;\n}\n\n// ============================================\n// FrontMcpBridge Interface\n// ============================================\n\n/**\n * FrontMcpBridge public interface.\n * Unified entry point for all platform interactions.\n */\nexport interface FrontMcpBridgeInterface {\n /** Whether the bridge is initialized */\n readonly initialized: boolean;\n\n /** Current adapter ID */\n readonly adapterId: string | undefined;\n\n /** Current adapter capabilities */\n readonly capabilities: AdapterCapabilities | undefined;\n\n /**\n * Initialize the bridge (auto-detects platform).\n */\n initialize(): Promise<void>;\n\n /**\n * Get the active adapter.\n */\n getAdapter(): PlatformAdapter | undefined;\n\n /**\n * Check if a specific capability is available.\n */\n hasCapability(cap: keyof AdapterCapabilities): boolean;\n\n /**\n * Dispose the bridge and release resources.\n */\n dispose(): void;\n\n // Delegate methods to active adapter\n getTheme(): 'light' | 'dark';\n getDisplayMode(): DisplayMode;\n getToolInput(): Record<string, unknown>;\n getToolOutput(): unknown;\n callTool(name: string, args: Record<string, unknown>): Promise<unknown>;\n sendMessage(content: string): Promise<void>;\n openLink(url: string): Promise<void>;\n requestDisplayMode(mode: DisplayMode): Promise<void>;\n setWidgetState(state: Record<string, unknown>): void;\n onContextChange(callback: (changes: Partial<HostContext>) => void): () => void;\n onToolResult(callback: (result: unknown) => void): () => void;\n}\n"]}