@frontmcp/ui 0.6.1 → 0.6.2

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 (292) hide show
  1. package/bridge/core/bridge-factory.d.ts +1 -0
  2. package/bridge/core/bridge-factory.d.ts.map +1 -1
  3. package/bridge/index.d.ts +1 -1
  4. package/bridge/index.d.ts.map +1 -1
  5. package/bridge/index.js +39 -881
  6. package/bundler/browser-components.d.ts +42 -0
  7. package/bundler/browser-components.d.ts.map +1 -0
  8. package/bundler/bundler.d.ts +78 -4
  9. package/bundler/bundler.d.ts.map +1 -1
  10. package/bundler/index.d.ts +8 -8
  11. package/bundler/index.d.ts.map +1 -1
  12. package/bundler/index.js +1315 -1854
  13. package/bundler/types.d.ts +188 -7
  14. package/bundler/types.d.ts.map +1 -1
  15. package/esm/bridge/{index.js → index.mjs} +40 -877
  16. package/esm/bundler/{index.js → index.mjs} +1391 -1895
  17. package/esm/{index.js → index.mjs} +215 -3091
  18. package/esm/layouts/{index.js → index.mjs} +3 -3
  19. package/esm/package.json +9 -8
  20. package/esm/react/index.mjs +1183 -0
  21. package/esm/renderers/index.mjs +611 -0
  22. package/esm/universal/{index.js → index.mjs} +266 -70
  23. package/index.d.ts +1 -4
  24. package/index.d.ts.map +1 -1
  25. package/index.js +208 -3113
  26. package/layouts/base.d.ts.map +1 -1
  27. package/layouts/index.js +3 -3
  28. package/layouts/presets.d.ts.map +1 -1
  29. package/package.json +9 -8
  30. package/react/Badge.d.ts.map +1 -1
  31. package/react/hooks/context.d.ts.map +1 -1
  32. package/react/index.d.ts +0 -1
  33. package/react/index.d.ts.map +1 -1
  34. package/react/index.js +57 -2001
  35. package/react/types.d.ts.map +1 -1
  36. package/renderers/index.d.ts +9 -4
  37. package/renderers/index.d.ts.map +1 -1
  38. package/renderers/index.js +328 -88
  39. package/renderers/mdx.renderer.d.ts +99 -0
  40. package/renderers/mdx.renderer.d.ts.map +1 -0
  41. package/renderers/react.renderer.d.ts +22 -13
  42. package/renderers/react.renderer.d.ts.map +1 -1
  43. package/renderers/transpiler.d.ts +49 -0
  44. package/renderers/transpiler.d.ts.map +1 -0
  45. package/universal/cached-runtime.d.ts +25 -1
  46. package/universal/cached-runtime.d.ts.map +1 -1
  47. package/universal/index.js +266 -70
  48. package/universal/runtime-builder.d.ts.map +1 -1
  49. package/universal/types.d.ts.map +1 -1
  50. package/web-components/elements/fmcp-input.d.ts.map +1 -1
  51. package/web-components/elements/fmcp-select.d.ts.map +1 -1
  52. package/web-components/index.d.ts +0 -1
  53. package/web-components/index.d.ts.map +1 -1
  54. package/bundler/cache.d.ts +0 -173
  55. package/bundler/cache.d.ts.map +0 -1
  56. package/bundler/file-cache/component-builder.d.ts +0 -167
  57. package/bundler/file-cache/component-builder.d.ts.map +0 -1
  58. package/bundler/file-cache/hash-calculator.d.ts +0 -155
  59. package/bundler/file-cache/hash-calculator.d.ts.map +0 -1
  60. package/bundler/file-cache/index.d.ts +0 -12
  61. package/bundler/file-cache/index.d.ts.map +0 -1
  62. package/bundler/file-cache/storage/filesystem.d.ts +0 -149
  63. package/bundler/file-cache/storage/filesystem.d.ts.map +0 -1
  64. package/bundler/file-cache/storage/index.d.ts +0 -11
  65. package/bundler/file-cache/storage/index.d.ts.map +0 -1
  66. package/bundler/file-cache/storage/interface.d.ts +0 -152
  67. package/bundler/file-cache/storage/interface.d.ts.map +0 -1
  68. package/bundler/file-cache/storage/redis.d.ts +0 -139
  69. package/bundler/file-cache/storage/redis.d.ts.map +0 -1
  70. package/bundler/sandbox/enclave-adapter.d.ts +0 -121
  71. package/bundler/sandbox/enclave-adapter.d.ts.map +0 -1
  72. package/bundler/sandbox/executor.d.ts +0 -14
  73. package/bundler/sandbox/executor.d.ts.map +0 -1
  74. package/bundler/sandbox/policy.d.ts +0 -62
  75. package/bundler/sandbox/policy.d.ts.map +0 -1
  76. package/esm/bridge/adapters/base-adapter.d.ts +0 -104
  77. package/esm/bridge/adapters/base-adapter.d.ts.map +0 -1
  78. package/esm/bridge/adapters/claude.adapter.d.ts +0 -67
  79. package/esm/bridge/adapters/claude.adapter.d.ts.map +0 -1
  80. package/esm/bridge/adapters/ext-apps.adapter.d.ts +0 -143
  81. package/esm/bridge/adapters/ext-apps.adapter.d.ts.map +0 -1
  82. package/esm/bridge/adapters/gemini.adapter.d.ts +0 -64
  83. package/esm/bridge/adapters/gemini.adapter.d.ts.map +0 -1
  84. package/esm/bridge/adapters/generic.adapter.d.ts +0 -56
  85. package/esm/bridge/adapters/generic.adapter.d.ts.map +0 -1
  86. package/esm/bridge/adapters/index.d.ts +0 -26
  87. package/esm/bridge/adapters/index.d.ts.map +0 -1
  88. package/esm/bridge/adapters/openai.adapter.d.ts +0 -65
  89. package/esm/bridge/adapters/openai.adapter.d.ts.map +0 -1
  90. package/esm/bridge/core/adapter-registry.d.ts +0 -122
  91. package/esm/bridge/core/adapter-registry.d.ts.map +0 -1
  92. package/esm/bridge/core/bridge-factory.d.ts +0 -199
  93. package/esm/bridge/core/bridge-factory.d.ts.map +0 -1
  94. package/esm/bridge/core/index.d.ts +0 -10
  95. package/esm/bridge/core/index.d.ts.map +0 -1
  96. package/esm/bridge/index.d.ts +0 -62
  97. package/esm/bridge/index.d.ts.map +0 -1
  98. package/esm/bridge/runtime/iife-generator.d.ts +0 -62
  99. package/esm/bridge/runtime/iife-generator.d.ts.map +0 -1
  100. package/esm/bridge/runtime/index.d.ts +0 -10
  101. package/esm/bridge/runtime/index.d.ts.map +0 -1
  102. package/esm/bridge/types.d.ts +0 -386
  103. package/esm/bridge/types.d.ts.map +0 -1
  104. package/esm/bundler/bundler.d.ts +0 -208
  105. package/esm/bundler/bundler.d.ts.map +0 -1
  106. package/esm/bundler/cache.d.ts +0 -173
  107. package/esm/bundler/cache.d.ts.map +0 -1
  108. package/esm/bundler/file-cache/component-builder.d.ts +0 -167
  109. package/esm/bundler/file-cache/component-builder.d.ts.map +0 -1
  110. package/esm/bundler/file-cache/hash-calculator.d.ts +0 -155
  111. package/esm/bundler/file-cache/hash-calculator.d.ts.map +0 -1
  112. package/esm/bundler/file-cache/index.d.ts +0 -12
  113. package/esm/bundler/file-cache/index.d.ts.map +0 -1
  114. package/esm/bundler/file-cache/storage/filesystem.d.ts +0 -149
  115. package/esm/bundler/file-cache/storage/filesystem.d.ts.map +0 -1
  116. package/esm/bundler/file-cache/storage/index.d.ts +0 -11
  117. package/esm/bundler/file-cache/storage/index.d.ts.map +0 -1
  118. package/esm/bundler/file-cache/storage/interface.d.ts +0 -152
  119. package/esm/bundler/file-cache/storage/interface.d.ts.map +0 -1
  120. package/esm/bundler/file-cache/storage/redis.d.ts +0 -139
  121. package/esm/bundler/file-cache/storage/redis.d.ts.map +0 -1
  122. package/esm/bundler/index.d.ts +0 -43
  123. package/esm/bundler/index.d.ts.map +0 -1
  124. package/esm/bundler/sandbox/enclave-adapter.d.ts +0 -121
  125. package/esm/bundler/sandbox/enclave-adapter.d.ts.map +0 -1
  126. package/esm/bundler/sandbox/executor.d.ts +0 -14
  127. package/esm/bundler/sandbox/executor.d.ts.map +0 -1
  128. package/esm/bundler/sandbox/policy.d.ts +0 -62
  129. package/esm/bundler/sandbox/policy.d.ts.map +0 -1
  130. package/esm/bundler/types.d.ts +0 -702
  131. package/esm/bundler/types.d.ts.map +0 -1
  132. package/esm/components/alert.d.ts +0 -66
  133. package/esm/components/alert.d.ts.map +0 -1
  134. package/esm/components/alert.schema.d.ts +0 -98
  135. package/esm/components/alert.schema.d.ts.map +0 -1
  136. package/esm/components/avatar.d.ts +0 -77
  137. package/esm/components/avatar.d.ts.map +0 -1
  138. package/esm/components/avatar.schema.d.ts +0 -170
  139. package/esm/components/avatar.schema.d.ts.map +0 -1
  140. package/esm/components/badge.d.ts +0 -64
  141. package/esm/components/badge.d.ts.map +0 -1
  142. package/esm/components/badge.schema.d.ts +0 -91
  143. package/esm/components/badge.schema.d.ts.map +0 -1
  144. package/esm/components/button.d.ts +0 -100
  145. package/esm/components/button.d.ts.map +0 -1
  146. package/esm/components/button.schema.d.ts +0 -120
  147. package/esm/components/button.schema.d.ts.map +0 -1
  148. package/esm/components/card.d.ts +0 -53
  149. package/esm/components/card.d.ts.map +0 -1
  150. package/esm/components/card.schema.d.ts +0 -93
  151. package/esm/components/card.schema.d.ts.map +0 -1
  152. package/esm/components/form.d.ts +0 -212
  153. package/esm/components/form.d.ts.map +0 -1
  154. package/esm/components/form.schema.d.ts +0 -365
  155. package/esm/components/form.schema.d.ts.map +0 -1
  156. package/esm/components/index.d.ts +0 -29
  157. package/esm/components/index.d.ts.map +0 -1
  158. package/esm/components/list.d.ts +0 -121
  159. package/esm/components/list.d.ts.map +0 -1
  160. package/esm/components/list.schema.d.ts +0 -129
  161. package/esm/components/list.schema.d.ts.map +0 -1
  162. package/esm/components/modal.d.ts +0 -100
  163. package/esm/components/modal.d.ts.map +0 -1
  164. package/esm/components/modal.schema.d.ts +0 -151
  165. package/esm/components/modal.schema.d.ts.map +0 -1
  166. package/esm/components/table.d.ts +0 -91
  167. package/esm/components/table.d.ts.map +0 -1
  168. package/esm/components/table.schema.d.ts +0 -123
  169. package/esm/components/table.schema.d.ts.map +0 -1
  170. package/esm/index.d.ts +0 -40
  171. package/esm/index.d.ts.map +0 -1
  172. package/esm/layouts/base.d.ts +0 -86
  173. package/esm/layouts/base.d.ts.map +0 -1
  174. package/esm/layouts/index.d.ts +0 -8
  175. package/esm/layouts/index.d.ts.map +0 -1
  176. package/esm/layouts/presets.d.ts +0 -134
  177. package/esm/layouts/presets.d.ts.map +0 -1
  178. package/esm/pages/consent.d.ts +0 -117
  179. package/esm/pages/consent.d.ts.map +0 -1
  180. package/esm/pages/error.d.ts +0 -101
  181. package/esm/pages/error.d.ts.map +0 -1
  182. package/esm/pages/index.d.ts +0 -9
  183. package/esm/pages/index.d.ts.map +0 -1
  184. package/esm/pages/index.js +0 -1036
  185. package/esm/react/Alert.d.ts +0 -101
  186. package/esm/react/Alert.d.ts.map +0 -1
  187. package/esm/react/Badge.d.ts +0 -100
  188. package/esm/react/Badge.d.ts.map +0 -1
  189. package/esm/react/Button.d.ts +0 -108
  190. package/esm/react/Button.d.ts.map +0 -1
  191. package/esm/react/Card.d.ts +0 -103
  192. package/esm/react/Card.d.ts.map +0 -1
  193. package/esm/react/hooks/context.d.ts +0 -179
  194. package/esm/react/hooks/context.d.ts.map +0 -1
  195. package/esm/react/hooks/index.d.ts +0 -42
  196. package/esm/react/hooks/index.d.ts.map +0 -1
  197. package/esm/react/hooks/tools.d.ts +0 -284
  198. package/esm/react/hooks/tools.d.ts.map +0 -1
  199. package/esm/react/index.d.ts +0 -80
  200. package/esm/react/index.d.ts.map +0 -1
  201. package/esm/react/index.js +0 -3124
  202. package/esm/react/types.d.ts +0 -105
  203. package/esm/react/types.d.ts.map +0 -1
  204. package/esm/react/utils.d.ts +0 -43
  205. package/esm/react/utils.d.ts.map +0 -1
  206. package/esm/render/index.d.ts +0 -8
  207. package/esm/render/index.d.ts.map +0 -1
  208. package/esm/render/prerender.d.ts +0 -57
  209. package/esm/render/prerender.d.ts.map +0 -1
  210. package/esm/renderers/index.d.ts +0 -21
  211. package/esm/renderers/index.d.ts.map +0 -1
  212. package/esm/renderers/index.js +0 -381
  213. package/esm/renderers/react.adapter.d.ts +0 -70
  214. package/esm/renderers/react.adapter.d.ts.map +0 -1
  215. package/esm/renderers/react.renderer.d.ts +0 -96
  216. package/esm/renderers/react.renderer.d.ts.map +0 -1
  217. package/esm/universal/UniversalApp.d.ts +0 -108
  218. package/esm/universal/UniversalApp.d.ts.map +0 -1
  219. package/esm/universal/cached-runtime.d.ts +0 -115
  220. package/esm/universal/cached-runtime.d.ts.map +0 -1
  221. package/esm/universal/context.d.ts +0 -122
  222. package/esm/universal/context.d.ts.map +0 -1
  223. package/esm/universal/index.d.ts +0 -57
  224. package/esm/universal/index.d.ts.map +0 -1
  225. package/esm/universal/renderers/html.renderer.d.ts +0 -37
  226. package/esm/universal/renderers/html.renderer.d.ts.map +0 -1
  227. package/esm/universal/renderers/index.d.ts +0 -112
  228. package/esm/universal/renderers/index.d.ts.map +0 -1
  229. package/esm/universal/renderers/markdown.renderer.d.ts +0 -33
  230. package/esm/universal/renderers/markdown.renderer.d.ts.map +0 -1
  231. package/esm/universal/renderers/mdx.renderer.d.ts +0 -38
  232. package/esm/universal/renderers/mdx.renderer.d.ts.map +0 -1
  233. package/esm/universal/renderers/react.renderer.d.ts +0 -46
  234. package/esm/universal/renderers/react.renderer.d.ts.map +0 -1
  235. package/esm/universal/runtime-builder.d.ts +0 -33
  236. package/esm/universal/runtime-builder.d.ts.map +0 -1
  237. package/esm/universal/store.d.ts +0 -135
  238. package/esm/universal/store.d.ts.map +0 -1
  239. package/esm/universal/types.d.ts +0 -199
  240. package/esm/universal/types.d.ts.map +0 -1
  241. package/esm/web-components/core/attribute-parser.d.ts +0 -82
  242. package/esm/web-components/core/attribute-parser.d.ts.map +0 -1
  243. package/esm/web-components/core/base-element.d.ts +0 -197
  244. package/esm/web-components/core/base-element.d.ts.map +0 -1
  245. package/esm/web-components/core/index.d.ts +0 -9
  246. package/esm/web-components/core/index.d.ts.map +0 -1
  247. package/esm/web-components/elements/fmcp-alert.d.ts +0 -46
  248. package/esm/web-components/elements/fmcp-alert.d.ts.map +0 -1
  249. package/esm/web-components/elements/fmcp-badge.d.ts +0 -47
  250. package/esm/web-components/elements/fmcp-badge.d.ts.map +0 -1
  251. package/esm/web-components/elements/fmcp-button.d.ts +0 -117
  252. package/esm/web-components/elements/fmcp-button.d.ts.map +0 -1
  253. package/esm/web-components/elements/fmcp-card.d.ts +0 -53
  254. package/esm/web-components/elements/fmcp-card.d.ts.map +0 -1
  255. package/esm/web-components/elements/fmcp-input.d.ts +0 -96
  256. package/esm/web-components/elements/fmcp-input.d.ts.map +0 -1
  257. package/esm/web-components/elements/fmcp-select.d.ts +0 -100
  258. package/esm/web-components/elements/fmcp-select.d.ts.map +0 -1
  259. package/esm/web-components/elements/index.d.ts +0 -13
  260. package/esm/web-components/elements/index.d.ts.map +0 -1
  261. package/esm/web-components/index.d.ts +0 -50
  262. package/esm/web-components/index.d.ts.map +0 -1
  263. package/esm/web-components/register.d.ts +0 -57
  264. package/esm/web-components/register.d.ts.map +0 -1
  265. package/esm/web-components/types.d.ts +0 -122
  266. package/esm/web-components/types.d.ts.map +0 -1
  267. package/esm/widgets/index.d.ts +0 -8
  268. package/esm/widgets/index.d.ts.map +0 -1
  269. package/esm/widgets/index.js +0 -883
  270. package/esm/widgets/progress.d.ts +0 -133
  271. package/esm/widgets/progress.d.ts.map +0 -1
  272. package/esm/widgets/resource.d.ts +0 -163
  273. package/esm/widgets/resource.d.ts.map +0 -1
  274. package/pages/consent.d.ts +0 -117
  275. package/pages/consent.d.ts.map +0 -1
  276. package/pages/error.d.ts +0 -101
  277. package/pages/error.d.ts.map +0 -1
  278. package/pages/index.d.ts +0 -9
  279. package/pages/index.d.ts.map +0 -1
  280. package/pages/index.js +0 -1065
  281. package/react/utils.d.ts +0 -43
  282. package/react/utils.d.ts.map +0 -1
  283. package/widgets/index.d.ts +0 -8
  284. package/widgets/index.d.ts.map +0 -1
  285. package/widgets/index.js +0 -910
  286. package/widgets/progress.d.ts +0 -133
  287. package/widgets/progress.d.ts.map +0 -1
  288. package/widgets/resource.d.ts +0 -163
  289. package/widgets/resource.d.ts.map +0 -1
  290. /package/esm/components/{index.js → index.mjs} +0 -0
  291. /package/esm/render/{index.js → index.mjs} +0 -0
  292. /package/esm/web-components/{index.js → index.mjs} +0 -0
@@ -1,70 +0,0 @@
1
- /**
2
- * React Renderer Adapter
3
- *
4
- * Client-side adapter for rendering React components.
5
- * Handles hydration, client-side rendering, and updates.
6
- *
7
- * @packageDocumentation
8
- */
9
- import type { RendererAdapter, RenderContext, RenderOptions, RenderResult } from '@frontmcp/uipack/runtime';
10
- import type { UIType } from '@frontmcp/uipack/types';
11
- /**
12
- * React Renderer Adapter.
13
- *
14
- * Renders React components to the DOM with support for:
15
- * - Server-side rendering (SSR)
16
- * - Client-side hydration
17
- * - Dynamic updates when data changes
18
- */
19
- export declare class ReactRendererAdapter implements RendererAdapter {
20
- readonly type: UIType;
21
- private react;
22
- private reactDOM;
23
- private loadPromise;
24
- /**
25
- * Check if this adapter can handle the given content.
26
- */
27
- canHandle(content: string | unknown): boolean;
28
- /**
29
- * Render React component to a string.
30
- * This is a client-side fallback - SSR should be done at build time.
31
- */
32
- render(content: string, context: RenderContext, _options?: RenderOptions): Promise<string>;
33
- /**
34
- * Render React component directly to the DOM.
35
- */
36
- renderToDOM(content: string, target: HTMLElement, context: RenderContext, options?: RenderOptions): Promise<RenderResult>;
37
- /**
38
- * Hydrate existing SSR content with React.
39
- */
40
- hydrate(target: HTMLElement, context: RenderContext, options?: RenderOptions): Promise<RenderResult>;
41
- /**
42
- * Update rendered React component with new data.
43
- */
44
- update(target: HTMLElement, context: RenderContext): Promise<RenderResult>;
45
- /**
46
- * Clean up React root.
47
- */
48
- destroy(target: HTMLElement): void;
49
- /**
50
- * Ensure React is loaded.
51
- */
52
- private ensureReactLoaded;
53
- /**
54
- * Load React runtime.
55
- */
56
- private loadReact;
57
- /**
58
- * Get a React component by name or from content.
59
- */
60
- private getComponent;
61
- }
62
- /**
63
- * Create a new React renderer adapter.
64
- */
65
- export declare function createReactAdapter(): ReactRendererAdapter;
66
- /**
67
- * Adapter loader for lazy loading.
68
- */
69
- export declare function loadReactAdapter(): Promise<RendererAdapter>;
70
- //# sourceMappingURL=react.adapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"react.adapter.d.ts","sourceRoot":"","sources":["../../../src/renderers/react.adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC5G,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAsDrD;;;;;;;GAOG;AACH,qBAAa,oBAAqB,YAAW,eAAe;IAC1D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAW;IAGhC,OAAO,CAAC,KAAK,CAA6B;IAC1C,OAAO,CAAC,QAAQ,CAAgC;IAChD,OAAO,CAAC,WAAW,CAA8B;IAEjD;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO;IAqB7C;;;OAGG;IACG,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;IAMhG;;OAEG;IACG,WAAW,CACf,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,aAAa,EACtB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,YAAY,CAAC;IA4DxB;;OAEG;IACG,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;IAI1G;;OAEG;IACG,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;IAsChF;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAQlC;;OAEG;YACW,iBAAiB;IAa/B;;OAEG;YACW,SAAS;IAmCvB;;OAEG;IACH,OAAO,CAAC,YAAY;CAsBrB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,oBAAoB,CAEzD;AAED;;GAEG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,eAAe,CAAC,CAEjE"}
@@ -1,96 +0,0 @@
1
- /**
2
- * React Renderer
3
- *
4
- * Handles React component templates:
5
- * - Imported React components (already transpiled)
6
- * - JSX string templates (transpiled at runtime with SWC)
7
- *
8
- * Uses react-dom/server for SSR to HTML.
9
- */
10
- import type { TemplateContext } from '@frontmcp/uipack/runtime';
11
- import type { PlatformCapabilities } from '@frontmcp/uipack/theme';
12
- import type { UIRenderer, TranspileResult, TranspileOptions, RenderOptions, RuntimeScripts, ToolUIProps } from '@frontmcp/uipack/renderers';
13
- /**
14
- * Types this renderer can handle.
15
- */
16
- type ReactTemplate<In = unknown, Out = unknown> = ((props: ToolUIProps<In, Out>) => unknown) | string;
17
- /**
18
- * React Renderer Implementation.
19
- *
20
- * Handles:
21
- * - Imported React components (FC or class)
22
- * - JSX string templates (transpiled with SWC at runtime)
23
- *
24
- * Renders to HTML using react-dom/server's renderToString.
25
- *
26
- * @example Imported component
27
- * ```typescript
28
- * import { MyWidget } from './my-widget.tsx';
29
- *
30
- * @Tool({
31
- * ui: { template: MyWidget }
32
- * })
33
- * ```
34
- *
35
- * @example JSX string (runtime transpilation)
36
- * ```typescript
37
- * @Tool({
38
- * ui: {
39
- * template: `
40
- * function Widget({ output }) {
41
- * return <div>{output.name}</div>;
42
- * }
43
- * `
44
- * }
45
- * })
46
- * ```
47
- */
48
- export declare class ReactRenderer implements UIRenderer<ReactTemplate> {
49
- readonly type: "react";
50
- readonly priority = 20;
51
- /**
52
- * Lazy-loaded React modules.
53
- */
54
- private React;
55
- private ReactDOMServer;
56
- /**
57
- * Check if this renderer can handle the given template.
58
- *
59
- * Accepts:
60
- * - React component functions (imported, already transpiled)
61
- * - Strings containing JSX syntax
62
- */
63
- canHandle(template: unknown): template is ReactTemplate;
64
- /**
65
- * Transpile the template if needed.
66
- *
67
- * For imported React components, no transpilation is needed.
68
- * For JSX strings, SWC transpilation is performed.
69
- */
70
- transpile(template: ReactTemplate, options?: TranspileOptions): Promise<TranspileResult>;
71
- /**
72
- * Render the template to HTML string using react-dom/server.
73
- */
74
- render<In, Out>(template: ReactTemplate<In, Out>, context: TemplateContext<In, Out>, options?: RenderOptions): Promise<string>;
75
- /**
76
- * Get runtime scripts for client-side functionality.
77
- */
78
- getRuntimeScripts(platform: PlatformCapabilities): RuntimeScripts;
79
- /**
80
- * Load React and ReactDOMServer modules.
81
- */
82
- private loadReact;
83
- }
84
- /**
85
- * Singleton instance of the React renderer.
86
- */
87
- export declare const reactRenderer: ReactRenderer;
88
- /**
89
- * Build React hydration script for client-side interactivity.
90
- *
91
- * This script finds elements with data-hydrate attributes and
92
- * hydrates them with the corresponding React component.
93
- */
94
- export declare function buildHydrationScript(): string;
95
- export {};
96
- //# sourceMappingURL=react.renderer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"react.renderer.d.ts","sourceRoot":"","sources":["../../../src/renderers/react.renderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,KAAK,EACV,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,WAAW,EACZ,MAAM,4BAA4B,CAAC;AAUpC;;GAEG;AACH,KAAK,aAAa,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,GAAG,OAAO,IAC1C,CAAC,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,EAAE,GAAG,CAAC,KAAK,OAAO,CAAC,GAC1C,MAAM,CAAC;AAqBX;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,qBAAa,aAAc,YAAW,UAAU,CAAC,aAAa,CAAC;IAC7D,QAAQ,CAAC,IAAI,EAAG,OAAO,CAAU;IACjC,QAAQ,CAAC,QAAQ,MAAM;IAEvB;;OAEG;IAEH,OAAO,CAAC,KAAK,CAAa;IAE1B,OAAO,CAAC,cAAc,CAAa;IAEnC;;;;;;OAMG;IACH,SAAS,CAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,IAAI,aAAa;IAcvD;;;;;OAKG;IACG,SAAS,CAAC,QAAQ,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;IAsB9F;;OAEG;IACG,MAAM,CAAC,EAAE,EAAE,GAAG,EAClB,QAAQ,EAAE,aAAa,CAAC,EAAE,EAAE,GAAG,CAAC,EAChC,OAAO,EAAE,eAAe,CAAC,EAAE,EAAE,GAAG,CAAC,EACjC,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,MAAM,CAAC;IAkElB;;OAEG;IACH,iBAAiB,CAAC,QAAQ,EAAE,oBAAoB,GAAG,cAAc;IAoBjE;;OAEG;YACW,SAAS;CAYxB;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,eAAsB,CAAC;AAEjD;;;;;GAKG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CA+B7C"}
@@ -1,108 +0,0 @@
1
- /**
2
- * Universal App Component
3
- *
4
- * Main entry point for the universal renderer.
5
- * Handles loading states, error boundaries, and auto-detection.
6
- */
7
- import React from 'react';
8
- import type { UniversalAppProps, FrontMCPState } from './types';
9
- /**
10
- * Default loading spinner component.
11
- */
12
- declare function LoadingSpinner(): React.ReactElement;
13
- /**
14
- * Default error display component.
15
- */
16
- declare function ErrorDisplay({ error }: {
17
- error: string;
18
- }): React.ReactElement;
19
- /**
20
- * Default empty state component.
21
- */
22
- declare function EmptyState(): React.ReactElement;
23
- /**
24
- * Universal App component.
25
- *
26
- * Main entry point for the universal renderer. Handles:
27
- * - Loading states
28
- * - Error display
29
- * - Content auto-detection
30
- * - Custom component injection
31
- *
32
- * @example Basic usage
33
- * ```tsx
34
- * function App() {
35
- * return (
36
- * <FrontMCPProvider>
37
- * <UniversalApp />
38
- * </FrontMCPProvider>
39
- * );
40
- * }
41
- * ```
42
- *
43
- * @example With custom content
44
- * ```tsx
45
- * const content: UniversalContent = {
46
- * type: 'markdown',
47
- * source: '# Hello World',
48
- * };
49
- *
50
- * function App() {
51
- * return (
52
- * <FrontMCPProvider>
53
- * <UniversalApp content={content} />
54
- * </FrontMCPProvider>
55
- * );
56
- * }
57
- * ```
58
- *
59
- * @example With custom components
60
- * ```tsx
61
- * const components = {
62
- * WeatherCard: ({ temp }) => <div>{temp}°F</div>,
63
- * };
64
- *
65
- * function App() {
66
- * return (
67
- * <FrontMCPProvider>
68
- * <UniversalApp components={components} />
69
- * </FrontMCPProvider>
70
- * );
71
- * }
72
- * ```
73
- */
74
- export declare function UniversalApp({ content: contentOverride, components, fallback, errorFallback: ErrorFallback, }: UniversalAppProps): React.ReactElement;
75
- /**
76
- * Props for the standalone UniversalAppWithProvider.
77
- */
78
- interface StandaloneAppProps extends UniversalAppProps {
79
- /** Initial store state */
80
- initialState?: Partial<FrontMCPState>;
81
- }
82
- /**
83
- * Standalone Universal App with built-in provider.
84
- *
85
- * Use this when you need a self-contained universal renderer
86
- * without manually setting up the provider.
87
- *
88
- * @example
89
- * ```tsx
90
- * function App() {
91
- * return (
92
- * <UniversalAppWithProvider
93
- * initialState={{
94
- * toolName: 'get_weather',
95
- * output: { temperature: 72 },
96
- * }}
97
- * content={{
98
- * type: 'markdown',
99
- * source: '# Weather: {output.temperature}°F',
100
- * }}
101
- * />
102
- * );
103
- * }
104
- * ```
105
- */
106
- export declare function UniversalAppWithProvider({ initialState, components, ...appProps }: StandaloneAppProps): React.ReactElement;
107
- export { LoadingSpinner, ErrorDisplay, EmptyState };
108
- //# sourceMappingURL=UniversalApp.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UniversalApp.d.ts","sourceRoot":"","sources":["../../../src/universal/UniversalApp.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,iBAAiB,EAAmC,aAAa,EAAE,MAAM,SAAS,CAAC;AAUjG;;GAEG;AACH,iBAAS,cAAc,IAAI,KAAK,CAAC,YAAY,CAQ5C;AAMD;;GAEG;AACH,iBAAS,YAAY,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,KAAK,CAAC,YAAY,CAWtE;AAMD;;GAEG;AACH,iBAAS,UAAU,IAAI,KAAK,CAAC,YAAY,CAQxC;AAuCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,wBAAgB,YAAY,CAAC,EAC3B,OAAO,EAAE,eAAe,EACxB,UAAU,EACV,QAAQ,EACR,aAAa,EAAE,aAA4B,GAC5C,EAAE,iBAAiB,GAAG,KAAK,CAAC,YAAY,CA+BxC;AAMD;;GAEG;AACH,UAAU,kBAAmB,SAAQ,iBAAiB;IACpD,0BAA0B;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;CACvC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,wBAAwB,CAAC,EACvC,YAAY,EACZ,UAAU,EACV,GAAG,QAAQ,EACZ,EAAE,kBAAkB,GAAG,KAAK,CAAC,YAAY,CAQzC;AAMD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC"}
@@ -1,115 +0,0 @@
1
- /**
2
- * Cached Runtime Builder
3
- *
4
- * Optimizes bundling by pre-building and caching the static runtime code.
5
- * Separates "vendor" (static runtime) from "app" (user component) chunks.
6
- *
7
- * Benefits:
8
- * - Runtime is built once and cached globally
9
- * - Only user components need transpilation per request
10
- * - Significantly reduces build time for repeated builds
11
- */
12
- import type { CDNType, ContentSecurityOptions } from './types';
13
- /**
14
- * Runtime cache configuration.
15
- */
16
- interface RuntimeCacheConfig {
17
- /** Maximum cache entries */
18
- maxEntries?: number;
19
- /** TTL in milliseconds (0 = forever) */
20
- ttl?: number;
21
- }
22
- /**
23
- * Placeholders for dynamic content injection.
24
- * These are replaced at build time with actual content.
25
- */
26
- export declare const RUNTIME_PLACEHOLDERS: {
27
- /** Placeholder for transpiled component code */
28
- readonly COMPONENT_CODE: "/*__FRONTMCP_COMPONENT_CODE__*/";
29
- /** Placeholder for data injection */
30
- readonly DATA_INJECTION: "/*__FRONTMCP_DATA_INJECTION__*/";
31
- /** Placeholder for custom components */
32
- readonly CUSTOM_COMPONENTS: "/*__FRONTMCP_CUSTOM_COMPONENTS__*/";
33
- };
34
- /**
35
- * Options for cached runtime.
36
- */
37
- export interface CachedRuntimeOptions {
38
- /** CDN type (esm or umd) */
39
- cdnType: CDNType;
40
- /** Include markdown renderer */
41
- includeMarkdown?: boolean;
42
- /** Include MDX renderer */
43
- includeMdx?: boolean;
44
- /** Minify output */
45
- minify?: boolean;
46
- /** Content security / XSS protection options */
47
- contentSecurity?: ContentSecurityOptions;
48
- }
49
- /**
50
- * Result from getting cached runtime.
51
- */
52
- export interface CachedRuntimeResult {
53
- /** Pre-built vendor script (static runtime) */
54
- vendorScript: string;
55
- /** Template for app script (with placeholders) */
56
- appTemplate: string;
57
- /** CDN imports for head */
58
- cdnImports: string;
59
- /** Total size of vendor script */
60
- vendorSize: number;
61
- /** Whether this was from cache */
62
- cached: boolean;
63
- /** Cache key used */
64
- cacheKey: string;
65
- }
66
- /**
67
- * Get or build cached runtime.
68
- *
69
- * @param options - Runtime options
70
- * @param config - Cache configuration
71
- * @returns Cached runtime result
72
- *
73
- * @example
74
- * ```typescript
75
- * const runtime = getCachedRuntime({ cdnType: 'umd', includeMarkdown: true });
76
- *
77
- * // Replace placeholders with actual content
78
- * const appScript = runtime.appTemplate
79
- * .replace(RUNTIME_PLACEHOLDERS.COMPONENT_CODE, transpiledCode)
80
- * .replace(RUNTIME_PLACEHOLDERS.DATA_INJECTION, dataScript);
81
- * ```
82
- */
83
- export declare function getCachedRuntime(options: CachedRuntimeOptions, config?: RuntimeCacheConfig): CachedRuntimeResult;
84
- /**
85
- * Clear the runtime cache.
86
- */
87
- export declare function clearRuntimeCache(): void;
88
- /**
89
- * Get cache statistics.
90
- */
91
- export declare function getRuntimeCacheStats(): {
92
- entries: number;
93
- totalSize: number;
94
- keys: string[];
95
- };
96
- /**
97
- * Build the complete app script by replacing placeholders.
98
- *
99
- * @param appTemplate - Template with placeholders
100
- * @param componentCode - Transpiled component code (or empty string)
101
- * @param dataInjection - Data injection script
102
- * @param customComponents - Custom components script (or empty string)
103
- * @returns Complete app script
104
- */
105
- export declare function buildAppScript(appTemplate: string, componentCode: string, dataInjection: string, customComponents?: string): string;
106
- /**
107
- * Build data injection code for the app script.
108
- */
109
- export declare function buildDataInjectionCode(toolName: string, input: unknown, output: unknown, structuredContent: unknown, contentType: string, source: string | null, hasComponent: boolean): string;
110
- /**
111
- * Build component wrapper code.
112
- */
113
- export declare function buildComponentCode(transpiledCode: string): string;
114
- export {};
115
- //# sourceMappingURL=cached-runtime.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cached-runtime.d.ts","sourceRoot":"","sources":["../../../src/universal/cached-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAuB/D;;GAEG;AACH,UAAU,kBAAkB;IAC1B,4BAA4B;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wCAAwC;IACxC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAMD;;;GAGG;AACH,eAAO,MAAM,oBAAoB;IAC/B,gDAAgD;;IAEhD,qCAAqC;;IAErC,wCAAwC;;CAEhC,CAAC;AAiDX;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,4BAA4B;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,gCAAgC;IAChC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,2BAA2B;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oBAAoB;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gDAAgD;IAChD,eAAe,CAAC,EAAE,sBAAsB,CAAC;CAC1C;AAkgBD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,+CAA+C;IAC/C,YAAY,EAAE,MAAM,CAAC;IACrB,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAC;IACpB,2BAA2B;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,kCAAkC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,kCAAkC;IAClC,MAAM,EAAE,OAAO,CAAC;IAChB,qBAAqB;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,oBAAoB,EAAE,MAAM,GAAE,kBAAuB,GAAG,mBAAmB,CAyEpH;AAqBD;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAExC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB,CAcA;AAMD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC5B,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,EACrB,gBAAgB,SAAK,GACpB,MAAM,CAKR;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,OAAO,EACf,iBAAiB,EAAE,OAAO,EAC1B,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,YAAY,EAAE,OAAO,GACpB,MAAM,CAsCR;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAWjE"}
@@ -1,122 +0,0 @@
1
- /**
2
- * FrontMCP Context Provider
3
- *
4
- * React context for providing the FrontMCP store to child components.
5
- * Supports custom store injection and auto-initialization from window.
6
- */
7
- import React from 'react';
8
- import type { FrontMCPStore, FrontMCPProviderProps, FrontMCPState } from './types';
9
- /**
10
- * FrontMCP Provider component.
11
- *
12
- * Provides the FrontMCP store to child components and optionally
13
- * initializes from window.__frontmcp data.
14
- *
15
- * @example
16
- * ```tsx
17
- * function App() {
18
- * return (
19
- * <FrontMCPProvider>
20
- * <MyWidget />
21
- * </FrontMCPProvider>
22
- * );
23
- * }
24
- * ```
25
- *
26
- * @example Custom store
27
- * ```tsx
28
- * const store = createFrontMCPStore({ toolName: 'test' });
29
- *
30
- * function App() {
31
- * return (
32
- * <FrontMCPProvider store={store}>
33
- * <MyWidget />
34
- * </FrontMCPProvider>
35
- * );
36
- * }
37
- * ```
38
- */
39
- export declare function FrontMCPProvider({ store, initialState, children }: FrontMCPProviderProps): React.ReactElement;
40
- /**
41
- * Props for the ComponentsProvider.
42
- */
43
- export interface ComponentsProviderProps {
44
- /** Custom components to make available */
45
- components: Record<string, React.ComponentType<any>>;
46
- /** Children to render (optional when using React.createElement) */
47
- children?: React.ReactNode;
48
- }
49
- /**
50
- * Provide custom components to renderers.
51
- *
52
- * @example
53
- * ```tsx
54
- * const components = {
55
- * WeatherCard: ({ temp }) => <div>{temp}°F</div>,
56
- * Badge: ({ type }) => <span className={type}>Badge</span>,
57
- * };
58
- *
59
- * function App() {
60
- * return (
61
- * <ComponentsProvider components={components}>
62
- * <UniversalRenderer content={mdxContent} />
63
- * </ComponentsProvider>
64
- * );
65
- * }
66
- * ```
67
- */
68
- export declare function ComponentsProvider({ components, children }: ComponentsProviderProps): React.ReactElement;
69
- /**
70
- * Hook to access the FrontMCP store from context.
71
- *
72
- * @throws Error if used outside of FrontMCPProvider
73
- * @returns Store instance
74
- */
75
- export declare function useFrontMCPContext(): FrontMCPStore;
76
- /**
77
- * Hook to access custom components from context.
78
- *
79
- * @returns Components record
80
- */
81
- export declare function useComponents(): Record<string, React.ComponentType<any>>;
82
- /**
83
- * Hook to safely access the FrontMCP store (returns null outside provider).
84
- *
85
- * @returns Store instance or null
86
- */
87
- export declare function useFrontMCPContextSafe(): FrontMCPStore | null;
88
- /**
89
- * Props for the combined UniversalProvider.
90
- */
91
- export interface UniversalProviderProps extends FrontMCPProviderProps {
92
- /** Custom components to make available */
93
- components?: Record<string, React.ComponentType<any>>;
94
- }
95
- /**
96
- * Combined provider for FrontMCP store and custom components.
97
- *
98
- * @example
99
- * ```tsx
100
- * function App() {
101
- * return (
102
- * <UniversalProvider
103
- * initialState={{ toolName: 'get_weather' }}
104
- * components={{ WeatherCard: MyWeatherCard }}
105
- * >
106
- * <UniversalApp />
107
- * </UniversalProvider>
108
- * );
109
- * }
110
- * ```
111
- */
112
- export declare function UniversalProvider({ store, initialState, components, children, }: UniversalProviderProps): React.ReactElement;
113
- /**
114
- * Higher-order component to inject FrontMCP store as props.
115
- *
116
- * @param Component - Component to wrap
117
- * @returns Wrapped component with store props
118
- */
119
- export declare function withFrontMCP<P extends {
120
- state?: FrontMCPState;
121
- }>(Component: React.ComponentType<P>): React.FC<Omit<P, 'state'>>;
122
- //# sourceMappingURL=context.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/universal/context.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAgE,MAAM,OAAO,CAAC;AACrF,OAAO,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAsBnF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,qBAAqB,GAAG,KAAK,CAAC,YAAY,CAkB7G;AAMD;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,0CAA0C;IAE1C,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;IACrD,mEAAmE;IACnE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,uBAAuB,GAAG,KAAK,CAAC,YAAY,CAYxG;AAMD;;;;;GAKG;AACH,wBAAgB,kBAAkB,IAAI,aAAa,CAQlD;AAED;;;;GAIG;AAEH,wBAAgB,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAExE;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,aAAa,GAAG,IAAI,CAE7D;AAMD;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,qBAAqB;IACnE,0CAA0C;IAE1C,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;CACvD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,YAAY,EACZ,UAAe,EACf,QAAQ,GACT,EAAE,sBAAsB,GAAG,KAAK,CAAC,YAAY,CAM7C;AAMD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS;IAAE,KAAK,CAAC,EAAE,aAAa,CAAA;CAAE,EAC9D,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,GAChC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAU5B"}
@@ -1,57 +0,0 @@
1
- /**
2
- * Universal Renderer Module
3
- *
4
- * Multi-format client-side rendering system for FrontMCP widgets.
5
- * Supports HTML, Markdown, React, and MDX content with auto-detection.
6
- *
7
- * @module @frontmcp/ui/universal
8
- *
9
- * @example Basic usage
10
- * ```tsx
11
- * import { UniversalAppWithProvider } from '@frontmcp/ui/universal';
12
- *
13
- * function App() {
14
- * return (
15
- * <UniversalAppWithProvider
16
- * initialState={{
17
- * toolName: 'get_weather',
18
- * output: { temperature: 72 },
19
- * }}
20
- * content={{
21
- * type: 'markdown',
22
- * source: '# Weather: {output.temperature}°F',
23
- * }}
24
- * />
25
- * );
26
- * }
27
- * ```
28
- *
29
- * @example Custom components
30
- * ```tsx
31
- * const components = {
32
- * WeatherCard: ({ temp }) => <div>{temp}°F</div>,
33
- * };
34
- *
35
- * function App() {
36
- * return (
37
- * <UniversalAppWithProvider
38
- * components={components}
39
- * content={{
40
- * type: 'markdown',
41
- * source: '# Weather\n\n<WeatherCard temp={72} />',
42
- * }}
43
- * />
44
- * );
45
- * }
46
- * ```
47
- */
48
- export type { ContentType, UniversalContent, FrontMCPState, FrontMCPStore, RenderContext, ClientRenderer, UniversalAppProps, FrontMCPProviderProps, CDNType, UniversalRuntimeOptions, UniversalRuntimeResult, ContentSecurityOptions, } from './types';
49
- export { DEFAULT_FRONTMCP_STATE, UNIVERSAL_CDN, detectContentType } from './types';
50
- export { createFrontMCPStore, getGlobalStore, setGlobalStore, resetGlobalStore, useFrontMCPStore, useToolOutput, useToolInput, useContent, useToolName, useLoadingState, initializeStoreFromWindow, createStoreSelector, } from './store';
51
- export { FrontMCPProvider, ComponentsProvider, UniversalProvider, useFrontMCPContext, useComponents, useFrontMCPContextSafe, withFrontMCP, } from './context';
52
- export type { ComponentsProviderProps, UniversalProviderProps } from './context';
53
- export { RendererRegistry, rendererRegistry, detectRenderer, renderContent, createContent, htmlRenderer, safeHtmlRenderer, markdownRenderer, createMarkdownRenderer, reactRenderer, isReactComponent, mdxRenderer, isMdxSupported, createMdxRenderer, } from './renderers';
54
- export { UniversalApp, UniversalAppWithProvider, LoadingSpinner, ErrorDisplay, EmptyState } from './UniversalApp';
55
- export { buildUniversalRuntime, buildMinimalRuntime } from './runtime-builder';
56
- export { getCachedRuntime, clearRuntimeCache, getRuntimeCacheStats, buildAppScript, buildDataInjectionCode, buildComponentCode, RUNTIME_PLACEHOLDERS, type CachedRuntimeOptions, type CachedRuntimeResult, } from './cached-runtime';
57
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/universal/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAMH,YAAY,EACV,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,qBAAqB,EACrB,OAAO,EACP,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,sBAAsB,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAMnF,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,UAAU,EACV,WAAW,EACX,eAAe,EACf,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,SAAS,CAAC;AAMjB,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,sBAAsB,EACtB,YAAY,GACb,MAAM,WAAW,CAAC;AAEnB,YAAY,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAMjF,OAAO,EAEL,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,aAAa,EAEb,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,sBAAsB,EACtB,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,iBAAiB,GAClB,MAAM,aAAa,CAAC;AAMrB,OAAO,EAAE,YAAY,EAAE,wBAAwB,EAAE,cAAc,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAMlH,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAM/E,OAAO,EAEL,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EAEpB,cAAc,EACd,sBAAsB,EACtB,kBAAkB,EAElB,oBAAoB,EAEpB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,GACzB,MAAM,kBAAkB,CAAC"}
@@ -1,37 +0,0 @@
1
- /**
2
- * HTML Renderer
3
- *
4
- * Renders raw HTML strings using dangerouslySetInnerHTML.
5
- * Used for pre-rendered or server-side generated HTML content.
6
- */
7
- import type { ClientRenderer } from '../types';
8
- /**
9
- * HTML renderer implementation.
10
- *
11
- * Renders HTML strings directly to the DOM using dangerouslySetInnerHTML.
12
- * This is the lowest priority renderer (fallback).
13
- *
14
- * @example
15
- * ```tsx
16
- * const content: UniversalContent = {
17
- * type: 'html',
18
- * source: '<div class="card"><h1>Hello</h1></div>',
19
- * };
20
- *
21
- * // Renders: <div class="card"><h1>Hello</h1></div>
22
- * ```
23
- */
24
- export declare const htmlRenderer: ClientRenderer;
25
- /**
26
- * Sanitize HTML string (basic XSS protection).
27
- * For production use, consider using a library like DOMPurify.
28
- *
29
- * @param html - HTML string to sanitize
30
- * @returns Sanitized HTML string
31
- */
32
- export declare function sanitizeHtml(html: string): string;
33
- /**
34
- * Create a safe HTML renderer that sanitizes content.
35
- */
36
- export declare const safeHtmlRenderer: ClientRenderer;
37
- //# sourceMappingURL=html.renderer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"html.renderer.d.ts","sourceRoot":"","sources":["../../../../src/universal/renderers/html.renderer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAmC,MAAM,UAAU,CAAC;AAEhF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,YAAY,EAAE,cAsB1B,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAYjD;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,cAsB9B,CAAC"}