@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,652 +0,0 @@
1
- "use strict";
2
- /**
3
- * Widget Manifest Builder
4
- *
5
- * Builds static widget wrappers with embedded manifests for tool UIs.
6
- * Produces complete HTML documents with FrontMCP Bridge runtime.
7
- *
8
- * @packageDocumentation
9
- */
10
- Object.defineProperty(exports, "__esModule", { value: true });
11
- exports.detectUIType = detectUIType;
12
- exports.buildCSPForType = buildCSPForType;
13
- exports.buildCSPMetaContent = buildCSPMetaContent;
14
- exports.getRendererAssets = getRendererAssets;
15
- exports.buildToolWidgetManifest = buildToolWidgetManifest;
16
- exports.batchBuildWidgets = batchBuildWidgets;
17
- exports.buildToolResponseMeta = buildToolResponseMeta;
18
- exports.getOutputModeForClient = getOutputModeForClient;
19
- const ui_runtime_1 = require("../types/ui-runtime");
20
- const cdn_resources_1 = require("./cdn-resources");
21
- const wrapper_1 = require("../runtime/wrapper");
22
- const registry_1 = require("../renderers/registry");
23
- const renderers_1 = require("../renderers");
24
- // ============================================
25
- // UI Type Detection
26
- // ============================================
27
- /**
28
- * Detect the UI type from a template.
29
- *
30
- * @param template - Widget template
31
- * @returns Detected UI type
32
- */
33
- function detectUIType(template) {
34
- const detection = (0, renderers_1.detectTemplateType)(template);
35
- switch (detection.type) {
36
- case 'react':
37
- return 'react';
38
- case 'mdx':
39
- return 'mdx';
40
- case 'jsx-string':
41
- return 'react'; // JSX strings are rendered as React
42
- case 'html-string':
43
- case 'html-function':
44
- return 'html';
45
- default:
46
- return 'auto';
47
- }
48
- }
49
- // ============================================
50
- // CSP Building
51
- // ============================================
52
- /**
53
- * Build CSP directives for a UI type.
54
- *
55
- * @param uiType - UI renderer type
56
- * @param userCsp - User-provided CSP overrides
57
- * @returns Complete CSP directives
58
- */
59
- function buildCSPForType(uiType, userCsp) {
60
- const baseCsp = ui_runtime_1.DEFAULT_CSP_BY_TYPE[uiType] ?? ui_runtime_1.DEFAULT_CSP_BY_TYPE['auto'];
61
- if (!userCsp) {
62
- return { ...baseCsp };
63
- }
64
- // Merge user CSP with base CSP
65
- return {
66
- scriptSrc: mergeCspArray(baseCsp.scriptSrc, userCsp.scriptSrc),
67
- styleSrc: mergeCspArray(baseCsp.styleSrc, userCsp.styleSrc),
68
- connectSrc: mergeCspArray(baseCsp.connectSrc, userCsp.connectSrc),
69
- imgSrc: userCsp.imgSrc ?? baseCsp.imgSrc,
70
- fontSrc: userCsp.fontSrc ?? baseCsp.fontSrc,
71
- defaultSrc: userCsp.defaultSrc ?? baseCsp.defaultSrc,
72
- frameSrc: userCsp.frameSrc ?? baseCsp.frameSrc,
73
- objectSrc: userCsp.objectSrc ?? baseCsp.objectSrc,
74
- };
75
- }
76
- /**
77
- * Merge CSP arrays, preserving uniqueness.
78
- */
79
- function mergeCspArray(base, override) {
80
- if (!override)
81
- return [...base];
82
- const merged = new Set([...base, ...override]);
83
- return Array.from(merged);
84
- }
85
- /**
86
- * Build CSP meta tag content.
87
- */
88
- function buildCSPMetaContent(csp) {
89
- const directives = [];
90
- if (csp.defaultSrc?.length) {
91
- directives.push(`default-src ${csp.defaultSrc.join(' ')}`);
92
- }
93
- if (csp.scriptSrc.length) {
94
- directives.push(`script-src ${csp.scriptSrc.join(' ')}`);
95
- }
96
- if (csp.styleSrc.length) {
97
- directives.push(`style-src ${csp.styleSrc.join(' ')}`);
98
- }
99
- if (csp.connectSrc.length) {
100
- directives.push(`connect-src ${csp.connectSrc.join(' ')}`);
101
- }
102
- if (csp.imgSrc?.length) {
103
- directives.push(`img-src ${csp.imgSrc.join(' ')}`);
104
- }
105
- if (csp.fontSrc?.length) {
106
- directives.push(`font-src ${csp.fontSrc.join(' ')}`);
107
- }
108
- if (csp.frameSrc?.length) {
109
- directives.push(`frame-src ${csp.frameSrc.join(' ')}`);
110
- }
111
- if (csp.objectSrc?.length) {
112
- directives.push(`object-src ${csp.objectSrc.join(' ')}`);
113
- }
114
- return directives.join('; ');
115
- }
116
- // ============================================
117
- // Renderer Assets
118
- // ============================================
119
- /**
120
- * Get renderer assets for a UI type.
121
- *
122
- * @param uiType - UI renderer type
123
- * @param resourceMode - Resource loading mode (cdn or inline)
124
- * @returns Required renderer assets with CDN URLs or inline placeholders
125
- *
126
- * @example
127
- * ```typescript
128
- * // Get CDN-based assets for React
129
- * const assets = getRendererAssets('react', 'cdn');
130
- * console.log(assets.react?.url);
131
- * // "https://unpkg.com/react@18/umd/react.production.min.js"
132
- *
133
- * // Get inline-mode assets
134
- * const inlineAssets = getRendererAssets('react', 'inline');
135
- * // inlineAssets.mode === 'inline'
136
- * ```
137
- */
138
- function getRendererAssets(uiType, resourceMode = 'cdn') {
139
- // Use the CDN resources helper which provides proper CDN URLs
140
- return (0, cdn_resources_1.getDefaultAssets)(uiType, resourceMode);
141
- }
142
- // ============================================
143
- // Hash Generation
144
- // ============================================
145
- /**
146
- * Generate a hash for content.
147
- */
148
- async function generateHash(content) {
149
- // Use Web Crypto API if available
150
- if (typeof crypto !== 'undefined' && crypto.subtle) {
151
- const encoder = new TextEncoder();
152
- const data = encoder.encode(content);
153
- const hashBuffer = await crypto.subtle.digest('SHA-256', data);
154
- const hashArray = Array.from(new Uint8Array(hashBuffer));
155
- return hashArray.map((b) => b.toString(16).padStart(2, '0')).join('');
156
- }
157
- // Fallback: simple hash
158
- let hash = 0;
159
- for (let i = 0; i < content.length; i++) {
160
- const char = content.charCodeAt(i);
161
- hash = (hash << 5) - hash + char;
162
- hash = hash & hash;
163
- }
164
- return Math.abs(hash).toString(16).padStart(8, '0');
165
- }
166
- // ============================================
167
- // Main Builder
168
- // ============================================
169
- /**
170
- * Build a widget manifest for a tool.
171
- *
172
- * Creates a static widget wrapper with embedded manifest.
173
- * The widget can be cached and reused across tool invocations.
174
- *
175
- * @param options - Build options
176
- * @returns Build result with HTML, manifest, and metadata
177
- *
178
- * @example
179
- * ```typescript
180
- * import { buildToolWidgetManifest } from '@frontmcp/ui/build';
181
- *
182
- * const result = await buildToolWidgetManifest({
183
- * toolName: 'weather.get',
184
- * uiConfig: {
185
- * template: WeatherWidget,
186
- * uiType: 'react',
187
- * displayMode: 'inline',
188
- * widgetAccessible: true,
189
- * },
190
- * schema: { type: 'object', properties: { ... } },
191
- * });
192
- *
193
- * // Cache the HTML
194
- * cache.set(`ui://widget/${result.manifest.tool}.html`, result.html);
195
- * ```
196
- */
197
- async function buildToolWidgetManifest(options) {
198
- const { toolName, uiConfig, schema, theme, sampleInput, sampleOutput } = options;
199
- // Resolve UI type
200
- // Use type assertion to handle complex generic template types
201
- const uiType = (0, ui_runtime_1.isUIType)(uiConfig.uiType)
202
- ? uiConfig.uiType
203
- : detectUIType(uiConfig.template);
204
- // Resolve display mode
205
- const displayMode = uiConfig.displayMode ?? 'inline';
206
- // Resolve bundling mode
207
- const bundlingMode = uiConfig.bundlingMode ?? 'static';
208
- // Resolve resource mode (cdn or inline)
209
- const resourceMode = (0, ui_runtime_1.isResourceMode)(uiConfig.resourceMode)
210
- ? uiConfig.resourceMode
211
- : 'cdn';
212
- // Build CSP
213
- const csp = buildCSPForType(uiType, uiConfig.csp);
214
- // Get renderer assets based on resource mode
215
- const rendererAssets = getRendererAssets(uiType, resourceMode);
216
- // Render the template to get initial content
217
- // Cast to generic type to avoid complex type inference issues
218
- const templateConfig = uiConfig;
219
- const content = await renderTemplate(templateConfig, {
220
- input: (sampleInput ?? {}),
221
- output: (sampleOutput ?? {}),
222
- uiType,
223
- });
224
- // Generate component code for client-side rendering (React/MDX only)
225
- const componentCode = (uiType === 'react' || uiType === 'mdx')
226
- ? buildComponentCode(uiConfig.template, toolName)
227
- : undefined;
228
- // Build manifest
229
- // Note: We intentionally omit 'uri' since we're not using resource-based serving.
230
- // The content/html is returned directly in the tool response.
231
- const manifestBase = {
232
- tool: toolName,
233
- uiType,
234
- bundlingMode,
235
- displayMode,
236
- widgetAccessible: uiConfig.widgetAccessible ?? false,
237
- schema: schema ?? {},
238
- csp,
239
- rendererAssets,
240
- createdAt: new Date().toISOString(),
241
- description: uiConfig.widgetDescription,
242
- };
243
- // Convert CSPDirectives to UIContentSecurityPolicy for wrapper
244
- const wrapperCsp = uiConfig.csp ? {
245
- connectDomains: uiConfig.csp.connectSrc,
246
- resourceDomains: [
247
- ...(uiConfig.csp.scriptSrc ?? []),
248
- ...(uiConfig.csp.styleSrc ?? []),
249
- ...(uiConfig.csp.imgSrc ?? []),
250
- ].filter((d) => d !== "'self'" && d !== "'unsafe-inline'"),
251
- } : undefined;
252
- // Build manifest script to embed in the page
253
- const manifestScript = buildManifestScript(manifestBase);
254
- // Prepend manifest script to content so it's available before the UI renders
255
- const contentWithManifest = manifestScript + '\n' + content;
256
- // Build the complete HTML with manifest embedded
257
- // Use inlineScripts when resourceMode is 'inline' (for blocked-network environments)
258
- const html = (0, wrapper_1.wrapToolUIUniversal)({
259
- content: contentWithManifest,
260
- toolName,
261
- input: (sampleInput ?? {}),
262
- output: sampleOutput,
263
- csp: wrapperCsp,
264
- widgetAccessible: uiConfig.widgetAccessible,
265
- includeBridge: true,
266
- rendererType: uiType,
267
- inlineScripts: resourceMode === 'inline',
268
- resourceMode, // Pass resource mode for CDN script generation
269
- });
270
- // Generate hash based on tool name + content (for cache invalidation)
271
- // Including toolName ensures different tools have different hashes even if content is similar
272
- const hash = await generateHash(`${toolName}:${content}`);
273
- // Complete manifest with hash
274
- const manifest = {
275
- ...manifestBase,
276
- hash: `sha256-${hash}`,
277
- };
278
- // Calculate sizes
279
- const contentSize = new TextEncoder().encode(content).length;
280
- const htmlSize = new TextEncoder().encode(html).length;
281
- const gzipSize = Math.round(htmlSize * 0.25); // Rough estimate
282
- return {
283
- // Transpiled content only (for capable clients like OpenAI)
284
- content,
285
- // Full HTML document (for limited/unknown MCP clients)
286
- html,
287
- manifest,
288
- hash,
289
- rendererType: uiType,
290
- // Component code for client-side rendering (React/MDX only)
291
- componentCode,
292
- contentSize,
293
- htmlSize,
294
- gzipSize,
295
- // Deprecated, kept for backwards compatibility
296
- size: htmlSize,
297
- };
298
- }
299
- /**
300
- * Build the manifest script tag for embedding in HTML.
301
- */
302
- function buildManifestScript(manifest) {
303
- // Escape for embedding in script tag
304
- const json = JSON.stringify(manifest)
305
- .replace(/</g, '\\u003c')
306
- .replace(/>/g, '\\u003e')
307
- .replace(/&/g, '\\u0026');
308
- return `
309
- <script type="application/json" id="frontmcp-widget-manifest">
310
- ${json}
311
- </script>
312
- <script>
313
- (function() {
314
- try {
315
- var manifest = JSON.parse(document.getElementById('frontmcp-widget-manifest').textContent);
316
- window.__frontmcp = window.__frontmcp || {};
317
- window.__frontmcp.widget = window.__frontmcp.widget || {};
318
- window.__frontmcp.widget.manifest = manifest;
319
- } catch (e) {
320
- console.error('[FrontMCP] Failed to parse widget manifest:', e);
321
- }
322
- })();
323
- </script>
324
- `.trim();
325
- }
326
- // ============================================
327
- // Component Code Builder (for Client-Side Rendering)
328
- // ============================================
329
- /**
330
- * Build client-side component code for React templates.
331
- *
332
- * This converts the server-side React component into a string that can be
333
- * embedded in the widget HTML for client-side rendering when tool output
334
- * becomes available.
335
- *
336
- * @param template - The React component or template
337
- * @param toolName - Tool name for naming the component
338
- * @returns JavaScript code string that defines the component
339
- */
340
- function buildComponentCode(template, toolName) {
341
- if (typeof template !== 'function') {
342
- return undefined;
343
- }
344
- // Get the component function as a string
345
- const componentSource = template.toString();
346
- // Sanitize tool name for JavaScript variable name
347
- const safeName = toolName.replace(/[^a-zA-Z0-9_]/g, '_');
348
- // Build the component code that will be embedded in the HTML
349
- // The component is registered on window.__frontmcp_component for the render script
350
- return `
351
- // FrontMCP Widget Component: ${toolName}
352
- (function() {
353
- // The component function
354
- var ${safeName} = ${componentSource};
355
-
356
- // Register component globally for client-side rendering
357
- window.__frontmcp_component = ${safeName};
358
-
359
- // Also register in __frontmcp_components for multiple components
360
- window.__frontmcp_components = window.__frontmcp_components || {};
361
- window.__frontmcp_components['${toolName}'] = ${safeName};
362
- })();
363
- `.trim();
364
- }
365
- /**
366
- * Ensure renderers are registered before use.
367
- * This is called once and ensures React/MDX renderers are available.
368
- */
369
- let renderersInitialized = false;
370
- function ensureRenderersRegistered() {
371
- if (renderersInitialized) {
372
- return;
373
- }
374
- // Register React renderer if not already registered
375
- if (!registry_1.rendererRegistry.has('react')) {
376
- registry_1.rendererRegistry.register(renderers_1.reactRenderer);
377
- }
378
- // Register MDX renderer if not already registered
379
- if (!registry_1.rendererRegistry.has('mdx')) {
380
- registry_1.rendererRegistry.register(renderers_1.mdxRenderer);
381
- }
382
- renderersInitialized = true;
383
- }
384
- /**
385
- * Render template content.
386
- */
387
- async function renderTemplate(uiConfig, options) {
388
- const { input, output, uiType } = options;
389
- const template = uiConfig.template;
390
- // Ensure renderers are available
391
- ensureRenderersRegistered();
392
- // Build context for template
393
- const context = {
394
- input: input,
395
- output,
396
- structuredContent: undefined,
397
- helpers: {
398
- escapeHtml: (str) => str.replace(/[&<>"']/g, (c) => ({
399
- '&': '&amp;',
400
- '<': '&lt;',
401
- '>': '&gt;',
402
- '"': '&quot;',
403
- "'": '&#39;',
404
- })[c] ?? c),
405
- formatDate: (date) => new Date(date).toLocaleDateString(),
406
- formatCurrency: (amount, currency = 'USD') => new Intl.NumberFormat('en-US', { style: 'currency', currency }).format(amount),
407
- uniqueId: (prefix = 'id') => `${prefix}-${Math.random().toString(36).slice(2, 9)}`,
408
- jsonEmbed: (data) => JSON.stringify(data).replace(/</g, '\\u003c').replace(/>/g, '\\u003e'),
409
- },
410
- };
411
- // Try to render using the registry
412
- try {
413
- // Use the detected uiType to render with the correct renderer
414
- if (uiType === 'react' && registry_1.rendererRegistry.has('react')) {
415
- const result = await registry_1.rendererRegistry.renderWith('react', template, context, {
416
- mdxComponents: uiConfig.mdxComponents,
417
- });
418
- return result.html;
419
- }
420
- if (uiType === 'mdx' && registry_1.rendererRegistry.has('mdx')) {
421
- const result = await registry_1.rendererRegistry.renderWith('mdx', template, context, {
422
- mdxComponents: uiConfig.mdxComponents,
423
- });
424
- return result.html;
425
- }
426
- // Auto-detect and render
427
- const result = await registry_1.rendererRegistry.render(template, context, {
428
- mdxComponents: uiConfig.mdxComponents,
429
- });
430
- return result.html;
431
- }
432
- catch (error) {
433
- // Fallback: simple rendering
434
- if (typeof template === 'string') {
435
- return template;
436
- }
437
- if (typeof template === 'function') {
438
- // Check if it's a React component (has prototype or is class)
439
- const isReact = template.prototype?.isReactComponent ||
440
- template.$$typeof !== undefined;
441
- if (!isReact) {
442
- // It's a template builder function
443
- return template(context);
444
- }
445
- }
446
- // Log the error for debugging
447
- console.warn('[FrontMCP] Template rendering failed:', error);
448
- return `<div class="error">Template rendering failed</div>`;
449
- }
450
- }
451
- /**
452
- * Build multiple widget manifests in batch.
453
- *
454
- * @param options - Batch build options
455
- * @returns Batch build results
456
- *
457
- * @example
458
- * ```typescript
459
- * const { results, errors } = await batchBuildWidgets({
460
- * tools: [
461
- * { toolName: 'weather.get', uiConfig: weatherConfig },
462
- * { toolName: 'stock.quote', uiConfig: stockConfig },
463
- * ],
464
- * });
465
- *
466
- * for (const [name, result] of results) {
467
- * cache.set(result.manifest.uri, result.html);
468
- * }
469
- * ```
470
- */
471
- async function batchBuildWidgets(options) {
472
- const startTime = performance.now();
473
- const results = new Map();
474
- const errors = new Map();
475
- const { tools, theme, parallel = true } = options;
476
- if (parallel) {
477
- // Build in parallel
478
- const promises = tools.map(async (tool) => {
479
- try {
480
- const result = await buildToolWidgetManifest({
481
- toolName: tool.toolName,
482
- uiConfig: tool.uiConfig,
483
- schema: tool.schema,
484
- theme,
485
- });
486
- return { toolName: tool.toolName, result, error: null };
487
- }
488
- catch (error) {
489
- return {
490
- toolName: tool.toolName,
491
- result: null,
492
- error: error instanceof Error ? error : new Error(String(error)),
493
- };
494
- }
495
- });
496
- const outcomes = await Promise.all(promises);
497
- for (const outcome of outcomes) {
498
- if (outcome.result) {
499
- results.set(outcome.toolName, outcome.result);
500
- }
501
- else if (outcome.error) {
502
- errors.set(outcome.toolName, outcome.error);
503
- }
504
- }
505
- }
506
- else {
507
- // Build sequentially
508
- for (const tool of tools) {
509
- try {
510
- const result = await buildToolWidgetManifest({
511
- toolName: tool.toolName,
512
- uiConfig: tool.uiConfig,
513
- schema: tool.schema,
514
- theme,
515
- });
516
- results.set(tool.toolName, result);
517
- }
518
- catch (error) {
519
- errors.set(tool.toolName, error instanceof Error ? error : new Error(String(error)));
520
- }
521
- }
522
- }
523
- return {
524
- results,
525
- totalTime: performance.now() - startTime,
526
- successCount: results.size,
527
- errors,
528
- };
529
- }
530
- /**
531
- * Build _meta fields for a tool response.
532
- *
533
- * This function generates the proper _meta structure for UI widgets.
534
- * All UI-related data goes in _meta, NOT in the content array.
535
- *
536
- * @param options - Build options
537
- * @returns _meta fields object to spread into tool response
538
- *
539
- * @example
540
- * ```typescript
541
- * const buildResult = await buildToolWidgetManifest({...});
542
- *
543
- * // For OpenAI (code-only mode)
544
- * const meta = buildToolResponseMeta({
545
- * buildResult,
546
- * outputMode: 'code-only',
547
- * });
548
- *
549
- * return {
550
- * content: [{ type: 'text', text: 'Weather retrieved' }],
551
- * _meta: meta,
552
- * };
553
- *
554
- * // For unknown clients (full-ssr mode)
555
- * const meta = buildToolResponseMeta({
556
- * buildResult,
557
- * outputMode: 'full-ssr',
558
- * });
559
- * ```
560
- */
561
- function buildToolResponseMeta(options) {
562
- const { buildResult, outputMode = 'code-only', includeOpenAI = true } = options;
563
- const { manifest, content, html, hash, rendererType } = buildResult;
564
- // Base UI meta fields
565
- const meta = {
566
- 'ui/type': rendererType,
567
- 'ui/hash': hash,
568
- };
569
- // Add content based on output mode
570
- if (outputMode === 'code-only') {
571
- meta['ui/content'] = content;
572
- }
573
- else {
574
- meta['ui/html'] = html;
575
- }
576
- // Add optional fields from manifest
577
- if (manifest.displayMode && manifest.displayMode !== 'inline') {
578
- meta['ui/displayMode'] = manifest.displayMode;
579
- }
580
- if (manifest.widgetAccessible) {
581
- meta['ui/widgetAccessible'] = true;
582
- }
583
- if (manifest.description) {
584
- meta['ui/description'] = manifest.description;
585
- }
586
- // Add resource mode if not default
587
- if (manifest.rendererAssets?.mode && manifest.rendererAssets.mode !== 'cdn') {
588
- meta['ui/resourceMode'] = manifest.rendererAssets.mode;
589
- }
590
- // Add OpenAI-specific fields
591
- if (includeOpenAI) {
592
- if (manifest.widgetAccessible) {
593
- meta['openai/widgetAccessible'] = true;
594
- }
595
- if (manifest.description) {
596
- meta['openai/widgetDescription'] = manifest.description;
597
- }
598
- if (manifest.displayMode && manifest.displayMode !== 'inline') {
599
- meta['openai/displayMode'] = manifest.displayMode;
600
- }
601
- // Build OpenAI CSP from manifest CSP
602
- const csp = manifest.csp;
603
- if (csp) {
604
- const openaiCsp = {};
605
- if (csp.connectSrc && csp.connectSrc.length > 0) {
606
- openaiCsp.connect_domains = csp.connectSrc.filter((d) => d !== "'self'" && d !== "'none'");
607
- }
608
- const resourceDomains = [
609
- ...(csp.scriptSrc || []),
610
- ...(csp.styleSrc || []),
611
- ...(csp.imgSrc || []),
612
- ].filter((d) => d !== "'self'" && d !== "'unsafe-inline'" && d !== "'none'");
613
- if (resourceDomains.length > 0) {
614
- openaiCsp.resource_domains = [...new Set(resourceDomains)];
615
- }
616
- if (openaiCsp.connect_domains?.length || openaiCsp.resource_domains?.length) {
617
- meta['openai/widgetCSP'] = openaiCsp;
618
- }
619
- }
620
- }
621
- return meta;
622
- }
623
- /**
624
- * Determine the appropriate output mode based on client info.
625
- *
626
- * @param clientInfo - MCP client information
627
- * @returns Recommended output mode
628
- *
629
- * @example
630
- * ```typescript
631
- * const outputMode = getOutputModeForClient(request.clientInfo);
632
- * const meta = buildToolResponseMeta({ buildResult, outputMode });
633
- * ```
634
- */
635
- function getOutputModeForClient(clientInfo) {
636
- if (!clientInfo?.name) {
637
- // Unknown client - use full SSR for safety
638
- return 'full-ssr';
639
- }
640
- const name = clientInfo.name.toLowerCase();
641
- // Capable clients that provide their own runtime
642
- if (name.includes('openai') ||
643
- name.includes('chatgpt') ||
644
- name.includes('cursor') ||
645
- name.includes('claude') // Claude Desktop might support code-only in future
646
- ) {
647
- return 'code-only';
648
- }
649
- // Default to full SSR for unknown clients
650
- return 'full-ssr';
651
- }
652
- //# sourceMappingURL=widget-manifest.js.map