@frontmcp/uipack 0.6.1 → 0.6.3
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.
- package/CLAUDE.md +88 -105
- package/README.md +1 -0
- package/adapters/index.d.ts +1 -1
- package/adapters/index.d.ts.map +1 -1
- package/adapters/index.js +35 -2
- package/adapters/platform-meta.d.ts +29 -0
- package/adapters/platform-meta.d.ts.map +1 -1
- package/base-template/default-base-template.d.ts +0 -1
- package/base-template/default-base-template.d.ts.map +1 -1
- package/base-template/index.js +32 -37
- package/build/builders/base-builder.d.ts +124 -0
- package/build/builders/base-builder.d.ts.map +1 -0
- package/build/builders/esbuild-config.d.ts +94 -0
- package/build/builders/esbuild-config.d.ts.map +1 -0
- package/build/builders/hybrid-builder.d.ts +93 -0
- package/build/builders/hybrid-builder.d.ts.map +1 -0
- package/build/builders/index.d.ts +17 -0
- package/build/builders/index.d.ts.map +1 -0
- package/build/builders/inline-builder.d.ts +83 -0
- package/build/builders/inline-builder.d.ts.map +1 -0
- package/build/builders/static-builder.d.ts +78 -0
- package/build/builders/static-builder.d.ts.map +1 -0
- package/build/builders/types.d.ts +341 -0
- package/build/builders/types.d.ts.map +1 -0
- package/build/cdn-resources.d.ts +3 -2
- package/build/cdn-resources.d.ts.map +1 -1
- package/build/hybrid-data.d.ts +127 -0
- package/build/hybrid-data.d.ts.map +1 -0
- package/build/index.d.ts +4 -0
- package/build/index.d.ts.map +1 -1
- package/build/index.js +1901 -173
- package/build/ui-components-browser.d.ts +64 -0
- package/build/ui-components-browser.d.ts.map +1 -0
- package/build/widget-manifest.d.ts.map +1 -1
- package/bundler/file-cache/component-builder.d.ts.map +1 -1
- package/bundler/file-cache/storage/redis.d.ts.map +1 -1
- package/bundler/index.js +11 -6
- package/dependency/cdn-registry.d.ts +1 -1
- package/dependency/cdn-registry.d.ts.map +1 -1
- package/dependency/import-map.d.ts.map +1 -1
- package/dependency/index.js +93 -121
- package/dependency/resolver.d.ts.map +1 -1
- package/esm/adapters/{index.js → index.mjs} +34 -2
- package/esm/base-template/{index.js → index.mjs} +32 -37
- package/esm/build/{index.js → index.mjs} +1872 -173
- package/esm/bundler/{index.js → index.mjs} +12 -7
- package/esm/dependency/{index.js → index.mjs} +93 -121
- package/esm/handlebars/{index.js → index.mjs} +0 -1
- package/esm/{index.js → index.mjs} +2532 -827
- package/esm/package.json +15 -16
- package/esm/registry/{index.js → index.mjs} +200 -265
- package/esm/renderers/{index.js → index.mjs} +110 -201
- package/esm/runtime/{index.js → index.mjs} +44 -35
- package/esm/styles/{index.js → index.mjs} +6 -6
- package/esm/theme/{index.js → index.mjs} +90 -42
- package/esm/tool-template/{index.js → index.mjs} +35 -28
- package/esm/typings/{index.js → index.mjs} +157 -1
- package/esm/utils/{index.js → index.mjs} +24 -0
- package/esm/validation/{index.js → index.mjs} +0 -1
- package/handlebars/expression-extractor.d.ts.map +1 -1
- package/handlebars/index.d.ts.map +1 -1
- package/handlebars/index.js +0 -1
- package/index.d.ts +2 -1
- package/index.d.ts.map +1 -1
- package/index.js +2560 -831
- package/package.json +7 -6
- package/preview/claude-preview.d.ts +67 -0
- package/preview/claude-preview.d.ts.map +1 -0
- package/preview/generic-preview.d.ts +67 -0
- package/preview/generic-preview.d.ts.map +1 -0
- package/preview/index.d.ts +36 -0
- package/preview/index.d.ts.map +1 -0
- package/preview/openai-preview.d.ts +70 -0
- package/preview/openai-preview.d.ts.map +1 -0
- package/preview/types.d.ts +185 -0
- package/preview/types.d.ts.map +1 -0
- package/registry/index.js +200 -265
- package/registry/render-template.d.ts.map +1 -1
- package/renderers/index.d.ts +2 -2
- package/renderers/index.d.ts.map +1 -1
- package/renderers/index.js +114 -205
- package/renderers/mdx-client.renderer.d.ts +124 -0
- package/renderers/mdx-client.renderer.d.ts.map +1 -0
- package/renderers/registry.d.ts +2 -2
- package/renderers/registry.d.ts.map +1 -1
- package/renderers/types.d.ts +3 -2
- package/renderers/types.d.ts.map +1 -1
- package/renderers/utils/transpiler.d.ts +8 -27
- package/renderers/utils/transpiler.d.ts.map +1 -1
- package/runtime/index.js +44 -35
- package/runtime/mcp-bridge.d.ts.map +1 -1
- package/runtime/renderer-runtime.d.ts.map +1 -1
- package/runtime/wrapper.d.ts.map +1 -1
- package/styles/index.js +6 -6
- package/styles/variants.d.ts +1 -1
- package/styles/variants.d.ts.map +1 -1
- package/theme/cdn.d.ts.map +1 -1
- package/theme/css-to-theme.d.ts +91 -0
- package/theme/css-to-theme.d.ts.map +1 -0
- package/theme/index.d.ts +2 -1
- package/theme/index.d.ts.map +1 -1
- package/theme/index.js +92 -43
- package/theme/platforms.d.ts +1 -6
- package/theme/platforms.d.ts.map +1 -1
- package/theme/theme.d.ts.map +1 -1
- package/tool-template/builder.d.ts.map +1 -1
- package/tool-template/index.js +35 -28
- package/typings/index.d.ts +4 -4
- package/typings/index.d.ts.map +1 -1
- package/typings/index.js +162 -1
- package/typings/schemas.d.ts +30 -0
- package/typings/schemas.d.ts.map +1 -1
- package/typings/type-fetcher.d.ts +74 -1
- package/typings/type-fetcher.d.ts.map +1 -1
- package/typings/types.d.ts +72 -1
- package/typings/types.d.ts.map +1 -1
- package/utils/escape-html.d.ts +44 -0
- package/utils/escape-html.d.ts.map +1 -1
- package/utils/index.d.ts +1 -1
- package/utils/index.d.ts.map +1 -1
- package/utils/index.js +26 -0
- package/validation/index.js +0 -1
- package/validation/template-validator.d.ts.map +1 -1
- package/esm/adapters/index.d.ts +0 -13
- package/esm/adapters/index.d.ts.map +0 -1
- package/esm/adapters/platform-meta.d.ts +0 -166
- package/esm/adapters/platform-meta.d.ts.map +0 -1
- package/esm/adapters/response-builder.d.ts +0 -108
- package/esm/adapters/response-builder.d.ts.map +0 -1
- package/esm/adapters/serving-mode.d.ts +0 -107
- package/esm/adapters/serving-mode.d.ts.map +0 -1
- package/esm/base-template/bridge.d.ts +0 -90
- package/esm/base-template/bridge.d.ts.map +0 -1
- package/esm/base-template/default-base-template.d.ts +0 -92
- package/esm/base-template/default-base-template.d.ts.map +0 -1
- package/esm/base-template/index.d.ts +0 -15
- package/esm/base-template/index.d.ts.map +0 -1
- package/esm/base-template/polyfills.d.ts +0 -31
- package/esm/base-template/polyfills.d.ts.map +0 -1
- package/esm/base-template/theme-styles.d.ts +0 -74
- package/esm/base-template/theme-styles.d.ts.map +0 -1
- package/esm/bridge-runtime/iife-generator.d.ts +0 -62
- package/esm/bridge-runtime/iife-generator.d.ts.map +0 -1
- package/esm/bridge-runtime/index.d.ts +0 -10
- package/esm/bridge-runtime/index.d.ts.map +0 -1
- package/esm/build/cdn-resources.d.ts +0 -243
- package/esm/build/cdn-resources.d.ts.map +0 -1
- package/esm/build/index.d.ts +0 -295
- package/esm/build/index.d.ts.map +0 -1
- package/esm/build/widget-manifest.d.ts +0 -362
- package/esm/build/widget-manifest.d.ts.map +0 -1
- package/esm/bundler/cache.d.ts +0 -173
- package/esm/bundler/cache.d.ts.map +0 -1
- package/esm/bundler/file-cache/component-builder.d.ts +0 -167
- package/esm/bundler/file-cache/component-builder.d.ts.map +0 -1
- package/esm/bundler/file-cache/hash-calculator.d.ts +0 -155
- package/esm/bundler/file-cache/hash-calculator.d.ts.map +0 -1
- package/esm/bundler/file-cache/index.d.ts +0 -12
- package/esm/bundler/file-cache/index.d.ts.map +0 -1
- package/esm/bundler/file-cache/storage/filesystem.d.ts +0 -149
- package/esm/bundler/file-cache/storage/filesystem.d.ts.map +0 -1
- package/esm/bundler/file-cache/storage/index.d.ts +0 -11
- package/esm/bundler/file-cache/storage/index.d.ts.map +0 -1
- package/esm/bundler/file-cache/storage/interface.d.ts +0 -152
- package/esm/bundler/file-cache/storage/interface.d.ts.map +0 -1
- package/esm/bundler/file-cache/storage/redis.d.ts +0 -139
- package/esm/bundler/file-cache/storage/redis.d.ts.map +0 -1
- package/esm/bundler/index.d.ts +0 -35
- package/esm/bundler/index.d.ts.map +0 -1
- package/esm/bundler/sandbox/enclave-adapter.d.ts +0 -121
- package/esm/bundler/sandbox/enclave-adapter.d.ts.map +0 -1
- package/esm/bundler/sandbox/executor.d.ts +0 -14
- package/esm/bundler/sandbox/executor.d.ts.map +0 -1
- package/esm/bundler/sandbox/policy.d.ts +0 -62
- package/esm/bundler/sandbox/policy.d.ts.map +0 -1
- package/esm/bundler/types.d.ts +0 -702
- package/esm/bundler/types.d.ts.map +0 -1
- package/esm/dependency/cdn-registry.d.ts +0 -98
- package/esm/dependency/cdn-registry.d.ts.map +0 -1
- package/esm/dependency/import-map.d.ts +0 -186
- package/esm/dependency/import-map.d.ts.map +0 -1
- package/esm/dependency/import-parser.d.ts +0 -82
- package/esm/dependency/import-parser.d.ts.map +0 -1
- package/esm/dependency/index.d.ts +0 -17
- package/esm/dependency/index.d.ts.map +0 -1
- package/esm/dependency/resolver.d.ts +0 -164
- package/esm/dependency/resolver.d.ts.map +0 -1
- package/esm/dependency/schemas.d.ts +0 -486
- package/esm/dependency/schemas.d.ts.map +0 -1
- package/esm/dependency/template-loader.d.ts +0 -204
- package/esm/dependency/template-loader.d.ts.map +0 -1
- package/esm/dependency/template-processor.d.ts +0 -118
- package/esm/dependency/template-processor.d.ts.map +0 -1
- package/esm/dependency/types.d.ts +0 -739
- package/esm/dependency/types.d.ts.map +0 -1
- package/esm/handlebars/expression-extractor.d.ts +0 -147
- package/esm/handlebars/expression-extractor.d.ts.map +0 -1
- package/esm/handlebars/helpers.d.ts +0 -339
- package/esm/handlebars/helpers.d.ts.map +0 -1
- package/esm/handlebars/index.d.ts +0 -195
- package/esm/handlebars/index.d.ts.map +0 -1
- package/esm/index.d.ts +0 -50
- package/esm/index.d.ts.map +0 -1
- package/esm/registry/index.d.ts +0 -46
- package/esm/registry/index.d.ts.map +0 -1
- package/esm/registry/render-template.d.ts +0 -91
- package/esm/registry/render-template.d.ts.map +0 -1
- package/esm/registry/tool-ui.registry.d.ts +0 -294
- package/esm/registry/tool-ui.registry.d.ts.map +0 -1
- package/esm/registry/uri-utils.d.ts +0 -56
- package/esm/registry/uri-utils.d.ts.map +0 -1
- package/esm/renderers/cache.d.ts +0 -145
- package/esm/renderers/cache.d.ts.map +0 -1
- package/esm/renderers/html.renderer.d.ts +0 -123
- package/esm/renderers/html.renderer.d.ts.map +0 -1
- package/esm/renderers/index.d.ts +0 -36
- package/esm/renderers/index.d.ts.map +0 -1
- package/esm/renderers/mdx.renderer.d.ts +0 -120
- package/esm/renderers/mdx.renderer.d.ts.map +0 -1
- package/esm/renderers/registry.d.ts +0 -133
- package/esm/renderers/registry.d.ts.map +0 -1
- package/esm/renderers/types.d.ts +0 -342
- package/esm/renderers/types.d.ts.map +0 -1
- package/esm/renderers/utils/detect.d.ts +0 -107
- package/esm/renderers/utils/detect.d.ts.map +0 -1
- package/esm/renderers/utils/hash.d.ts +0 -40
- package/esm/renderers/utils/hash.d.ts.map +0 -1
- package/esm/renderers/utils/index.d.ts +0 -9
- package/esm/renderers/utils/index.d.ts.map +0 -1
- package/esm/renderers/utils/transpiler.d.ts +0 -89
- package/esm/renderers/utils/transpiler.d.ts.map +0 -1
- package/esm/runtime/adapters/html.adapter.d.ts +0 -59
- package/esm/runtime/adapters/html.adapter.d.ts.map +0 -1
- package/esm/runtime/adapters/index.d.ts +0 -26
- package/esm/runtime/adapters/index.d.ts.map +0 -1
- package/esm/runtime/adapters/mdx.adapter.d.ts +0 -73
- package/esm/runtime/adapters/mdx.adapter.d.ts.map +0 -1
- package/esm/runtime/adapters/types.d.ts +0 -95
- package/esm/runtime/adapters/types.d.ts.map +0 -1
- package/esm/runtime/csp.d.ts +0 -48
- package/esm/runtime/csp.d.ts.map +0 -1
- package/esm/runtime/index.d.ts +0 -17
- package/esm/runtime/index.d.ts.map +0 -1
- package/esm/runtime/mcp-bridge.d.ts +0 -101
- package/esm/runtime/mcp-bridge.d.ts.map +0 -1
- package/esm/runtime/renderer-runtime.d.ts +0 -133
- package/esm/runtime/renderer-runtime.d.ts.map +0 -1
- package/esm/runtime/sanitizer.d.ts +0 -172
- package/esm/runtime/sanitizer.d.ts.map +0 -1
- package/esm/runtime/types.d.ts +0 -415
- package/esm/runtime/types.d.ts.map +0 -1
- package/esm/runtime/wrapper.d.ts +0 -421
- package/esm/runtime/wrapper.d.ts.map +0 -1
- package/esm/styles/index.d.ts +0 -8
- package/esm/styles/index.d.ts.map +0 -1
- package/esm/styles/variants.d.ts +0 -51
- package/esm/styles/variants.d.ts.map +0 -1
- package/esm/theme/cdn.d.ts +0 -195
- package/esm/theme/cdn.d.ts.map +0 -1
- package/esm/theme/index.d.ts +0 -18
- package/esm/theme/index.d.ts.map +0 -1
- package/esm/theme/platforms.d.ts +0 -107
- package/esm/theme/platforms.d.ts.map +0 -1
- package/esm/theme/presets/github-openai.d.ts +0 -50
- package/esm/theme/presets/github-openai.d.ts.map +0 -1
- package/esm/theme/presets/index.d.ts +0 -11
- package/esm/theme/presets/index.d.ts.map +0 -1
- package/esm/theme/theme.d.ts +0 -396
- package/esm/theme/theme.d.ts.map +0 -1
- package/esm/tool-template/builder.d.ts +0 -213
- package/esm/tool-template/builder.d.ts.map +0 -1
- package/esm/tool-template/index.d.ts +0 -16
- package/esm/tool-template/index.d.ts.map +0 -1
- package/esm/types/index.d.ts +0 -14
- package/esm/types/index.d.ts.map +0 -1
- package/esm/types/ui-config.d.ts +0 -641
- package/esm/types/ui-config.d.ts.map +0 -1
- package/esm/types/ui-runtime.d.ts +0 -1008
- package/esm/types/ui-runtime.d.ts.map +0 -1
- package/esm/typings/cache/cache-adapter.d.ts +0 -125
- package/esm/typings/cache/cache-adapter.d.ts.map +0 -1
- package/esm/typings/cache/index.d.ts +0 -10
- package/esm/typings/cache/index.d.ts.map +0 -1
- package/esm/typings/cache/memory-cache.d.ts +0 -92
- package/esm/typings/cache/memory-cache.d.ts.map +0 -1
- package/esm/typings/dts-parser.d.ts +0 -90
- package/esm/typings/dts-parser.d.ts.map +0 -1
- package/esm/typings/index.d.ts +0 -48
- package/esm/typings/index.d.ts.map +0 -1
- package/esm/typings/schemas.d.ts +0 -232
- package/esm/typings/schemas.d.ts.map +0 -1
- package/esm/typings/type-fetcher.d.ts +0 -89
- package/esm/typings/type-fetcher.d.ts.map +0 -1
- package/esm/typings/types.d.ts +0 -320
- package/esm/typings/types.d.ts.map +0 -1
- package/esm/utils/escape-html.d.ts +0 -58
- package/esm/utils/escape-html.d.ts.map +0 -1
- package/esm/utils/index.d.ts +0 -10
- package/esm/utils/index.d.ts.map +0 -1
- package/esm/utils/safe-stringify.d.ts +0 -30
- package/esm/utils/safe-stringify.d.ts.map +0 -1
- package/esm/validation/error-box.d.ts +0 -56
- package/esm/validation/error-box.d.ts.map +0 -1
- package/esm/validation/index.d.ts +0 -13
- package/esm/validation/index.d.ts.map +0 -1
- package/esm/validation/schema-paths.d.ts +0 -118
- package/esm/validation/schema-paths.d.ts.map +0 -1
- package/esm/validation/template-validator.d.ts +0 -143
- package/esm/validation/template-validator.d.ts.map +0 -1
- package/esm/validation/wrapper.d.ts +0 -97
- package/esm/validation/wrapper.d.ts.map +0 -1
- package/renderers/mdx.renderer.d.ts +0 -120
- package/renderers/mdx.renderer.d.ts.map +0 -1
- /package/esm/bridge-runtime/{index.js → index.mjs} +0 -0
- /package/esm/types/{index.js → index.mjs} +0 -0
package/esm/renderers/cache.d.ts
DELETED
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* LRU Cache for Renderer Transpilation Results
|
|
3
|
-
*
|
|
4
|
-
* Provides fast, memory-bounded caching for transpiled templates.
|
|
5
|
-
* Uses content-addressable keys (hash of source) for deduplication.
|
|
6
|
-
*/
|
|
7
|
-
import type { TranspileResult } from './types';
|
|
8
|
-
/**
|
|
9
|
-
* Options for the transpile cache.
|
|
10
|
-
*/
|
|
11
|
-
export interface TranspileCacheOptions {
|
|
12
|
-
/** Maximum number of entries (default: 500) */
|
|
13
|
-
maxSize?: number;
|
|
14
|
-
/** TTL in milliseconds, 0 = infinite (default: 0 for transpile cache) */
|
|
15
|
-
ttl?: number;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* LRU Cache for transpiled template results.
|
|
19
|
-
*
|
|
20
|
-
* Features:
|
|
21
|
-
* - Content-addressable keys via hash
|
|
22
|
-
* - LRU eviction when max size reached
|
|
23
|
-
* - Optional TTL for time-based expiration
|
|
24
|
-
* - Access statistics
|
|
25
|
-
*
|
|
26
|
-
* @example
|
|
27
|
-
* ```typescript
|
|
28
|
-
* const cache = new TranspileCache({ maxSize: 500 });
|
|
29
|
-
*
|
|
30
|
-
* // Store a transpiled result
|
|
31
|
-
* const hash = cache.set(sourceCode, transpileResult);
|
|
32
|
-
*
|
|
33
|
-
* // Retrieve it later
|
|
34
|
-
* const result = cache.get(sourceCode);
|
|
35
|
-
* if (result) {
|
|
36
|
-
* console.log('Cache hit!', result.code);
|
|
37
|
-
* }
|
|
38
|
-
* ```
|
|
39
|
-
*/
|
|
40
|
-
export declare class TranspileCache {
|
|
41
|
-
private cache;
|
|
42
|
-
private readonly maxSize;
|
|
43
|
-
private readonly ttl;
|
|
44
|
-
/** Cache statistics */
|
|
45
|
-
private stats;
|
|
46
|
-
constructor(options?: TranspileCacheOptions);
|
|
47
|
-
/**
|
|
48
|
-
* Get a cached transpile result by source content.
|
|
49
|
-
*
|
|
50
|
-
* @param source - Source code to look up
|
|
51
|
-
* @returns Cached result or undefined if not found/expired
|
|
52
|
-
*/
|
|
53
|
-
get(source: string): TranspileResult | undefined;
|
|
54
|
-
/**
|
|
55
|
-
* Get a cached transpile result by hash key.
|
|
56
|
-
*
|
|
57
|
-
* @param key - Hash key
|
|
58
|
-
* @returns Cached result or undefined if not found/expired
|
|
59
|
-
*/
|
|
60
|
-
getByKey(key: string): TranspileResult | undefined;
|
|
61
|
-
/**
|
|
62
|
-
* Store a transpile result.
|
|
63
|
-
*
|
|
64
|
-
* @param source - Source code (used to generate key)
|
|
65
|
-
* @param value - Transpile result to cache
|
|
66
|
-
* @returns The hash key used for storage
|
|
67
|
-
*/
|
|
68
|
-
set(source: string, value: TranspileResult): string;
|
|
69
|
-
/**
|
|
70
|
-
* Store a transpile result by hash key.
|
|
71
|
-
*
|
|
72
|
-
* @param key - Hash key
|
|
73
|
-
* @param value - Transpile result to cache
|
|
74
|
-
*/
|
|
75
|
-
setByKey(key: string, value: TranspileResult): void;
|
|
76
|
-
/**
|
|
77
|
-
* Check if a source is cached.
|
|
78
|
-
*
|
|
79
|
-
* @param source - Source code to check
|
|
80
|
-
* @returns True if cached and not expired
|
|
81
|
-
*/
|
|
82
|
-
has(source: string): boolean;
|
|
83
|
-
/**
|
|
84
|
-
* Check if a key is cached.
|
|
85
|
-
*
|
|
86
|
-
* @param key - Hash key to check
|
|
87
|
-
* @returns True if cached and not expired
|
|
88
|
-
*/
|
|
89
|
-
hasByKey(key: string): boolean;
|
|
90
|
-
/**
|
|
91
|
-
* Delete a cached entry by source.
|
|
92
|
-
*
|
|
93
|
-
* @param source - Source code to delete
|
|
94
|
-
* @returns True if entry was deleted
|
|
95
|
-
*/
|
|
96
|
-
delete(source: string): boolean;
|
|
97
|
-
/**
|
|
98
|
-
* Clear all cached entries.
|
|
99
|
-
*/
|
|
100
|
-
clear(): void;
|
|
101
|
-
/**
|
|
102
|
-
* Get current cache size.
|
|
103
|
-
*/
|
|
104
|
-
get size(): number;
|
|
105
|
-
/**
|
|
106
|
-
* Get cache statistics.
|
|
107
|
-
*/
|
|
108
|
-
getStats(): {
|
|
109
|
-
hits: number;
|
|
110
|
-
misses: number;
|
|
111
|
-
evictions: number;
|
|
112
|
-
size: number;
|
|
113
|
-
hitRate: number;
|
|
114
|
-
};
|
|
115
|
-
}
|
|
116
|
-
/**
|
|
117
|
-
* Global transpile cache instance.
|
|
118
|
-
* Shared across all renderers for deduplication.
|
|
119
|
-
*/
|
|
120
|
-
export declare const transpileCache: TranspileCache;
|
|
121
|
-
/**
|
|
122
|
-
* Render cache for full HTML output.
|
|
123
|
-
* Uses shorter TTL since outputs depend on input/output data.
|
|
124
|
-
*/
|
|
125
|
-
export declare const renderCache: TranspileCache;
|
|
126
|
-
/**
|
|
127
|
-
* Simple LRU cache for storing any type of values.
|
|
128
|
-
* Used for caching compiled components (React/MDX).
|
|
129
|
-
*/
|
|
130
|
-
export declare class ComponentCache<T = unknown> {
|
|
131
|
-
private cache;
|
|
132
|
-
private readonly maxSize;
|
|
133
|
-
constructor(maxSize?: number);
|
|
134
|
-
get(key: string): T | undefined;
|
|
135
|
-
set(key: string, value: T): void;
|
|
136
|
-
has(key: string): boolean;
|
|
137
|
-
delete(key: string): boolean;
|
|
138
|
-
clear(): void;
|
|
139
|
-
get size(): number;
|
|
140
|
-
}
|
|
141
|
-
/**
|
|
142
|
-
* Global component cache for storing compiled React/MDX components.
|
|
143
|
-
*/
|
|
144
|
-
export declare const componentCache: ComponentCache<unknown>;
|
|
145
|
-
//# sourceMappingURL=cache.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../../src/renderers/cache.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAc/C;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yEAAyE;IACzE,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,KAAK,CAAkD;IAC/D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAE7B,uBAAuB;IACvB,OAAO,CAAC,KAAK,CAIX;gBAEU,OAAO,GAAE,qBAA0B;IAK/C;;;;;OAKG;IACH,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAKhD;;;;;OAKG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAwBlD;;;;;;OAMG;IACH,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,MAAM;IAMnD;;;;;OAKG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,IAAI;IAkBnD;;;;;OAKG;IACH,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAK5B;;;;;OAKG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAa9B;;;;;OAKG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAK/B;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;OAEG;IACH,QAAQ,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;CAQ/F;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,gBAAuC,CAAC;AAEnE;;;GAGG;AACH,eAAO,MAAM,WAAW,gBAGtB,CAAC;AAEH;;;GAGG;AACH,qBAAa,cAAc,CAAC,CAAC,GAAG,OAAO;IACrC,OAAO,CAAC,KAAK,CAAsD;IACnE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,OAAO,SAAM;IAIzB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAU/B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAYhC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIzB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAI5B,KAAK,IAAI,IAAI;IAIb,IAAI,IAAI,IAAI,MAAM,CAEjB;CACF;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,yBAAuB,CAAC"}
|
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* HTML Renderer
|
|
3
|
-
*
|
|
4
|
-
* Handles plain HTML templates:
|
|
5
|
-
* - Static HTML strings
|
|
6
|
-
* - Template builder functions: (ctx) => string
|
|
7
|
-
* - Handlebars-enhanced templates: HTML with {{variable}} syntax
|
|
8
|
-
*
|
|
9
|
-
* This is the default fallback renderer with the lowest priority.
|
|
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
|
-
* Template builder function type.
|
|
16
|
-
*/
|
|
17
|
-
type TemplateBuilderFn<In, Out> = (ctx: TemplateContext<In, Out>) => string;
|
|
18
|
-
/**
|
|
19
|
-
* Types this renderer can handle.
|
|
20
|
-
*/
|
|
21
|
-
type HtmlTemplate<In = unknown, Out = unknown> = string | TemplateBuilderFn<In, Out>;
|
|
22
|
-
/**
|
|
23
|
-
* Check if a template contains Handlebars syntax.
|
|
24
|
-
* Non-async version for canHandle check.
|
|
25
|
-
*/
|
|
26
|
-
declare function containsHandlebars(template: string): boolean;
|
|
27
|
-
/**
|
|
28
|
-
* HTML Renderer Implementation.
|
|
29
|
-
*
|
|
30
|
-
* Handles:
|
|
31
|
-
* - Static HTML strings (passed through directly)
|
|
32
|
-
* - Template builder functions that return HTML strings
|
|
33
|
-
* - Handlebars-enhanced templates (detected by {{...}} syntax)
|
|
34
|
-
*
|
|
35
|
-
* When Handlebars syntax is detected, the template is processed
|
|
36
|
-
* with the HandlebarsRenderer for variable interpolation, conditionals,
|
|
37
|
-
* and loops.
|
|
38
|
-
*
|
|
39
|
-
* @example Static HTML
|
|
40
|
-
* ```typescript
|
|
41
|
-
* const template = '<div class="card">Hello World</div>';
|
|
42
|
-
* await htmlRenderer.render(template, context);
|
|
43
|
-
* ```
|
|
44
|
-
*
|
|
45
|
-
* @example Template function
|
|
46
|
-
* ```typescript
|
|
47
|
-
* const template = (ctx) => `<div>${ctx.helpers.escapeHtml(ctx.output.name)}</div>`;
|
|
48
|
-
* await htmlRenderer.render(template, context);
|
|
49
|
-
* ```
|
|
50
|
-
*
|
|
51
|
-
* @example Handlebars template
|
|
52
|
-
* ```typescript
|
|
53
|
-
* const template = `
|
|
54
|
-
* <div class="card">
|
|
55
|
-
* <h2>{{escapeHtml output.title}}</h2>
|
|
56
|
-
* {{#if output.items}}
|
|
57
|
-
* <ul>
|
|
58
|
-
* {{#each output.items}}
|
|
59
|
-
* <li>{{this.name}}</li>
|
|
60
|
-
* {{/each}}
|
|
61
|
-
* </ul>
|
|
62
|
-
* {{/if}}
|
|
63
|
-
* </div>
|
|
64
|
-
* `;
|
|
65
|
-
* await htmlRenderer.render(template, context);
|
|
66
|
-
* ```
|
|
67
|
-
*/
|
|
68
|
-
export declare class HtmlRenderer implements UIRenderer<HtmlTemplate> {
|
|
69
|
-
readonly type: "html";
|
|
70
|
-
readonly priority = 0;
|
|
71
|
-
/**
|
|
72
|
-
* Check if this renderer can handle the given template.
|
|
73
|
-
*
|
|
74
|
-
* Accepts:
|
|
75
|
-
* - Any string (assumed to be HTML, with or without Handlebars)
|
|
76
|
-
* - Functions that are template builders (not React components)
|
|
77
|
-
*/
|
|
78
|
-
canHandle(template: unknown): template is HtmlTemplate;
|
|
79
|
-
/**
|
|
80
|
-
* Check if a template uses Handlebars syntax.
|
|
81
|
-
*
|
|
82
|
-
* @param template - Template string to check
|
|
83
|
-
* @returns true if template contains {{...}} syntax
|
|
84
|
-
*/
|
|
85
|
-
usesHandlebars(template: string): boolean;
|
|
86
|
-
/**
|
|
87
|
-
* Transpile the template.
|
|
88
|
-
*
|
|
89
|
-
* For HTML templates, no transpilation is needed.
|
|
90
|
-
* This method returns a dummy result for consistency.
|
|
91
|
-
*/
|
|
92
|
-
transpile(template: HtmlTemplate, _options?: TranspileOptions): Promise<TranspileResult>;
|
|
93
|
-
/**
|
|
94
|
-
* Render the template to HTML string.
|
|
95
|
-
*
|
|
96
|
-
* For static strings without Handlebars, returns the string directly.
|
|
97
|
-
* For strings with Handlebars syntax, processes with HandlebarsRenderer.
|
|
98
|
-
* For functions, calls the function with the context.
|
|
99
|
-
*/
|
|
100
|
-
render<In, Out>(template: HtmlTemplate<In, Out>, context: TemplateContext<In, Out>, _options?: RenderOptions): Promise<string>;
|
|
101
|
-
/**
|
|
102
|
-
* Render Handlebars template with context.
|
|
103
|
-
*/
|
|
104
|
-
private renderHandlebars;
|
|
105
|
-
/**
|
|
106
|
-
* Get runtime scripts for client-side functionality.
|
|
107
|
-
*
|
|
108
|
-
* HTML templates don't need additional runtime scripts.
|
|
109
|
-
*/
|
|
110
|
-
getRuntimeScripts(_platform: PlatformCapabilities): RuntimeScripts;
|
|
111
|
-
}
|
|
112
|
-
/**
|
|
113
|
-
* Singleton instance of the HTML renderer.
|
|
114
|
-
*/
|
|
115
|
-
export declare const htmlRenderer: HtmlRenderer;
|
|
116
|
-
/**
|
|
117
|
-
* Check if a template string contains Handlebars syntax.
|
|
118
|
-
*
|
|
119
|
-
* @param template - Template string
|
|
120
|
-
* @returns true if contains {{...}}
|
|
121
|
-
*/
|
|
122
|
-
export { containsHandlebars };
|
|
123
|
-
//# sourceMappingURL=html.renderer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"html.renderer.d.ts","sourceRoot":"","sources":["../../../src/renderers/html.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,EAAE,UAAU,EAAE,eAAe,EAAE,gBAAgB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAI5G;;GAEG;AACH,KAAK,iBAAiB,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,EAAE,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC;AAE5E;;GAEG;AACH,KAAK,YAAY,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,GAAG,OAAO,IAAI,MAAM,GAAG,iBAAiB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;AA0CrF;;;GAGG;AACH,iBAAS,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAGrD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,qBAAa,YAAa,YAAW,UAAU,CAAC,YAAY,CAAC;IAC3D,QAAQ,CAAC,IAAI,EAAG,MAAM,CAAU;IAChC,QAAQ,CAAC,QAAQ,KAAK;IAEtB;;;;;;OAMG;IACH,SAAS,CAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,IAAI,YAAY;IActD;;;;;OAKG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIzC;;;;;OAKG;IACG,SAAS,CAAC,QAAQ,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;IAW9F;;;;;;OAMG;IACG,MAAM,CAAC,EAAE,EAAE,GAAG,EAClB,QAAQ,EAAE,YAAY,CAAC,EAAE,EAAE,GAAG,CAAC,EAC/B,OAAO,EAAE,eAAe,CAAC,EAAE,EAAE,GAAG,CAAC,EACjC,QAAQ,CAAC,EAAE,aAAa,GACvB,OAAO,CAAC,MAAM,CAAC;IAwBlB;;OAEG;YACW,gBAAgB;IAmB9B;;;;OAIG;IACH,iBAAiB,CAAC,SAAS,EAAE,oBAAoB,GAAG,cAAc;CAMnE;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,cAAqB,CAAC;AAE/C;;;;;GAKG;AACH,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
|
package/esm/renderers/index.d.ts
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Renderer Module
|
|
3
|
-
*
|
|
4
|
-
* Multi-framework rendering system for Tool UI templates.
|
|
5
|
-
* Supports HTML, React, and MDX templates with auto-detection.
|
|
6
|
-
*
|
|
7
|
-
* @module @frontmcp/uipack/renderers
|
|
8
|
-
*
|
|
9
|
-
* @example Basic usage with auto-detection
|
|
10
|
-
* ```typescript
|
|
11
|
-
* import { rendererRegistry } from '@frontmcp/uipack/renderers';
|
|
12
|
-
*
|
|
13
|
-
* // HTML template
|
|
14
|
-
* const htmlTemplate = (ctx) => `<div>${ctx.output.name}</div>`;
|
|
15
|
-
* const result = await rendererRegistry.render(htmlTemplate, context);
|
|
16
|
-
* ```
|
|
17
|
-
*
|
|
18
|
-
* @example Register React renderer
|
|
19
|
-
* ```typescript
|
|
20
|
-
* import { rendererRegistry } from '@frontmcp/uipack/renderers';
|
|
21
|
-
* import { reactRenderer } from '@frontmcp/ui';
|
|
22
|
-
*
|
|
23
|
-
* rendererRegistry.register(reactRenderer);
|
|
24
|
-
*
|
|
25
|
-
* // Now React components are auto-detected
|
|
26
|
-
* const MyComponent = ({ output }) => <div>{output.name}</div>;
|
|
27
|
-
* const result = await rendererRegistry.render(MyComponent, context);
|
|
28
|
-
* ```
|
|
29
|
-
*/
|
|
30
|
-
export type { RendererType, UIRenderer, ToolUIProps, HydratedToolUIProps, TranspileResult, TranspileOptions, RenderOptions, RuntimeScripts, RenderResult, RendererRegistryOptions, DetectionResult, ReactComponentType, WrapperContext, ExtendedToolUIConfig, } from './types';
|
|
31
|
-
export { TranspileCache, transpileCache, renderCache, type TranspileCacheOptions } from './cache';
|
|
32
|
-
export { RendererRegistry, rendererRegistry } from './registry';
|
|
33
|
-
export { HtmlRenderer, htmlRenderer } from './html.renderer';
|
|
34
|
-
export { MdxRenderer, mdxRenderer, buildMdxHydrationScript } from './mdx.renderer';
|
|
35
|
-
export { isReactComponent, isTemplateBuilderFunction, containsJsx, containsMdxSyntax, isPlainHtml, detectTemplateType, hashString, hashCombined, isHash, transpileJsx, isSwcAvailable, executeTranspiledCode, transpileAndExecute, } from './utils';
|
|
36
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderers/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAKH,YAAY,EACV,YAAY,EACZ,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,YAAY,EACZ,uBAAuB,EACvB,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,oBAAoB,GACrB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,KAAK,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAGlG,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAGhE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG7D,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAKnF,OAAO,EACL,gBAAgB,EAChB,yBAAyB,EACzB,WAAW,EACX,iBAAiB,EACjB,WAAW,EACX,kBAAkB,EAClB,UAAU,EACV,YAAY,EACZ,MAAM,EACN,YAAY,EACZ,cAAc,EACd,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,SAAS,CAAC"}
|
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* MDX Renderer
|
|
3
|
-
*
|
|
4
|
-
* Handles MDX templates - Markdown with embedded JSX components.
|
|
5
|
-
* Uses @mdx-js/mdx for compilation and react-dom/server for SSR.
|
|
6
|
-
*
|
|
7
|
-
* MDX allows mixing Markdown with React components:
|
|
8
|
-
* - Markdown headings, lists, code blocks
|
|
9
|
-
* - JSX component tags: `<Card />`
|
|
10
|
-
* - JS expressions: `{output.items.map(...)}`
|
|
11
|
-
* - Frontmatter for metadata
|
|
12
|
-
*/
|
|
13
|
-
import type { TemplateContext } from '../runtime/types';
|
|
14
|
-
import type { PlatformCapabilities } from '../theme';
|
|
15
|
-
import type { UIRenderer, TranspileResult, TranspileOptions, RenderOptions, RuntimeScripts } from './types';
|
|
16
|
-
/**
|
|
17
|
-
* Types this renderer can handle - MDX strings.
|
|
18
|
-
*/
|
|
19
|
-
type MdxTemplate = string;
|
|
20
|
-
/**
|
|
21
|
-
* MDX Renderer Implementation.
|
|
22
|
-
*
|
|
23
|
-
* Compiles MDX (Markdown + JSX) to React components using @mdx-js/mdx,
|
|
24
|
-
* then renders to HTML using react-dom/server.
|
|
25
|
-
*
|
|
26
|
-
* @example Basic MDX template
|
|
27
|
-
* ```typescript
|
|
28
|
-
* @Tool({
|
|
29
|
-
* ui: {
|
|
30
|
-
* template: `
|
|
31
|
-
* # User Profile
|
|
32
|
-
*
|
|
33
|
-
* <UserCard name={output.name} email={output.email} />
|
|
34
|
-
*
|
|
35
|
-
* ## Recent Activity
|
|
36
|
-
* {output.items.map(item => <ActivityItem key={item.id} {...item} />)}
|
|
37
|
-
* `,
|
|
38
|
-
* mdxComponents: { UserCard, ActivityItem }
|
|
39
|
-
* }
|
|
40
|
-
* })
|
|
41
|
-
* ```
|
|
42
|
-
*
|
|
43
|
-
* @example MDX with frontmatter
|
|
44
|
-
* ```typescript
|
|
45
|
-
* @Tool({
|
|
46
|
-
* ui: {
|
|
47
|
-
* template: `
|
|
48
|
-
* ---
|
|
49
|
-
* title: Dashboard
|
|
50
|
-
* ---
|
|
51
|
-
*
|
|
52
|
-
* # {frontmatter.title}
|
|
53
|
-
*
|
|
54
|
-
* <Dashboard data={output} />
|
|
55
|
-
* `
|
|
56
|
-
* }
|
|
57
|
-
* })
|
|
58
|
-
* ```
|
|
59
|
-
*/
|
|
60
|
-
export declare class MdxRenderer implements UIRenderer<MdxTemplate> {
|
|
61
|
-
readonly type: "mdx";
|
|
62
|
-
readonly priority = 10;
|
|
63
|
-
/**
|
|
64
|
-
* Lazy-loaded modules.
|
|
65
|
-
*/
|
|
66
|
-
private React;
|
|
67
|
-
private ReactDOMServer;
|
|
68
|
-
private jsxRuntime;
|
|
69
|
-
private mdxEvaluate;
|
|
70
|
-
/**
|
|
71
|
-
* Check if this renderer can handle the given template.
|
|
72
|
-
*
|
|
73
|
-
* Accepts strings containing MDX syntax (Markdown + JSX).
|
|
74
|
-
*/
|
|
75
|
-
canHandle(template: unknown): template is MdxTemplate;
|
|
76
|
-
/**
|
|
77
|
-
* Transpile MDX to executable JavaScript.
|
|
78
|
-
*
|
|
79
|
-
* Uses @mdx-js/mdx to compile MDX source to a module.
|
|
80
|
-
* Note: For MDX, we use evaluate() which combines compile + run,
|
|
81
|
-
* so this method just returns the source hash for caching purposes.
|
|
82
|
-
*/
|
|
83
|
-
transpile(template: MdxTemplate, _options?: TranspileOptions): Promise<TranspileResult>;
|
|
84
|
-
/**
|
|
85
|
-
* Render MDX template to HTML string.
|
|
86
|
-
*
|
|
87
|
-
* Uses @mdx-js/mdx's evaluate() for clean compilation + execution,
|
|
88
|
-
* then renders the resulting React component to HTML via SSR.
|
|
89
|
-
*/
|
|
90
|
-
render<In, Out>(template: MdxTemplate, context: TemplateContext<In, Out>, options?: RenderOptions): Promise<string>;
|
|
91
|
-
/**
|
|
92
|
-
* Get runtime scripts for client-side functionality.
|
|
93
|
-
*/
|
|
94
|
-
getRuntimeScripts(platform: PlatformCapabilities): RuntimeScripts;
|
|
95
|
-
/**
|
|
96
|
-
* Load React and ReactDOMServer modules.
|
|
97
|
-
*/
|
|
98
|
-
private loadReact;
|
|
99
|
-
/**
|
|
100
|
-
* Load @mdx-js/mdx evaluate function.
|
|
101
|
-
*
|
|
102
|
-
* evaluate() is the cleanest way to run MDX - it combines
|
|
103
|
-
* compile and run in a single step, handling all the runtime
|
|
104
|
-
* injection automatically.
|
|
105
|
-
*/
|
|
106
|
-
private loadMdx;
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* Singleton instance of the MDX renderer.
|
|
110
|
-
*/
|
|
111
|
-
export declare const mdxRenderer: MdxRenderer;
|
|
112
|
-
/**
|
|
113
|
-
* Build MDX hydration script for client-side interactivity.
|
|
114
|
-
*
|
|
115
|
-
* Note: MDX hydration is more complex than React hydration
|
|
116
|
-
* because it needs the MDX runtime and component definitions.
|
|
117
|
-
*/
|
|
118
|
-
export declare function buildMdxHydrationScript(): string;
|
|
119
|
-
export {};
|
|
120
|
-
//# sourceMappingURL=mdx.renderer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mdx.renderer.d.ts","sourceRoot":"","sources":["../../../src/renderers/mdx.renderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;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;AAKjB;;GAEG;AACH,KAAK,WAAW,GAAG,MAAM,CAAC;AAmB1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,qBAAa,WAAY,YAAW,UAAU,CAAC,WAAW,CAAC;IACzD,QAAQ,CAAC,IAAI,EAAG,KAAK,CAAU;IAC/B,QAAQ,CAAC,QAAQ,MAAM;IAEvB;;OAEG;IAEH,OAAO,CAAC,KAAK,CAAa;IAE1B,OAAO,CAAC,cAAc,CAAa;IAEnC,OAAO,CAAC,UAAU,CAAa;IAE/B,OAAO,CAAC,WAAW,CAAiF;IAEpG;;;;OAIG;IACH,SAAS,CAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,IAAI,WAAW;IAQrD;;;;;;OAMG;IACG,SAAS,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;IAsB7F;;;;;OAKG;IACG,MAAM,CAAC,EAAE,EAAE,GAAG,EAClB,QAAQ,EAAE,WAAW,EACrB,OAAO,EAAE,eAAe,CAAC,EAAE,EAAE,GAAG,CAAC,EACjC,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,MAAM,CAAC;IAkFlB;;OAEG;IACH,iBAAiB,CAAC,QAAQ,EAAE,oBAAoB,GAAG,cAAc;IAoBjE;;OAEG;YACW,SAAS;IAoBvB;;;;;;OAMG;YACW,OAAO;CAgBtB;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,aAAoB,CAAC;AAE7C;;;;;GAKG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CA+BhD"}
|
|
@@ -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, mdxRenderer } from '@frontmcp/uipack/renderers';
|
|
126
|
-
* import { reactRenderer } from '@frontmcp/ui';
|
|
127
|
-
*
|
|
128
|
-
* rendererRegistry.register(reactRenderer);
|
|
129
|
-
* rendererRegistry.register(mdxRenderer);
|
|
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;AAGxD,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"}
|