@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,357 +0,0 @@
1
- /**
2
- * Standalone UI Configuration Types
3
- *
4
- * SDK-independent types for configuring UI templates.
5
- * These types can be used by external consumers (like AgentLink)
6
- * without requiring @frontmcp/sdk as a dependency.
7
- *
8
- * @packageDocumentation
9
- */
10
- /**
11
- * Content Security Policy for UI templates rendered in sandboxed iframes.
12
- * Based on OpenAI Apps SDK and MCP Apps (SEP-1865) specifications.
13
- */
14
- export interface UIContentSecurityPolicy {
15
- /**
16
- * Origins allowed for fetch/XHR/WebSocket connections.
17
- * Maps to CSP `connect-src` directive.
18
- * @example ['https://api.example.com', 'https://*.myservice.com']
19
- */
20
- connectDomains?: string[];
21
- /**
22
- * Origins allowed for images, scripts, fonts, and styles.
23
- * Maps to CSP `img-src`, `script-src`, `style-src`, `font-src` directives.
24
- * @example ['https://cdn.example.com']
25
- */
26
- resourceDomains?: string[];
27
- }
28
- /**
29
- * Helper functions available in template context.
30
- */
31
- export interface TemplateHelpers {
32
- /**
33
- * Escape HTML special characters to prevent XSS.
34
- */
35
- escapeHtml: (str: string) => string;
36
- /**
37
- * Format a date for display.
38
- * @param date - Date object or ISO string
39
- * @param format - Optional format (default: localized date)
40
- */
41
- formatDate: (date: Date | string, format?: string) => string;
42
- /**
43
- * Format a number as currency.
44
- * @param amount - The numeric amount
45
- * @param currency - ISO 4217 currency code (default: 'USD')
46
- */
47
- formatCurrency: (amount: number, currency?: string) => string;
48
- /**
49
- * Generate a unique ID for DOM elements.
50
- * @param prefix - Optional prefix for the ID
51
- */
52
- uniqueId: (prefix?: string) => string;
53
- /**
54
- * Safely embed JSON data in HTML (escapes script-breaking characters).
55
- */
56
- jsonEmbed: (data: unknown) => string;
57
- }
58
- /**
59
- * Context passed to template builder functions.
60
- * Contains all data needed to render a tool's UI template.
61
- */
62
- export interface TemplateContext<In = unknown, Out = unknown> {
63
- /**
64
- * The input arguments passed to the tool.
65
- */
66
- input: In;
67
- /**
68
- * The raw output returned by the tool's execute method.
69
- */
70
- output: Out;
71
- /**
72
- * The structured content parsed from the output (if outputSchema was provided).
73
- * This is the JSON-serializable form suitable for widget consumption.
74
- */
75
- structuredContent?: unknown;
76
- /**
77
- * Helper functions for template rendering.
78
- */
79
- helpers: TemplateHelpers;
80
- }
81
- /**
82
- * Template builder function type.
83
- * Receives context with input/output and returns HTML string.
84
- */
85
- export type TemplateBuilderFn<In = unknown, Out = unknown> = (ctx: TemplateContext<In, Out>) => string;
86
- /**
87
- * Widget serving mode determines how the widget HTML is delivered to the client.
88
- */
89
- export type WidgetServingMode = 'inline' | 'static' | 'hybrid' | 'direct-url' | 'custom-url';
90
- /**
91
- * @deprecated Use 'static' instead of 'mcp-resource'. Will be removed in v2.0.
92
- * Alias maintained for backwards compatibility.
93
- */
94
- export type WidgetServingModeLegacy = 'mcp-resource';
95
- /**
96
- * Widget display mode preference.
97
- */
98
- export type WidgetDisplayMode = 'inline' | 'fullscreen' | 'pip';
99
- /**
100
- * UI template configuration for tools.
101
- * Enables rendering interactive widgets for tool responses in supported hosts
102
- * (OpenAI Apps SDK, Claude/MCP-UI, etc.).
103
- *
104
- * This is a standalone type that doesn't depend on @frontmcp/sdk.
105
- * Use this type in external systems (like AgentLink) that consume @frontmcp/ui.
106
- *
107
- * @example
108
- * ```typescript
109
- * const uiConfig: UITemplateConfig = {
110
- * template: (ctx) => `
111
- * <div class="p-4">
112
- * <h2>${ctx.helpers.escapeHtml(ctx.input.location)}</h2>
113
- * <p>${ctx.output.temperature}°F</p>
114
- * </div>
115
- * `,
116
- * csp: { connectDomains: ['https://api.weather.com'] },
117
- * widgetAccessible: true,
118
- * widgetDescription: 'Displays current weather conditions',
119
- * };
120
- * ```
121
- */
122
- export interface UITemplateConfig<In = unknown, Out = unknown> {
123
- /**
124
- * Template for rendering tool UI.
125
- *
126
- * Supports multiple formats (auto-detected by renderer):
127
- * - Template builder function: `(ctx) => string` - receives input/output/helpers, returns HTML
128
- * - Static HTML/MDX string: `"<div>...</div>"` or `"# Title\n<Card />"`
129
- * - React component: `MyWidget` - receives props with input/output/helpers
130
- */
131
- template: TemplateBuilderFn<In, Out> | string | ((props: any) => any);
132
- /**
133
- * Content Security Policy for the sandboxed widget.
134
- * Controls which external resources the widget can access.
135
- */
136
- csp?: UIContentSecurityPolicy;
137
- /**
138
- * Whether the widget can invoke tools via the MCP bridge.
139
- * When true, the widget gains access to `window.mcpBridge.callTool()`.
140
- * Maps to OpenAI's `openai/widgetAccessible` annotation.
141
- *
142
- * Default: false
143
- */
144
- widgetAccessible?: boolean;
145
- /**
146
- * Preferred display mode for the widget.
147
- * - 'inline': Rendered inline in the conversation (default)
148
- * - 'fullscreen': Request fullscreen display
149
- * - 'pip': Picture-in-picture mode
150
- *
151
- * Note: Host may not support all modes; this is a preference hint.
152
- */
153
- displayMode?: WidgetDisplayMode;
154
- /**
155
- * Human-readable description shown to users about what the widget does.
156
- * Maps to OpenAI's `openai/widgetDescription` annotation.
157
- */
158
- widgetDescription?: string;
159
- /**
160
- * Status messages shown during tool invocation (OpenAI ChatGPT specific).
161
- * Maps to OpenAI's `openai/toolInvocation/invoking` and `openai/toolInvocation/invoked`.
162
- *
163
- * @example
164
- * ```typescript
165
- * invocationStatus: {
166
- * invoking: 'Fetching weather data...',
167
- * invoked: 'Weather data loaded'
168
- * }
169
- * ```
170
- */
171
- invocationStatus?: {
172
- /** Status text shown while tool is executing */
173
- invoking?: string;
174
- /** Status text shown after tool execution completes */
175
- invoked?: string;
176
- };
177
- /**
178
- * How the widget HTML should be served to the client.
179
- *
180
- * - `'inline'`: HTML embedded directly in tool response `_meta['ui/html']`
181
- * Best for small widgets, works on all platforms including network-blocked ones.
182
- *
183
- * - `'static'`: Widget pre-compiled at server startup, registered as MCP resource with `ui://` URI.
184
- * Client fetches via `resources/read`. Good for OpenAI's template system.
185
- * Widget is resolved during `tools/list`, not dependent on tool call.
186
- *
187
- * - `'hybrid'`: Shell (React runtime + bridge) pre-compiled at startup.
188
- * Component code transpiled per-request and delivered in `_meta['ui/component']`.
189
- *
190
- * - `'direct-url'`: Served from MCP server's HTTP endpoint.
191
- * Avoids third-party cookie issues since widget loads from same domain.
192
- *
193
- * - `'custom-url'`: Served from a custom URL (CDN, external hosting).
194
- * Requires `customWidgetUrl` to be set.
195
- *
196
- * Default: `'inline'`
197
- */
198
- servingMode?: WidgetServingMode;
199
- /**
200
- * Custom URL for widget serving when `servingMode: 'custom-url'`.
201
- * The URL can include `{token}` placeholder which will be replaced with
202
- * the widget access token.
203
- *
204
- * @example
205
- * ```typescript
206
- * customWidgetUrl: 'https://cdn.example.com/widgets/weather.html?token={token}'
207
- * ```
208
- */
209
- customWidgetUrl?: string;
210
- /**
211
- * Path for direct URL serving when `servingMode: 'direct-url'`.
212
- * This path is appended to the MCP server's base URL.
213
- *
214
- * @example
215
- * ```typescript
216
- * directPath: '/widgets/weather'
217
- * // Results in: https://mcp-server.example.com/widgets/weather?token=...
218
- * ```
219
- */
220
- directPath?: string;
221
- /**
222
- * Custom React components available in MDX templates.
223
- * These components can be used directly in MDX content without importing.
224
- *
225
- * @example
226
- * ```typescript
227
- * ui: {
228
- * template: `# Weather\n<Alert type="info">Data loaded</Alert>`,
229
- * mdxComponents: {
230
- * Alert: ({ type, children }) => <div className={type}>{children}</div>,
231
- * Card: MyCardComponent,
232
- * }
233
- * }
234
- * ```
235
- */
236
- mdxComponents?: Record<string, any>;
237
- /**
238
- * Whether to show a border around the UI widget.
239
- * MCP Apps spec: `_meta.ui.prefersBorder`
240
- *
241
- * When true, hosts should render a visible border around the sandbox iframe.
242
- * Useful for visual clarity when the widget content doesn't have its own borders.
243
- *
244
- * Default: undefined (host decides)
245
- */
246
- prefersBorder?: boolean;
247
- /**
248
- * Dedicated sandbox domain for the widget.
249
- * MCP Apps spec: `_meta.ui.domain`
250
- *
251
- * When specified, the host should load the widget in an iframe with this
252
- * domain as the origin, providing additional isolation.
253
- *
254
- * @example 'sandbox.example.com'
255
- */
256
- sandboxDomain?: string;
257
- /**
258
- * Enable client-side React hydration after server-side rendering (SSR).
259
- *
260
- * **Default: `false`**
261
- *
262
- * When `false` (default):
263
- * - SSR output is static HTML
264
- * - No React runtime is loaded on the client
265
- * - All interactivity is handled by the FrontMCP Bridge IIFE
266
- * - This prevents React Hydration Error #418 in MCP clients
267
- *
268
- * When `true`:
269
- * - React/ReactDOM CDN scripts are included
270
- * - Client attempts to hydrate React components
271
- * - May cause hydration mismatch errors in some MCP clients (Claude, ChatGPT)
272
- *
273
- * **Why disabled by default?**
274
- * MCP clients like Claude and ChatGPT render HTML in sandboxed iframes.
275
- * React hydration expects the client-rendered HTML to exactly match the
276
- * server-rendered HTML. Due to timing differences, random data, and
277
- * different execution contexts, mismatches frequently occur causing
278
- * React Error #418 ("Hydration failed...").
279
- *
280
- * The FrontMCP Bridge IIFE already provides all necessary interactivity
281
- * (tool calls via `data-tool-call`, state updates, loading states) without
282
- * requiring React hydration.
283
- *
284
- * **Only enable if:**
285
- * - You need React state management on the client
286
- * - You're sure your template produces deterministic HTML
287
- * - You've tested hydration works in your target MCP client
288
- *
289
- * @example
290
- * ```typescript
291
- * // Disable hydration (default behavior - recommended)
292
- * ui: {
293
- * template: MyReactComponent,
294
- * hydrate: false
295
- * }
296
- *
297
- * // Enable hydration (use with caution)
298
- * ui: {
299
- * template: MyStatefulComponent,
300
- * hydrate: true
301
- * }
302
- * ```
303
- */
304
- hydrate?: boolean;
305
- /**
306
- * UI renderer type.
307
- *
308
- * - `'html'`: HTML with optional Handlebars
309
- * - `'react'`: React component (SSR)
310
- * - `'mdx'`: MDX template
311
- * - `'markdown'`: Pure Markdown
312
- * - `'auto'`: Auto-detect from template (default)
313
- *
314
- * @default 'auto'
315
- */
316
- uiType?: 'html' | 'react' | 'mdx' | 'markdown' | 'auto';
317
- /**
318
- * Bundling mode.
319
- *
320
- * - `'static'`: Pre-compile widget shell, inject data at runtime (default)
321
- * - `'dynamic'`: Generate fresh HTML per tool invocation
322
- *
323
- * @default 'static'
324
- */
325
- bundlingMode?: 'static' | 'dynamic';
326
- /**
327
- * Resource loading mode.
328
- *
329
- * - `'cdn'`: Load React/MDX/Handlebars from CDN URLs (lightweight)
330
- * - `'inline'`: Embed all scripts in HTML (self-contained)
331
- *
332
- * Use 'cdn' for most platforms (OpenAI, ChatGPT, Cursor).
333
- * Use 'inline' for network-blocked environments (Claude Artifacts).
334
- *
335
- * @default 'cdn'
336
- */
337
- resourceMode?: 'cdn' | 'inline';
338
- /**
339
- * Runtime options for specific renderers.
340
- */
341
- runtimeOptions?: {
342
- /** Enable React hydration after SSR */
343
- hydrate?: boolean;
344
- /** Markdown rendering options */
345
- markdown?: {
346
- /** Enable GitHub-flavored markdown */
347
- gfm?: boolean;
348
- /** Syntax highlighting theme */
349
- highlightTheme?: string;
350
- };
351
- };
352
- }
353
- /**
354
- * Type alias for backwards compatibility.
355
- * Prefer using UITemplateConfig directly.
356
- */
357
- export type UITemplate<In = unknown, Out = unknown> = UITemplateConfig<In, Out>;
@@ -1,12 +0,0 @@
1
- "use strict";
2
- /**
3
- * Standalone UI Configuration Types
4
- *
5
- * SDK-independent types for configuring UI templates.
6
- * These types can be used by external consumers (like AgentLink)
7
- * without requiring @frontmcp/sdk as a dependency.
8
- *
9
- * @packageDocumentation
10
- */
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- //# sourceMappingURL=ui-config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ui-config.js","sourceRoot":"","sources":["../../../src/types/ui-config.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG","sourcesContent":["/**\n * Standalone UI Configuration Types\n *\n * SDK-independent types for configuring UI templates.\n * These types can be used by external consumers (like AgentLink)\n * without requiring @frontmcp/sdk as a dependency.\n *\n * @packageDocumentation\n */\n\n// ============================================\n// Content Security Policy\n// ============================================\n\n/**\n * Content Security Policy for UI templates rendered in sandboxed iframes.\n * Based on OpenAI Apps SDK and MCP Apps (SEP-1865) specifications.\n */\nexport interface UIContentSecurityPolicy {\n /**\n * Origins allowed for fetch/XHR/WebSocket connections.\n * Maps to CSP `connect-src` directive.\n * @example ['https://api.example.com', 'https://*.myservice.com']\n */\n connectDomains?: string[];\n\n /**\n * Origins allowed for images, scripts, fonts, and styles.\n * Maps to CSP `img-src`, `script-src`, `style-src`, `font-src` directives.\n * @example ['https://cdn.example.com']\n */\n resourceDomains?: string[];\n}\n\n// ============================================\n// Template Context & Helpers\n// ============================================\n\n/**\n * Helper functions available in template context.\n */\nexport interface TemplateHelpers {\n /**\n * Escape HTML special characters to prevent XSS.\n */\n escapeHtml: (str: string) => string;\n\n /**\n * Format a date for display.\n * @param date - Date object or ISO string\n * @param format - Optional format (default: localized date)\n */\n formatDate: (date: Date | string, format?: string) => string;\n\n /**\n * Format a number as currency.\n * @param amount - The numeric amount\n * @param currency - ISO 4217 currency code (default: 'USD')\n */\n formatCurrency: (amount: number, currency?: string) => string;\n\n /**\n * Generate a unique ID for DOM elements.\n * @param prefix - Optional prefix for the ID\n */\n uniqueId: (prefix?: string) => string;\n\n /**\n * Safely embed JSON data in HTML (escapes script-breaking characters).\n */\n jsonEmbed: (data: unknown) => string;\n}\n\n/**\n * Context passed to template builder functions.\n * Contains all data needed to render a tool's UI template.\n */\nexport interface TemplateContext<In = unknown, Out = unknown> {\n /**\n * The input arguments passed to the tool.\n */\n input: In;\n\n /**\n * The raw output returned by the tool's execute method.\n */\n output: Out;\n\n /**\n * The structured content parsed from the output (if outputSchema was provided).\n * This is the JSON-serializable form suitable for widget consumption.\n */\n structuredContent?: unknown;\n\n /**\n * Helper functions for template rendering.\n */\n helpers: TemplateHelpers;\n}\n\n/**\n * Template builder function type.\n * Receives context with input/output and returns HTML string.\n */\nexport type TemplateBuilderFn<In = unknown, Out = unknown> = (ctx: TemplateContext<In, Out>) => string;\n\n// ============================================\n// Widget Serving Mode\n// ============================================\n\n/**\n * Widget serving mode determines how the widget HTML is delivered to the client.\n */\nexport type WidgetServingMode =\n | 'inline' // HTML embedded directly in tool response _meta\n | 'static' // Pre-compiled at startup, resolved via tools/list (ui:// resource URI)\n | 'hybrid' // Shell (React + renderer) cached, component + data in response\n | 'direct-url' // HTTP endpoint on MCP server\n | 'custom-url'; // Custom URL (CDN or external hosting)\n\n/**\n * @deprecated Use 'static' instead of 'mcp-resource'. Will be removed in v2.0.\n * Alias maintained for backwards compatibility.\n */\nexport type WidgetServingModeLegacy = 'mcp-resource';\n\n// ============================================\n// Display Mode\n// ============================================\n\n/**\n * Widget display mode preference.\n */\nexport type WidgetDisplayMode = 'inline' | 'fullscreen' | 'pip';\n\n// ============================================\n// UI Template Configuration\n// ============================================\n/**\n * UI template configuration for tools.\n * Enables rendering interactive widgets for tool responses in supported hosts\n * (OpenAI Apps SDK, Claude/MCP-UI, etc.).\n *\n * This is a standalone type that doesn't depend on @frontmcp/sdk.\n * Use this type in external systems (like AgentLink) that consume @frontmcp/ui.\n *\n * @example\n * ```typescript\n * const uiConfig: UITemplateConfig = {\n * template: (ctx) => `\n * <div class=\"p-4\">\n * <h2>${ctx.helpers.escapeHtml(ctx.input.location)}</h2>\n * <p>${ctx.output.temperature}°F</p>\n * </div>\n * `,\n * csp: { connectDomains: ['https://api.weather.com'] },\n * widgetAccessible: true,\n * widgetDescription: 'Displays current weather conditions',\n * };\n * ```\n */\nexport interface UITemplateConfig<In = unknown, Out = unknown> {\n /**\n * Template for rendering tool UI.\n *\n * Supports multiple formats (auto-detected by renderer):\n * - Template builder function: `(ctx) => string` - receives input/output/helpers, returns HTML\n * - Static HTML/MDX string: `\"<div>...</div>\"` or `\"# Title\\n<Card />\"`\n * - React component: `MyWidget` - receives props with input/output/helpers\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n template: TemplateBuilderFn<In, Out> | string | ((props: any) => any);\n\n /**\n * Content Security Policy for the sandboxed widget.\n * Controls which external resources the widget can access.\n */\n csp?: UIContentSecurityPolicy;\n\n /**\n * Whether the widget can invoke tools via the MCP bridge.\n * When true, the widget gains access to `window.mcpBridge.callTool()`.\n * Maps to OpenAI's `openai/widgetAccessible` annotation.\n *\n * Default: false\n */\n widgetAccessible?: boolean;\n\n /**\n * Preferred display mode for the widget.\n * - 'inline': Rendered inline in the conversation (default)\n * - 'fullscreen': Request fullscreen display\n * - 'pip': Picture-in-picture mode\n *\n * Note: Host may not support all modes; this is a preference hint.\n */\n displayMode?: WidgetDisplayMode;\n\n /**\n * Human-readable description shown to users about what the widget does.\n * Maps to OpenAI's `openai/widgetDescription` annotation.\n */\n widgetDescription?: string;\n\n /**\n * Status messages shown during tool invocation (OpenAI ChatGPT specific).\n * Maps to OpenAI's `openai/toolInvocation/invoking` and `openai/toolInvocation/invoked`.\n *\n * @example\n * ```typescript\n * invocationStatus: {\n * invoking: 'Fetching weather data...',\n * invoked: 'Weather data loaded'\n * }\n * ```\n */\n invocationStatus?: {\n /** Status text shown while tool is executing */\n invoking?: string;\n /** Status text shown after tool execution completes */\n invoked?: string;\n };\n\n /**\n * How the widget HTML should be served to the client.\n *\n * - `'inline'`: HTML embedded directly in tool response `_meta['ui/html']`\n * Best for small widgets, works on all platforms including network-blocked ones.\n *\n * - `'static'`: Widget pre-compiled at server startup, registered as MCP resource with `ui://` URI.\n * Client fetches via `resources/read`. Good for OpenAI's template system.\n * Widget is resolved during `tools/list`, not dependent on tool call.\n *\n * - `'hybrid'`: Shell (React runtime + bridge) pre-compiled at startup.\n * Component code transpiled per-request and delivered in `_meta['ui/component']`.\n *\n * - `'direct-url'`: Served from MCP server's HTTP endpoint.\n * Avoids third-party cookie issues since widget loads from same domain.\n *\n * - `'custom-url'`: Served from a custom URL (CDN, external hosting).\n * Requires `customWidgetUrl` to be set.\n *\n * Default: `'inline'`\n */\n servingMode?: WidgetServingMode;\n\n /**\n * Custom URL for widget serving when `servingMode: 'custom-url'`.\n * The URL can include `{token}` placeholder which will be replaced with\n * the widget access token.\n *\n * @example\n * ```typescript\n * customWidgetUrl: 'https://cdn.example.com/widgets/weather.html?token={token}'\n * ```\n */\n customWidgetUrl?: string;\n\n /**\n * Path for direct URL serving when `servingMode: 'direct-url'`.\n * This path is appended to the MCP server's base URL.\n *\n * @example\n * ```typescript\n * directPath: '/widgets/weather'\n * // Results in: https://mcp-server.example.com/widgets/weather?token=...\n * ```\n */\n directPath?: string;\n\n /**\n * Custom React components available in MDX templates.\n * These components can be used directly in MDX content without importing.\n *\n * @example\n * ```typescript\n * ui: {\n * template: `# Weather\\n<Alert type=\"info\">Data loaded</Alert>`,\n * mdxComponents: {\n * Alert: ({ type, children }) => <div className={type}>{children}</div>,\n * Card: MyCardComponent,\n * }\n * }\n * ```\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n mdxComponents?: Record<string, any>;\n\n // ============================================\n // MCP Apps (ext-apps) Specific Options\n // ============================================\n\n /**\n * Whether to show a border around the UI widget.\n * MCP Apps spec: `_meta.ui.prefersBorder`\n *\n * When true, hosts should render a visible border around the sandbox iframe.\n * Useful for visual clarity when the widget content doesn't have its own borders.\n *\n * Default: undefined (host decides)\n */\n prefersBorder?: boolean;\n\n /**\n * Dedicated sandbox domain for the widget.\n * MCP Apps spec: `_meta.ui.domain`\n *\n * When specified, the host should load the widget in an iframe with this\n * domain as the origin, providing additional isolation.\n *\n * @example 'sandbox.example.com'\n */\n sandboxDomain?: string;\n\n // ============================================\n // Rendering Options\n // ============================================\n\n /**\n * Enable client-side React hydration after server-side rendering (SSR).\n *\n * **Default: `false`**\n *\n * When `false` (default):\n * - SSR output is static HTML\n * - No React runtime is loaded on the client\n * - All interactivity is handled by the FrontMCP Bridge IIFE\n * - This prevents React Hydration Error #418 in MCP clients\n *\n * When `true`:\n * - React/ReactDOM CDN scripts are included\n * - Client attempts to hydrate React components\n * - May cause hydration mismatch errors in some MCP clients (Claude, ChatGPT)\n *\n * **Why disabled by default?**\n * MCP clients like Claude and ChatGPT render HTML in sandboxed iframes.\n * React hydration expects the client-rendered HTML to exactly match the\n * server-rendered HTML. Due to timing differences, random data, and\n * different execution contexts, mismatches frequently occur causing\n * React Error #418 (\"Hydration failed...\").\n *\n * The FrontMCP Bridge IIFE already provides all necessary interactivity\n * (tool calls via `data-tool-call`, state updates, loading states) without\n * requiring React hydration.\n *\n * **Only enable if:**\n * - You need React state management on the client\n * - You're sure your template produces deterministic HTML\n * - You've tested hydration works in your target MCP client\n *\n * @example\n * ```typescript\n * // Disable hydration (default behavior - recommended)\n * ui: {\n * template: MyReactComponent,\n * hydrate: false\n * }\n *\n * // Enable hydration (use with caution)\n * ui: {\n * template: MyStatefulComponent,\n * hydrate: true\n * }\n * ```\n */\n hydrate?: boolean;\n\n // ============================================\n // Runtime/Build Configuration (from ui-runtime.ts)\n // ============================================\n\n /**\n * UI renderer type.\n *\n * - `'html'`: HTML with optional Handlebars\n * - `'react'`: React component (SSR)\n * - `'mdx'`: MDX template\n * - `'markdown'`: Pure Markdown\n * - `'auto'`: Auto-detect from template (default)\n *\n * @default 'auto'\n */\n uiType?: 'html' | 'react' | 'mdx' | 'markdown' | 'auto';\n\n /**\n * Bundling mode.\n *\n * - `'static'`: Pre-compile widget shell, inject data at runtime (default)\n * - `'dynamic'`: Generate fresh HTML per tool invocation\n *\n * @default 'static'\n */\n bundlingMode?: 'static' | 'dynamic';\n\n /**\n * Resource loading mode.\n *\n * - `'cdn'`: Load React/MDX/Handlebars from CDN URLs (lightweight)\n * - `'inline'`: Embed all scripts in HTML (self-contained)\n *\n * Use 'cdn' for most platforms (OpenAI, ChatGPT, Cursor).\n * Use 'inline' for network-blocked environments (Claude Artifacts).\n *\n * @default 'cdn'\n */\n resourceMode?: 'cdn' | 'inline';\n\n /**\n * Runtime options for specific renderers.\n */\n runtimeOptions?: {\n /** Enable React hydration after SSR */\n hydrate?: boolean;\n /** Markdown rendering options */\n markdown?: {\n /** Enable GitHub-flavored markdown */\n gfm?: boolean;\n /** Syntax highlighting theme */\n highlightTheme?: string;\n };\n };\n}\n\n/**\n * Type alias for backwards compatibility.\n * Prefer using UITemplateConfig directly.\n */\nexport type UITemplate<In = unknown, Out = unknown> = UITemplateConfig<In, Out>;\n"]}