@frontmcp/ui 0.5.1 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (805) hide show
  1. package/README.md +140 -362
  2. package/bridge/adapters/base-adapter.d.ts +104 -0
  3. package/bridge/adapters/base-adapter.d.ts.map +1 -0
  4. package/bridge/adapters/claude.adapter.d.ts +67 -0
  5. package/bridge/adapters/claude.adapter.d.ts.map +1 -0
  6. package/bridge/adapters/ext-apps.adapter.d.ts +143 -0
  7. package/bridge/adapters/ext-apps.adapter.d.ts.map +1 -0
  8. package/bridge/adapters/gemini.adapter.d.ts +64 -0
  9. package/bridge/adapters/gemini.adapter.d.ts.map +1 -0
  10. package/bridge/adapters/generic.adapter.d.ts +56 -0
  11. package/bridge/adapters/generic.adapter.d.ts.map +1 -0
  12. package/bridge/adapters/index.d.ts +26 -0
  13. package/bridge/adapters/index.d.ts.map +1 -0
  14. package/bridge/adapters/openai.adapter.d.ts +65 -0
  15. package/bridge/adapters/openai.adapter.d.ts.map +1 -0
  16. package/bridge/core/adapter-registry.d.ts +122 -0
  17. package/bridge/core/adapter-registry.d.ts.map +1 -0
  18. package/bridge/core/bridge-factory.d.ts +199 -0
  19. package/bridge/core/bridge-factory.d.ts.map +1 -0
  20. package/bridge/core/index.d.ts +10 -0
  21. package/bridge/core/index.d.ts.map +1 -0
  22. package/bridge/index.d.ts +62 -0
  23. package/bridge/index.d.ts.map +1 -0
  24. package/bridge/index.js +2540 -0
  25. package/bridge/runtime/iife-generator.d.ts +62 -0
  26. package/bridge/runtime/iife-generator.d.ts.map +1 -0
  27. package/bridge/runtime/index.d.ts +10 -0
  28. package/bridge/runtime/index.d.ts.map +1 -0
  29. package/bridge/types.d.ts +386 -0
  30. package/bridge/types.d.ts.map +1 -0
  31. package/bundler/bundler.d.ts +208 -0
  32. package/bundler/bundler.d.ts.map +1 -0
  33. package/bundler/cache.d.ts +173 -0
  34. package/bundler/cache.d.ts.map +1 -0
  35. package/bundler/file-cache/component-builder.d.ts +167 -0
  36. package/bundler/file-cache/component-builder.d.ts.map +1 -0
  37. package/bundler/file-cache/hash-calculator.d.ts +155 -0
  38. package/bundler/file-cache/hash-calculator.d.ts.map +1 -0
  39. package/bundler/file-cache/index.d.ts +12 -0
  40. package/bundler/file-cache/index.d.ts.map +1 -0
  41. package/bundler/file-cache/storage/filesystem.d.ts +149 -0
  42. package/bundler/file-cache/storage/filesystem.d.ts.map +1 -0
  43. package/bundler/file-cache/storage/index.d.ts +11 -0
  44. package/bundler/file-cache/storage/index.d.ts.map +1 -0
  45. package/bundler/file-cache/storage/interface.d.ts +152 -0
  46. package/bundler/file-cache/storage/interface.d.ts.map +1 -0
  47. package/bundler/file-cache/storage/redis.d.ts +139 -0
  48. package/bundler/file-cache/storage/redis.d.ts.map +1 -0
  49. package/bundler/index.d.ts +43 -0
  50. package/bundler/index.d.ts.map +1 -0
  51. package/bundler/index.js +3707 -0
  52. package/bundler/sandbox/enclave-adapter.d.ts +121 -0
  53. package/bundler/sandbox/enclave-adapter.d.ts.map +1 -0
  54. package/bundler/sandbox/executor.d.ts +14 -0
  55. package/bundler/sandbox/executor.d.ts.map +1 -0
  56. package/bundler/sandbox/policy.d.ts +62 -0
  57. package/bundler/sandbox/policy.d.ts.map +1 -0
  58. package/bundler/types.d.ts +702 -0
  59. package/bundler/types.d.ts.map +1 -0
  60. package/components/alert.d.ts +66 -0
  61. package/components/alert.d.ts.map +1 -0
  62. package/components/alert.schema.d.ts +98 -0
  63. package/components/alert.schema.d.ts.map +1 -0
  64. package/components/avatar.d.ts +77 -0
  65. package/components/avatar.d.ts.map +1 -0
  66. package/components/avatar.schema.d.ts +170 -0
  67. package/components/avatar.schema.d.ts.map +1 -0
  68. package/components/badge.d.ts +64 -0
  69. package/components/badge.d.ts.map +1 -0
  70. package/components/badge.schema.d.ts +91 -0
  71. package/components/badge.schema.d.ts.map +1 -0
  72. package/components/button.d.ts +100 -0
  73. package/components/button.d.ts.map +1 -0
  74. package/components/button.schema.d.ts +120 -0
  75. package/components/button.schema.d.ts.map +1 -0
  76. package/components/card.d.ts +53 -0
  77. package/components/card.d.ts.map +1 -0
  78. package/components/card.schema.d.ts +93 -0
  79. package/components/card.schema.d.ts.map +1 -0
  80. package/components/form.d.ts +212 -0
  81. package/components/form.d.ts.map +1 -0
  82. package/components/form.schema.d.ts +365 -0
  83. package/components/form.schema.d.ts.map +1 -0
  84. package/components/index.d.ts +29 -0
  85. package/components/index.d.ts.map +1 -0
  86. package/components/index.js +2525 -0
  87. package/components/list.d.ts +121 -0
  88. package/components/list.d.ts.map +1 -0
  89. package/components/list.schema.d.ts +129 -0
  90. package/components/list.schema.d.ts.map +1 -0
  91. package/components/modal.d.ts +100 -0
  92. package/components/modal.d.ts.map +1 -0
  93. package/components/modal.schema.d.ts +151 -0
  94. package/components/modal.schema.d.ts.map +1 -0
  95. package/components/table.d.ts +91 -0
  96. package/components/table.d.ts.map +1 -0
  97. package/components/table.schema.d.ts +123 -0
  98. package/components/table.schema.d.ts.map +1 -0
  99. package/esm/bridge/adapters/base-adapter.d.ts +104 -0
  100. package/esm/bridge/adapters/base-adapter.d.ts.map +1 -0
  101. package/esm/bridge/adapters/claude.adapter.d.ts +67 -0
  102. package/esm/bridge/adapters/claude.adapter.d.ts.map +1 -0
  103. package/esm/bridge/adapters/ext-apps.adapter.d.ts +143 -0
  104. package/esm/bridge/adapters/ext-apps.adapter.d.ts.map +1 -0
  105. package/esm/bridge/adapters/gemini.adapter.d.ts +64 -0
  106. package/esm/bridge/adapters/gemini.adapter.d.ts.map +1 -0
  107. package/esm/bridge/adapters/generic.adapter.d.ts +56 -0
  108. package/esm/bridge/adapters/generic.adapter.d.ts.map +1 -0
  109. package/esm/bridge/adapters/index.d.ts +26 -0
  110. package/esm/bridge/adapters/index.d.ts.map +1 -0
  111. package/esm/bridge/adapters/openai.adapter.d.ts +65 -0
  112. package/esm/bridge/adapters/openai.adapter.d.ts.map +1 -0
  113. package/esm/bridge/core/adapter-registry.d.ts +122 -0
  114. package/esm/bridge/core/adapter-registry.d.ts.map +1 -0
  115. package/esm/bridge/core/bridge-factory.d.ts +199 -0
  116. package/esm/bridge/core/bridge-factory.d.ts.map +1 -0
  117. package/esm/bridge/core/index.d.ts +10 -0
  118. package/esm/bridge/core/index.d.ts.map +1 -0
  119. package/esm/bridge/index.d.ts +62 -0
  120. package/esm/bridge/index.d.ts.map +1 -0
  121. package/esm/bridge/index.js +2487 -0
  122. package/esm/bridge/runtime/iife-generator.d.ts +62 -0
  123. package/esm/bridge/runtime/iife-generator.d.ts.map +1 -0
  124. package/esm/bridge/runtime/index.d.ts +10 -0
  125. package/esm/bridge/runtime/index.d.ts.map +1 -0
  126. package/esm/bridge/types.d.ts +386 -0
  127. package/esm/bridge/types.d.ts.map +1 -0
  128. package/esm/bundler/bundler.d.ts +208 -0
  129. package/esm/bundler/bundler.d.ts.map +1 -0
  130. package/esm/bundler/cache.d.ts +173 -0
  131. package/esm/bundler/cache.d.ts.map +1 -0
  132. package/esm/bundler/file-cache/component-builder.d.ts +167 -0
  133. package/esm/bundler/file-cache/component-builder.d.ts.map +1 -0
  134. package/esm/bundler/file-cache/hash-calculator.d.ts +155 -0
  135. package/esm/bundler/file-cache/hash-calculator.d.ts.map +1 -0
  136. package/esm/bundler/file-cache/index.d.ts +12 -0
  137. package/esm/bundler/file-cache/index.d.ts.map +1 -0
  138. package/esm/bundler/file-cache/storage/filesystem.d.ts +149 -0
  139. package/esm/bundler/file-cache/storage/filesystem.d.ts.map +1 -0
  140. package/esm/bundler/file-cache/storage/index.d.ts +11 -0
  141. package/esm/bundler/file-cache/storage/index.d.ts.map +1 -0
  142. package/esm/bundler/file-cache/storage/interface.d.ts +152 -0
  143. package/esm/bundler/file-cache/storage/interface.d.ts.map +1 -0
  144. package/esm/bundler/file-cache/storage/redis.d.ts +139 -0
  145. package/esm/bundler/file-cache/storage/redis.d.ts.map +1 -0
  146. package/esm/bundler/index.d.ts +43 -0
  147. package/esm/bundler/index.d.ts.map +1 -0
  148. package/esm/bundler/index.js +3640 -0
  149. package/esm/bundler/sandbox/enclave-adapter.d.ts +121 -0
  150. package/esm/bundler/sandbox/enclave-adapter.d.ts.map +1 -0
  151. package/esm/bundler/sandbox/executor.d.ts +14 -0
  152. package/esm/bundler/sandbox/executor.d.ts.map +1 -0
  153. package/esm/bundler/sandbox/policy.d.ts +62 -0
  154. package/esm/bundler/sandbox/policy.d.ts.map +1 -0
  155. package/esm/bundler/types.d.ts +702 -0
  156. package/esm/bundler/types.d.ts.map +1 -0
  157. package/esm/components/alert.d.ts +66 -0
  158. package/esm/components/alert.d.ts.map +1 -0
  159. package/esm/components/alert.schema.d.ts +98 -0
  160. package/esm/components/alert.schema.d.ts.map +1 -0
  161. package/esm/components/avatar.d.ts +77 -0
  162. package/esm/components/avatar.d.ts.map +1 -0
  163. package/esm/components/avatar.schema.d.ts +170 -0
  164. package/esm/components/avatar.schema.d.ts.map +1 -0
  165. package/esm/components/badge.d.ts +64 -0
  166. package/esm/components/badge.d.ts.map +1 -0
  167. package/esm/components/badge.schema.d.ts +91 -0
  168. package/esm/components/badge.schema.d.ts.map +1 -0
  169. package/esm/components/button.d.ts +100 -0
  170. package/esm/components/button.d.ts.map +1 -0
  171. package/esm/components/button.schema.d.ts +120 -0
  172. package/esm/components/button.schema.d.ts.map +1 -0
  173. package/esm/components/card.d.ts +53 -0
  174. package/esm/components/card.d.ts.map +1 -0
  175. package/esm/components/card.schema.d.ts +93 -0
  176. package/esm/components/card.schema.d.ts.map +1 -0
  177. package/esm/components/form.d.ts +212 -0
  178. package/esm/components/form.d.ts.map +1 -0
  179. package/esm/components/form.schema.d.ts +365 -0
  180. package/esm/components/form.schema.d.ts.map +1 -0
  181. package/esm/components/index.d.ts +29 -0
  182. package/esm/components/index.d.ts.map +1 -0
  183. package/esm/components/index.js +2396 -0
  184. package/esm/components/list.d.ts +121 -0
  185. package/esm/components/list.d.ts.map +1 -0
  186. package/esm/components/list.schema.d.ts +129 -0
  187. package/esm/components/list.schema.d.ts.map +1 -0
  188. package/esm/components/modal.d.ts +100 -0
  189. package/esm/components/modal.d.ts.map +1 -0
  190. package/esm/components/modal.schema.d.ts +151 -0
  191. package/esm/components/modal.schema.d.ts.map +1 -0
  192. package/esm/components/table.d.ts +91 -0
  193. package/esm/components/table.d.ts.map +1 -0
  194. package/esm/components/table.schema.d.ts +123 -0
  195. package/esm/components/table.schema.d.ts.map +1 -0
  196. package/esm/index.d.ts +40 -0
  197. package/esm/index.d.ts.map +1 -0
  198. package/esm/index.js +8326 -0
  199. package/esm/layouts/base.d.ts +86 -0
  200. package/esm/layouts/base.d.ts.map +1 -0
  201. package/esm/layouts/index.d.ts +8 -0
  202. package/esm/layouts/index.d.ts.map +1 -0
  203. package/esm/layouts/index.js +409 -0
  204. package/esm/layouts/presets.d.ts +134 -0
  205. package/esm/layouts/presets.d.ts.map +1 -0
  206. package/esm/package.json +72 -0
  207. package/esm/pages/consent.d.ts +117 -0
  208. package/esm/pages/consent.d.ts.map +1 -0
  209. package/esm/pages/error.d.ts +101 -0
  210. package/esm/pages/error.d.ts.map +1 -0
  211. package/esm/pages/index.d.ts +9 -0
  212. package/esm/pages/index.d.ts.map +1 -0
  213. package/esm/pages/index.js +1036 -0
  214. package/esm/react/Alert.d.ts +101 -0
  215. package/esm/react/Alert.d.ts.map +1 -0
  216. package/esm/react/Badge.d.ts +100 -0
  217. package/esm/react/Badge.d.ts.map +1 -0
  218. package/esm/react/Button.d.ts +108 -0
  219. package/esm/react/Button.d.ts.map +1 -0
  220. package/esm/react/Card.d.ts +103 -0
  221. package/esm/react/Card.d.ts.map +1 -0
  222. package/esm/react/hooks/context.d.ts +179 -0
  223. package/esm/react/hooks/context.d.ts.map +1 -0
  224. package/esm/react/hooks/index.d.ts +42 -0
  225. package/esm/react/hooks/index.d.ts.map +1 -0
  226. package/esm/react/hooks/tools.d.ts +284 -0
  227. package/esm/react/hooks/tools.d.ts.map +1 -0
  228. package/esm/react/index.d.ts +80 -0
  229. package/esm/react/index.d.ts.map +1 -0
  230. package/esm/react/index.js +3124 -0
  231. package/esm/react/types.d.ts +105 -0
  232. package/esm/react/types.d.ts.map +1 -0
  233. package/esm/react/utils.d.ts +43 -0
  234. package/esm/react/utils.d.ts.map +1 -0
  235. package/esm/render/index.d.ts +8 -0
  236. package/esm/render/index.d.ts.map +1 -0
  237. package/esm/render/index.js +45 -0
  238. package/esm/render/prerender.d.ts +57 -0
  239. package/esm/render/prerender.d.ts.map +1 -0
  240. package/esm/renderers/index.d.ts +21 -0
  241. package/esm/renderers/index.d.ts.map +1 -0
  242. package/esm/renderers/index.js +381 -0
  243. package/esm/renderers/react.adapter.d.ts +70 -0
  244. package/esm/renderers/react.adapter.d.ts.map +1 -0
  245. package/esm/renderers/react.renderer.d.ts +96 -0
  246. package/esm/renderers/react.renderer.d.ts.map +1 -0
  247. package/esm/universal/UniversalApp.d.ts +108 -0
  248. package/esm/universal/UniversalApp.d.ts.map +1 -0
  249. package/esm/universal/cached-runtime.d.ts +115 -0
  250. package/esm/universal/cached-runtime.d.ts.map +1 -0
  251. package/esm/universal/context.d.ts +122 -0
  252. package/esm/universal/context.d.ts.map +1 -0
  253. package/esm/universal/index.d.ts +57 -0
  254. package/esm/universal/index.d.ts.map +1 -0
  255. package/esm/universal/index.js +1755 -0
  256. package/esm/universal/renderers/html.renderer.d.ts +37 -0
  257. package/esm/universal/renderers/html.renderer.d.ts.map +1 -0
  258. package/esm/universal/renderers/index.d.ts +112 -0
  259. package/esm/universal/renderers/index.d.ts.map +1 -0
  260. package/esm/universal/renderers/markdown.renderer.d.ts +33 -0
  261. package/esm/universal/renderers/markdown.renderer.d.ts.map +1 -0
  262. package/esm/universal/renderers/mdx.renderer.d.ts +38 -0
  263. package/esm/universal/renderers/mdx.renderer.d.ts.map +1 -0
  264. package/esm/universal/renderers/react.renderer.d.ts +46 -0
  265. package/esm/universal/renderers/react.renderer.d.ts.map +1 -0
  266. package/esm/universal/runtime-builder.d.ts +33 -0
  267. package/esm/universal/runtime-builder.d.ts.map +1 -0
  268. package/esm/universal/store.d.ts +135 -0
  269. package/esm/universal/store.d.ts.map +1 -0
  270. package/esm/universal/types.d.ts +199 -0
  271. package/esm/universal/types.d.ts.map +1 -0
  272. package/esm/web-components/core/attribute-parser.d.ts +82 -0
  273. package/esm/web-components/core/attribute-parser.d.ts.map +1 -0
  274. package/esm/web-components/core/base-element.d.ts +197 -0
  275. package/esm/web-components/core/base-element.d.ts.map +1 -0
  276. package/esm/web-components/core/index.d.ts +9 -0
  277. package/esm/web-components/core/index.d.ts.map +1 -0
  278. package/esm/web-components/elements/fmcp-alert.d.ts +46 -0
  279. package/esm/web-components/elements/fmcp-alert.d.ts.map +1 -0
  280. package/esm/web-components/elements/fmcp-badge.d.ts +47 -0
  281. package/esm/web-components/elements/fmcp-badge.d.ts.map +1 -0
  282. package/esm/web-components/elements/fmcp-button.d.ts +117 -0
  283. package/esm/web-components/elements/fmcp-button.d.ts.map +1 -0
  284. package/esm/web-components/elements/fmcp-card.d.ts +53 -0
  285. package/esm/web-components/elements/fmcp-card.d.ts.map +1 -0
  286. package/esm/web-components/elements/fmcp-input.d.ts +96 -0
  287. package/esm/web-components/elements/fmcp-input.d.ts.map +1 -0
  288. package/esm/web-components/elements/fmcp-select.d.ts +100 -0
  289. package/esm/web-components/elements/fmcp-select.d.ts.map +1 -0
  290. package/esm/web-components/elements/index.d.ts +13 -0
  291. package/esm/web-components/elements/index.d.ts.map +1 -0
  292. package/esm/web-components/index.d.ts +50 -0
  293. package/esm/web-components/index.d.ts.map +1 -0
  294. package/esm/web-components/index.js +1993 -0
  295. package/esm/web-components/register.d.ts +57 -0
  296. package/esm/web-components/register.d.ts.map +1 -0
  297. package/esm/web-components/types.d.ts +122 -0
  298. package/esm/web-components/types.d.ts.map +1 -0
  299. package/esm/widgets/index.d.ts +8 -0
  300. package/esm/widgets/index.d.ts.map +1 -0
  301. package/esm/widgets/index.js +883 -0
  302. package/esm/widgets/progress.d.ts +133 -0
  303. package/esm/widgets/progress.d.ts.map +1 -0
  304. package/esm/widgets/resource.d.ts +163 -0
  305. package/esm/widgets/resource.d.ts.map +1 -0
  306. package/index.d.ts +40 -0
  307. package/index.d.ts.map +1 -0
  308. package/index.js +8526 -0
  309. package/layouts/base.d.ts +86 -0
  310. package/layouts/base.d.ts.map +1 -0
  311. package/layouts/index.d.ts +8 -0
  312. package/layouts/index.d.ts.map +1 -0
  313. package/layouts/index.js +437 -0
  314. package/layouts/presets.d.ts +134 -0
  315. package/layouts/presets.d.ts.map +1 -0
  316. package/package.json +33 -110
  317. package/pages/consent.d.ts +117 -0
  318. package/pages/consent.d.ts.map +1 -0
  319. package/pages/error.d.ts +101 -0
  320. package/pages/error.d.ts.map +1 -0
  321. package/pages/index.d.ts +9 -0
  322. package/pages/index.d.ts.map +1 -0
  323. package/pages/index.js +1065 -0
  324. package/react/Alert.d.ts +101 -0
  325. package/react/Alert.d.ts.map +1 -0
  326. package/react/Badge.d.ts +100 -0
  327. package/react/Badge.d.ts.map +1 -0
  328. package/react/Button.d.ts +108 -0
  329. package/react/Button.d.ts.map +1 -0
  330. package/react/Card.d.ts +103 -0
  331. package/react/Card.d.ts.map +1 -0
  332. package/react/hooks/context.d.ts +179 -0
  333. package/react/hooks/context.d.ts.map +1 -0
  334. package/react/hooks/index.d.ts +42 -0
  335. package/react/hooks/index.d.ts.map +1 -0
  336. package/react/hooks/tools.d.ts +284 -0
  337. package/react/hooks/tools.d.ts.map +1 -0
  338. package/react/index.d.ts +80 -0
  339. package/react/index.d.ts.map +1 -0
  340. package/react/index.js +3160 -0
  341. package/react/types.d.ts +105 -0
  342. package/react/types.d.ts.map +1 -0
  343. package/react/utils.d.ts +43 -0
  344. package/react/utils.d.ts.map +1 -0
  345. package/render/index.d.ts +8 -0
  346. package/render/index.d.ts.map +1 -0
  347. package/render/index.js +77 -0
  348. package/render/prerender.d.ts +57 -0
  349. package/render/prerender.d.ts.map +1 -0
  350. package/renderers/index.d.ts +21 -0
  351. package/renderers/index.d.ts.map +1 -0
  352. package/renderers/index.js +416 -0
  353. package/renderers/react.adapter.d.ts +70 -0
  354. package/renderers/react.adapter.d.ts.map +1 -0
  355. package/renderers/react.renderer.d.ts +96 -0
  356. package/renderers/react.renderer.d.ts.map +1 -0
  357. package/universal/UniversalApp.d.ts +108 -0
  358. package/universal/UniversalApp.d.ts.map +1 -0
  359. package/universal/cached-runtime.d.ts +115 -0
  360. package/universal/cached-runtime.d.ts.map +1 -0
  361. package/universal/context.d.ts +122 -0
  362. package/universal/context.d.ts.map +1 -0
  363. package/universal/index.d.ts +57 -0
  364. package/universal/index.d.ts.map +1 -0
  365. package/universal/index.js +1841 -0
  366. package/universal/renderers/html.renderer.d.ts +37 -0
  367. package/universal/renderers/html.renderer.d.ts.map +1 -0
  368. package/universal/renderers/index.d.ts +112 -0
  369. package/universal/renderers/index.d.ts.map +1 -0
  370. package/universal/renderers/markdown.renderer.d.ts +33 -0
  371. package/universal/renderers/markdown.renderer.d.ts.map +1 -0
  372. package/universal/renderers/mdx.renderer.d.ts +38 -0
  373. package/universal/renderers/mdx.renderer.d.ts.map +1 -0
  374. package/universal/renderers/react.renderer.d.ts +46 -0
  375. package/universal/renderers/react.renderer.d.ts.map +1 -0
  376. package/universal/runtime-builder.d.ts +33 -0
  377. package/universal/runtime-builder.d.ts.map +1 -0
  378. package/universal/store.d.ts +135 -0
  379. package/universal/store.d.ts.map +1 -0
  380. package/universal/types.d.ts +199 -0
  381. package/universal/types.d.ts.map +1 -0
  382. package/web-components/core/attribute-parser.d.ts +82 -0
  383. package/web-components/core/attribute-parser.d.ts.map +1 -0
  384. package/web-components/core/base-element.d.ts +197 -0
  385. package/web-components/core/base-element.d.ts.map +1 -0
  386. package/web-components/core/index.d.ts +9 -0
  387. package/web-components/core/index.d.ts.map +1 -0
  388. package/web-components/elements/fmcp-alert.d.ts +46 -0
  389. package/web-components/elements/fmcp-alert.d.ts.map +1 -0
  390. package/web-components/elements/fmcp-badge.d.ts +47 -0
  391. package/web-components/elements/fmcp-badge.d.ts.map +1 -0
  392. package/web-components/elements/fmcp-button.d.ts +117 -0
  393. package/web-components/elements/fmcp-button.d.ts.map +1 -0
  394. package/web-components/elements/fmcp-card.d.ts +53 -0
  395. package/web-components/elements/fmcp-card.d.ts.map +1 -0
  396. package/web-components/elements/fmcp-input.d.ts +96 -0
  397. package/web-components/elements/fmcp-input.d.ts.map +1 -0
  398. package/web-components/elements/fmcp-select.d.ts +100 -0
  399. package/web-components/elements/fmcp-select.d.ts.map +1 -0
  400. package/web-components/elements/index.d.ts +13 -0
  401. package/web-components/elements/index.d.ts.map +1 -0
  402. package/web-components/index.d.ts +50 -0
  403. package/web-components/index.d.ts.map +1 -0
  404. package/web-components/index.js +2028 -0
  405. package/web-components/register.d.ts +57 -0
  406. package/web-components/register.d.ts.map +1 -0
  407. package/web-components/types.d.ts +122 -0
  408. package/web-components/types.d.ts.map +1 -0
  409. package/widgets/index.d.ts +8 -0
  410. package/widgets/index.d.ts.map +1 -0
  411. package/widgets/index.js +910 -0
  412. package/widgets/progress.d.ts +133 -0
  413. package/widgets/progress.d.ts.map +1 -0
  414. package/widgets/resource.d.ts +163 -0
  415. package/widgets/resource.d.ts.map +1 -0
  416. package/src/adapters/index.d.ts +0 -10
  417. package/src/adapters/index.js +0 -18
  418. package/src/adapters/index.js.map +0 -1
  419. package/src/adapters/platform-meta.d.ts +0 -165
  420. package/src/adapters/platform-meta.js +0 -310
  421. package/src/adapters/platform-meta.js.map +0 -1
  422. package/src/base-template/bridge.d.ts +0 -89
  423. package/src/base-template/bridge.js +0 -452
  424. package/src/base-template/bridge.js.map +0 -1
  425. package/src/base-template/default-base-template.d.ts +0 -91
  426. package/src/base-template/default-base-template.js +0 -435
  427. package/src/base-template/default-base-template.js.map +0 -1
  428. package/src/base-template/index.d.ts +0 -14
  429. package/src/base-template/index.js +0 -30
  430. package/src/base-template/index.js.map +0 -1
  431. package/src/base-template/polyfills.d.ts +0 -30
  432. package/src/base-template/polyfills.js +0 -190
  433. package/src/base-template/polyfills.js.map +0 -1
  434. package/src/base-template/theme-styles.d.ts +0 -73
  435. package/src/base-template/theme-styles.js +0 -95
  436. package/src/base-template/theme-styles.js.map +0 -1
  437. package/src/bridge/adapters/base-adapter.d.ts +0 -103
  438. package/src/bridge/adapters/base-adapter.js +0 -314
  439. package/src/bridge/adapters/base-adapter.js.map +0 -1
  440. package/src/bridge/adapters/claude.adapter.d.ts +0 -66
  441. package/src/bridge/adapters/claude.adapter.js +0 -145
  442. package/src/bridge/adapters/claude.adapter.js.map +0 -1
  443. package/src/bridge/adapters/ext-apps.adapter.d.ts +0 -142
  444. package/src/bridge/adapters/ext-apps.adapter.js +0 -416
  445. package/src/bridge/adapters/ext-apps.adapter.js.map +0 -1
  446. package/src/bridge/adapters/gemini.adapter.d.ts +0 -63
  447. package/src/bridge/adapters/gemini.adapter.js +0 -160
  448. package/src/bridge/adapters/gemini.adapter.js.map +0 -1
  449. package/src/bridge/adapters/generic.adapter.d.ts +0 -55
  450. package/src/bridge/adapters/generic.adapter.js +0 -108
  451. package/src/bridge/adapters/generic.adapter.js.map +0 -1
  452. package/src/bridge/adapters/index.d.ts +0 -25
  453. package/src/bridge/adapters/index.js +0 -65
  454. package/src/bridge/adapters/index.js.map +0 -1
  455. package/src/bridge/adapters/openai.adapter.d.ts +0 -64
  456. package/src/bridge/adapters/openai.adapter.js +0 -194
  457. package/src/bridge/adapters/openai.adapter.js.map +0 -1
  458. package/src/bridge/core/adapter-registry.d.ts +0 -121
  459. package/src/bridge/core/adapter-registry.js +0 -271
  460. package/src/bridge/core/adapter-registry.js.map +0 -1
  461. package/src/bridge/core/bridge-factory.d.ts +0 -198
  462. package/src/bridge/core/bridge-factory.js +0 -428
  463. package/src/bridge/core/bridge-factory.js.map +0 -1
  464. package/src/bridge/core/index.d.ts +0 -9
  465. package/src/bridge/core/index.js +0 -22
  466. package/src/bridge/core/index.js.map +0 -1
  467. package/src/bridge/index.d.ts +0 -61
  468. package/src/bridge/index.js +0 -94
  469. package/src/bridge/index.js.map +0 -1
  470. package/src/bridge/runtime/iife-generator.d.ts +0 -61
  471. package/src/bridge/runtime/iife-generator.js +0 -940
  472. package/src/bridge/runtime/iife-generator.js.map +0 -1
  473. package/src/bridge/runtime/index.d.ts +0 -8
  474. package/src/bridge/runtime/index.js +0 -16
  475. package/src/bridge/runtime/index.js.map +0 -1
  476. package/src/bridge/types.d.ts +0 -385
  477. package/src/bridge/types.js +0 -11
  478. package/src/bridge/types.js.map +0 -1
  479. package/src/build/cdn-resources.d.ts +0 -140
  480. package/src/build/cdn-resources.js +0 -314
  481. package/src/build/cdn-resources.js.map +0 -1
  482. package/src/build/index.d.ts +0 -294
  483. package/src/build/index.js +0 -325
  484. package/src/build/index.js.map +0 -1
  485. package/src/build/widget-manifest.d.ts +0 -212
  486. package/src/build/widget-manifest.js +0 -652
  487. package/src/build/widget-manifest.js.map +0 -1
  488. package/src/bundler/bundler.d.ts +0 -110
  489. package/src/bundler/bundler.js +0 -432
  490. package/src/bundler/bundler.js.map +0 -1
  491. package/src/bundler/cache.d.ts +0 -172
  492. package/src/bundler/cache.js +0 -250
  493. package/src/bundler/cache.js.map +0 -1
  494. package/src/bundler/index.d.ts +0 -41
  495. package/src/bundler/index.js +0 -73
  496. package/src/bundler/index.js.map +0 -1
  497. package/src/bundler/sandbox/enclave-adapter.d.ts +0 -120
  498. package/src/bundler/sandbox/enclave-adapter.js +0 -339
  499. package/src/bundler/sandbox/enclave-adapter.js.map +0 -1
  500. package/src/bundler/sandbox/executor.d.ts +0 -13
  501. package/src/bundler/sandbox/executor.js +0 -22
  502. package/src/bundler/sandbox/executor.js.map +0 -1
  503. package/src/bundler/sandbox/policy.d.ts +0 -61
  504. package/src/bundler/sandbox/policy.js +0 -238
  505. package/src/bundler/sandbox/policy.js.map +0 -1
  506. package/src/bundler/types.d.ts +0 -347
  507. package/src/bundler/types.js +0 -132
  508. package/src/bundler/types.js.map +0 -1
  509. package/src/components/alert.d.ts +0 -71
  510. package/src/components/alert.js +0 -189
  511. package/src/components/alert.js.map +0 -1
  512. package/src/components/alert.schema.d.ts +0 -114
  513. package/src/components/alert.schema.js +0 -105
  514. package/src/components/alert.schema.js.map +0 -1
  515. package/src/components/avatar.d.ts +0 -76
  516. package/src/components/avatar.js +0 -176
  517. package/src/components/avatar.js.map +0 -1
  518. package/src/components/avatar.schema.d.ts +0 -169
  519. package/src/components/avatar.schema.js +0 -103
  520. package/src/components/avatar.schema.js.map +0 -1
  521. package/src/components/badge.d.ts +0 -70
  522. package/src/components/badge.js +0 -149
  523. package/src/components/badge.js.map +0 -1
  524. package/src/components/badge.schema.d.ts +0 -109
  525. package/src/components/badge.schema.js +0 -96
  526. package/src/components/badge.schema.js.map +0 -1
  527. package/src/components/button.d.ts +0 -111
  528. package/src/components/button.js +0 -336
  529. package/src/components/button.js.map +0 -1
  530. package/src/components/button.schema.d.ts +0 -148
  531. package/src/components/button.schema.js +0 -121
  532. package/src/components/button.schema.js.map +0 -1
  533. package/src/components/card.d.ts +0 -60
  534. package/src/components/card.js +0 -117
  535. package/src/components/card.js.map +0 -1
  536. package/src/components/card.schema.d.ts +0 -113
  537. package/src/components/card.schema.js +0 -98
  538. package/src/components/card.schema.js.map +0 -1
  539. package/src/components/form.d.ts +0 -239
  540. package/src/components/form.js +0 -420
  541. package/src/components/form.js.map +0 -1
  542. package/src/components/form.schema.d.ts +0 -441
  543. package/src/components/form.schema.js +0 -406
  544. package/src/components/form.schema.js.map +0 -1
  545. package/src/components/index.d.ts +0 -29
  546. package/src/components/index.js +0 -98
  547. package/src/components/index.js.map +0 -1
  548. package/src/components/list.d.ts +0 -127
  549. package/src/components/list.js +0 -279
  550. package/src/components/list.js.map +0 -1
  551. package/src/components/list.schema.d.ts +0 -134
  552. package/src/components/list.schema.js +0 -168
  553. package/src/components/list.schema.js.map +0 -1
  554. package/src/components/modal.d.ts +0 -111
  555. package/src/components/modal.js +0 -260
  556. package/src/components/modal.js.map +0 -1
  557. package/src/components/modal.schema.d.ts +0 -186
  558. package/src/components/modal.schema.js +0 -167
  559. package/src/components/modal.schema.js.map +0 -1
  560. package/src/components/table.d.ts +0 -105
  561. package/src/components/table.js +0 -283
  562. package/src/components/table.js.map +0 -1
  563. package/src/components/table.schema.d.ts +0 -159
  564. package/src/components/table.schema.js +0 -173
  565. package/src/components/table.schema.js.map +0 -1
  566. package/src/handlebars/helpers.d.ts +0 -348
  567. package/src/handlebars/helpers.js +0 -605
  568. package/src/handlebars/helpers.js.map +0 -1
  569. package/src/handlebars/index.d.ts +0 -193
  570. package/src/handlebars/index.js +0 -350
  571. package/src/handlebars/index.js.map +0 -1
  572. package/src/index.d.ts +0 -50
  573. package/src/index.js +0 -192
  574. package/src/index.js.map +0 -1
  575. package/src/layouts/base.d.ts +0 -88
  576. package/src/layouts/base.js +0 -227
  577. package/src/layouts/base.js.map +0 -1
  578. package/src/layouts/index.d.ts +0 -7
  579. package/src/layouts/index.js +0 -25
  580. package/src/layouts/index.js.map +0 -1
  581. package/src/layouts/presets.d.ts +0 -133
  582. package/src/layouts/presets.js +0 -277
  583. package/src/layouts/presets.js.map +0 -1
  584. package/src/pages/consent.d.ts +0 -116
  585. package/src/pages/consent.js +0 -218
  586. package/src/pages/consent.js.map +0 -1
  587. package/src/pages/error.d.ts +0 -100
  588. package/src/pages/error.js +0 -263
  589. package/src/pages/error.js.map +0 -1
  590. package/src/pages/index.d.ts +0 -8
  591. package/src/pages/index.js +0 -27
  592. package/src/pages/index.js.map +0 -1
  593. package/src/react/Alert.d.ts +0 -101
  594. package/src/react/Alert.js +0 -51
  595. package/src/react/Alert.js.map +0 -1
  596. package/src/react/Badge.d.ts +0 -100
  597. package/src/react/Badge.js +0 -55
  598. package/src/react/Badge.js.map +0 -1
  599. package/src/react/Button.d.ts +0 -108
  600. package/src/react/Button.js +0 -52
  601. package/src/react/Button.js.map +0 -1
  602. package/src/react/Card.d.ts +0 -103
  603. package/src/react/Card.js +0 -55
  604. package/src/react/Card.js.map +0 -1
  605. package/src/react/hooks/context.d.ts +0 -178
  606. package/src/react/hooks/context.js +0 -287
  607. package/src/react/hooks/context.js.map +0 -1
  608. package/src/react/hooks/index.d.ts +0 -41
  609. package/src/react/hooks/index.js +0 -61
  610. package/src/react/hooks/index.js.map +0 -1
  611. package/src/react/hooks/tools.d.ts +0 -283
  612. package/src/react/hooks/tools.js +0 -465
  613. package/src/react/hooks/tools.js.map +0 -1
  614. package/src/react/index.d.ts +0 -80
  615. package/src/react/index.js +0 -113
  616. package/src/react/index.js.map +0 -1
  617. package/src/react/types.d.ts +0 -105
  618. package/src/react/types.js +0 -12
  619. package/src/react/types.js.map +0 -1
  620. package/src/react/utils.d.ts +0 -42
  621. package/src/react/utils.js +0 -99
  622. package/src/react/utils.js.map +0 -1
  623. package/src/registry/index.d.ts +0 -45
  624. package/src/registry/index.js +0 -67
  625. package/src/registry/index.js.map +0 -1
  626. package/src/registry/render-template.d.ts +0 -86
  627. package/src/registry/render-template.js +0 -239
  628. package/src/registry/render-template.js.map +0 -1
  629. package/src/registry/tool-ui.registry.d.ts +0 -260
  630. package/src/registry/tool-ui.registry.js +0 -438
  631. package/src/registry/tool-ui.registry.js.map +0 -1
  632. package/src/registry/uri-utils.d.ts +0 -55
  633. package/src/registry/uri-utils.js +0 -97
  634. package/src/registry/uri-utils.js.map +0 -1
  635. package/src/render/index.d.ts +0 -7
  636. package/src/render/index.js +0 -14
  637. package/src/render/index.js.map +0 -1
  638. package/src/render/prerender.d.ts +0 -56
  639. package/src/render/prerender.js +0 -98
  640. package/src/render/prerender.js.map +0 -1
  641. package/src/renderers/cache.d.ts +0 -144
  642. package/src/renderers/cache.js +0 -240
  643. package/src/renderers/cache.js.map +0 -1
  644. package/src/renderers/html.renderer.d.ts +0 -122
  645. package/src/renderers/html.renderer.js +0 -204
  646. package/src/renderers/html.renderer.js.map +0 -1
  647. package/src/renderers/index.d.ts +0 -35
  648. package/src/renderers/index.js +0 -70
  649. package/src/renderers/index.js.map +0 -1
  650. package/src/renderers/mdx.renderer.d.ts +0 -119
  651. package/src/renderers/mdx.renderer.js +0 -305
  652. package/src/renderers/mdx.renderer.js.map +0 -1
  653. package/src/renderers/react.renderer.d.ts +0 -95
  654. package/src/renderers/react.renderer.js +0 -260
  655. package/src/renderers/react.renderer.js.map +0 -1
  656. package/src/renderers/registry.d.ts +0 -133
  657. package/src/renderers/registry.js +0 -232
  658. package/src/renderers/registry.js.map +0 -1
  659. package/src/renderers/types.d.ts +0 -341
  660. package/src/renderers/types.js +0 -9
  661. package/src/renderers/types.js.map +0 -1
  662. package/src/renderers/utils/detect.d.ts +0 -106
  663. package/src/renderers/utils/detect.js +0 -267
  664. package/src/renderers/utils/detect.js.map +0 -1
  665. package/src/renderers/utils/hash.d.ts +0 -39
  666. package/src/renderers/utils/hash.js +0 -75
  667. package/src/renderers/utils/hash.js.map +0 -1
  668. package/src/renderers/utils/index.d.ts +0 -8
  669. package/src/renderers/utils/index.js +0 -28
  670. package/src/renderers/utils/index.js.map +0 -1
  671. package/src/renderers/utils/transpiler.d.ts +0 -88
  672. package/src/renderers/utils/transpiler.js +0 -215
  673. package/src/renderers/utils/transpiler.js.map +0 -1
  674. package/src/runtime/adapters/html.adapter.d.ts +0 -58
  675. package/src/runtime/adapters/html.adapter.js +0 -131
  676. package/src/runtime/adapters/html.adapter.js.map +0 -1
  677. package/src/runtime/adapters/index.d.ts +0 -25
  678. package/src/runtime/adapters/index.js +0 -54
  679. package/src/runtime/adapters/index.js.map +0 -1
  680. package/src/runtime/adapters/mdx.adapter.d.ts +0 -72
  681. package/src/runtime/adapters/mdx.adapter.js +0 -241
  682. package/src/runtime/adapters/mdx.adapter.js.map +0 -1
  683. package/src/runtime/adapters/react.adapter.d.ts +0 -69
  684. package/src/runtime/adapters/react.adapter.js +0 -245
  685. package/src/runtime/adapters/react.adapter.js.map +0 -1
  686. package/src/runtime/adapters/types.d.ts +0 -94
  687. package/src/runtime/adapters/types.js +0 -11
  688. package/src/runtime/adapters/types.js.map +0 -1
  689. package/src/runtime/csp.d.ts +0 -37
  690. package/src/runtime/csp.js +0 -140
  691. package/src/runtime/csp.js.map +0 -1
  692. package/src/runtime/index.d.ts +0 -16
  693. package/src/runtime/index.js +0 -72
  694. package/src/runtime/index.js.map +0 -1
  695. package/src/runtime/mcp-bridge.d.ts +0 -100
  696. package/src/runtime/mcp-bridge.js +0 -581
  697. package/src/runtime/mcp-bridge.js.map +0 -1
  698. package/src/runtime/renderer-runtime.d.ts +0 -132
  699. package/src/runtime/renderer-runtime.js +0 -389
  700. package/src/runtime/renderer-runtime.js.map +0 -1
  701. package/src/runtime/sanitizer.d.ts +0 -171
  702. package/src/runtime/sanitizer.js +0 -318
  703. package/src/runtime/sanitizer.js.map +0 -1
  704. package/src/runtime/types.d.ts +0 -414
  705. package/src/runtime/types.js +0 -12
  706. package/src/runtime/types.js.map +0 -1
  707. package/src/runtime/wrapper.d.ts +0 -375
  708. package/src/runtime/wrapper.js +0 -1793
  709. package/src/runtime/wrapper.js.map +0 -1
  710. package/src/styles/index.d.ts +0 -7
  711. package/src/styles/index.js +0 -11
  712. package/src/styles/index.js.map +0 -1
  713. package/src/styles/variants.d.ts +0 -50
  714. package/src/styles/variants.js +0 -175
  715. package/src/styles/variants.js.map +0 -1
  716. package/src/theme/cdn.d.ts +0 -194
  717. package/src/theme/cdn.js +0 -375
  718. package/src/theme/cdn.js.map +0 -1
  719. package/src/theme/index.d.ts +0 -17
  720. package/src/theme/index.js +0 -57
  721. package/src/theme/index.js.map +0 -1
  722. package/src/theme/platforms.d.ts +0 -106
  723. package/src/theme/platforms.js +0 -161
  724. package/src/theme/platforms.js.map +0 -1
  725. package/src/theme/presets/github-openai.d.ts +0 -49
  726. package/src/theme/presets/github-openai.js +0 -189
  727. package/src/theme/presets/github-openai.js.map +0 -1
  728. package/src/theme/presets/index.d.ts +0 -10
  729. package/src/theme/presets/index.js +0 -17
  730. package/src/theme/presets/index.js.map +0 -1
  731. package/src/theme/theme.d.ts +0 -395
  732. package/src/theme/theme.js +0 -332
  733. package/src/theme/theme.js.map +0 -1
  734. package/src/tool-template/builder.d.ts +0 -212
  735. package/src/tool-template/builder.js +0 -397
  736. package/src/tool-template/builder.js.map +0 -1
  737. package/src/tool-template/index.d.ts +0 -15
  738. package/src/tool-template/index.js +0 -38
  739. package/src/tool-template/index.js.map +0 -1
  740. package/src/types/index.d.ts +0 -13
  741. package/src/types/index.js +0 -26
  742. package/src/types/index.js.map +0 -1
  743. package/src/types/ui-config.d.ts +0 -357
  744. package/src/types/ui-config.js +0 -12
  745. package/src/types/ui-config.js.map +0 -1
  746. package/src/types/ui-runtime.d.ts +0 -965
  747. package/src/types/ui-runtime.js +0 -117
  748. package/src/types/ui-runtime.js.map +0 -1
  749. package/src/validation/error-box.d.ts +0 -55
  750. package/src/validation/error-box.js +0 -75
  751. package/src/validation/error-box.js.map +0 -1
  752. package/src/validation/index.d.ts +0 -12
  753. package/src/validation/index.js +0 -21
  754. package/src/validation/index.js.map +0 -1
  755. package/src/validation/wrapper.d.ts +0 -96
  756. package/src/validation/wrapper.js +0 -117
  757. package/src/validation/wrapper.js.map +0 -1
  758. package/src/web-components/core/attribute-parser.d.ts +0 -85
  759. package/src/web-components/core/attribute-parser.js +0 -189
  760. package/src/web-components/core/attribute-parser.js.map +0 -1
  761. package/src/web-components/core/base-element.d.ts +0 -197
  762. package/src/web-components/core/base-element.js +0 -289
  763. package/src/web-components/core/base-element.js.map +0 -1
  764. package/src/web-components/core/index.d.ts +0 -8
  765. package/src/web-components/core/index.js +0 -18
  766. package/src/web-components/core/index.js.map +0 -1
  767. package/src/web-components/elements/fmcp-alert.d.ts +0 -45
  768. package/src/web-components/elements/fmcp-alert.js +0 -93
  769. package/src/web-components/elements/fmcp-alert.js.map +0 -1
  770. package/src/web-components/elements/fmcp-badge.d.ts +0 -46
  771. package/src/web-components/elements/fmcp-badge.js +0 -99
  772. package/src/web-components/elements/fmcp-badge.js.map +0 -1
  773. package/src/web-components/elements/fmcp-button.d.ts +0 -124
  774. package/src/web-components/elements/fmcp-button.js +0 -233
  775. package/src/web-components/elements/fmcp-button.js.map +0 -1
  776. package/src/web-components/elements/fmcp-card.d.ts +0 -52
  777. package/src/web-components/elements/fmcp-card.js +0 -115
  778. package/src/web-components/elements/fmcp-card.js.map +0 -1
  779. package/src/web-components/elements/fmcp-input.d.ts +0 -95
  780. package/src/web-components/elements/fmcp-input.js +0 -248
  781. package/src/web-components/elements/fmcp-input.js.map +0 -1
  782. package/src/web-components/elements/fmcp-select.d.ts +0 -99
  783. package/src/web-components/elements/fmcp-select.js +0 -243
  784. package/src/web-components/elements/fmcp-select.js.map +0 -1
  785. package/src/web-components/elements/index.d.ts +0 -12
  786. package/src/web-components/elements/index.js +0 -34
  787. package/src/web-components/elements/index.js.map +0 -1
  788. package/src/web-components/index.d.ts +0 -49
  789. package/src/web-components/index.js +0 -75
  790. package/src/web-components/index.js.map +0 -1
  791. package/src/web-components/register.d.ts +0 -56
  792. package/src/web-components/register.js +0 -80
  793. package/src/web-components/register.js.map +0 -1
  794. package/src/web-components/types.d.ts +0 -121
  795. package/src/web-components/types.js +0 -25
  796. package/src/web-components/types.js.map +0 -1
  797. package/src/widgets/index.d.ts +0 -7
  798. package/src/widgets/index.js +0 -24
  799. package/src/widgets/index.js.map +0 -1
  800. package/src/widgets/progress.d.ts +0 -132
  801. package/src/widgets/progress.js +0 -303
  802. package/src/widgets/progress.js.map +0 -1
  803. package/src/widgets/resource.d.ts +0 -162
  804. package/src/widgets/resource.js +0 -340
  805. package/src/widgets/resource.js.map +0 -1
@@ -1,198 +0,0 @@
1
- /**
2
- * FrontMcpBridge Factory
3
- *
4
- * Main entry point for the unified multi-platform adapter system.
5
- * Provides automatic platform detection and a consistent API across
6
- * OpenAI, Claude, ext-apps, Gemini, and custom adapters.
7
- *
8
- * @packageDocumentation
9
- */
10
- import type { PlatformAdapter, AdapterCapabilities, BridgeConfig, DisplayMode, HostContext, FrontMcpBridgeInterface } from '../types';
11
- import { AdapterRegistry } from './adapter-registry';
12
- /**
13
- * FrontMcpBridge - Unified multi-platform bridge for MCP tool widgets.
14
- *
15
- * @example Basic usage with auto-detection
16
- * ```typescript
17
- * const bridge = new FrontMcpBridge();
18
- * await bridge.initialize();
19
- *
20
- * const theme = bridge.getTheme();
21
- * const toolInput = bridge.getToolInput();
22
- * ```
23
- *
24
- * @example Force specific adapter
25
- * ```typescript
26
- * const bridge = new FrontMcpBridge({
27
- * forceAdapter: 'openai',
28
- * debug: true,
29
- * });
30
- * await bridge.initialize();
31
- * ```
32
- *
33
- * @example With custom registry
34
- * ```typescript
35
- * const registry = new AdapterRegistry();
36
- * registry.register('custom', createCustomAdapter);
37
- *
38
- * const bridge = new FrontMcpBridge({ forceAdapter: 'custom' }, registry);
39
- * await bridge.initialize();
40
- * ```
41
- */
42
- export declare class FrontMcpBridge implements FrontMcpBridgeInterface {
43
- private _config;
44
- private _registry;
45
- private _adapter;
46
- private _initialized;
47
- private _initPromise;
48
- /**
49
- * Create a new FrontMcpBridge instance.
50
- * @param config - Bridge configuration
51
- * @param registry - Optional custom adapter registry (uses default if not provided)
52
- */
53
- constructor(config?: BridgeConfig, registry?: AdapterRegistry);
54
- /**
55
- * Whether the bridge has been initialized.
56
- */
57
- get initialized(): boolean;
58
- /**
59
- * Current adapter ID, or undefined if not initialized.
60
- */
61
- get adapterId(): string | undefined;
62
- /**
63
- * Current adapter capabilities, or undefined if not initialized.
64
- */
65
- get capabilities(): AdapterCapabilities | undefined;
66
- /**
67
- * Initialize the bridge.
68
- * Auto-detects the best adapter for the current platform unless
69
- * `forceAdapter` is specified in the config.
70
- *
71
- * @throws Error if no suitable adapter is found
72
- */
73
- initialize(): Promise<void>;
74
- /**
75
- * Internal initialization logic.
76
- */
77
- private _doInitialize;
78
- /**
79
- * Dispose the bridge and release resources.
80
- */
81
- dispose(): void;
82
- /**
83
- * Get the active adapter instance.
84
- */
85
- getAdapter(): PlatformAdapter | undefined;
86
- /**
87
- * Check if a specific capability is available.
88
- * @param cap - Capability key to check
89
- */
90
- hasCapability(cap: keyof AdapterCapabilities): boolean;
91
- /**
92
- * Get current theme.
93
- */
94
- getTheme(): 'light' | 'dark';
95
- /**
96
- * Get current display mode.
97
- */
98
- getDisplayMode(): DisplayMode;
99
- /**
100
- * Get tool input arguments.
101
- */
102
- getToolInput(): Record<string, unknown>;
103
- /**
104
- * Get tool output/result.
105
- */
106
- getToolOutput(): unknown;
107
- /**
108
- * Get structured content (parsed output).
109
- */
110
- getStructuredContent(): unknown;
111
- /**
112
- * Get persisted widget state.
113
- */
114
- getWidgetState(): Record<string, unknown>;
115
- /**
116
- * Get full host context.
117
- */
118
- getHostContext(): HostContext;
119
- /**
120
- * Call a tool on the MCP server.
121
- * @param name - Tool name
122
- * @param args - Tool arguments
123
- */
124
- callTool(name: string, args: Record<string, unknown>): Promise<unknown>;
125
- /**
126
- * Send a follow-up message to the conversation.
127
- * @param content - Message content
128
- */
129
- sendMessage(content: string): Promise<void>;
130
- /**
131
- * Open an external link.
132
- * @param url - URL to open
133
- */
134
- openLink(url: string): Promise<void>;
135
- /**
136
- * Request a display mode change.
137
- * @param mode - Desired display mode
138
- */
139
- requestDisplayMode(mode: DisplayMode): Promise<void>;
140
- /**
141
- * Request widget close.
142
- */
143
- requestClose(): Promise<void>;
144
- /**
145
- * Set widget state (persisted across sessions).
146
- * @param state - State object to persist
147
- */
148
- setWidgetState(state: Record<string, unknown>): void;
149
- /**
150
- * Subscribe to host context changes.
151
- * @param callback - Called when context changes
152
- * @returns Unsubscribe function
153
- */
154
- onContextChange(callback: (changes: Partial<HostContext>) => void): () => void;
155
- /**
156
- * Subscribe to tool result updates.
157
- * @param callback - Called when tool result is received
158
- * @returns Unsubscribe function
159
- */
160
- onToolResult(callback: (result: unknown) => void): () => void;
161
- /**
162
- * Ensure the bridge is initialized before operations.
163
- */
164
- private _ensureInitialized;
165
- /**
166
- * Wrap a promise with a timeout.
167
- */
168
- private _withTimeout;
169
- /**
170
- * Emit a bridge event via CustomEvent.
171
- */
172
- private _emitEvent;
173
- /**
174
- * Log debug message if debugging is enabled.
175
- */
176
- private _log;
177
- }
178
- /**
179
- * Create and initialize a bridge instance.
180
- * Convenience function for one-liner initialization.
181
- *
182
- * @example
183
- * ```typescript
184
- * const bridge = await createBridge({ debug: true });
185
- * const theme = bridge.getTheme();
186
- * ```
187
- */
188
- export declare function createBridge(config?: BridgeConfig, registry?: AdapterRegistry): Promise<FrontMcpBridge>;
189
- /**
190
- * Get or create the global bridge instance.
191
- * Initializes automatically on first call.
192
- */
193
- export declare function getGlobalBridge(config?: BridgeConfig): Promise<FrontMcpBridge>;
194
- /**
195
- * Reset the global bridge instance.
196
- * Useful for testing or when switching configurations.
197
- */
198
- export declare function resetGlobalBridge(): void;
@@ -1,428 +0,0 @@
1
- "use strict";
2
- /**
3
- * FrontMcpBridge Factory
4
- *
5
- * Main entry point for the unified multi-platform adapter system.
6
- * Provides automatic platform detection and a consistent API across
7
- * OpenAI, Claude, ext-apps, Gemini, and custom adapters.
8
- *
9
- * @packageDocumentation
10
- */
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.FrontMcpBridge = void 0;
13
- exports.createBridge = createBridge;
14
- exports.getGlobalBridge = getGlobalBridge;
15
- exports.resetGlobalBridge = resetGlobalBridge;
16
- const adapter_registry_1 = require("./adapter-registry");
17
- /**
18
- * Default bridge configuration.
19
- */
20
- const DEFAULT_CONFIG = {
21
- debug: false,
22
- initTimeout: 5000,
23
- };
24
- /**
25
- * Empty capabilities returned when no adapter is active.
26
- */
27
- const EMPTY_CAPABILITIES = {
28
- canCallTools: false,
29
- canSendMessages: false,
30
- canOpenLinks: false,
31
- canPersistState: false,
32
- hasNetworkAccess: false,
33
- supportsDisplayModes: false,
34
- supportsTheme: false,
35
- };
36
- /**
37
- * FrontMcpBridge - Unified multi-platform bridge for MCP tool widgets.
38
- *
39
- * @example Basic usage with auto-detection
40
- * ```typescript
41
- * const bridge = new FrontMcpBridge();
42
- * await bridge.initialize();
43
- *
44
- * const theme = bridge.getTheme();
45
- * const toolInput = bridge.getToolInput();
46
- * ```
47
- *
48
- * @example Force specific adapter
49
- * ```typescript
50
- * const bridge = new FrontMcpBridge({
51
- * forceAdapter: 'openai',
52
- * debug: true,
53
- * });
54
- * await bridge.initialize();
55
- * ```
56
- *
57
- * @example With custom registry
58
- * ```typescript
59
- * const registry = new AdapterRegistry();
60
- * registry.register('custom', createCustomAdapter);
61
- *
62
- * const bridge = new FrontMcpBridge({ forceAdapter: 'custom' }, registry);
63
- * await bridge.initialize();
64
- * ```
65
- */
66
- class FrontMcpBridge {
67
- _config;
68
- _registry;
69
- _adapter;
70
- _initialized = false;
71
- _initPromise;
72
- /**
73
- * Create a new FrontMcpBridge instance.
74
- * @param config - Bridge configuration
75
- * @param registry - Optional custom adapter registry (uses default if not provided)
76
- */
77
- constructor(config = {}, registry) {
78
- this._config = { ...DEFAULT_CONFIG, ...config };
79
- this._registry = registry || adapter_registry_1.defaultRegistry;
80
- if (this._config.debug) {
81
- this._registry.setDebug(true);
82
- }
83
- // Apply disabled adapters
84
- if (this._config.disabledAdapters) {
85
- this._registry.disable(...this._config.disabledAdapters);
86
- }
87
- // Apply adapter configs
88
- if (this._config.adapterConfigs) {
89
- for (const [id, adapterConfig] of Object.entries(this._config.adapterConfigs)) {
90
- this._registry.configure(id, adapterConfig);
91
- }
92
- }
93
- }
94
- // ============================================
95
- // Public Properties
96
- // ============================================
97
- /**
98
- * Whether the bridge has been initialized.
99
- */
100
- get initialized() {
101
- return this._initialized;
102
- }
103
- /**
104
- * Current adapter ID, or undefined if not initialized.
105
- */
106
- get adapterId() {
107
- return this._adapter?.id;
108
- }
109
- /**
110
- * Current adapter capabilities, or undefined if not initialized.
111
- */
112
- get capabilities() {
113
- return this._adapter?.capabilities;
114
- }
115
- // ============================================
116
- // Lifecycle
117
- // ============================================
118
- /**
119
- * Initialize the bridge.
120
- * Auto-detects the best adapter for the current platform unless
121
- * `forceAdapter` is specified in the config.
122
- *
123
- * @throws Error if no suitable adapter is found
124
- */
125
- async initialize() {
126
- // Ensure only one initialization runs at a time
127
- if (this._initPromise) {
128
- return this._initPromise;
129
- }
130
- if (this._initialized) {
131
- return;
132
- }
133
- this._initPromise = this._doInitialize();
134
- try {
135
- await this._initPromise;
136
- }
137
- finally {
138
- this._initPromise = undefined;
139
- }
140
- }
141
- /**
142
- * Internal initialization logic.
143
- */
144
- async _doInitialize() {
145
- this._log('Initializing FrontMcpBridge...');
146
- // Select adapter
147
- if (this._config.forceAdapter) {
148
- this._adapter = this._registry.get(this._config.forceAdapter);
149
- if (!this._adapter) {
150
- throw new Error(`Forced adapter "${this._config.forceAdapter}" not found or disabled`);
151
- }
152
- this._log(`Using forced adapter: ${this._config.forceAdapter}`);
153
- }
154
- else {
155
- this._adapter = this._registry.detect();
156
- if (!this._adapter) {
157
- throw new Error('No suitable adapter detected for current environment');
158
- }
159
- this._log(`Auto-detected adapter: ${this._adapter.id}`);
160
- }
161
- // Initialize adapter with timeout
162
- try {
163
- await this._withTimeout(this._adapter.initialize(), this._config.initTimeout || 5000);
164
- this._initialized = true;
165
- this._log(`Bridge initialized with adapter: ${this._adapter.id}`);
166
- this._emitEvent('bridge:ready', { adapter: this._adapter.id });
167
- }
168
- catch (error) {
169
- this._emitEvent('bridge:error', {
170
- error: error instanceof Error ? error : new Error(String(error)),
171
- adapter: this._adapter?.id,
172
- });
173
- throw error;
174
- }
175
- }
176
- /**
177
- * Dispose the bridge and release resources.
178
- */
179
- dispose() {
180
- if (this._adapter) {
181
- this._adapter.dispose();
182
- this._log(`Disposed adapter: ${this._adapter.id}`);
183
- }
184
- this._adapter = undefined;
185
- this._initialized = false;
186
- }
187
- // ============================================
188
- // Adapter Access
189
- // ============================================
190
- /**
191
- * Get the active adapter instance.
192
- */
193
- getAdapter() {
194
- return this._adapter;
195
- }
196
- /**
197
- * Check if a specific capability is available.
198
- * @param cap - Capability key to check
199
- */
200
- hasCapability(cap) {
201
- return this._adapter?.capabilities[cap] === true;
202
- }
203
- // ============================================
204
- // Data Access (delegate to adapter)
205
- // ============================================
206
- /**
207
- * Get current theme.
208
- */
209
- getTheme() {
210
- this._ensureInitialized();
211
- return this._adapter.getTheme();
212
- }
213
- /**
214
- * Get current display mode.
215
- */
216
- getDisplayMode() {
217
- this._ensureInitialized();
218
- return this._adapter.getDisplayMode();
219
- }
220
- /**
221
- * Get tool input arguments.
222
- */
223
- getToolInput() {
224
- this._ensureInitialized();
225
- return this._adapter.getToolInput();
226
- }
227
- /**
228
- * Get tool output/result.
229
- */
230
- getToolOutput() {
231
- this._ensureInitialized();
232
- return this._adapter.getToolOutput();
233
- }
234
- /**
235
- * Get structured content (parsed output).
236
- */
237
- getStructuredContent() {
238
- this._ensureInitialized();
239
- return this._adapter.getStructuredContent();
240
- }
241
- /**
242
- * Get persisted widget state.
243
- */
244
- getWidgetState() {
245
- this._ensureInitialized();
246
- return this._adapter.getWidgetState();
247
- }
248
- /**
249
- * Get full host context.
250
- */
251
- getHostContext() {
252
- this._ensureInitialized();
253
- return this._adapter.getHostContext();
254
- }
255
- // ============================================
256
- // Actions (delegate to adapter)
257
- // ============================================
258
- /**
259
- * Call a tool on the MCP server.
260
- * @param name - Tool name
261
- * @param args - Tool arguments
262
- */
263
- async callTool(name, args) {
264
- this._ensureInitialized();
265
- if (!this.hasCapability('canCallTools')) {
266
- throw new Error('Tool calls are not supported by the current adapter');
267
- }
268
- return this._adapter.callTool(name, args);
269
- }
270
- /**
271
- * Send a follow-up message to the conversation.
272
- * @param content - Message content
273
- */
274
- async sendMessage(content) {
275
- this._ensureInitialized();
276
- if (!this.hasCapability('canSendMessages')) {
277
- throw new Error('Sending messages is not supported by the current adapter');
278
- }
279
- return this._adapter.sendMessage(content);
280
- }
281
- /**
282
- * Open an external link.
283
- * @param url - URL to open
284
- */
285
- async openLink(url) {
286
- this._ensureInitialized();
287
- return this._adapter.openLink(url);
288
- }
289
- /**
290
- * Request a display mode change.
291
- * @param mode - Desired display mode
292
- */
293
- async requestDisplayMode(mode) {
294
- this._ensureInitialized();
295
- return this._adapter.requestDisplayMode(mode);
296
- }
297
- /**
298
- * Request widget close.
299
- */
300
- async requestClose() {
301
- this._ensureInitialized();
302
- return this._adapter.requestClose();
303
- }
304
- /**
305
- * Set widget state (persisted across sessions).
306
- * @param state - State object to persist
307
- */
308
- setWidgetState(state) {
309
- this._ensureInitialized();
310
- this._adapter.setWidgetState(state);
311
- }
312
- // ============================================
313
- // Events (delegate to adapter)
314
- // ============================================
315
- /**
316
- * Subscribe to host context changes.
317
- * @param callback - Called when context changes
318
- * @returns Unsubscribe function
319
- */
320
- onContextChange(callback) {
321
- this._ensureInitialized();
322
- return this._adapter.onContextChange(callback);
323
- }
324
- /**
325
- * Subscribe to tool result updates.
326
- * @param callback - Called when tool result is received
327
- * @returns Unsubscribe function
328
- */
329
- onToolResult(callback) {
330
- this._ensureInitialized();
331
- return this._adapter.onToolResult(callback);
332
- }
333
- // ============================================
334
- // Private Helpers
335
- // ============================================
336
- /**
337
- * Ensure the bridge is initialized before operations.
338
- */
339
- _ensureInitialized() {
340
- if (!this._initialized || !this._adapter) {
341
- throw new Error('FrontMcpBridge is not initialized. Call initialize() first.');
342
- }
343
- }
344
- /**
345
- * Wrap a promise with a timeout.
346
- */
347
- _withTimeout(promise, ms) {
348
- return new Promise((resolve, reject) => {
349
- const timer = setTimeout(() => {
350
- reject(new Error(`Operation timed out after ${ms}ms`));
351
- }, ms);
352
- promise
353
- .then((result) => {
354
- clearTimeout(timer);
355
- resolve(result);
356
- })
357
- .catch((error) => {
358
- clearTimeout(timer);
359
- reject(error);
360
- });
361
- });
362
- }
363
- /**
364
- * Emit a bridge event via CustomEvent.
365
- */
366
- _emitEvent(type, payload) {
367
- if (typeof window !== 'undefined' && typeof CustomEvent !== 'undefined') {
368
- try {
369
- const event = new CustomEvent(type, { detail: payload });
370
- window.dispatchEvent(event);
371
- }
372
- catch {
373
- // Ignore event dispatch errors
374
- }
375
- }
376
- }
377
- /**
378
- * Log debug message if debugging is enabled.
379
- */
380
- _log(message) {
381
- if (this._config.debug) {
382
- console.log(`[FrontMcpBridge] ${message}`);
383
- }
384
- }
385
- }
386
- exports.FrontMcpBridge = FrontMcpBridge;
387
- /**
388
- * Create and initialize a bridge instance.
389
- * Convenience function for one-liner initialization.
390
- *
391
- * @example
392
- * ```typescript
393
- * const bridge = await createBridge({ debug: true });
394
- * const theme = bridge.getTheme();
395
- * ```
396
- */
397
- async function createBridge(config, registry) {
398
- const bridge = new FrontMcpBridge(config, registry);
399
- await bridge.initialize();
400
- return bridge;
401
- }
402
- /**
403
- * Global bridge instance for singleton pattern.
404
- * Use with caution - prefer creating instances when possible.
405
- */
406
- let _globalBridge;
407
- /**
408
- * Get or create the global bridge instance.
409
- * Initializes automatically on first call.
410
- */
411
- async function getGlobalBridge(config) {
412
- if (!_globalBridge) {
413
- _globalBridge = new FrontMcpBridge(config);
414
- await _globalBridge.initialize();
415
- }
416
- return _globalBridge;
417
- }
418
- /**
419
- * Reset the global bridge instance.
420
- * Useful for testing or when switching configurations.
421
- */
422
- function resetGlobalBridge() {
423
- if (_globalBridge) {
424
- _globalBridge.dispose();
425
- _globalBridge = undefined;
426
- }
427
- }
428
- //# sourceMappingURL=bridge-factory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bridge-factory.js","sourceRoot":"","sources":["../../../../src/bridge/core/bridge-factory.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * FrontMcpBridge Factory\n *\n * Main entry point for the unified multi-platform adapter system.\n * Provides automatic platform detection and a consistent API across\n * OpenAI, Claude, ext-apps, Gemini, and custom adapters.\n *\n * @packageDocumentation\n */\n\nimport type {\n PlatformAdapter,\n AdapterCapabilities,\n BridgeConfig,\n DisplayMode,\n HostContext,\n FrontMcpBridgeInterface,\n BridgeEventType,\n BridgeEventPayloads,\n} from '../types';\nimport { AdapterRegistry, defaultRegistry } from './adapter-registry';\n\n/**\n * Default bridge configuration.\n */\nconst DEFAULT_CONFIG: BridgeConfig = {\n debug: false,\n initTimeout: 5000,\n};\n\n/**\n * Empty capabilities returned when no adapter is active.\n */\nconst EMPTY_CAPABILITIES: AdapterCapabilities = {\n canCallTools: false,\n canSendMessages: false,\n canOpenLinks: false,\n canPersistState: false,\n hasNetworkAccess: false,\n supportsDisplayModes: false,\n supportsTheme: false,\n};\n\n/**\n * FrontMcpBridge - Unified multi-platform bridge for MCP tool widgets.\n *\n * @example Basic usage with auto-detection\n * ```typescript\n * const bridge = new FrontMcpBridge();\n * await bridge.initialize();\n *\n * const theme = bridge.getTheme();\n * const toolInput = bridge.getToolInput();\n * ```\n *\n * @example Force specific adapter\n * ```typescript\n * const bridge = new FrontMcpBridge({\n * forceAdapter: 'openai',\n * debug: true,\n * });\n * await bridge.initialize();\n * ```\n *\n * @example With custom registry\n * ```typescript\n * const registry = new AdapterRegistry();\n * registry.register('custom', createCustomAdapter);\n *\n * const bridge = new FrontMcpBridge({ forceAdapter: 'custom' }, registry);\n * await bridge.initialize();\n * ```\n */\nexport class FrontMcpBridge implements FrontMcpBridgeInterface {\n private _config: BridgeConfig;\n private _registry: AdapterRegistry;\n private _adapter: PlatformAdapter | undefined;\n private _initialized = false;\n private _initPromise: Promise<void> | undefined;\n\n /**\n * Create a new FrontMcpBridge instance.\n * @param config - Bridge configuration\n * @param registry - Optional custom adapter registry (uses default if not provided)\n */\n constructor(config: BridgeConfig = {}, registry?: AdapterRegistry) {\n this._config = { ...DEFAULT_CONFIG, ...config };\n this._registry = registry || defaultRegistry;\n\n if (this._config.debug) {\n this._registry.setDebug(true);\n }\n\n // Apply disabled adapters\n if (this._config.disabledAdapters) {\n this._registry.disable(...this._config.disabledAdapters);\n }\n\n // Apply adapter configs\n if (this._config.adapterConfigs) {\n for (const [id, adapterConfig] of Object.entries(this._config.adapterConfigs)) {\n this._registry.configure(id, adapterConfig);\n }\n }\n }\n\n // ============================================\n // Public Properties\n // ============================================\n\n /**\n * Whether the bridge has been initialized.\n */\n get initialized(): boolean {\n return this._initialized;\n }\n\n /**\n * Current adapter ID, or undefined if not initialized.\n */\n get adapterId(): string | undefined {\n return this._adapter?.id;\n }\n\n /**\n * Current adapter capabilities, or undefined if not initialized.\n */\n get capabilities(): AdapterCapabilities | undefined {\n return this._adapter?.capabilities;\n }\n\n // ============================================\n // Lifecycle\n // ============================================\n\n /**\n * Initialize the bridge.\n * Auto-detects the best adapter for the current platform unless\n * `forceAdapter` is specified in the config.\n *\n * @throws Error if no suitable adapter is found\n */\n async initialize(): Promise<void> {\n // Ensure only one initialization runs at a time\n if (this._initPromise) {\n return this._initPromise;\n }\n\n if (this._initialized) {\n return;\n }\n\n this._initPromise = this._doInitialize();\n try {\n await this._initPromise;\n } finally {\n this._initPromise = undefined;\n }\n }\n\n /**\n * Internal initialization logic.\n */\n private async _doInitialize(): Promise<void> {\n this._log('Initializing FrontMcpBridge...');\n\n // Select adapter\n if (this._config.forceAdapter) {\n this._adapter = this._registry.get(this._config.forceAdapter);\n if (!this._adapter) {\n throw new Error(`Forced adapter \"${this._config.forceAdapter}\" not found or disabled`);\n }\n this._log(`Using forced adapter: ${this._config.forceAdapter}`);\n } else {\n this._adapter = this._registry.detect();\n if (!this._adapter) {\n throw new Error('No suitable adapter detected for current environment');\n }\n this._log(`Auto-detected adapter: ${this._adapter.id}`);\n }\n\n // Initialize adapter with timeout\n try {\n await this._withTimeout(this._adapter.initialize(), this._config.initTimeout || 5000);\n this._initialized = true;\n this._log(`Bridge initialized with adapter: ${this._adapter.id}`);\n this._emitEvent('bridge:ready', { adapter: this._adapter.id });\n } catch (error) {\n this._emitEvent('bridge:error', {\n error: error instanceof Error ? error : new Error(String(error)),\n adapter: this._adapter?.id,\n });\n throw error;\n }\n }\n\n /**\n * Dispose the bridge and release resources.\n */\n dispose(): void {\n if (this._adapter) {\n this._adapter.dispose();\n this._log(`Disposed adapter: ${this._adapter.id}`);\n }\n this._adapter = undefined;\n this._initialized = false;\n }\n\n // ============================================\n // Adapter Access\n // ============================================\n\n /**\n * Get the active adapter instance.\n */\n getAdapter(): PlatformAdapter | undefined {\n return this._adapter;\n }\n\n /**\n * Check if a specific capability is available.\n * @param cap - Capability key to check\n */\n hasCapability(cap: keyof AdapterCapabilities): boolean {\n return this._adapter?.capabilities[cap] === true;\n }\n\n // ============================================\n // Data Access (delegate to adapter)\n // ============================================\n\n /**\n * Get current theme.\n */\n getTheme(): 'light' | 'dark' {\n this._ensureInitialized();\n return this._adapter!.getTheme();\n }\n\n /**\n * Get current display mode.\n */\n getDisplayMode(): DisplayMode {\n this._ensureInitialized();\n return this._adapter!.getDisplayMode();\n }\n\n /**\n * Get tool input arguments.\n */\n getToolInput(): Record<string, unknown> {\n this._ensureInitialized();\n return this._adapter!.getToolInput();\n }\n\n /**\n * Get tool output/result.\n */\n getToolOutput(): unknown {\n this._ensureInitialized();\n return this._adapter!.getToolOutput();\n }\n\n /**\n * Get structured content (parsed output).\n */\n getStructuredContent(): unknown {\n this._ensureInitialized();\n return this._adapter!.getStructuredContent();\n }\n\n /**\n * Get persisted widget state.\n */\n getWidgetState(): Record<string, unknown> {\n this._ensureInitialized();\n return this._adapter!.getWidgetState();\n }\n\n /**\n * Get full host context.\n */\n getHostContext(): HostContext {\n this._ensureInitialized();\n return this._adapter!.getHostContext();\n }\n\n // ============================================\n // Actions (delegate to adapter)\n // ============================================\n\n /**\n * Call a tool on the MCP server.\n * @param name - Tool name\n * @param args - Tool arguments\n */\n async callTool(name: string, args: Record<string, unknown>): Promise<unknown> {\n this._ensureInitialized();\n if (!this.hasCapability('canCallTools')) {\n throw new Error('Tool calls are not supported by the current adapter');\n }\n return this._adapter!.callTool(name, args);\n }\n\n /**\n * Send a follow-up message to the conversation.\n * @param content - Message content\n */\n async sendMessage(content: string): Promise<void> {\n this._ensureInitialized();\n if (!this.hasCapability('canSendMessages')) {\n throw new Error('Sending messages is not supported by the current adapter');\n }\n return this._adapter!.sendMessage(content);\n }\n\n /**\n * Open an external link.\n * @param url - URL to open\n */\n async openLink(url: string): Promise<void> {\n this._ensureInitialized();\n return this._adapter!.openLink(url);\n }\n\n /**\n * Request a display mode change.\n * @param mode - Desired display mode\n */\n async requestDisplayMode(mode: DisplayMode): Promise<void> {\n this._ensureInitialized();\n return this._adapter!.requestDisplayMode(mode);\n }\n\n /**\n * Request widget close.\n */\n async requestClose(): Promise<void> {\n this._ensureInitialized();\n return this._adapter!.requestClose();\n }\n\n /**\n * Set widget state (persisted across sessions).\n * @param state - State object to persist\n */\n setWidgetState(state: Record<string, unknown>): void {\n this._ensureInitialized();\n this._adapter!.setWidgetState(state);\n }\n\n // ============================================\n // Events (delegate to adapter)\n // ============================================\n\n /**\n * Subscribe to host context changes.\n * @param callback - Called when context changes\n * @returns Unsubscribe function\n */\n onContextChange(callback: (changes: Partial<HostContext>) => void): () => void {\n this._ensureInitialized();\n return this._adapter!.onContextChange(callback);\n }\n\n /**\n * Subscribe to tool result updates.\n * @param callback - Called when tool result is received\n * @returns Unsubscribe function\n */\n onToolResult(callback: (result: unknown) => void): () => void {\n this._ensureInitialized();\n return this._adapter!.onToolResult(callback);\n }\n\n // ============================================\n // Private Helpers\n // ============================================\n\n /**\n * Ensure the bridge is initialized before operations.\n */\n private _ensureInitialized(): void {\n if (!this._initialized || !this._adapter) {\n throw new Error('FrontMcpBridge is not initialized. Call initialize() first.');\n }\n }\n\n /**\n * Wrap a promise with a timeout.\n */\n private _withTimeout<T>(promise: Promise<T>, ms: number): Promise<T> {\n return new Promise((resolve, reject) => {\n const timer = setTimeout(() => {\n reject(new Error(`Operation timed out after ${ms}ms`));\n }, ms);\n\n promise\n .then((result) => {\n clearTimeout(timer);\n resolve(result);\n })\n .catch((error) => {\n clearTimeout(timer);\n reject(error);\n });\n });\n }\n\n /**\n * Emit a bridge event via CustomEvent.\n */\n private _emitEvent<T extends BridgeEventType>(type: T, payload: BridgeEventPayloads[T]): void {\n if (typeof window !== 'undefined' && typeof CustomEvent !== 'undefined') {\n try {\n const event = new CustomEvent(type, { detail: payload });\n window.dispatchEvent(event);\n } catch {\n // Ignore event dispatch errors\n }\n }\n }\n\n /**\n * Log debug message if debugging is enabled.\n */\n private _log(message: string): void {\n if (this._config.debug) {\n console.log(`[FrontMcpBridge] ${message}`);\n }\n }\n}\n\n/**\n * Create and initialize a bridge instance.\n * Convenience function for one-liner initialization.\n *\n * @example\n * ```typescript\n * const bridge = await createBridge({ debug: true });\n * const theme = bridge.getTheme();\n * ```\n */\nexport async function createBridge(config?: BridgeConfig, registry?: AdapterRegistry): Promise<FrontMcpBridge> {\n const bridge = new FrontMcpBridge(config, registry);\n await bridge.initialize();\n return bridge;\n}\n\n/**\n * Global bridge instance for singleton pattern.\n * Use with caution - prefer creating instances when possible.\n */\nlet _globalBridge: FrontMcpBridge | undefined;\n\n/**\n * Get or create the global bridge instance.\n * Initializes automatically on first call.\n */\nexport async function getGlobalBridge(config?: BridgeConfig): Promise<FrontMcpBridge> {\n if (!_globalBridge) {\n _globalBridge = new FrontMcpBridge(config);\n await _globalBridge.initialize();\n }\n return _globalBridge;\n}\n\n/**\n * Reset the global bridge instance.\n * Useful for testing or when switching configurations.\n */\nexport function resetGlobalBridge(): void {\n if (_globalBridge) {\n _globalBridge.dispose();\n _globalBridge = undefined;\n }\n}\n"]}
@@ -1,9 +0,0 @@
1
- /**
2
- * Bridge Core Module
3
- *
4
- * Core infrastructure for the FrontMcpBridge system.
5
- *
6
- * @packageDocumentation
7
- */
8
- export { AdapterRegistry, defaultRegistry, registerAdapter, getAdapter, detectAdapter } from './adapter-registry';
9
- export { FrontMcpBridge, createBridge, getGlobalBridge, resetGlobalBridge } from './bridge-factory';