@frontmcp/uipack 0.12.2 → 1.0.0-beta.10

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 (298) hide show
  1. package/CLAUDE.md +56 -154
  2. package/README.md +367 -62
  3. package/adapters/base-template.d.ts +30 -0
  4. package/adapters/base-template.d.ts.map +1 -0
  5. package/adapters/cdn-info.d.ts +34 -0
  6. package/adapters/cdn-info.d.ts.map +1 -0
  7. package/adapters/constants.d.ts +18 -0
  8. package/adapters/constants.d.ts.map +1 -0
  9. package/adapters/content-detector.d.ts +19 -0
  10. package/adapters/content-detector.d.ts.map +1 -0
  11. package/adapters/content-renderers.d.ts +27 -0
  12. package/adapters/content-renderers.d.ts.map +1 -0
  13. package/adapters/index.d.ts +14 -7
  14. package/adapters/index.d.ts.map +1 -1
  15. package/adapters/index.js +2343 -426
  16. package/adapters/render-failure.d.ts +18 -0
  17. package/adapters/render-failure.d.ts.map +1 -0
  18. package/adapters/response-builder.d.ts +34 -104
  19. package/adapters/response-builder.d.ts.map +1 -1
  20. package/adapters/serving-mode.d.ts +28 -91
  21. package/adapters/serving-mode.d.ts.map +1 -1
  22. package/adapters/template-renderer.d.ts +50 -0
  23. package/adapters/template-renderer.d.ts.map +1 -0
  24. package/adapters/type-detector.d.ts +18 -0
  25. package/adapters/type-detector.d.ts.map +1 -0
  26. package/bridge-runtime/index.js +1 -1
  27. package/component/index.d.ts +14 -0
  28. package/component/index.d.ts.map +1 -0
  29. package/component/index.js +2043 -0
  30. package/component/loader.d.ts +36 -0
  31. package/component/loader.d.ts.map +1 -0
  32. package/component/renderer.d.ts +30 -0
  33. package/component/renderer.d.ts.map +1 -0
  34. package/component/transpiler.d.ts +49 -0
  35. package/component/transpiler.d.ts.map +1 -0
  36. package/component/types.d.ts +82 -0
  37. package/component/types.d.ts.map +1 -0
  38. package/esm/adapters/index.mjs +2337 -422
  39. package/esm/bridge-runtime/index.mjs +1 -1
  40. package/esm/component/index.mjs +2013 -0
  41. package/esm/index.mjs +3446 -13935
  42. package/esm/package.json +4 -13
  43. package/esm/resolver/index.mjs +661 -0
  44. package/esm/shell/index.mjs +1406 -0
  45. package/esm/types/index.mjs +11 -11
  46. package/esm/utils/index.mjs +53 -8
  47. package/index.d.ts +12 -40
  48. package/index.d.ts.map +1 -1
  49. package/index.js +3579 -14218
  50. package/package.json +4 -13
  51. package/resolver/cdn-registry.d.ts +39 -0
  52. package/resolver/cdn-registry.d.ts.map +1 -0
  53. package/resolver/esm-sh.resolver.d.ts +54 -0
  54. package/resolver/esm-sh.resolver.d.ts.map +1 -0
  55. package/resolver/import-map.d.ts +47 -0
  56. package/resolver/import-map.d.ts.map +1 -0
  57. package/resolver/import-parser.d.ts +28 -0
  58. package/resolver/import-parser.d.ts.map +1 -0
  59. package/resolver/import-rewriter.d.ts +29 -0
  60. package/resolver/import-rewriter.d.ts.map +1 -0
  61. package/resolver/index.d.ts +15 -0
  62. package/resolver/index.d.ts.map +1 -0
  63. package/resolver/index.js +708 -0
  64. package/resolver/types.d.ts +191 -0
  65. package/resolver/types.d.ts.map +1 -0
  66. package/shell/builder.d.ts +31 -0
  67. package/shell/builder.d.ts.map +1 -0
  68. package/shell/csp.d.ts +37 -0
  69. package/shell/csp.d.ts.map +1 -0
  70. package/shell/custom-shell-applier.d.ts +33 -0
  71. package/shell/custom-shell-applier.d.ts.map +1 -0
  72. package/shell/custom-shell-resolver.d.ts +47 -0
  73. package/shell/custom-shell-resolver.d.ts.map +1 -0
  74. package/shell/custom-shell-types.d.ts +75 -0
  75. package/shell/custom-shell-types.d.ts.map +1 -0
  76. package/shell/custom-shell-validator.d.ts +26 -0
  77. package/shell/custom-shell-validator.d.ts.map +1 -0
  78. package/shell/data-injector.d.ts +40 -0
  79. package/shell/data-injector.d.ts.map +1 -0
  80. package/shell/index.d.ts +19 -0
  81. package/shell/index.d.ts.map +1 -0
  82. package/shell/index.js +1453 -0
  83. package/shell/types.d.ts +54 -0
  84. package/shell/types.d.ts.map +1 -0
  85. package/types/index.d.ts +1 -3
  86. package/types/index.d.ts.map +1 -1
  87. package/types/index.js +11 -11
  88. package/types/ui-config.d.ts +50 -11
  89. package/types/ui-config.d.ts.map +1 -1
  90. package/types/ui-runtime.d.ts +8 -82
  91. package/types/ui-runtime.d.ts.map +1 -1
  92. package/utils/index.d.ts +9 -3
  93. package/utils/index.d.ts.map +1 -1
  94. package/utils/index.js +59 -7
  95. package/adapters/platform-meta.constants.d.ts +0 -26
  96. package/adapters/platform-meta.constants.d.ts.map +0 -1
  97. package/adapters/platform-meta.d.ts +0 -234
  98. package/adapters/platform-meta.d.ts.map +0 -1
  99. package/base-template/bridge.d.ts +0 -90
  100. package/base-template/bridge.d.ts.map +0 -1
  101. package/base-template/default-base-template.d.ts +0 -91
  102. package/base-template/default-base-template.d.ts.map +0 -1
  103. package/base-template/index.d.ts +0 -15
  104. package/base-template/index.d.ts.map +0 -1
  105. package/base-template/index.js +0 -1393
  106. package/base-template/polyfills.d.ts +0 -31
  107. package/base-template/polyfills.d.ts.map +0 -1
  108. package/base-template/theme-styles.d.ts +0 -74
  109. package/base-template/theme-styles.d.ts.map +0 -1
  110. package/build/builders/base-builder.d.ts +0 -124
  111. package/build/builders/base-builder.d.ts.map +0 -1
  112. package/build/builders/esbuild-config.d.ts +0 -94
  113. package/build/builders/esbuild-config.d.ts.map +0 -1
  114. package/build/builders/hybrid-builder.d.ts +0 -93
  115. package/build/builders/hybrid-builder.d.ts.map +0 -1
  116. package/build/builders/index.d.ts +0 -17
  117. package/build/builders/index.d.ts.map +0 -1
  118. package/build/builders/inline-builder.d.ts +0 -83
  119. package/build/builders/inline-builder.d.ts.map +0 -1
  120. package/build/builders/static-builder.d.ts +0 -78
  121. package/build/builders/static-builder.d.ts.map +0 -1
  122. package/build/builders/types.d.ts +0 -341
  123. package/build/builders/types.d.ts.map +0 -1
  124. package/build/cdn-resources.d.ts +0 -244
  125. package/build/cdn-resources.d.ts.map +0 -1
  126. package/build/hybrid-data.d.ts +0 -127
  127. package/build/hybrid-data.d.ts.map +0 -1
  128. package/build/index.d.ts +0 -299
  129. package/build/index.d.ts.map +0 -1
  130. package/build/index.js +0 -8699
  131. package/build/ui-components-browser.d.ts +0 -64
  132. package/build/ui-components-browser.d.ts.map +0 -1
  133. package/build/widget-manifest.d.ts +0 -362
  134. package/build/widget-manifest.d.ts.map +0 -1
  135. package/bundler/cache.d.ts +0 -173
  136. package/bundler/cache.d.ts.map +0 -1
  137. package/bundler/file-cache/component-builder.d.ts +0 -167
  138. package/bundler/file-cache/component-builder.d.ts.map +0 -1
  139. package/bundler/file-cache/hash-calculator.d.ts +0 -155
  140. package/bundler/file-cache/hash-calculator.d.ts.map +0 -1
  141. package/bundler/file-cache/index.d.ts +0 -12
  142. package/bundler/file-cache/index.d.ts.map +0 -1
  143. package/bundler/file-cache/storage/filesystem.d.ts +0 -149
  144. package/bundler/file-cache/storage/filesystem.d.ts.map +0 -1
  145. package/bundler/file-cache/storage/index.d.ts +0 -11
  146. package/bundler/file-cache/storage/index.d.ts.map +0 -1
  147. package/bundler/file-cache/storage/interface.d.ts +0 -152
  148. package/bundler/file-cache/storage/interface.d.ts.map +0 -1
  149. package/bundler/file-cache/storage/redis.d.ts +0 -139
  150. package/bundler/file-cache/storage/redis.d.ts.map +0 -1
  151. package/bundler/index.d.ts +0 -35
  152. package/bundler/index.d.ts.map +0 -1
  153. package/bundler/index.js +0 -2953
  154. package/bundler/sandbox/enclave-adapter.d.ts +0 -121
  155. package/bundler/sandbox/enclave-adapter.d.ts.map +0 -1
  156. package/bundler/sandbox/executor.d.ts +0 -14
  157. package/bundler/sandbox/executor.d.ts.map +0 -1
  158. package/bundler/sandbox/policy.d.ts +0 -62
  159. package/bundler/sandbox/policy.d.ts.map +0 -1
  160. package/bundler/types.d.ts +0 -702
  161. package/bundler/types.d.ts.map +0 -1
  162. package/dependency/cdn-registry.d.ts +0 -98
  163. package/dependency/cdn-registry.d.ts.map +0 -1
  164. package/dependency/import-map.d.ts +0 -186
  165. package/dependency/import-map.d.ts.map +0 -1
  166. package/dependency/import-parser.d.ts +0 -82
  167. package/dependency/import-parser.d.ts.map +0 -1
  168. package/dependency/index.d.ts +0 -17
  169. package/dependency/index.d.ts.map +0 -1
  170. package/dependency/index.js +0 -3180
  171. package/dependency/resolver.d.ts +0 -164
  172. package/dependency/resolver.d.ts.map +0 -1
  173. package/dependency/schemas.d.ts +0 -486
  174. package/dependency/schemas.d.ts.map +0 -1
  175. package/dependency/template-loader.d.ts +0 -204
  176. package/dependency/template-loader.d.ts.map +0 -1
  177. package/dependency/template-processor.d.ts +0 -118
  178. package/dependency/template-processor.d.ts.map +0 -1
  179. package/dependency/types.d.ts +0 -739
  180. package/dependency/types.d.ts.map +0 -1
  181. package/esm/base-template/index.mjs +0 -1359
  182. package/esm/build/index.mjs +0 -8601
  183. package/esm/bundler/index.mjs +0 -2895
  184. package/esm/dependency/index.mjs +0 -3068
  185. package/esm/handlebars/index.mjs +0 -587
  186. package/esm/registry/index.mjs +0 -6305
  187. package/esm/renderers/index.mjs +0 -1557
  188. package/esm/runtime/index.mjs +0 -5361
  189. package/esm/styles/index.mjs +0 -171
  190. package/esm/theme/index.mjs +0 -756
  191. package/esm/tool-template/index.mjs +0 -3652
  192. package/esm/validation/index.mjs +0 -542
  193. package/handlebars/expression-extractor.d.ts +0 -147
  194. package/handlebars/expression-extractor.d.ts.map +0 -1
  195. package/handlebars/helpers.d.ts +0 -339
  196. package/handlebars/helpers.d.ts.map +0 -1
  197. package/handlebars/index.d.ts +0 -195
  198. package/handlebars/index.d.ts.map +0 -1
  199. package/handlebars/index.js +0 -659
  200. package/preview/claude-preview.d.ts +0 -67
  201. package/preview/claude-preview.d.ts.map +0 -1
  202. package/preview/generic-preview.d.ts +0 -66
  203. package/preview/generic-preview.d.ts.map +0 -1
  204. package/preview/index.d.ts +0 -36
  205. package/preview/index.d.ts.map +0 -1
  206. package/preview/openai-preview.d.ts +0 -70
  207. package/preview/openai-preview.d.ts.map +0 -1
  208. package/preview/types.d.ts +0 -199
  209. package/preview/types.d.ts.map +0 -1
  210. package/registry/index.d.ts +0 -46
  211. package/registry/index.d.ts.map +0 -1
  212. package/registry/index.js +0 -6342
  213. package/registry/render-template.d.ts +0 -91
  214. package/registry/render-template.d.ts.map +0 -1
  215. package/registry/tool-ui.registry.d.ts +0 -294
  216. package/registry/tool-ui.registry.d.ts.map +0 -1
  217. package/registry/uri-utils.d.ts +0 -56
  218. package/registry/uri-utils.d.ts.map +0 -1
  219. package/renderers/cache.d.ts +0 -145
  220. package/renderers/cache.d.ts.map +0 -1
  221. package/renderers/html.renderer.d.ts +0 -123
  222. package/renderers/html.renderer.d.ts.map +0 -1
  223. package/renderers/index.d.ts +0 -36
  224. package/renderers/index.d.ts.map +0 -1
  225. package/renderers/index.js +0 -1603
  226. package/renderers/mdx-client.renderer.d.ts +0 -124
  227. package/renderers/mdx-client.renderer.d.ts.map +0 -1
  228. package/renderers/registry.d.ts +0 -133
  229. package/renderers/registry.d.ts.map +0 -1
  230. package/renderers/types.d.ts +0 -343
  231. package/renderers/types.d.ts.map +0 -1
  232. package/renderers/utils/detect.d.ts +0 -107
  233. package/renderers/utils/detect.d.ts.map +0 -1
  234. package/renderers/utils/hash.d.ts +0 -40
  235. package/renderers/utils/hash.d.ts.map +0 -1
  236. package/renderers/utils/index.d.ts +0 -9
  237. package/renderers/utils/index.d.ts.map +0 -1
  238. package/renderers/utils/transpiler.d.ts +0 -70
  239. package/renderers/utils/transpiler.d.ts.map +0 -1
  240. package/runtime/adapters/html.adapter.d.ts +0 -59
  241. package/runtime/adapters/html.adapter.d.ts.map +0 -1
  242. package/runtime/adapters/index.d.ts +0 -26
  243. package/runtime/adapters/index.d.ts.map +0 -1
  244. package/runtime/adapters/mdx.adapter.d.ts +0 -73
  245. package/runtime/adapters/mdx.adapter.d.ts.map +0 -1
  246. package/runtime/adapters/types.d.ts +0 -95
  247. package/runtime/adapters/types.d.ts.map +0 -1
  248. package/runtime/csp.d.ts +0 -48
  249. package/runtime/csp.d.ts.map +0 -1
  250. package/runtime/index.d.ts +0 -17
  251. package/runtime/index.d.ts.map +0 -1
  252. package/runtime/index.js +0 -5432
  253. package/runtime/mcp-bridge.d.ts +0 -101
  254. package/runtime/mcp-bridge.d.ts.map +0 -1
  255. package/runtime/renderer-runtime.d.ts +0 -133
  256. package/runtime/renderer-runtime.d.ts.map +0 -1
  257. package/runtime/sanitizer.d.ts +0 -180
  258. package/runtime/sanitizer.d.ts.map +0 -1
  259. package/runtime/types.d.ts +0 -415
  260. package/runtime/types.d.ts.map +0 -1
  261. package/runtime/wrapper.d.ts +0 -421
  262. package/runtime/wrapper.d.ts.map +0 -1
  263. package/styles/index.d.ts +0 -8
  264. package/styles/index.d.ts.map +0 -1
  265. package/styles/index.js +0 -222
  266. package/styles/variants.d.ts +0 -51
  267. package/styles/variants.d.ts.map +0 -1
  268. package/theme/cdn.d.ts +0 -195
  269. package/theme/cdn.d.ts.map +0 -1
  270. package/theme/css-to-theme.d.ts +0 -64
  271. package/theme/css-to-theme.d.ts.map +0 -1
  272. package/theme/index.d.ts +0 -19
  273. package/theme/index.d.ts.map +0 -1
  274. package/theme/index.js +0 -814
  275. package/theme/platforms.d.ts +0 -102
  276. package/theme/platforms.d.ts.map +0 -1
  277. package/theme/presets/github-openai.d.ts +0 -50
  278. package/theme/presets/github-openai.d.ts.map +0 -1
  279. package/theme/presets/index.d.ts +0 -11
  280. package/theme/presets/index.d.ts.map +0 -1
  281. package/theme/theme.d.ts +0 -396
  282. package/theme/theme.d.ts.map +0 -1
  283. package/tool-template/builder.d.ts +0 -213
  284. package/tool-template/builder.d.ts.map +0 -1
  285. package/tool-template/index.d.ts +0 -16
  286. package/tool-template/index.d.ts.map +0 -1
  287. package/tool-template/index.js +0 -3690
  288. package/validation/error-box.d.ts +0 -56
  289. package/validation/error-box.d.ts.map +0 -1
  290. package/validation/index.d.ts +0 -13
  291. package/validation/index.d.ts.map +0 -1
  292. package/validation/index.js +0 -576
  293. package/validation/schema-paths.d.ts +0 -118
  294. package/validation/schema-paths.d.ts.map +0 -1
  295. package/validation/template-validator.d.ts +0 -143
  296. package/validation/template-validator.d.ts.map +0 -1
  297. package/validation/wrapper.d.ts +0 -97
  298. package/validation/wrapper.d.ts.map +0 -1
@@ -1,124 +0,0 @@
1
- /**
2
- * MDX Client Renderer
3
- *
4
- * Renders MDX templates client-side using CDN-loaded React and @mdx-js/mdx.
5
- * This renderer is React-free at build time - all dependencies are loaded from CDN.
6
- *
7
- * For server-side MDX rendering with React, use @frontmcp/ui/renderers.
8
- *
9
- * @module @frontmcp/uipack/renderers
10
- */
11
- import type { TemplateContext } from '../runtime/types';
12
- import type { PlatformCapabilities } from '../theme';
13
- import type { UIRenderer, TranspileResult, TranspileOptions, RenderOptions, RuntimeScripts } from './types';
14
- /**
15
- * Types this renderer can handle - MDX strings.
16
- */
17
- type MdxTemplate = string;
18
- /**
19
- * Build React CDN URLs for a specific version.
20
- * @param version React version (e.g., '18', '19')
21
- */
22
- export declare function buildReactCdnUrls(version?: '18' | '19'): {
23
- react: string;
24
- reactDom: string;
25
- jsxRuntime: string;
26
- };
27
- /**
28
- * CDN configuration for client-side MDX rendering.
29
- */
30
- export interface MdxClientCdnConfig {
31
- /** MDX compiler URL @default 'https://esm.sh/@mdx-js/mdx@3' */
32
- mdx?: string;
33
- /** React library URL @default 'https://esm.sh/react@19' */
34
- react?: string;
35
- /** React DOM client URL @default 'https://esm.sh/react-dom@19/client' */
36
- reactDom?: string;
37
- /** JSX runtime URL @default 'https://esm.sh/react@19/jsx-runtime' */
38
- jsxRuntime?: string;
39
- }
40
- /**
41
- * Options for client-side MDX rendering.
42
- */
43
- export interface MdxClientRenderOptions extends RenderOptions {
44
- /**
45
- * Container ID for the MDX content.
46
- * @default 'mdx-content'
47
- */
48
- containerId?: string;
49
- /**
50
- * Show loading state while MDX is being compiled.
51
- * @default true
52
- */
53
- showLoading?: boolean;
54
- /**
55
- * Custom loading message.
56
- * @default 'Loading...'
57
- */
58
- loadingMessage?: string;
59
- /**
60
- * Custom CDN URLs for dependencies.
61
- * Useful for using specific versions or self-hosted mirrors.
62
- */
63
- cdn?: MdxClientCdnConfig;
64
- }
65
- /**
66
- * MDX Client Renderer Implementation.
67
- *
68
- * Unlike the server-side MdxRenderer, this renderer:
69
- * - Does NOT bundle React at build time
70
- * - Returns HTML with script tags that load dependencies from CDN
71
- * - Compiles and renders MDX in the browser
72
- *
73
- * @example Basic usage
74
- * ```typescript
75
- * import { mdxClientRenderer } from '@frontmcp/uipack/renderers';
76
- *
77
- * const html = await mdxClientRenderer.render(
78
- * '# Hello {output.name}',
79
- * { input: {}, output: { name: 'World' } }
80
- * );
81
- * // Returns HTML with CDN scripts that render the MDX client-side
82
- * ```
83
- *
84
- * @example With custom container
85
- * ```typescript
86
- * const html = await mdxClientRenderer.render(mdxTemplate, context, {
87
- * containerId: 'my-mdx-root',
88
- * showLoading: true,
89
- * });
90
- * ```
91
- */
92
- export declare class MdxClientRenderer implements UIRenderer<MdxTemplate> {
93
- readonly type: "mdx-client";
94
- readonly priority = 8;
95
- /**
96
- * Check if this renderer can handle the given template.
97
- */
98
- canHandle(template: unknown): template is MdxTemplate;
99
- /**
100
- * Prepare MDX template for rendering.
101
- * Caches the template hash for deduplication. Actual MDX compilation
102
- * happens client-side via CDN-loaded @mdx-js/mdx in the browser.
103
- */
104
- transpile(template: MdxTemplate, _options?: TranspileOptions): Promise<TranspileResult>;
105
- /**
106
- * Render MDX template to HTML with CDN scripts.
107
- *
108
- * The returned HTML includes:
109
- * - A container div for the rendered content
110
- * - Script tags that load React and MDX from CDN
111
- * - Inline script that compiles and renders the MDX
112
- */
113
- render<In, Out>(template: MdxTemplate, context: TemplateContext<In, Out>, options?: MdxClientRenderOptions): Promise<string>;
114
- /**
115
- * Get runtime scripts - not needed for client renderer since scripts are inline.
116
- */
117
- getRuntimeScripts(platform: PlatformCapabilities): RuntimeScripts;
118
- }
119
- /**
120
- * Singleton instance of the MDX client renderer.
121
- */
122
- export declare const mdxClientRenderer: MdxClientRenderer;
123
- export {};
124
- //# sourceMappingURL=mdx-client.renderer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mdx-client.renderer.d.ts","sourceRoot":"","sources":["../../src/renderers/mdx-client.renderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,KAAK,EACV,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,cAAc,EAEf,MAAM,SAAS,CAAC;AAMjB;;GAEG;AACH,KAAK,WAAW,GAAG,MAAM,CAAC;AAE1B;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,IAAI,GAAG,IAAW;;;;EAM5D;AAYD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,+DAA+D;IAC/D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,aAAa;IAC3D;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,GAAG,CAAC,EAAE,kBAAkB,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBAAa,iBAAkB,YAAW,UAAU,CAAC,WAAW,CAAC;IAC/D,QAAQ,CAAC,IAAI,EAAG,YAAY,CAAU;IACtC,QAAQ,CAAC,QAAQ,KAAK;IAEtB;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,IAAI,WAAW;IAOrD;;;;OAIG;IACG,SAAS,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;IAkB7F;;;;;;;OAOG;IACG,MAAM,CAAC,EAAE,EAAE,GAAG,EAClB,QAAQ,EAAE,WAAW,EACrB,OAAO,EAAE,eAAe,CAAC,EAAE,EAAE,GAAG,CAAC,EACjC,OAAO,CAAC,EAAE,sBAAsB,GAC/B,OAAO,CAAC,MAAM,CAAC;IA2FlB;;OAEG;IACH,iBAAiB,CAAC,QAAQ,EAAE,oBAAoB,GAAG,cAAc;CAgBlE;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,mBAA0B,CAAC"}
@@ -1,133 +0,0 @@
1
- /**
2
- * Renderer Registry
3
- *
4
- * Global registry for template renderers with auto-detection.
5
- * Manages registration, detection, and rendering of templates.
6
- */
7
- import type { TemplateContext } from '../runtime/types';
8
- import type { UIRenderer, RendererType, RendererRegistryOptions, DetectionResult, RenderResult, RenderOptions } from './types';
9
- /**
10
- * Renderer Registry.
11
- *
12
- * Manages a collection of renderers and provides:
13
- * - Registration of custom renderers
14
- * - Auto-detection of template types
15
- * - Unified rendering interface
16
- *
17
- * @example
18
- * ```typescript
19
- * // Register a custom renderer
20
- * registry.register(myCustomRenderer);
21
- *
22
- * // Auto-detect and render
23
- * const result = await registry.render(template, context);
24
- * ```
25
- */
26
- export declare class RendererRegistry {
27
- private renderers;
28
- private sortedRenderers;
29
- private defaultRenderer;
30
- private debug;
31
- constructor(options?: RendererRegistryOptions);
32
- /**
33
- * Register a renderer.
34
- *
35
- * Renderers are sorted by priority (highest first) for detection.
36
- *
37
- * @param renderer - Renderer to register
38
- */
39
- register(renderer: UIRenderer): void;
40
- /**
41
- * Unregister a renderer.
42
- *
43
- * @param type - Type of renderer to remove
44
- * @returns True if renderer was removed
45
- */
46
- unregister(type: RendererType): boolean;
47
- /**
48
- * Get a renderer by type.
49
- *
50
- * @param type - Renderer type
51
- * @returns Renderer or undefined if not found
52
- */
53
- get(type: RendererType): UIRenderer | undefined;
54
- /**
55
- * Check if a renderer type is registered.
56
- *
57
- * @param type - Renderer type
58
- * @returns True if registered
59
- */
60
- has(type: RendererType): boolean;
61
- /**
62
- * Get all registered renderer types.
63
- *
64
- * @returns Array of renderer types
65
- */
66
- getTypes(): RendererType[];
67
- /**
68
- * Auto-detect the renderer for a template.
69
- *
70
- * Checks renderers in priority order (highest first).
71
- * Returns HTML renderer as fallback.
72
- *
73
- * @param template - Template to detect
74
- * @returns Detection result with renderer and confidence
75
- */
76
- detect(template: unknown): DetectionResult;
77
- /**
78
- * Render a template with auto-detection.
79
- *
80
- * @param template - Template to render (React, MDX, or HTML)
81
- * @param context - Template context with input/output
82
- * @param options - Render options
83
- * @returns Rendered result with HTML and metadata
84
- */
85
- render<In, Out>(template: unknown, context: TemplateContext<In, Out>, options?: RenderOptions): Promise<RenderResult>;
86
- /**
87
- * Render with a specific renderer type.
88
- *
89
- * @param type - Renderer type to use
90
- * @param template - Template to render
91
- * @param context - Template context
92
- * @param options - Render options
93
- * @returns Rendered result
94
- */
95
- renderWith<In, Out>(type: RendererType, template: unknown, context: TemplateContext<In, Out>, options?: RenderOptions): Promise<RenderResult>;
96
- /**
97
- * Update the sorted renderer list by priority.
98
- */
99
- private updateSortedList;
100
- /**
101
- * Set the default renderer type.
102
- *
103
- * @param type - Renderer type to use as default
104
- */
105
- setDefault(type: RendererType): void;
106
- /**
107
- * Get registry statistics.
108
- */
109
- getStats(): {
110
- registeredRenderers: RendererType[];
111
- defaultRenderer: RendererType;
112
- priorityOrder: Array<{
113
- type: RendererType;
114
- priority: number;
115
- }>;
116
- };
117
- }
118
- /**
119
- * Global renderer registry instance.
120
- *
121
- * Pre-configured with the HTML renderer.
122
- * React and MDX renderers can be added:
123
- *
124
- * ```typescript
125
- * import { rendererRegistry, mdxClientRenderer } from '@frontmcp/uipack/renderers';
126
- * import { reactRenderer } from '@frontmcp/ui';
127
- *
128
- * rendererRegistry.register(reactRenderer);
129
- * rendererRegistry.register(mdxClientRenderer);
130
- * ```
131
- */
132
- export declare const rendererRegistry: RendererRegistry;
133
- //# sourceMappingURL=registry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/renderers/registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,KAAK,EACV,UAAU,EACV,YAAY,EACZ,uBAAuB,EACvB,eAAe,EACf,YAAY,EACZ,aAAa,EACd,MAAM,SAAS,CAAC;AAGjB;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,SAAS,CAAuC;IACxD,OAAO,CAAC,eAAe,CAAoB;IAC3C,OAAO,CAAC,eAAe,CAAwB;IAC/C,OAAO,CAAC,KAAK,CAAU;gBAEX,OAAO,GAAE,uBAA4B;IAOjD;;;;;;OAMG;IACH,QAAQ,CAAC,QAAQ,EAAE,UAAU,GAAG,IAAI;IASpC;;;;;OAKG;IACH,UAAU,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO;IAQvC;;;;;OAKG;IACH,GAAG,CAAC,IAAI,EAAE,YAAY,GAAG,UAAU,GAAG,SAAS;IAI/C;;;;;OAKG;IACH,GAAG,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO;IAIhC;;;;OAIG;IACH,QAAQ,IAAI,YAAY,EAAE;IAI1B;;;;;;;;OAQG;IACH,MAAM,CAAC,QAAQ,EAAE,OAAO,GAAG,eAAe;IA+B1C;;;;;;;OAOG;IACG,MAAM,CAAC,EAAE,EAAE,GAAG,EAClB,QAAQ,EAAE,OAAO,EACjB,OAAO,EAAE,eAAe,CAAC,EAAE,EAAE,GAAG,CAAC,EACjC,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC;IA4BxB;;;;;;;;OAQG;IACG,UAAU,CAAC,EAAE,EAAE,GAAG,EACtB,IAAI,EAAE,YAAY,EAClB,QAAQ,EAAE,OAAO,EACjB,OAAO,EAAE,eAAe,CAAC,EAAE,EAAE,GAAG,CAAC,EACjC,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC;IAyBxB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAIxB;;;;OAIG;IACH,UAAU,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI;IAOpC;;OAEG;IACH,QAAQ,IAAI;QACV,mBAAmB,EAAE,YAAY,EAAE,CAAC;QACpC,eAAe,EAAE,YAAY,CAAC;QAC9B,aAAa,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,YAAY,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAChE;CAUF;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,gBAAgB,kBAAyB,CAAC"}
@@ -1,343 +0,0 @@
1
- /**
2
- * Renderer System Types
3
- *
4
- * Core interfaces for the multi-framework rendering system.
5
- * Supports HTML, React, and MDX templates with auto-detection.
6
- */
7
- import type { TemplateContext, TemplateHelpers, TemplateBuilderFn } from '../runtime/types';
8
- import type { PlatformCapabilities } from '../theme';
9
- /**
10
- * Supported renderer types for template processing.
11
- * - 'html': Plain HTML string or template function
12
- * - 'react': React functional component
13
- * - 'mdx': MDX content string (server-side, requires React)
14
- * - 'mdx-client': MDX content string (client-side, CDN-loaded React)
15
- */
16
- export type RendererType = 'html' | 'react' | 'mdx' | 'mdx-client';
17
- /**
18
- * Props passed to React components used as templates.
19
- *
20
- * For SSR (server-side rendering), `output` is always available.
21
- * For client-side hydration with the bridge, use `HydratedToolUIProps`.
22
- */
23
- export interface ToolUIProps<In = unknown, Out = unknown> {
24
- /** Tool input arguments */
25
- input: In;
26
- /** Tool output result */
27
- output: Out;
28
- /** Structured content parsed from output */
29
- structuredContent?: unknown;
30
- /** Helper functions for rendering */
31
- helpers: TemplateHelpers;
32
- }
33
- /**
34
- * Props for client-side hydrated components using the Platform Bridge.
35
- *
36
- * These props include loading/error state for reactive rendering.
37
- * Use with `useSyncExternalStore` from React 18+:
38
- *
39
- * @example
40
- * ```tsx
41
- * import { useSyncExternalStore } from 'react';
42
- *
43
- * function useToolBridge<T>(): HydratedToolUIProps<T> {
44
- * const state = useSyncExternalStore(
45
- * window.__frontmcp.bridge.subscribe,
46
- * window.__frontmcp.bridge.getSnapshot,
47
- * window.__frontmcp.bridge.getServerSnapshot
48
- * );
49
- * return {
50
- * data: state.data as T,
51
- * loading: state.loading,
52
- * error: state.error,
53
- * };
54
- * }
55
- *
56
- * function MyWidget() {
57
- * const { data, loading, error } = useToolBridge<WeatherData>();
58
- *
59
- * if (loading) return <Spinner />;
60
- * if (error) return <Error message={error} />;
61
- * if (!data) return <Empty />;
62
- *
63
- * return <WeatherCard {...data} />;
64
- * }
65
- * ```
66
- */
67
- export interface HydratedToolUIProps<Out = unknown> {
68
- /** Tool output data (null when loading or no data) */
69
- data: Out | null;
70
- /** Whether the bridge is waiting for data */
71
- loading: boolean;
72
- /** Error message if data loading failed */
73
- error: string | null;
74
- }
75
- /**
76
- * Result of transpiling a template.
77
- */
78
- export interface TranspileResult {
79
- /** Transpiled JavaScript code */
80
- code: string;
81
- /** Content hash for caching */
82
- hash: string;
83
- /** Whether result was retrieved from cache */
84
- cached: boolean;
85
- /** Source map for debugging (optional) */
86
- sourceMap?: string;
87
- }
88
- /**
89
- * Options for transpilation.
90
- */
91
- export interface TranspileOptions {
92
- /** Enable source maps */
93
- sourceMaps?: boolean;
94
- /** Development mode (more detailed errors) */
95
- development?: boolean;
96
- }
97
- /**
98
- * Options for rendering a template.
99
- */
100
- export interface RenderOptions {
101
- /** Target platform capabilities */
102
- platform?: PlatformCapabilities;
103
- /** Enable client-side hydration */
104
- hydrate?: boolean;
105
- /** Custom MDX components */
106
- mdxComponents?: Record<string, unknown>;
107
- }
108
- /**
109
- * Runtime scripts to inject for client-side functionality.
110
- */
111
- export interface RuntimeScripts {
112
- /** Scripts to include in <head> */
113
- headScripts: string;
114
- /** Inline script content (for blocked-network platforms) */
115
- inlineScripts?: string;
116
- /** Whether scripts are inline or external */
117
- isInline: boolean;
118
- }
119
- /**
120
- * Result of rendering a template.
121
- */
122
- export interface RenderResult {
123
- /** Rendered HTML content (body only) */
124
- html: string;
125
- /** Renderer type that was used */
126
- rendererType: RendererType;
127
- /** Whether transpilation was cached */
128
- transpileCached: boolean;
129
- /** Runtime scripts needed for this template */
130
- runtimeScripts: RuntimeScripts;
131
- }
132
- /**
133
- * Abstract renderer interface for processing templates.
134
- *
135
- * Each renderer handles a specific template type (HTML, React, MDX)
136
- * and provides:
137
- * - Template type detection
138
- * - Transpilation (if needed)
139
- * - HTML rendering
140
- * - Client runtime script generation
141
- */
142
- export interface UIRenderer<T = unknown> {
143
- /**
144
- * Unique renderer type identifier.
145
- */
146
- readonly type: RendererType;
147
- /**
148
- * Priority for auto-detection.
149
- * Higher values are checked first.
150
- * - React: 20
151
- * - MDX: 10
152
- * - HTML: 0 (fallback)
153
- */
154
- readonly priority: number;
155
- /**
156
- * Check if this renderer can handle the given template.
157
- *
158
- * @param template - The template to check
159
- * @returns True if this renderer can process the template
160
- */
161
- canHandle(template: unknown): template is T;
162
- /**
163
- * Transpile the template to executable JavaScript (if needed).
164
- *
165
- * For React components from imports, no transpilation is needed.
166
- * For JSX strings, SWC transpilation is performed.
167
- * Results are cached by content hash.
168
- *
169
- * @param template - Template to transpile
170
- * @param options - Transpilation options
171
- * @returns Transpiled result with caching metadata
172
- */
173
- transpile(template: T, options?: TranspileOptions): Promise<TranspileResult>;
174
- /**
175
- * Render the template to HTML string.
176
- *
177
- * @param template - Template to render
178
- * @param context - Template context with input/output/helpers
179
- * @param options - Render options (platform, hydration, etc.)
180
- * @returns Rendered HTML string
181
- */
182
- render<In, Out>(template: T, context: TemplateContext<In, Out>, options?: RenderOptions): Promise<string>;
183
- /**
184
- * Get runtime scripts needed for client-side functionality.
185
- *
186
- * @param platform - Target platform capabilities
187
- * @returns Scripts to inject (CDN or inline based on platform)
188
- */
189
- getRuntimeScripts(platform: PlatformCapabilities): RuntimeScripts;
190
- }
191
- /**
192
- * Options for the renderer registry.
193
- */
194
- export interface RendererRegistryOptions {
195
- /** Maximum cache size for transpiled results */
196
- maxCacheSize?: number;
197
- /** Enable debug logging */
198
- debug?: boolean;
199
- }
200
- /**
201
- * Result of detecting a template's renderer type.
202
- */
203
- export interface DetectionResult {
204
- /** The detected renderer */
205
- renderer: UIRenderer;
206
- /** Confidence level (0-1) */
207
- confidence: number;
208
- /** Detection reason for debugging */
209
- reason: string;
210
- }
211
- /**
212
- * React component type for Tool UI templates.
213
- *
214
- * This is a generic function type that accepts props and returns JSX.
215
- * We use a loose type here to avoid requiring React types at compile time.
216
- */
217
- export type ReactComponentType<In = unknown, Out = unknown> = (props: ToolUIProps<In, Out>) => any;
218
- /**
219
- * All possible template types.
220
- * Auto-detected at runtime.
221
- */
222
- export type ToolUITemplate<In = unknown, Out = unknown> = TemplateBuilderFn<In, Out> | string | ReactComponentType<In, Out>;
223
- /**
224
- * Context passed to custom wrapper functions.
225
- */
226
- export interface WrapperContext {
227
- /** Tool name */
228
- toolName: string;
229
- /** Rendered content HTML */
230
- content: string;
231
- /** Detected renderer type */
232
- rendererType: RendererType;
233
- /** Target platform */
234
- platform: PlatformCapabilities;
235
- /** Runtime scripts to inject */
236
- runtimeScripts: RuntimeScripts;
237
- }
238
- /**
239
- * Extended Tool UI configuration with multi-framework support.
240
- *
241
- * The template type is auto-detected - no need to specify a renderer!
242
- *
243
- * @example React component
244
- * ```typescript
245
- * import { UserCard } from './components/user-card.tsx';
246
- *
247
- * @Tool({
248
- * ui: {
249
- * template: UserCard, // Auto-detected as React
250
- * hydrate: true, // Enable client-side interactivity
251
- * }
252
- * })
253
- * ```
254
- *
255
- * @example MDX template
256
- * ```typescript
257
- * @Tool({
258
- * ui: {
259
- * template: `
260
- * # Welcome
261
- * <UserCard name={output.name} />
262
- * `,
263
- * mdxComponents: { UserCard },
264
- * }
265
- * })
266
- * ```
267
- *
268
- * @example HTML template (unchanged)
269
- * ```typescript
270
- * @Tool({
271
- * ui: {
272
- * template: (ctx) => `<div>${ctx.output.name}</div>`,
273
- * }
274
- * })
275
- * ```
276
- */
277
- export interface ExtendedToolUIConfig<In = unknown, Out = unknown> {
278
- /**
279
- * Template for rendering the UI.
280
- *
281
- * Can be:
282
- * - React component: `({ input, output }) => <div>...</div>`
283
- * - MDX string: `# Title\n<Component />`
284
- * - HTML function: `(ctx) => \`<div>...</div>\``
285
- * - Static HTML string
286
- *
287
- * Type is auto-detected at runtime.
288
- */
289
- template: ToolUITemplate<In, Out>;
290
- /**
291
- * Enable client-side hydration for React components.
292
- * When true, the React runtime is included and components
293
- * become interactive in the browser.
294
- *
295
- * @default false
296
- */
297
- hydrate?: boolean;
298
- /**
299
- * Custom wrapper function to override the default HTML document wrapper.
300
- * Useful for completely custom document structures.
301
- *
302
- * @param content - Rendered template HTML
303
- * @param ctx - Wrapper context with metadata
304
- * @returns Complete HTML document string
305
- */
306
- wrapper?: (content: string, ctx: WrapperContext) => string;
307
- /**
308
- * Custom MDX components available in MDX templates.
309
- * These components can be used directly in MDX content.
310
- *
311
- * @example
312
- * ```typescript
313
- * mdxComponents: {
314
- * UserCard: ({ name }) => <div>{name}</div>,
315
- * Badge: ({ type }) => <span className={type}>...</span>,
316
- * }
317
- * ```
318
- */
319
- mdxComponents?: Record<string, (props: any) => any>;
320
- /** Content Security Policy for the sandboxed widget. */
321
- csp?: {
322
- connectDomains?: string[];
323
- resourceDomains?: string[];
324
- };
325
- /** Whether the widget can invoke tools via the MCP bridge. */
326
- widgetAccessible?: boolean;
327
- /** Preferred display mode for the widget. */
328
- displayMode?: 'inline' | 'fullscreen' | 'pip';
329
- /** Human-readable description shown to users about what the widget does. */
330
- widgetDescription?: string;
331
- /** Status messages shown during tool invocation. */
332
- invocationStatus?: {
333
- invoking?: string;
334
- invoked?: string;
335
- };
336
- /** How the widget HTML should be served to the client. */
337
- servingMode?: 'inline' | 'static' | 'hybrid' | 'direct-url' | 'custom-url';
338
- /** Custom URL for widget serving when `servingMode: 'custom-url'`. */
339
- customWidgetUrl?: string;
340
- /** Path for direct URL serving when `servingMode: 'direct-url'`. */
341
- directPath?: string;
342
- }
343
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/renderers/types.ts"],"names":[],"mappings":"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"}