@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,194 +0,0 @@
1
- "use strict";
2
- /**
3
- * OpenAI Platform Adapter
4
- *
5
- * Adapter for OpenAI's ChatGPT Apps SDK.
6
- * Provides full widget functionality including tool calls, messaging,
7
- * and display mode changes via the window.openai API.
8
- *
9
- * @packageDocumentation
10
- */
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.OpenAIAdapter = void 0;
13
- exports.createOpenAIAdapter = createOpenAIAdapter;
14
- const base_adapter_1 = require("./base-adapter");
15
- /**
16
- * OpenAI Apps SDK adapter.
17
- *
18
- * Detects the presence of `window.openai` and proxies all operations
19
- * through the ChatGPT Apps SDK.
20
- *
21
- * @example
22
- * ```typescript
23
- * import { OpenAIAdapter } from '@frontmcp/ui/bridge';
24
- *
25
- * const adapter = new OpenAIAdapter();
26
- * if (adapter.canHandle()) {
27
- * await adapter.initialize();
28
- * const theme = adapter.getTheme();
29
- * }
30
- * ```
31
- */
32
- class OpenAIAdapter extends base_adapter_1.BaseAdapter {
33
- id = 'openai';
34
- name = 'OpenAI ChatGPT';
35
- priority = 100; // Highest priority
36
- _openai;
37
- _unsubscribeContext;
38
- _unsubscribeToolResult;
39
- constructor() {
40
- super();
41
- this._capabilities = {
42
- ...base_adapter_1.DEFAULT_CAPABILITIES,
43
- canCallTools: true,
44
- canSendMessages: true,
45
- canOpenLinks: true,
46
- canPersistState: true,
47
- hasNetworkAccess: true,
48
- supportsDisplayModes: true,
49
- supportsTheme: true,
50
- };
51
- }
52
- /**
53
- * Check if OpenAI Apps SDK is available.
54
- */
55
- canHandle() {
56
- if (typeof window === 'undefined')
57
- return false;
58
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
59
- const win = window;
60
- return Boolean(win.openai?.canvas);
61
- }
62
- /**
63
- * Initialize the OpenAI adapter.
64
- */
65
- async initialize() {
66
- if (this._initialized)
67
- return;
68
- // Get OpenAI SDK reference
69
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
70
- this._openai = window.openai;
71
- // Call base initialization (loads widget state, reads injected data)
72
- await super.initialize();
73
- // Get initial context from OpenAI SDK
74
- this._syncContextFromSDK();
75
- // Subscribe to context changes
76
- if (this._openai?.canvas?.onContextChange) {
77
- this._unsubscribeContext = this._openai.canvas.onContextChange((changes) => {
78
- this._notifyContextChange(changes);
79
- });
80
- }
81
- // Subscribe to tool results if available
82
- if (this._openai?.canvas?.onToolResult) {
83
- this._unsubscribeToolResult = this._openai.canvas.onToolResult((result) => {
84
- this._notifyToolResult(result);
85
- });
86
- }
87
- }
88
- /**
89
- * Dispose adapter resources.
90
- */
91
- dispose() {
92
- if (this._unsubscribeContext) {
93
- this._unsubscribeContext();
94
- this._unsubscribeContext = undefined;
95
- }
96
- if (this._unsubscribeToolResult) {
97
- this._unsubscribeToolResult();
98
- this._unsubscribeToolResult = undefined;
99
- }
100
- this._openai = undefined;
101
- super.dispose();
102
- }
103
- // ============================================
104
- // Data Access (override with SDK calls)
105
- // ============================================
106
- getTheme() {
107
- if (this._openai?.canvas?.getTheme) {
108
- const theme = this._openai.canvas.getTheme();
109
- return theme === 'dark' ? 'dark' : 'light';
110
- }
111
- return super.getTheme();
112
- }
113
- getDisplayMode() {
114
- if (this._openai?.canvas?.getDisplayMode) {
115
- const mode = this._openai.canvas.getDisplayMode();
116
- if (mode === 'fullscreen' || mode === 'pip' || mode === 'carousel') {
117
- return mode;
118
- }
119
- return 'inline';
120
- }
121
- return super.getDisplayMode();
122
- }
123
- // ============================================
124
- // Actions (proxy to SDK)
125
- // ============================================
126
- async callTool(name, args) {
127
- if (!this._openai?.canvas?.callServerTool) {
128
- throw new Error('callServerTool not available in OpenAI SDK');
129
- }
130
- return this._openai.canvas.callServerTool(name, args);
131
- }
132
- async sendMessage(content) {
133
- if (!this._openai?.canvas?.sendMessage) {
134
- throw new Error('sendMessage not available in OpenAI SDK');
135
- }
136
- await this._openai.canvas.sendMessage(content);
137
- }
138
- async openLink(url) {
139
- if (!this._openai?.canvas?.openLink) {
140
- // Fallback to window.open
141
- return super.openLink(url);
142
- }
143
- await this._openai.canvas.openLink(url);
144
- }
145
- async requestDisplayMode(mode) {
146
- if (!this._openai?.canvas?.setDisplayMode) {
147
- return super.requestDisplayMode(mode);
148
- }
149
- await this._openai.canvas.setDisplayMode(mode);
150
- this._hostContext = { ...this._hostContext, displayMode: mode };
151
- }
152
- async requestClose() {
153
- if (this._openai?.canvas?.close) {
154
- await this._openai.canvas.close();
155
- }
156
- }
157
- // ============================================
158
- // Private Helpers
159
- // ============================================
160
- /**
161
- * Sync context from OpenAI SDK.
162
- */
163
- _syncContextFromSDK() {
164
- if (!this._openai?.canvas)
165
- return;
166
- // Update theme
167
- if (this._openai.canvas.getTheme) {
168
- const theme = this._openai.canvas.getTheme();
169
- this._hostContext.theme = theme === 'dark' ? 'dark' : 'light';
170
- }
171
- // Update display mode
172
- if (this._openai.canvas.getDisplayMode) {
173
- const mode = this._openai.canvas.getDisplayMode();
174
- if (mode === 'fullscreen' || mode === 'pip' || mode === 'carousel' || mode === 'inline') {
175
- this._hostContext.displayMode = mode;
176
- }
177
- }
178
- // Get full context if available
179
- if (this._openai.canvas.getContext) {
180
- const ctx = this._openai.canvas.getContext();
181
- if (ctx) {
182
- this._hostContext = { ...this._hostContext, ...ctx };
183
- }
184
- }
185
- }
186
- }
187
- exports.OpenAIAdapter = OpenAIAdapter;
188
- /**
189
- * Factory function for creating OpenAI adapter instances.
190
- */
191
- function createOpenAIAdapter() {
192
- return new OpenAIAdapter();
193
- }
194
- //# sourceMappingURL=openai.adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"openai.adapter.js","sourceRoot":"","sources":["../../../../src/bridge/adapters/openai.adapter.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * OpenAI Platform Adapter\n *\n * Adapter for OpenAI's ChatGPT Apps SDK.\n * Provides full widget functionality including tool calls, messaging,\n * and display mode changes via the window.openai API.\n *\n * @packageDocumentation\n */\n\nimport type { DisplayMode, HostContext } from '../types';\nimport { BaseAdapter, DEFAULT_CAPABILITIES } from './base-adapter';\n\n/**\n * OpenAI SDK global interface (simplified type).\n */\ninterface OpenAISDK {\n canvas?: {\n getTheme(): string;\n getDisplayMode(): string;\n setDisplayMode(mode: string): Promise<void>;\n sendMessage(text: string): Promise<void>;\n openLink(url: string): Promise<void>;\n callServerTool(name: string, args: Record<string, unknown>): Promise<unknown>;\n onContextChange(callback: (context: Partial<HostContext>) => void): () => void;\n onToolResult?(callback: (result: unknown) => void): () => void;\n close(): Promise<void>;\n getContext?(): Partial<HostContext>;\n };\n}\n\n/**\n * OpenAI Apps SDK adapter.\n *\n * Detects the presence of `window.openai` and proxies all operations\n * through the ChatGPT Apps SDK.\n *\n * @example\n * ```typescript\n * import { OpenAIAdapter } from '@frontmcp/ui/bridge';\n *\n * const adapter = new OpenAIAdapter();\n * if (adapter.canHandle()) {\n * await adapter.initialize();\n * const theme = adapter.getTheme();\n * }\n * ```\n */\nexport class OpenAIAdapter extends BaseAdapter {\n readonly id = 'openai';\n readonly name = 'OpenAI ChatGPT';\n readonly priority = 100; // Highest priority\n\n private _openai: OpenAISDK | undefined;\n private _unsubscribeContext: (() => void) | undefined;\n private _unsubscribeToolResult: (() => void) | undefined;\n\n constructor() {\n super();\n this._capabilities = {\n ...DEFAULT_CAPABILITIES,\n canCallTools: true,\n canSendMessages: true,\n canOpenLinks: true,\n canPersistState: true,\n hasNetworkAccess: true,\n supportsDisplayModes: true,\n supportsTheme: true,\n };\n }\n\n /**\n * Check if OpenAI Apps SDK is available.\n */\n canHandle(): boolean {\n if (typeof window === 'undefined') return false;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const win = window as any;\n return Boolean(win.openai?.canvas);\n }\n\n /**\n * Initialize the OpenAI adapter.\n */\n override async initialize(): Promise<void> {\n if (this._initialized) return;\n\n // Get OpenAI SDK reference\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this._openai = (window as any).openai as OpenAISDK;\n\n // Call base initialization (loads widget state, reads injected data)\n await super.initialize();\n\n // Get initial context from OpenAI SDK\n this._syncContextFromSDK();\n\n // Subscribe to context changes\n if (this._openai?.canvas?.onContextChange) {\n this._unsubscribeContext = this._openai.canvas.onContextChange((changes) => {\n this._notifyContextChange(changes);\n });\n }\n\n // Subscribe to tool results if available\n if (this._openai?.canvas?.onToolResult) {\n this._unsubscribeToolResult = this._openai.canvas.onToolResult((result) => {\n this._notifyToolResult(result);\n });\n }\n }\n\n /**\n * Dispose adapter resources.\n */\n override dispose(): void {\n if (this._unsubscribeContext) {\n this._unsubscribeContext();\n this._unsubscribeContext = undefined;\n }\n if (this._unsubscribeToolResult) {\n this._unsubscribeToolResult();\n this._unsubscribeToolResult = undefined;\n }\n this._openai = undefined;\n super.dispose();\n }\n\n // ============================================\n // Data Access (override with SDK calls)\n // ============================================\n\n override getTheme(): 'light' | 'dark' {\n if (this._openai?.canvas?.getTheme) {\n const theme = this._openai.canvas.getTheme();\n return theme === 'dark' ? 'dark' : 'light';\n }\n return super.getTheme();\n }\n\n override getDisplayMode(): DisplayMode {\n if (this._openai?.canvas?.getDisplayMode) {\n const mode = this._openai.canvas.getDisplayMode();\n if (mode === 'fullscreen' || mode === 'pip' || mode === 'carousel') {\n return mode;\n }\n return 'inline';\n }\n return super.getDisplayMode();\n }\n\n // ============================================\n // Actions (proxy to SDK)\n // ============================================\n\n override async callTool(name: string, args: Record<string, unknown>): Promise<unknown> {\n if (!this._openai?.canvas?.callServerTool) {\n throw new Error('callServerTool not available in OpenAI SDK');\n }\n return this._openai.canvas.callServerTool(name, args);\n }\n\n override async sendMessage(content: string): Promise<void> {\n if (!this._openai?.canvas?.sendMessage) {\n throw new Error('sendMessage not available in OpenAI SDK');\n }\n await this._openai.canvas.sendMessage(content);\n }\n\n override async openLink(url: string): Promise<void> {\n if (!this._openai?.canvas?.openLink) {\n // Fallback to window.open\n return super.openLink(url);\n }\n await this._openai.canvas.openLink(url);\n }\n\n override async requestDisplayMode(mode: DisplayMode): Promise<void> {\n if (!this._openai?.canvas?.setDisplayMode) {\n return super.requestDisplayMode(mode);\n }\n await this._openai.canvas.setDisplayMode(mode);\n this._hostContext = { ...this._hostContext, displayMode: mode };\n }\n\n override async requestClose(): Promise<void> {\n if (this._openai?.canvas?.close) {\n await this._openai.canvas.close();\n }\n }\n\n // ============================================\n // Private Helpers\n // ============================================\n\n /**\n * Sync context from OpenAI SDK.\n */\n private _syncContextFromSDK(): void {\n if (!this._openai?.canvas) return;\n\n // Update theme\n if (this._openai.canvas.getTheme) {\n const theme = this._openai.canvas.getTheme();\n this._hostContext.theme = theme === 'dark' ? 'dark' : 'light';\n }\n\n // Update display mode\n if (this._openai.canvas.getDisplayMode) {\n const mode = this._openai.canvas.getDisplayMode();\n if (mode === 'fullscreen' || mode === 'pip' || mode === 'carousel' || mode === 'inline') {\n this._hostContext.displayMode = mode;\n }\n }\n\n // Get full context if available\n if (this._openai.canvas.getContext) {\n const ctx = this._openai.canvas.getContext();\n if (ctx) {\n this._hostContext = { ...this._hostContext, ...ctx };\n }\n }\n }\n}\n\n/**\n * Factory function for creating OpenAI adapter instances.\n */\nexport function createOpenAIAdapter(): OpenAIAdapter {\n return new OpenAIAdapter();\n}\n"]}
@@ -1,121 +0,0 @@
1
- /**
2
- * Adapter Registry
3
- *
4
- * Manages platform adapter registration and auto-detection.
5
- * Adapters are registered with priorities and selected based on
6
- * environment detection during initialization.
7
- *
8
- * @packageDocumentation
9
- */
10
- import type { PlatformAdapter, AdapterFactory, AdapterConfig } from '../types';
11
- /**
12
- * Registry for managing platform adapters.
13
- * Handles registration, retrieval, and auto-detection of adapters.
14
- */
15
- export declare class AdapterRegistry {
16
- private _adapters;
17
- private _disabledAdapters;
18
- private _adapterConfigs;
19
- private _debug;
20
- /**
21
- * Enable or disable debug logging.
22
- */
23
- setDebug(enabled: boolean): void;
24
- /**
25
- * Register an adapter factory with the registry.
26
- * @param id - Unique adapter identifier
27
- * @param factory - Factory function that creates the adapter
28
- * @param defaultConfig - Optional default configuration
29
- */
30
- register(id: string, factory: AdapterFactory, defaultConfig?: AdapterConfig): void;
31
- /**
32
- * Unregister an adapter from the registry.
33
- * @param id - Adapter identifier to remove
34
- */
35
- unregister(id: string): boolean;
36
- /**
37
- * Check if an adapter is registered.
38
- * @param id - Adapter identifier
39
- */
40
- has(id: string): boolean;
41
- /**
42
- * Get all registered adapter IDs.
43
- */
44
- getRegisteredIds(): string[];
45
- /**
46
- * Disable specific adapters (they won't be selected during auto-detection).
47
- * @param ids - Adapter IDs to disable
48
- */
49
- disable(...ids: string[]): void;
50
- /**
51
- * Enable previously disabled adapters.
52
- * @param ids - Adapter IDs to enable
53
- */
54
- enable(...ids: string[]): void;
55
- /**
56
- * Check if an adapter is disabled.
57
- * @param id - Adapter identifier
58
- */
59
- isDisabled(id: string): boolean;
60
- /**
61
- * Set adapter-specific configuration.
62
- * @param id - Adapter identifier
63
- * @param config - Configuration to apply
64
- */
65
- configure(id: string, config: AdapterConfig): void;
66
- /**
67
- * Get an adapter instance by ID.
68
- * @param id - Adapter identifier
69
- * @returns Adapter instance or undefined if not found/disabled
70
- */
71
- get(id: string): PlatformAdapter | undefined;
72
- /**
73
- * Auto-detect and return the best adapter for the current environment.
74
- * Adapters are checked in priority order (highest first).
75
- * @returns The first adapter that can handle the current environment, or undefined
76
- */
77
- detect(): PlatformAdapter | undefined;
78
- /**
79
- * Get all adapters that can handle the current environment.
80
- * Useful for debugging or showing available options.
81
- * @returns Array of compatible adapters sorted by priority (highest first)
82
- */
83
- detectAll(): PlatformAdapter[];
84
- /**
85
- * Clear all registered adapters.
86
- */
87
- clear(): void;
88
- /**
89
- * Get sorted candidate adapters by priority (highest first).
90
- */
91
- private _getSortedCandidates;
92
- /**
93
- * Merge default config with user config.
94
- */
95
- private _mergeConfig;
96
- /**
97
- * Log debug message if debugging is enabled.
98
- */
99
- private _log;
100
- }
101
- /**
102
- * Default global adapter registry instance.
103
- * Use this for the standard registration pattern.
104
- */
105
- export declare const defaultRegistry: AdapterRegistry;
106
- /**
107
- * Helper function to register an adapter with the default registry.
108
- * @param id - Unique adapter identifier
109
- * @param factory - Factory function that creates the adapter
110
- * @param defaultConfig - Optional default configuration
111
- */
112
- export declare function registerAdapter(id: string, factory: AdapterFactory, defaultConfig?: AdapterConfig): void;
113
- /**
114
- * Helper function to get an adapter from the default registry.
115
- * @param id - Adapter identifier
116
- */
117
- export declare function getAdapter(id: string): PlatformAdapter | undefined;
118
- /**
119
- * Helper function to auto-detect the best adapter from the default registry.
120
- */
121
- export declare function detectAdapter(): PlatformAdapter | undefined;
@@ -1,271 +0,0 @@
1
- "use strict";
2
- /**
3
- * Adapter Registry
4
- *
5
- * Manages platform adapter registration and auto-detection.
6
- * Adapters are registered with priorities and selected based on
7
- * environment detection during initialization.
8
- *
9
- * @packageDocumentation
10
- */
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.defaultRegistry = exports.AdapterRegistry = void 0;
13
- exports.registerAdapter = registerAdapter;
14
- exports.getAdapter = getAdapter;
15
- exports.detectAdapter = detectAdapter;
16
- /**
17
- * Registry for managing platform adapters.
18
- * Handles registration, retrieval, and auto-detection of adapters.
19
- */
20
- class AdapterRegistry {
21
- _adapters = new Map();
22
- _disabledAdapters = new Set();
23
- _adapterConfigs = new Map();
24
- _debug = false;
25
- /**
26
- * Enable or disable debug logging.
27
- */
28
- setDebug(enabled) {
29
- this._debug = enabled;
30
- }
31
- /**
32
- * Register an adapter factory with the registry.
33
- * @param id - Unique adapter identifier
34
- * @param factory - Factory function that creates the adapter
35
- * @param defaultConfig - Optional default configuration
36
- */
37
- register(id, factory, defaultConfig) {
38
- if (this._adapters.has(id)) {
39
- this._log(`Overwriting existing adapter: ${id}`);
40
- }
41
- this._adapters.set(id, {
42
- id,
43
- factory,
44
- defaultConfig,
45
- });
46
- this._log(`Registered adapter: ${id}`);
47
- }
48
- /**
49
- * Unregister an adapter from the registry.
50
- * @param id - Adapter identifier to remove
51
- */
52
- unregister(id) {
53
- const removed = this._adapters.delete(id);
54
- if (removed) {
55
- this._log(`Unregistered adapter: ${id}`);
56
- }
57
- return removed;
58
- }
59
- /**
60
- * Check if an adapter is registered.
61
- * @param id - Adapter identifier
62
- */
63
- has(id) {
64
- return this._adapters.has(id);
65
- }
66
- /**
67
- * Get all registered adapter IDs.
68
- */
69
- getRegisteredIds() {
70
- return Array.from(this._adapters.keys());
71
- }
72
- /**
73
- * Disable specific adapters (they won't be selected during auto-detection).
74
- * @param ids - Adapter IDs to disable
75
- */
76
- disable(...ids) {
77
- for (const id of ids) {
78
- this._disabledAdapters.add(id);
79
- this._log(`Disabled adapter: ${id}`);
80
- }
81
- }
82
- /**
83
- * Enable previously disabled adapters.
84
- * @param ids - Adapter IDs to enable
85
- */
86
- enable(...ids) {
87
- for (const id of ids) {
88
- this._disabledAdapters.delete(id);
89
- this._log(`Enabled adapter: ${id}`);
90
- }
91
- }
92
- /**
93
- * Check if an adapter is disabled.
94
- * @param id - Adapter identifier
95
- */
96
- isDisabled(id) {
97
- return this._disabledAdapters.has(id);
98
- }
99
- /**
100
- * Set adapter-specific configuration.
101
- * @param id - Adapter identifier
102
- * @param config - Configuration to apply
103
- */
104
- configure(id, config) {
105
- this._adapterConfigs.set(id, config);
106
- this._log(`Configured adapter: ${id}`);
107
- }
108
- /**
109
- * Get an adapter instance by ID.
110
- * @param id - Adapter identifier
111
- * @returns Adapter instance or undefined if not found/disabled
112
- */
113
- get(id) {
114
- if (this._disabledAdapters.has(id)) {
115
- this._log(`Adapter ${id} is disabled`);
116
- return undefined;
117
- }
118
- const registration = this._adapters.get(id);
119
- if (!registration) {
120
- this._log(`Adapter ${id} not found`);
121
- return undefined;
122
- }
123
- const config = this._mergeConfig(registration.defaultConfig, this._adapterConfigs.get(id));
124
- if (config?.enabled === false) {
125
- this._log(`Adapter ${id} is disabled via config`);
126
- return undefined;
127
- }
128
- return registration.factory(config);
129
- }
130
- /**
131
- * Auto-detect and return the best adapter for the current environment.
132
- * Adapters are checked in priority order (highest first).
133
- * @returns The first adapter that can handle the current environment, or undefined
134
- */
135
- detect() {
136
- const candidates = this._getSortedCandidates();
137
- for (const registration of candidates) {
138
- if (this._disabledAdapters.has(registration.id)) {
139
- this._log(`Skipping disabled adapter: ${registration.id}`);
140
- continue;
141
- }
142
- const config = this._mergeConfig(registration.defaultConfig, this._adapterConfigs.get(registration.id));
143
- if (config?.enabled === false) {
144
- this._log(`Skipping adapter disabled via config: ${registration.id}`);
145
- continue;
146
- }
147
- try {
148
- const adapter = registration.factory(config);
149
- if (adapter.canHandle()) {
150
- this._log(`Detected adapter: ${registration.id} (priority: ${adapter.priority})`);
151
- return adapter;
152
- }
153
- this._log(`Adapter ${registration.id} cannot handle current environment`);
154
- }
155
- catch (error) {
156
- this._log(`Error creating adapter ${registration.id}: ${error}`);
157
- }
158
- }
159
- this._log('No suitable adapter detected');
160
- return undefined;
161
- }
162
- /**
163
- * Get all adapters that can handle the current environment.
164
- * Useful for debugging or showing available options.
165
- * @returns Array of compatible adapters sorted by priority (highest first)
166
- */
167
- detectAll() {
168
- const candidates = this._getSortedCandidates();
169
- const compatible = [];
170
- for (const registration of candidates) {
171
- if (this._disabledAdapters.has(registration.id)) {
172
- continue;
173
- }
174
- const config = this._mergeConfig(registration.defaultConfig, this._adapterConfigs.get(registration.id));
175
- if (config?.enabled === false) {
176
- continue;
177
- }
178
- try {
179
- const adapter = registration.factory(config);
180
- if (adapter.canHandle()) {
181
- compatible.push(adapter);
182
- }
183
- }
184
- catch {
185
- // Skip adapters that fail to instantiate
186
- }
187
- }
188
- return compatible;
189
- }
190
- /**
191
- * Clear all registered adapters.
192
- */
193
- clear() {
194
- this._adapters.clear();
195
- this._disabledAdapters.clear();
196
- this._adapterConfigs.clear();
197
- this._log('Cleared all adapters');
198
- }
199
- /**
200
- * Get sorted candidate adapters by priority (highest first).
201
- */
202
- _getSortedCandidates() {
203
- const registrations = Array.from(this._adapters.values());
204
- // Create temporary adapters to get their priorities
205
- const withPriority = registrations.map((reg) => {
206
- try {
207
- const adapter = reg.factory(reg.defaultConfig);
208
- return { registration: reg, priority: adapter.priority };
209
- }
210
- catch {
211
- return { registration: reg, priority: -1 };
212
- }
213
- });
214
- // Sort by priority descending
215
- withPriority.sort((a, b) => b.priority - a.priority);
216
- return withPriority.map((item) => item.registration);
217
- }
218
- /**
219
- * Merge default config with user config.
220
- */
221
- _mergeConfig(defaultConfig, userConfig) {
222
- if (!defaultConfig && !userConfig) {
223
- return undefined;
224
- }
225
- return {
226
- ...defaultConfig,
227
- ...userConfig,
228
- options: {
229
- ...defaultConfig?.options,
230
- ...userConfig?.options,
231
- },
232
- };
233
- }
234
- /**
235
- * Log debug message if debugging is enabled.
236
- */
237
- _log(message) {
238
- if (this._debug) {
239
- console.log(`[AdapterRegistry] ${message}`);
240
- }
241
- }
242
- }
243
- exports.AdapterRegistry = AdapterRegistry;
244
- /**
245
- * Default global adapter registry instance.
246
- * Use this for the standard registration pattern.
247
- */
248
- exports.defaultRegistry = new AdapterRegistry();
249
- /**
250
- * Helper function to register an adapter with the default registry.
251
- * @param id - Unique adapter identifier
252
- * @param factory - Factory function that creates the adapter
253
- * @param defaultConfig - Optional default configuration
254
- */
255
- function registerAdapter(id, factory, defaultConfig) {
256
- exports.defaultRegistry.register(id, factory, defaultConfig);
257
- }
258
- /**
259
- * Helper function to get an adapter from the default registry.
260
- * @param id - Adapter identifier
261
- */
262
- function getAdapter(id) {
263
- return exports.defaultRegistry.get(id);
264
- }
265
- /**
266
- * Helper function to auto-detect the best adapter from the default registry.
267
- */
268
- function detectAdapter() {
269
- return exports.defaultRegistry.detect();
270
- }
271
- //# sourceMappingURL=adapter-registry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"adapter-registry.js","sourceRoot":"","sources":["../../../../src/bridge/core/adapter-registry.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Adapter Registry\n *\n * Manages platform adapter registration and auto-detection.\n * Adapters are registered with priorities and selected based on\n * environment detection during initialization.\n *\n * @packageDocumentation\n */\n\nimport type { PlatformAdapter, AdapterFactory, AdapterRegistration, AdapterConfig } from '../types';\n\n/**\n * Registry for managing platform adapters.\n * Handles registration, retrieval, and auto-detection of adapters.\n */\nexport class AdapterRegistry {\n private _adapters: Map<string, AdapterRegistration> = new Map();\n private _disabledAdapters: Set<string> = new Set();\n private _adapterConfigs: Map<string, AdapterConfig> = new Map();\n private _debug = false;\n\n /**\n * Enable or disable debug logging.\n */\n setDebug(enabled: boolean): void {\n this._debug = enabled;\n }\n\n /**\n * Register an adapter factory with the registry.\n * @param id - Unique adapter identifier\n * @param factory - Factory function that creates the adapter\n * @param defaultConfig - Optional default configuration\n */\n register(id: string, factory: AdapterFactory, defaultConfig?: AdapterConfig): void {\n if (this._adapters.has(id)) {\n this._log(`Overwriting existing adapter: ${id}`);\n }\n\n this._adapters.set(id, {\n id,\n factory,\n defaultConfig,\n });\n\n this._log(`Registered adapter: ${id}`);\n }\n\n /**\n * Unregister an adapter from the registry.\n * @param id - Adapter identifier to remove\n */\n unregister(id: string): boolean {\n const removed = this._adapters.delete(id);\n if (removed) {\n this._log(`Unregistered adapter: ${id}`);\n }\n return removed;\n }\n\n /**\n * Check if an adapter is registered.\n * @param id - Adapter identifier\n */\n has(id: string): boolean {\n return this._adapters.has(id);\n }\n\n /**\n * Get all registered adapter IDs.\n */\n getRegisteredIds(): string[] {\n return Array.from(this._adapters.keys());\n }\n\n /**\n * Disable specific adapters (they won't be selected during auto-detection).\n * @param ids - Adapter IDs to disable\n */\n disable(...ids: string[]): void {\n for (const id of ids) {\n this._disabledAdapters.add(id);\n this._log(`Disabled adapter: ${id}`);\n }\n }\n\n /**\n * Enable previously disabled adapters.\n * @param ids - Adapter IDs to enable\n */\n enable(...ids: string[]): void {\n for (const id of ids) {\n this._disabledAdapters.delete(id);\n this._log(`Enabled adapter: ${id}`);\n }\n }\n\n /**\n * Check if an adapter is disabled.\n * @param id - Adapter identifier\n */\n isDisabled(id: string): boolean {\n return this._disabledAdapters.has(id);\n }\n\n /**\n * Set adapter-specific configuration.\n * @param id - Adapter identifier\n * @param config - Configuration to apply\n */\n configure(id: string, config: AdapterConfig): void {\n this._adapterConfigs.set(id, config);\n this._log(`Configured adapter: ${id}`);\n }\n\n /**\n * Get an adapter instance by ID.\n * @param id - Adapter identifier\n * @returns Adapter instance or undefined if not found/disabled\n */\n get(id: string): PlatformAdapter | undefined {\n if (this._disabledAdapters.has(id)) {\n this._log(`Adapter ${id} is disabled`);\n return undefined;\n }\n\n const registration = this._adapters.get(id);\n if (!registration) {\n this._log(`Adapter ${id} not found`);\n return undefined;\n }\n\n const config = this._mergeConfig(registration.defaultConfig, this._adapterConfigs.get(id));\n\n if (config?.enabled === false) {\n this._log(`Adapter ${id} is disabled via config`);\n return undefined;\n }\n\n return registration.factory(config);\n }\n\n /**\n * Auto-detect and return the best adapter for the current environment.\n * Adapters are checked in priority order (highest first).\n * @returns The first adapter that can handle the current environment, or undefined\n */\n detect(): PlatformAdapter | undefined {\n const candidates = this._getSortedCandidates();\n\n for (const registration of candidates) {\n if (this._disabledAdapters.has(registration.id)) {\n this._log(`Skipping disabled adapter: ${registration.id}`);\n continue;\n }\n\n const config = this._mergeConfig(registration.defaultConfig, this._adapterConfigs.get(registration.id));\n\n if (config?.enabled === false) {\n this._log(`Skipping adapter disabled via config: ${registration.id}`);\n continue;\n }\n\n try {\n const adapter = registration.factory(config);\n\n if (adapter.canHandle()) {\n this._log(`Detected adapter: ${registration.id} (priority: ${adapter.priority})`);\n return adapter;\n }\n\n this._log(`Adapter ${registration.id} cannot handle current environment`);\n } catch (error) {\n this._log(`Error creating adapter ${registration.id}: ${error}`);\n }\n }\n\n this._log('No suitable adapter detected');\n return undefined;\n }\n\n /**\n * Get all adapters that can handle the current environment.\n * Useful for debugging or showing available options.\n * @returns Array of compatible adapters sorted by priority (highest first)\n */\n detectAll(): PlatformAdapter[] {\n const candidates = this._getSortedCandidates();\n const compatible: PlatformAdapter[] = [];\n\n for (const registration of candidates) {\n if (this._disabledAdapters.has(registration.id)) {\n continue;\n }\n\n const config = this._mergeConfig(registration.defaultConfig, this._adapterConfigs.get(registration.id));\n\n if (config?.enabled === false) {\n continue;\n }\n\n try {\n const adapter = registration.factory(config);\n\n if (adapter.canHandle()) {\n compatible.push(adapter);\n }\n } catch {\n // Skip adapters that fail to instantiate\n }\n }\n\n return compatible;\n }\n\n /**\n * Clear all registered adapters.\n */\n clear(): void {\n this._adapters.clear();\n this._disabledAdapters.clear();\n this._adapterConfigs.clear();\n this._log('Cleared all adapters');\n }\n\n /**\n * Get sorted candidate adapters by priority (highest first).\n */\n private _getSortedCandidates(): AdapterRegistration[] {\n const registrations = Array.from(this._adapters.values());\n\n // Create temporary adapters to get their priorities\n const withPriority = registrations.map((reg) => {\n try {\n const adapter = reg.factory(reg.defaultConfig);\n return { registration: reg, priority: adapter.priority };\n } catch {\n return { registration: reg, priority: -1 };\n }\n });\n\n // Sort by priority descending\n withPriority.sort((a, b) => b.priority - a.priority);\n\n return withPriority.map((item) => item.registration);\n }\n\n /**\n * Merge default config with user config.\n */\n private _mergeConfig(defaultConfig?: AdapterConfig, userConfig?: AdapterConfig): AdapterConfig | undefined {\n if (!defaultConfig && !userConfig) {\n return undefined;\n }\n\n return {\n ...defaultConfig,\n ...userConfig,\n options: {\n ...defaultConfig?.options,\n ...userConfig?.options,\n },\n };\n }\n\n /**\n * Log debug message if debugging is enabled.\n */\n private _log(message: string): void {\n if (this._debug) {\n console.log(`[AdapterRegistry] ${message}`);\n }\n }\n}\n\n/**\n * Default global adapter registry instance.\n * Use this for the standard registration pattern.\n */\nexport const defaultRegistry = new AdapterRegistry();\n\n/**\n * Helper function to register an adapter with the default registry.\n * @param id - Unique adapter identifier\n * @param factory - Factory function that creates the adapter\n * @param defaultConfig - Optional default configuration\n */\nexport function registerAdapter(id: string, factory: AdapterFactory, defaultConfig?: AdapterConfig): void {\n defaultRegistry.register(id, factory, defaultConfig);\n}\n\n/**\n * Helper function to get an adapter from the default registry.\n * @param id - Adapter identifier\n */\nexport function getAdapter(id: string): PlatformAdapter | undefined {\n return defaultRegistry.get(id);\n}\n\n/**\n * Helper function to auto-detect the best adapter from the default registry.\n */\nexport function detectAdapter(): PlatformAdapter | undefined {\n return defaultRegistry.detect();\n}\n"]}