@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
package/README.md CHANGED
@@ -1,438 +1,216 @@
1
1
  # @frontmcp/ui
2
2
 
3
- Platform-agnostic HTML component library for building authentication and authorization UIs across LLM platforms.
3
+ FrontMCP's platform-aware UI toolkit for building HTML widgets, web components, and React surfaces that run inside MCP transports. It renders plain strings by default (perfect for agents and dual-payload responses) and exposes React renderers, web components, and bundling helpers so you can reuse the same design system everywhere.
4
4
 
5
- ## Features
5
+ ## Package Split
6
+
7
+ | Package | Purpose | React Required |
8
+ | ------------------ | --------------------------------------------------------------- | --------------------- |
9
+ | `@frontmcp/ui` | HTML components, layouts, widgets, React components/hooks | Yes (peer dependency) |
10
+ | `@frontmcp/uipack` | Themes, build/render pipelines, runtime helpers, template types | No |
6
11
 
7
- - **Pure HTML Output** - No React, Vue, or JSX dependencies. Components return HTML strings.
8
- - **Zod Validation** - All component options validated at runtime with detailed error feedback.
9
- - **Platform-Aware** - Optimized for OpenAI, Claude, Gemini, and ngrok platforms.
10
- - **HTMX Support** - Built-in support for dynamic interactions without JavaScript.
11
- - **Theme System** - Customizable themes with CDN URL configuration.
12
- - **GitHub/OpenAI Theme** - Default gray-black aesthetic inspired by GitHub and OpenAI.
12
+ Use `@frontmcp/ui` for components and renderers. Pair it with `@frontmcp/uipack` for theming, build-time tooling, validation, and platform adapters.
13
13
 
14
14
  ## Installation
15
15
 
16
16
  ```bash
17
- npm install @frontmcp/ui
17
+ npm install @frontmcp/ui @frontmcp/uipack react react-dom
18
18
  # or
19
- yarn add @frontmcp/ui
19
+ yarn add @frontmcp/ui @frontmcp/uipack react react-dom
20
20
  ```
21
21
 
22
+ ## Features
23
+
24
+ - **HTML-first components** – Buttons, cards, badges, alerts, forms, tables, layouts, and widgets that return ready-to-stream HTML strings.
25
+ - **React + SSR** – Optional React components, hooks, and renderers so you can hydrate widgets when the host allows it.
26
+ - **MCP Bridge helpers** – Generate bridge bundles, wrap tool responses, and expose follow-up actions from inside widgets.
27
+ - **Web components** – Register `<fmcp-button>`, `<fmcp-card>`, and friends for projects that prefer custom elements.
28
+ - **Validation + error boxes** – Every component validates its options with Zod and renders a friendly error when something is misconfigured.
29
+ - **Works with uipack** – Import themes, runtime helpers, adapters, and build APIs from `@frontmcp/uipack` to keep HTML and React outputs in sync.
30
+
22
31
  ## Quick Start
23
32
 
24
- ```typescript
25
- import { button, card, baseLayout, DEFAULT_THEME } from '@frontmcp/ui';
33
+ ### HTML components
26
34
 
27
- // Create a simple button
28
- const btn = button('Click Me', { variant: 'primary', size: 'md' });
35
+ ```ts
36
+ import { card, button } from '@frontmcp/ui/components';
37
+ import { baseLayout } from '@frontmcp/ui/layouts';
38
+ import { DEFAULT_THEME } from '@frontmcp/uipack/theme';
29
39
 
30
- // Create a card with content
31
- const content = card(
40
+ const widget = card(
32
41
  `
33
- <h2>Welcome</h2>
34
- <p>Hello, world!</p>
42
+ <h2 class="text-lg font-semibold">CRM Access</h2>
43
+ <p>Grant the orchestrator access to customer data.</p>
44
+ ${button('Approve', { variant: 'primary', type: 'submit' })}
35
45
  `,
36
- { variant: 'default' },
46
+ { variant: 'elevated' },
37
47
  );
38
48
 
39
- // Wrap in a page layout
40
- const page = baseLayout(content, {
41
- title: 'My Page',
49
+ const html = baseLayout(widget, {
50
+ title: 'Authorize CRM',
51
+ description: 'Let the agent read CRM data for this session.',
42
52
  theme: DEFAULT_THEME,
53
+ width: 'md',
54
+ align: 'center',
55
+ scripts: { tailwind: true, htmx: true },
43
56
  });
44
57
  ```
45
58
 
46
- ## Components
47
-
48
- ### Button
59
+ ### React components
49
60
 
50
- ```typescript
51
- import { button, primaryButton, dangerButton, buttonGroup } from '@frontmcp/ui';
52
-
53
- // Basic button
54
- button('Submit');
55
-
56
- // Button variants
57
- button('Save', { variant: 'secondary' });
58
- button('Delete', { variant: 'danger' });
59
- button('Cancel', { variant: 'outline' });
60
-
61
- // Shorthand functions
62
- primaryButton('Submit');
63
- dangerButton('Delete');
64
-
65
- // Button with HTMX
66
- button('Load More', {
67
- htmx: {
68
- get: '/api/items?page=2',
69
- target: '#items-list',
70
- swap: 'beforeend',
71
- },
72
- });
61
+ ```tsx
62
+ import { Button, Card, Alert, Badge } from '@frontmcp/ui/react';
73
63
 
74
- // Button group
75
- buttonGroup([button('Edit', { variant: 'outline' }), button('Delete', { variant: 'danger' })], { attached: true });
64
+ function MyWidget() {
65
+ return (
66
+ <Card title="Welcome">
67
+ <Alert variant="info">Hello, world!</Alert>
68
+ <Button variant="primary" onClick={handleClick}>
69
+ Get Started
70
+ </Button>
71
+ <Badge variant="success">Active</Badge>
72
+ </Card>
73
+ );
74
+ }
76
75
  ```
77
76
 
78
- ### Card
79
-
80
- ```typescript
81
- import { card, cardGroup } from '@frontmcp/ui';
82
-
83
- // Basic card
84
- card('<p>Card content</p>');
85
-
86
- // Card with title and footer
87
- card('<p>Content</p>', {
88
- title: 'Card Title',
89
- subtitle: 'Optional subtitle',
90
- footer: '<button>Action</button>',
91
- variant: 'elevated',
92
- });
93
-
94
- // Card group
95
- cardGroup([card('Card 1', { title: 'First' }), card('Card 2', { title: 'Second' })], { columns: 2 });
96
- ```
77
+ ### MCP Bridge hooks
97
78
 
98
- ### Form Components
79
+ ```tsx
80
+ import { useMcpBridge, useCallTool, useToolInput, useToolOutput } from '@frontmcp/ui/react/hooks';
99
81
 
100
- ```typescript
101
- import { form, input, select, textarea, checkbox, radioGroup, formRow, formActions } from '@frontmcp/ui';
82
+ function ToolWidget() {
83
+ const bridge = useMcpBridge();
84
+ const { call, loading, error } = useCallTool();
85
+ const input = useToolInput();
86
+ const output = useToolOutput();
102
87
 
103
- // Complete form
104
- form(
105
- `
106
- ${input({ name: 'email', type: 'email', label: 'Email Address', required: true })}
107
- ${input({ name: 'password', type: 'password', label: 'Password', required: true })}
108
- ${checkbox({ name: 'remember', label: 'Remember me' })}
109
- ${formActions(button('Sign In', { type: 'submit' }))}
110
- `,
111
- {
112
- action: '/login',
113
- method: 'post',
114
- htmx: { post: '/api/login', target: '#result' },
115
- },
116
- );
88
+ const handleClick = async () => {
89
+ await call('my-tool', { data: input.query });
90
+ };
117
91
 
118
- // Select dropdown
119
- select({
120
- name: 'country',
121
- label: 'Country',
122
- options: [
123
- { value: 'us', label: 'United States' },
124
- { value: 'uk', label: 'United Kingdom' },
125
- ],
126
- });
127
-
128
- // Radio group
129
- radioGroup({
130
- name: 'plan',
131
- label: 'Select Plan',
132
- options: [
133
- { value: 'free', label: 'Free' },
134
- { value: 'pro', label: 'Pro' },
135
- ],
136
- });
137
- ```
138
-
139
- ### Alert & Badge
140
-
141
- ```typescript
142
- import { alert, successAlert, warningAlert, badge, activeBadge } from '@frontmcp/ui';
143
-
144
- // Alerts
145
- alert('Information message', { variant: 'info' });
146
- successAlert('Operation completed!');
147
- warningAlert('Please review your input.');
148
-
149
- // Badges
150
- badge('New');
151
- badge('Active', { variant: 'success' });
152
- activeBadge(); // Green "Active" badge
92
+ return (
93
+ <div>
94
+ <p>Query: {input.query}</p>
95
+ {loading && <p>Loading...</p>}
96
+ {error && <p>Error: {error.message}</p>}
97
+ {output && <pre>{JSON.stringify(output, null, 2)}</pre>}
98
+ <button onClick={handleClick}>Run Tool</button>
99
+ </div>
100
+ );
101
+ }
153
102
  ```
154
103
 
155
- ### Modal & Drawer
156
-
157
- ```typescript
158
- import { modal, modalTrigger, drawer, confirmModal } from '@frontmcp/ui';
104
+ ### Universal app shell
159
105
 
160
- // Basic modal
161
- modal('<p>Modal content</p>', {
162
- id: 'my-modal',
163
- title: 'Modal Title',
164
- size: 'md',
165
- });
166
-
167
- // Modal trigger button
168
- modalTrigger({ targetId: 'my-modal', text: 'Open Modal' });
106
+ ```tsx
107
+ import { UniversalApp, FrontMCPProvider } from '@frontmcp/ui/universal';
169
108
 
170
- // Confirmation modal
171
- confirmModal({
172
- id: 'delete-confirm',
173
- title: 'Confirm Delete',
174
- message: 'Are you sure you want to delete this item?',
175
- variant: 'danger',
176
- onConfirm: { delete: '/api/items/123' },
177
- });
178
-
179
- // Drawer
180
- drawer('<nav>Navigation</nav>', {
181
- id: 'nav-drawer',
182
- position: 'left',
183
- title: 'Menu',
184
- });
109
+ function App() {
110
+ return (
111
+ <FrontMCPProvider>
112
+ <UniversalApp>
113
+ <ToolWidget />
114
+ </UniversalApp>
115
+ </FrontMCPProvider>
116
+ );
117
+ }
185
118
  ```
186
119
 
187
- ### Table & Pagination
188
-
189
- ```typescript
190
- import { table, pagination } from '@frontmcp/ui';
191
-
192
- // Data table
193
- const data = [
194
- { id: 1, name: 'John', email: 'john@example.com' },
195
- { id: 2, name: 'Jane', email: 'jane@example.com' },
196
- ];
197
-
198
- table(data, {
199
- columns: [
200
- { key: 'id', header: 'ID', width: '60px' },
201
- { key: 'name', header: 'Name', sortable: true },
202
- { key: 'email', header: 'Email' },
203
- ],
204
- selectable: true,
205
- hoverable: true,
206
- });
207
-
208
- // Pagination
209
- pagination({
210
- page: 1,
211
- totalPages: 10,
212
- htmx: { get: '/api/items?page={page}', target: '#table' },
213
- });
214
- ```
120
+ ## Entry points
215
121
 
216
- ## Theme System
122
+ | Path | Exports |
123
+ | ----------------------------- | -------------------------------------------------- |
124
+ | `@frontmcp/ui/components` | HTML components, helpers, error boxes |
125
+ | `@frontmcp/ui/layouts` | Base layouts, consent/error templates |
126
+ | `@frontmcp/ui/pages` | High-level page templates |
127
+ | `@frontmcp/ui/widgets` | OpenAI App SDK-style widgets |
128
+ | `@frontmcp/ui/react` | React components |
129
+ | `@frontmcp/ui/react/hooks` | MCP Bridge React hooks |
130
+ | `@frontmcp/ui/renderers` | ReactRenderer + adapter helpers |
131
+ | `@frontmcp/ui/render` | React 19 static rendering utilities |
132
+ | `@frontmcp/ui/web-components` | `<fmcp-*>` custom elements |
133
+ | `@frontmcp/ui/bridge` | Bridge registry + adapters |
134
+ | `@frontmcp/ui/bundler` | SSR/component bundler (uses uipack under the hood) |
217
135
 
218
- ### Using the Default Theme
136
+ Use `@frontmcp/uipack/theme`, `@frontmcp/uipack/runtime`, and `@frontmcp/uipack/build` for theming, runtime helpers, and build-time APIs.
219
137
 
220
- ```typescript
221
- import { DEFAULT_THEME, GITHUB_OPENAI_THEME, baseLayout } from '@frontmcp/ui';
138
+ ## Server-side rendering
222
139
 
223
- // DEFAULT_THEME is the GitHub/OpenAI gray-black theme
224
- const page = baseLayout(content, {
225
- theme: DEFAULT_THEME,
226
- });
227
- ```
140
+ ### ReactRenderer (SSR)
228
141
 
229
- ### Creating Custom Themes
230
-
231
- ```typescript
232
- import { createTheme } from '@frontmcp/ui';
233
-
234
- const myTheme = createTheme({
235
- name: 'my-brand',
236
- colors: {
237
- semantic: {
238
- primary: '#0969da',
239
- secondary: '#8250df',
240
- accent: '#bf8700',
241
- },
242
- },
243
- typography: {
244
- families: {
245
- sans: '"Roboto", system-ui, sans-serif',
246
- },
247
- },
248
- cdn: {
249
- fonts: {
250
- stylesheets: ['https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap'],
251
- },
252
- },
253
- });
254
- ```
142
+ ```ts
143
+ import { ReactRenderer, reactRenderer } from '@frontmcp/ui/renderers';
255
144
 
256
- ### Theme CDN Configuration
257
-
258
- Customize external resource URLs for compliance or self-hosting:
259
-
260
- ```typescript
261
- const theme = createTheme({
262
- cdn: {
263
- fonts: {
264
- preconnect: ['https://fonts.example.com'],
265
- stylesheets: ['https://fonts.example.com/css/roboto.css'],
266
- },
267
- scripts: {
268
- tailwind: 'https://cdn.example.com/tailwind.js',
269
- htmx: {
270
- url: 'https://cdn.example.com/htmx.min.js',
271
- integrity: 'sha512-...',
272
- },
273
- },
274
- icons: {
275
- script: { url: 'https://cdn.example.com/lucide.min.js' },
276
- },
277
- },
145
+ const html = await reactRenderer.render(MyComponent, {
146
+ input: { query: 'test' },
147
+ output: { result: 'data' },
278
148
  });
279
149
  ```
280
150
 
281
- ## Platform Support
282
-
283
- ### Platform Detection
151
+ ### ReactRendererAdapter (client hydration)
284
152
 
285
- ```typescript
286
- import { getPlatform, canUseCdn, needsInlineScripts } from '@frontmcp/ui';
153
+ ```ts
154
+ import { ReactRendererAdapter, createReactAdapter } from '@frontmcp/ui/renderers';
287
155
 
288
- const platform = getPlatform('openai');
289
-
290
- if (canUseCdn(platform)) {
291
- // Use external CDN scripts
292
- } else if (needsInlineScripts(platform)) {
293
- // Embed scripts inline for blocked-network platforms
294
- }
156
+ const adapter = createReactAdapter();
157
+ await adapter.hydrate(targetElement, context);
158
+ await adapter.renderToDOM(content, targetElement, context);
159
+ adapter.destroy(targetElement);
295
160
  ```
296
161
 
297
- ### Building for Specific Platforms
298
-
299
- ```typescript
300
- import { buildCdnScriptsFromTheme, fetchAndCacheScriptsFromTheme, DEFAULT_THEME } from '@frontmcp/ui';
162
+ ## SSR bundling
301
163
 
302
- // For OpenAI, Gemini, ngrok (open network)
303
- const scripts = buildCdnScriptsFromTheme(DEFAULT_THEME);
164
+ ```ts
165
+ import { InMemoryBundler, createBundler } from '@frontmcp/ui/bundler';
304
166
 
305
- // For Claude Artifacts (blocked network)
306
- await fetchAndCacheScriptsFromTheme(DEFAULT_THEME);
307
- const inlineScripts = buildCdnScriptsFromTheme(DEFAULT_THEME, { inline: true });
167
+ const bundler = createBundler({ cache: true });
168
+ const result = await bundler.bundle('./components/MyWidget.tsx');
308
169
  ```
309
170
 
310
- ## Validation
171
+ ## Using with @frontmcp/uipack
311
172
 
312
- All components validate their options using Zod schemas. Invalid inputs render an error box instead of crashing:
173
+ ```ts
174
+ // Theme + scripts
175
+ import { DEFAULT_THEME, createTheme } from '@frontmcp/uipack/theme';
313
176
 
314
- ```typescript
315
- // Valid - renders button
316
- button('Click', { variant: 'primary' });
177
+ // Build API & adapters
178
+ import { buildToolUI, buildToolDiscoveryMeta } from '@frontmcp/uipack/build';
317
179
 
318
- // Invalid - renders error box showing "button" component and "variant" param
319
- button('Click', { variant: 'invalid' as any });
180
+ // Runtime helpers
181
+ import { wrapToolUI, createTemplateHelpers } from '@frontmcp/uipack/runtime';
320
182
 
321
- // Unknown properties rejected (strict mode)
322
- button('Click', { unknownProp: true } as any);
183
+ // Validation + utils
184
+ import { validateOptions } from '@frontmcp/uipack/validation';
323
185
  ```
324
186
 
325
- ### Using Schemas Directly
187
+ `@frontmcp/uipack` lets you configure themes, register cached widgets, wrap templates with CSP, and emit platform-specific metadata without pulling React into HTML-only projects.
326
188
 
327
- ```typescript
328
- import { ButtonOptionsSchema } from '@frontmcp/ui';
189
+ ## Peer dependencies
329
190
 
330
- // Validate before passing to component
331
- const result = ButtonOptionsSchema.safeParse(userInput);
332
- if (result.success) {
333
- button('Click', result.data);
334
- } else {
335
- console.error('Validation errors:', result.error.issues);
191
+ ```json
192
+ {
193
+ "peerDependencies": {
194
+ "react": "^18.0.0 || ^19.0.0",
195
+ "react-dom": "^18.0.0 || ^19.0.0",
196
+ "@frontmcp/uipack": "^0.6.1"
197
+ }
336
198
  }
337
199
  ```
338
200
 
339
- ## Layouts
340
-
341
- ### Base Layout
342
-
343
- ```typescript
344
- import { baseLayout } from '@frontmcp/ui';
345
-
346
- const html = baseLayout(content, {
347
- title: 'Page Title',
348
- description: 'Page description for SEO',
349
- theme: DEFAULT_THEME,
350
- width: 'md', // 'sm' | 'md' | 'lg' | 'xl' | 'full'
351
- align: 'center', // 'left' | 'center' | 'right'
352
- scripts: { htmx: true, tailwind: true },
353
- });
354
- ```
355
-
356
- ## Testing Tool UI
357
-
358
- When using `@frontmcp/ui` components in Tool UI templates (React, MDX), you can use `@frontmcp/testing` for E2E validation:
359
-
360
- ```typescript
361
- import { test, expect, UIAssertions } from '@frontmcp/testing';
362
-
363
- test.describe('Tool UI with @frontmcp/ui', () => {
364
- test('renders UI components correctly', async ({ mcp }) => {
365
- const result = await mcp.tools.call('my-tool', { data: 'test' });
366
-
367
- // Verify HTML is rendered (not fallback)
368
- expect(result).toHaveRenderedHtml();
369
- expect(result).toHaveProperHtmlStructure();
370
-
371
- // Verify data binding
372
- const output = result.json();
373
- expect(result).toContainBoundValue(output.data);
374
-
375
- // Security validation
376
- expect(result).toBeXssSafe();
377
-
378
- // Extract HTML for additional assertions
379
- const html = UIAssertions.assertRenderedUI(result);
380
-
381
- // Verify @frontmcp/ui component classes
382
- expect(html).toContain('btn-primary'); // Button class
383
- expect(html).toContain('card'); // Card component
384
- });
385
- });
386
- ```
387
-
388
- ### UI Matchers
389
-
390
- | Matcher | Description |
391
- | ----------------------------- | ----------------------------------------------- |
392
- | `toHaveRenderedHtml()` | Checks `_meta['ui/html']` exists, not fallback |
393
- | `toContainHtmlElement(tag)` | Checks HTML contains `<tag>` element |
394
- | `toContainBoundValue(value)` | Checks output value appears in HTML |
395
- | `toBeXssSafe()` | No `<script>`, event handlers, `javascript:` |
396
- | `toHaveWidgetMetadata()` | Has platform metadata |
397
- | `toHaveCssClass(className)` | Checks for specific CSS class |
398
- | `toNotContainRawContent(str)` | Content is NOT present (for fallback detection) |
399
- | `toHaveProperHtmlStructure()` | HTML has tags, not escaped text |
400
-
401
- ### UIAssertions Helper
402
-
403
- ```typescript
404
- import { UIAssertions } from '@frontmcp/testing';
405
-
406
- // Extract HTML from result
407
- const html = UIAssertions.assertRenderedUI(result);
408
-
409
- // Validate data binding
410
- UIAssertions.assertDataBinding(html, output, ['field1', 'field2']);
411
-
412
- // Comprehensive validation
413
- const html = UIAssertions.assertValidUI(result, ['field1', 'field2']);
414
- ```
415
-
416
- See [@frontmcp/testing documentation](../testing/README.md) for full API reference.
417
-
418
201
  ## Development
419
202
 
420
- ### Building
421
-
422
203
  ```bash
423
204
  yarn nx build ui
424
- ```
425
-
426
- ### Testing
427
-
428
- ```bash
429
205
  yarn nx test ui
430
206
  ```
431
207
 
432
- ### Test Coverage
208
+ ## Related packages
433
209
 
434
- The library maintains 95%+ test coverage across all metrics.
210
+ - [`@frontmcp/uipack`](../uipack/README.md) React-free themes, runtime helpers, build tooling
211
+ - [`@frontmcp/sdk`](../sdk/README.md) – Core SDK
212
+ - [`@frontmcp/testing`](../testing/README.md) – UI assertions and fixtures
435
213
 
436
214
  ## License
437
215
 
438
- MIT
216
+ Apache-2.0
@@ -0,0 +1,104 @@
1
+ /**
2
+ * Base Platform Adapter
3
+ *
4
+ * Abstract base class for platform adapters with default implementations.
5
+ * Extend this class to create custom adapters for new platforms.
6
+ *
7
+ * @packageDocumentation
8
+ */
9
+ import type { PlatformAdapter, AdapterCapabilities, DisplayMode, UserAgentInfo, SafeAreaInsets, ViewportInfo, HostContext } from '../types';
10
+ /**
11
+ * Default adapter capabilities (most features disabled).
12
+ */
13
+ export declare const DEFAULT_CAPABILITIES: AdapterCapabilities;
14
+ /**
15
+ * Default safe area insets (no insets).
16
+ */
17
+ export declare const DEFAULT_SAFE_AREA: SafeAreaInsets;
18
+ /**
19
+ * Abstract base class for platform adapters.
20
+ * Provides default implementations that can be overridden.
21
+ */
22
+ export declare abstract class BaseAdapter implements PlatformAdapter {
23
+ abstract readonly id: string;
24
+ abstract readonly name: string;
25
+ abstract readonly priority: number;
26
+ protected _capabilities: AdapterCapabilities;
27
+ protected _hostContext: HostContext;
28
+ protected _widgetState: Record<string, unknown>;
29
+ protected _toolInput: Record<string, unknown>;
30
+ protected _toolOutput: unknown;
31
+ protected _structuredContent: unknown;
32
+ protected _initialized: boolean;
33
+ protected _contextListeners: Set<(changes: Partial<HostContext>) => void>;
34
+ protected _toolResultListeners: Set<(result: unknown) => void>;
35
+ constructor();
36
+ get capabilities(): AdapterCapabilities;
37
+ abstract canHandle(): boolean;
38
+ initialize(): Promise<void>;
39
+ dispose(): void;
40
+ getTheme(): 'light' | 'dark';
41
+ getDisplayMode(): DisplayMode;
42
+ getUserAgent(): UserAgentInfo;
43
+ getLocale(): string;
44
+ getToolInput(): Record<string, unknown>;
45
+ getToolOutput(): unknown;
46
+ getStructuredContent(): unknown;
47
+ getWidgetState(): Record<string, unknown>;
48
+ getSafeArea(): SafeAreaInsets;
49
+ getViewport(): ViewportInfo | undefined;
50
+ getHostContext(): HostContext;
51
+ callTool(_name: string, _args: Record<string, unknown>): Promise<unknown>;
52
+ sendMessage(_content: string): Promise<void>;
53
+ openLink(url: string): Promise<void>;
54
+ requestDisplayMode(_mode: DisplayMode): Promise<void>;
55
+ requestClose(): Promise<void>;
56
+ setWidgetState(state: Record<string, unknown>): void;
57
+ onContextChange(callback: (changes: Partial<HostContext>) => void): () => void;
58
+ onToolResult(callback: (result: unknown) => void): () => void;
59
+ /**
60
+ * Create default host context from environment detection.
61
+ */
62
+ protected _createDefaultHostContext(): HostContext;
63
+ /**
64
+ * Detect theme from CSS media query.
65
+ */
66
+ protected _detectTheme(): 'light' | 'dark';
67
+ /**
68
+ * Detect locale from navigator.
69
+ */
70
+ protected _detectLocale(): string;
71
+ /**
72
+ * Detect user agent capabilities.
73
+ */
74
+ protected _detectUserAgent(): UserAgentInfo;
75
+ /**
76
+ * Detect viewport dimensions.
77
+ */
78
+ protected _detectViewport(): ViewportInfo | undefined;
79
+ /**
80
+ * Read injected tool data from window globals.
81
+ */
82
+ protected _readInjectedData(): void;
83
+ /**
84
+ * Load widget state from localStorage.
85
+ */
86
+ protected _loadWidgetState(): void;
87
+ /**
88
+ * Persist widget state to localStorage.
89
+ */
90
+ protected _persistWidgetState(): void;
91
+ /**
92
+ * Get localStorage key for widget state.
93
+ */
94
+ protected _getStateKey(): string;
95
+ /**
96
+ * Notify context change listeners.
97
+ */
98
+ protected _notifyContextChange(changes: Partial<HostContext>): void;
99
+ /**
100
+ * Notify tool result listeners.
101
+ */
102
+ protected _notifyToolResult(result: unknown): void;
103
+ }
104
+ //# sourceMappingURL=base-adapter.d.ts.map