@frontmcp/uipack 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CLAUDE.md +246 -0
- package/LICENSE +201 -0
- package/README.md +150 -0
- package/adapters/index.d.ts +13 -0
- package/adapters/index.d.ts.map +1 -0
- package/adapters/index.js +462 -0
- package/adapters/platform-meta.d.ts +166 -0
- package/adapters/platform-meta.d.ts.map +1 -0
- package/adapters/response-builder.d.ts +108 -0
- package/adapters/response-builder.d.ts.map +1 -0
- package/adapters/serving-mode.d.ts +107 -0
- package/adapters/serving-mode.d.ts.map +1 -0
- package/base-template/bridge.d.ts +90 -0
- package/base-template/bridge.d.ts.map +1 -0
- package/base-template/default-base-template.d.ts +92 -0
- package/base-template/default-base-template.d.ts.map +1 -0
- package/base-template/index.d.ts +15 -0
- package/base-template/index.d.ts.map +1 -0
- package/base-template/index.js +1398 -0
- package/base-template/polyfills.d.ts +31 -0
- package/base-template/polyfills.d.ts.map +1 -0
- package/base-template/theme-styles.d.ts +74 -0
- package/base-template/theme-styles.d.ts.map +1 -0
- package/bridge-runtime/iife-generator.d.ts +62 -0
- package/bridge-runtime/iife-generator.d.ts.map +1 -0
- package/bridge-runtime/index.d.ts +10 -0
- package/bridge-runtime/index.d.ts.map +1 -0
- package/bridge-runtime/index.js +883 -0
- package/build/cdn-resources.d.ts +243 -0
- package/build/cdn-resources.d.ts.map +1 -0
- package/build/index.d.ts +295 -0
- package/build/index.d.ts.map +1 -0
- package/build/index.js +6861 -0
- package/build/widget-manifest.d.ts +362 -0
- package/build/widget-manifest.d.ts.map +1 -0
- package/bundler/cache.d.ts +173 -0
- package/bundler/cache.d.ts.map +1 -0
- package/bundler/file-cache/component-builder.d.ts +167 -0
- package/bundler/file-cache/component-builder.d.ts.map +1 -0
- package/bundler/file-cache/hash-calculator.d.ts +155 -0
- package/bundler/file-cache/hash-calculator.d.ts.map +1 -0
- package/bundler/file-cache/index.d.ts +12 -0
- package/bundler/file-cache/index.d.ts.map +1 -0
- package/bundler/file-cache/storage/filesystem.d.ts +149 -0
- package/bundler/file-cache/storage/filesystem.d.ts.map +1 -0
- package/bundler/file-cache/storage/index.d.ts +11 -0
- package/bundler/file-cache/storage/index.d.ts.map +1 -0
- package/bundler/file-cache/storage/interface.d.ts +152 -0
- package/bundler/file-cache/storage/interface.d.ts.map +1 -0
- package/bundler/file-cache/storage/redis.d.ts +139 -0
- package/bundler/file-cache/storage/redis.d.ts.map +1 -0
- package/bundler/index.d.ts +35 -0
- package/bundler/index.d.ts.map +1 -0
- package/bundler/index.js +2947 -0
- package/bundler/sandbox/enclave-adapter.d.ts +121 -0
- package/bundler/sandbox/enclave-adapter.d.ts.map +1 -0
- package/bundler/sandbox/executor.d.ts +14 -0
- package/bundler/sandbox/executor.d.ts.map +1 -0
- package/bundler/sandbox/policy.d.ts +62 -0
- package/bundler/sandbox/policy.d.ts.map +1 -0
- package/bundler/types.d.ts +702 -0
- package/bundler/types.d.ts.map +1 -0
- package/dependency/cdn-registry.d.ts +98 -0
- package/dependency/cdn-registry.d.ts.map +1 -0
- package/dependency/import-map.d.ts +186 -0
- package/dependency/import-map.d.ts.map +1 -0
- package/dependency/import-parser.d.ts +82 -0
- package/dependency/import-parser.d.ts.map +1 -0
- package/dependency/index.d.ts +17 -0
- package/dependency/index.d.ts.map +1 -0
- package/dependency/index.js +3215 -0
- package/dependency/resolver.d.ts +164 -0
- package/dependency/resolver.d.ts.map +1 -0
- package/dependency/schemas.d.ts +486 -0
- package/dependency/schemas.d.ts.map +1 -0
- package/dependency/template-loader.d.ts +204 -0
- package/dependency/template-loader.d.ts.map +1 -0
- package/dependency/template-processor.d.ts +118 -0
- package/dependency/template-processor.d.ts.map +1 -0
- package/dependency/types.d.ts +739 -0
- package/dependency/types.d.ts.map +1 -0
- package/esm/adapters/index.d.ts +13 -0
- package/esm/adapters/index.d.ts.map +1 -0
- package/esm/adapters/index.js +427 -0
- package/esm/adapters/platform-meta.d.ts +166 -0
- package/esm/adapters/platform-meta.d.ts.map +1 -0
- package/esm/adapters/response-builder.d.ts +108 -0
- package/esm/adapters/response-builder.d.ts.map +1 -0
- package/esm/adapters/serving-mode.d.ts +107 -0
- package/esm/adapters/serving-mode.d.ts.map +1 -0
- package/esm/base-template/bridge.d.ts +90 -0
- package/esm/base-template/bridge.d.ts.map +1 -0
- package/esm/base-template/default-base-template.d.ts +92 -0
- package/esm/base-template/default-base-template.d.ts.map +1 -0
- package/esm/base-template/index.d.ts +15 -0
- package/esm/base-template/index.d.ts.map +1 -0
- package/esm/base-template/index.js +1364 -0
- package/esm/base-template/polyfills.d.ts +31 -0
- package/esm/base-template/polyfills.d.ts.map +1 -0
- package/esm/base-template/theme-styles.d.ts +74 -0
- package/esm/base-template/theme-styles.d.ts.map +1 -0
- package/esm/bridge-runtime/iife-generator.d.ts +62 -0
- package/esm/bridge-runtime/iife-generator.d.ts.map +1 -0
- package/esm/bridge-runtime/index.d.ts +10 -0
- package/esm/bridge-runtime/index.d.ts.map +1 -0
- package/esm/bridge-runtime/index.js +853 -0
- package/esm/build/cdn-resources.d.ts +243 -0
- package/esm/build/cdn-resources.d.ts.map +1 -0
- package/esm/build/index.d.ts +295 -0
- package/esm/build/index.d.ts.map +1 -0
- package/esm/build/index.js +6786 -0
- package/esm/build/widget-manifest.d.ts +362 -0
- package/esm/build/widget-manifest.d.ts.map +1 -0
- package/esm/bundler/cache.d.ts +173 -0
- package/esm/bundler/cache.d.ts.map +1 -0
- package/esm/bundler/file-cache/component-builder.d.ts +167 -0
- package/esm/bundler/file-cache/component-builder.d.ts.map +1 -0
- package/esm/bundler/file-cache/hash-calculator.d.ts +155 -0
- package/esm/bundler/file-cache/hash-calculator.d.ts.map +1 -0
- package/esm/bundler/file-cache/index.d.ts +12 -0
- package/esm/bundler/file-cache/index.d.ts.map +1 -0
- package/esm/bundler/file-cache/storage/filesystem.d.ts +149 -0
- package/esm/bundler/file-cache/storage/filesystem.d.ts.map +1 -0
- package/esm/bundler/file-cache/storage/index.d.ts +11 -0
- package/esm/bundler/file-cache/storage/index.d.ts.map +1 -0
- package/esm/bundler/file-cache/storage/interface.d.ts +152 -0
- package/esm/bundler/file-cache/storage/interface.d.ts.map +1 -0
- package/esm/bundler/file-cache/storage/redis.d.ts +139 -0
- package/esm/bundler/file-cache/storage/redis.d.ts.map +1 -0
- package/esm/bundler/index.d.ts +35 -0
- package/esm/bundler/index.d.ts.map +1 -0
- package/esm/bundler/index.js +2882 -0
- package/esm/bundler/sandbox/enclave-adapter.d.ts +121 -0
- package/esm/bundler/sandbox/enclave-adapter.d.ts.map +1 -0
- package/esm/bundler/sandbox/executor.d.ts +14 -0
- package/esm/bundler/sandbox/executor.d.ts.map +1 -0
- package/esm/bundler/sandbox/policy.d.ts +62 -0
- package/esm/bundler/sandbox/policy.d.ts.map +1 -0
- package/esm/bundler/types.d.ts +702 -0
- package/esm/bundler/types.d.ts.map +1 -0
- package/esm/dependency/cdn-registry.d.ts +98 -0
- package/esm/dependency/cdn-registry.d.ts.map +1 -0
- package/esm/dependency/import-map.d.ts +186 -0
- package/esm/dependency/import-map.d.ts.map +1 -0
- package/esm/dependency/import-parser.d.ts +82 -0
- package/esm/dependency/import-parser.d.ts.map +1 -0
- package/esm/dependency/index.d.ts +17 -0
- package/esm/dependency/index.d.ts.map +1 -0
- package/esm/dependency/index.js +3096 -0
- package/esm/dependency/resolver.d.ts +164 -0
- package/esm/dependency/resolver.d.ts.map +1 -0
- package/esm/dependency/schemas.d.ts +486 -0
- package/esm/dependency/schemas.d.ts.map +1 -0
- package/esm/dependency/template-loader.d.ts +204 -0
- package/esm/dependency/template-loader.d.ts.map +1 -0
- package/esm/dependency/template-processor.d.ts +118 -0
- package/esm/dependency/template-processor.d.ts.map +1 -0
- package/esm/dependency/types.d.ts +739 -0
- package/esm/dependency/types.d.ts.map +1 -0
- package/esm/handlebars/expression-extractor.d.ts +147 -0
- package/esm/handlebars/expression-extractor.d.ts.map +1 -0
- package/esm/handlebars/helpers.d.ts +339 -0
- package/esm/handlebars/helpers.d.ts.map +1 -0
- package/esm/handlebars/index.d.ts +195 -0
- package/esm/handlebars/index.d.ts.map +1 -0
- package/esm/handlebars/index.js +587 -0
- package/esm/index.d.ts +50 -0
- package/esm/index.d.ts.map +1 -0
- package/esm/index.js +12434 -0
- package/esm/package.json +68 -0
- package/esm/registry/index.d.ts +46 -0
- package/esm/registry/index.d.ts.map +1 -0
- package/esm/registry/index.js +6237 -0
- package/esm/registry/render-template.d.ts +91 -0
- package/esm/registry/render-template.d.ts.map +1 -0
- package/esm/registry/tool-ui.registry.d.ts +294 -0
- package/esm/registry/tool-ui.registry.d.ts.map +1 -0
- package/esm/registry/uri-utils.d.ts +56 -0
- package/esm/registry/uri-utils.d.ts.map +1 -0
- package/esm/renderers/cache.d.ts +145 -0
- package/esm/renderers/cache.d.ts.map +1 -0
- package/esm/renderers/html.renderer.d.ts +123 -0
- package/esm/renderers/html.renderer.d.ts.map +1 -0
- package/esm/renderers/index.d.ts +36 -0
- package/esm/renderers/index.d.ts.map +1 -0
- package/esm/renderers/index.js +1654 -0
- package/esm/renderers/mdx.renderer.d.ts +120 -0
- package/esm/renderers/mdx.renderer.d.ts.map +1 -0
- package/esm/renderers/registry.d.ts +133 -0
- package/esm/renderers/registry.d.ts.map +1 -0
- package/esm/renderers/types.d.ts +342 -0
- package/esm/renderers/types.d.ts.map +1 -0
- package/esm/renderers/utils/detect.d.ts +107 -0
- package/esm/renderers/utils/detect.d.ts.map +1 -0
- package/esm/renderers/utils/hash.d.ts +40 -0
- package/esm/renderers/utils/hash.d.ts.map +1 -0
- package/esm/renderers/utils/index.d.ts +9 -0
- package/esm/renderers/utils/index.d.ts.map +1 -0
- package/esm/renderers/utils/transpiler.d.ts +89 -0
- package/esm/renderers/utils/transpiler.d.ts.map +1 -0
- package/esm/runtime/adapters/html.adapter.d.ts +59 -0
- package/esm/runtime/adapters/html.adapter.d.ts.map +1 -0
- package/esm/runtime/adapters/index.d.ts +26 -0
- package/esm/runtime/adapters/index.d.ts.map +1 -0
- package/esm/runtime/adapters/mdx.adapter.d.ts +73 -0
- package/esm/runtime/adapters/mdx.adapter.d.ts.map +1 -0
- package/esm/runtime/adapters/types.d.ts +95 -0
- package/esm/runtime/adapters/types.d.ts.map +1 -0
- package/esm/runtime/csp.d.ts +48 -0
- package/esm/runtime/csp.d.ts.map +1 -0
- package/esm/runtime/index.d.ts +17 -0
- package/esm/runtime/index.d.ts.map +1 -0
- package/esm/runtime/index.js +4976 -0
- package/esm/runtime/mcp-bridge.d.ts +101 -0
- package/esm/runtime/mcp-bridge.d.ts.map +1 -0
- package/esm/runtime/renderer-runtime.d.ts +133 -0
- package/esm/runtime/renderer-runtime.d.ts.map +1 -0
- package/esm/runtime/sanitizer.d.ts +172 -0
- package/esm/runtime/sanitizer.d.ts.map +1 -0
- package/esm/runtime/types.d.ts +415 -0
- package/esm/runtime/types.d.ts.map +1 -0
- package/esm/runtime/wrapper.d.ts +421 -0
- package/esm/runtime/wrapper.d.ts.map +1 -0
- package/esm/styles/index.d.ts +8 -0
- package/esm/styles/index.d.ts.map +1 -0
- package/esm/styles/index.js +171 -0
- package/esm/styles/variants.d.ts +51 -0
- package/esm/styles/variants.d.ts.map +1 -0
- package/esm/theme/cdn.d.ts +195 -0
- package/esm/theme/cdn.d.ts.map +1 -0
- package/esm/theme/index.d.ts +18 -0
- package/esm/theme/index.d.ts.map +1 -0
- package/esm/theme/index.js +700 -0
- package/esm/theme/platforms.d.ts +107 -0
- package/esm/theme/platforms.d.ts.map +1 -0
- package/esm/theme/presets/github-openai.d.ts +50 -0
- package/esm/theme/presets/github-openai.d.ts.map +1 -0
- package/esm/theme/presets/index.d.ts +11 -0
- package/esm/theme/presets/index.d.ts.map +1 -0
- package/esm/theme/theme.d.ts +396 -0
- package/esm/theme/theme.d.ts.map +1 -0
- package/esm/tool-template/builder.d.ts +213 -0
- package/esm/tool-template/builder.d.ts.map +1 -0
- package/esm/tool-template/index.d.ts +16 -0
- package/esm/tool-template/index.d.ts.map +1 -0
- package/esm/tool-template/index.js +3518 -0
- package/esm/types/index.d.ts +14 -0
- package/esm/types/index.d.ts.map +1 -0
- package/esm/types/index.js +75 -0
- package/esm/types/ui-config.d.ts +641 -0
- package/esm/types/ui-config.d.ts.map +1 -0
- package/esm/types/ui-runtime.d.ts +1008 -0
- package/esm/types/ui-runtime.d.ts.map +1 -0
- package/esm/typings/cache/cache-adapter.d.ts +125 -0
- package/esm/typings/cache/cache-adapter.d.ts.map +1 -0
- package/esm/typings/cache/index.d.ts +10 -0
- package/esm/typings/cache/index.d.ts.map +1 -0
- package/esm/typings/cache/memory-cache.d.ts +92 -0
- package/esm/typings/cache/memory-cache.d.ts.map +1 -0
- package/esm/typings/dts-parser.d.ts +90 -0
- package/esm/typings/dts-parser.d.ts.map +1 -0
- package/esm/typings/index.d.ts +48 -0
- package/esm/typings/index.d.ts.map +1 -0
- package/esm/typings/index.js +812 -0
- package/esm/typings/schemas.d.ts +232 -0
- package/esm/typings/schemas.d.ts.map +1 -0
- package/esm/typings/type-fetcher.d.ts +89 -0
- package/esm/typings/type-fetcher.d.ts.map +1 -0
- package/esm/typings/types.d.ts +320 -0
- package/esm/typings/types.d.ts.map +1 -0
- package/esm/utils/escape-html.d.ts +58 -0
- package/esm/utils/escape-html.d.ts.map +1 -0
- package/esm/utils/index.d.ts +10 -0
- package/esm/utils/index.d.ts.map +1 -0
- package/esm/utils/index.js +40 -0
- package/esm/utils/safe-stringify.d.ts +30 -0
- package/esm/utils/safe-stringify.d.ts.map +1 -0
- package/esm/validation/error-box.d.ts +56 -0
- package/esm/validation/error-box.d.ts.map +1 -0
- package/esm/validation/index.d.ts +13 -0
- package/esm/validation/index.d.ts.map +1 -0
- package/esm/validation/index.js +542 -0
- package/esm/validation/schema-paths.d.ts +118 -0
- package/esm/validation/schema-paths.d.ts.map +1 -0
- package/esm/validation/template-validator.d.ts +143 -0
- package/esm/validation/template-validator.d.ts.map +1 -0
- package/esm/validation/wrapper.d.ts +97 -0
- package/esm/validation/wrapper.d.ts.map +1 -0
- package/handlebars/expression-extractor.d.ts +147 -0
- package/handlebars/expression-extractor.d.ts.map +1 -0
- package/handlebars/helpers.d.ts +339 -0
- package/handlebars/helpers.d.ts.map +1 -0
- package/handlebars/index.d.ts +195 -0
- package/handlebars/index.d.ts.map +1 -0
- package/handlebars/index.js +666 -0
- package/index.d.ts +50 -0
- package/index.d.ts.map +1 -0
- package/index.js +12683 -0
- package/package.json +66 -0
- package/registry/index.d.ts +46 -0
- package/registry/index.d.ts.map +1 -0
- package/registry/index.js +6280 -0
- package/registry/render-template.d.ts +91 -0
- package/registry/render-template.d.ts.map +1 -0
- package/registry/tool-ui.registry.d.ts +294 -0
- package/registry/tool-ui.registry.d.ts.map +1 -0
- package/registry/uri-utils.d.ts +56 -0
- package/registry/uri-utils.d.ts.map +1 -0
- package/renderers/cache.d.ts +145 -0
- package/renderers/cache.d.ts.map +1 -0
- package/renderers/html.renderer.d.ts +123 -0
- package/renderers/html.renderer.d.ts.map +1 -0
- package/renderers/index.d.ts +36 -0
- package/renderers/index.d.ts.map +1 -0
- package/renderers/index.js +1706 -0
- package/renderers/mdx.renderer.d.ts +120 -0
- package/renderers/mdx.renderer.d.ts.map +1 -0
- package/renderers/registry.d.ts +133 -0
- package/renderers/registry.d.ts.map +1 -0
- package/renderers/types.d.ts +342 -0
- package/renderers/types.d.ts.map +1 -0
- package/renderers/utils/detect.d.ts +107 -0
- package/renderers/utils/detect.d.ts.map +1 -0
- package/renderers/utils/hash.d.ts +40 -0
- package/renderers/utils/hash.d.ts.map +1 -0
- package/renderers/utils/index.d.ts +9 -0
- package/renderers/utils/index.d.ts.map +1 -0
- package/renderers/utils/transpiler.d.ts +89 -0
- package/renderers/utils/transpiler.d.ts.map +1 -0
- package/runtime/adapters/html.adapter.d.ts +59 -0
- package/runtime/adapters/html.adapter.d.ts.map +1 -0
- package/runtime/adapters/index.d.ts +26 -0
- package/runtime/adapters/index.d.ts.map +1 -0
- package/runtime/adapters/mdx.adapter.d.ts +73 -0
- package/runtime/adapters/mdx.adapter.d.ts.map +1 -0
- package/runtime/adapters/types.d.ts +95 -0
- package/runtime/adapters/types.d.ts.map +1 -0
- package/runtime/csp.d.ts +48 -0
- package/runtime/csp.d.ts.map +1 -0
- package/runtime/index.d.ts +17 -0
- package/runtime/index.d.ts.map +1 -0
- package/runtime/index.js +5052 -0
- package/runtime/mcp-bridge.d.ts +101 -0
- package/runtime/mcp-bridge.d.ts.map +1 -0
- package/runtime/renderer-runtime.d.ts +133 -0
- package/runtime/renderer-runtime.d.ts.map +1 -0
- package/runtime/sanitizer.d.ts +172 -0
- package/runtime/sanitizer.d.ts.map +1 -0
- package/runtime/types.d.ts +415 -0
- package/runtime/types.d.ts.map +1 -0
- package/runtime/wrapper.d.ts +421 -0
- package/runtime/wrapper.d.ts.map +1 -0
- package/styles/index.d.ts +8 -0
- package/styles/index.d.ts.map +1 -0
- package/styles/index.js +222 -0
- package/styles/variants.d.ts +51 -0
- package/styles/variants.d.ts.map +1 -0
- package/theme/cdn.d.ts +195 -0
- package/theme/cdn.d.ts.map +1 -0
- package/theme/index.d.ts +18 -0
- package/theme/index.d.ts.map +1 -0
- package/theme/index.js +757 -0
- package/theme/platforms.d.ts +107 -0
- package/theme/platforms.d.ts.map +1 -0
- package/theme/presets/github-openai.d.ts +50 -0
- package/theme/presets/github-openai.d.ts.map +1 -0
- package/theme/presets/index.d.ts +11 -0
- package/theme/presets/index.d.ts.map +1 -0
- package/theme/theme.d.ts +396 -0
- package/theme/theme.d.ts.map +1 -0
- package/tool-template/builder.d.ts +213 -0
- package/tool-template/builder.d.ts.map +1 -0
- package/tool-template/index.d.ts +16 -0
- package/tool-template/index.d.ts.map +1 -0
- package/tool-template/index.js +3562 -0
- package/types/index.d.ts +14 -0
- package/types/index.d.ts.map +1 -0
- package/types/index.js +108 -0
- package/types/ui-config.d.ts +641 -0
- package/types/ui-config.d.ts.map +1 -0
- package/types/ui-runtime.d.ts +1008 -0
- package/types/ui-runtime.d.ts.map +1 -0
- package/typings/cache/cache-adapter.d.ts +125 -0
- package/typings/cache/cache-adapter.d.ts.map +1 -0
- package/typings/cache/index.d.ts +10 -0
- package/typings/cache/index.d.ts.map +1 -0
- package/typings/cache/memory-cache.d.ts +92 -0
- package/typings/cache/memory-cache.d.ts.map +1 -0
- package/typings/dts-parser.d.ts +90 -0
- package/typings/dts-parser.d.ts.map +1 -0
- package/typings/index.d.ts +48 -0
- package/typings/index.d.ts.map +1 -0
- package/typings/index.js +868 -0
- package/typings/schemas.d.ts +232 -0
- package/typings/schemas.d.ts.map +1 -0
- package/typings/type-fetcher.d.ts +89 -0
- package/typings/type-fetcher.d.ts.map +1 -0
- package/typings/types.d.ts +320 -0
- package/typings/types.d.ts.map +1 -0
- package/utils/escape-html.d.ts +58 -0
- package/utils/escape-html.d.ts.map +1 -0
- package/utils/index.d.ts +10 -0
- package/utils/index.d.ts.map +1 -0
- package/utils/index.js +70 -0
- package/utils/safe-stringify.d.ts +30 -0
- package/utils/safe-stringify.d.ts.map +1 -0
- package/validation/error-box.d.ts +56 -0
- package/validation/error-box.d.ts.map +1 -0
- package/validation/index.d.ts +13 -0
- package/validation/index.d.ts.map +1 -0
- package/validation/index.js +583 -0
- package/validation/schema-paths.d.ts +118 -0
- package/validation/schema-paths.d.ts.map +1 -0
- package/validation/template-validator.d.ts +143 -0
- package/validation/template-validator.d.ts.map +1 -0
- package/validation/wrapper.d.ts +97 -0
- package/validation/wrapper.d.ts.map +1 -0
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Template Loader
|
|
3
|
+
*
|
|
4
|
+
* Handles loading templates from various sources:
|
|
5
|
+
* - Inline strings
|
|
6
|
+
* - File paths
|
|
7
|
+
* - CDN URLs
|
|
8
|
+
*
|
|
9
|
+
* Supports caching for URL templates with ETag validation.
|
|
10
|
+
*
|
|
11
|
+
* @packageDocumentation
|
|
12
|
+
*/
|
|
13
|
+
import { type TemplateMode, type TemplateSource, type TemplateFormat, type ResolvedTemplate, type UrlFetchResult } from './types';
|
|
14
|
+
/**
|
|
15
|
+
* Get the URL cache (for testing/debugging).
|
|
16
|
+
*/
|
|
17
|
+
export declare function getUrlCache(): Map<string, UrlFetchResult>;
|
|
18
|
+
/**
|
|
19
|
+
* Clear the URL cache.
|
|
20
|
+
*/
|
|
21
|
+
export declare function clearUrlCache(): void;
|
|
22
|
+
/**
|
|
23
|
+
* Detect the source type of a template string.
|
|
24
|
+
*
|
|
25
|
+
* @param template - Template string (inline content, file path, or URL)
|
|
26
|
+
* @returns TemplateSource discriminated union
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```typescript
|
|
30
|
+
* detectTemplateSource('https://cdn.example.com/widget.html')
|
|
31
|
+
* // => { type: 'url', url: 'https://cdn.example.com/widget.html' }
|
|
32
|
+
*
|
|
33
|
+
* detectTemplateSource('./widgets/chart.tsx')
|
|
34
|
+
* // => { type: 'file', path: './widgets/chart.tsx' }
|
|
35
|
+
*
|
|
36
|
+
* detectTemplateSource('<div>{{output.data}}</div>')
|
|
37
|
+
* // => { type: 'inline', content: '<div>{{output.data}}</div>' }
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
export declare function detectTemplateSource(template: string): TemplateSource;
|
|
41
|
+
/**
|
|
42
|
+
* Check if a template mode is file-based (file or URL).
|
|
43
|
+
*/
|
|
44
|
+
export declare function isFileBasedTemplate(mode: TemplateMode): boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Validate that a URL is allowed for template fetching.
|
|
47
|
+
* Only HTTPS URLs are allowed.
|
|
48
|
+
*
|
|
49
|
+
* @param url - URL to validate
|
|
50
|
+
* @throws Error if URL is not HTTPS
|
|
51
|
+
*/
|
|
52
|
+
export declare function validateTemplateUrl(url: string): void;
|
|
53
|
+
/**
|
|
54
|
+
* Detect template format from a URL.
|
|
55
|
+
*
|
|
56
|
+
* @param url - URL to detect format from
|
|
57
|
+
* @returns Detected template format
|
|
58
|
+
*/
|
|
59
|
+
export declare function detectFormatFromUrl(url: string): TemplateFormat;
|
|
60
|
+
/**
|
|
61
|
+
* Options for fetching a template from URL.
|
|
62
|
+
*/
|
|
63
|
+
export interface FetchTemplateOptions {
|
|
64
|
+
/**
|
|
65
|
+
* Request timeout in milliseconds.
|
|
66
|
+
* @default 30000 (30 seconds)
|
|
67
|
+
*/
|
|
68
|
+
timeout?: number;
|
|
69
|
+
/**
|
|
70
|
+
* Whether to skip cache and always fetch fresh.
|
|
71
|
+
* @default false
|
|
72
|
+
*/
|
|
73
|
+
skipCache?: boolean;
|
|
74
|
+
/**
|
|
75
|
+
* Custom headers to include in the request.
|
|
76
|
+
*/
|
|
77
|
+
headers?: Record<string, string>;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Fetch a template from a URL with ETag caching support.
|
|
81
|
+
*
|
|
82
|
+
* @param url - HTTPS URL to fetch from
|
|
83
|
+
* @param options - Fetch options
|
|
84
|
+
* @returns Fetched content with metadata
|
|
85
|
+
* @throws Error if URL is not HTTPS or fetch fails
|
|
86
|
+
*
|
|
87
|
+
* @example
|
|
88
|
+
* ```typescript
|
|
89
|
+
* const result = await fetchTemplateFromUrl('https://cdn.example.com/widget.html');
|
|
90
|
+
* console.log(result.content); // Template HTML
|
|
91
|
+
* console.log(result.etag); // "abc123" (for cache validation)
|
|
92
|
+
* ```
|
|
93
|
+
*/
|
|
94
|
+
export declare function fetchTemplateFromUrl(url: string, options?: FetchTemplateOptions): Promise<UrlFetchResult>;
|
|
95
|
+
/**
|
|
96
|
+
* Options for reading a template from file.
|
|
97
|
+
*/
|
|
98
|
+
export interface ReadTemplateOptions {
|
|
99
|
+
/**
|
|
100
|
+
* Base path for resolving relative file paths.
|
|
101
|
+
* @default process.cwd()
|
|
102
|
+
*/
|
|
103
|
+
basePath?: string;
|
|
104
|
+
/**
|
|
105
|
+
* File encoding.
|
|
106
|
+
* @default 'utf-8'
|
|
107
|
+
*/
|
|
108
|
+
encoding?: BufferEncoding;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Read a template from a file path.
|
|
112
|
+
*
|
|
113
|
+
* @param filePath - Relative or absolute file path
|
|
114
|
+
* @param options - Read options
|
|
115
|
+
* @returns Template content
|
|
116
|
+
* @throws Error if file cannot be read
|
|
117
|
+
*
|
|
118
|
+
* @example
|
|
119
|
+
* ```typescript
|
|
120
|
+
* const content = await readTemplateFromFile('./widgets/chart.tsx');
|
|
121
|
+
* console.log(content); // File contents
|
|
122
|
+
*
|
|
123
|
+
* const content2 = await readTemplateFromFile('./widgets/chart.tsx', {
|
|
124
|
+
* basePath: '/app/src',
|
|
125
|
+
* });
|
|
126
|
+
* ```
|
|
127
|
+
*/
|
|
128
|
+
export declare function readTemplateFromFile(filePath: string, options?: ReadTemplateOptions): Promise<string>;
|
|
129
|
+
/**
|
|
130
|
+
* Resolve a file path to an absolute path.
|
|
131
|
+
*
|
|
132
|
+
* @param filePath - Relative or absolute file path
|
|
133
|
+
* @param basePath - Base path for resolving relative paths
|
|
134
|
+
* @returns Absolute file path
|
|
135
|
+
*/
|
|
136
|
+
export declare function resolveFilePath(filePath: string, basePath?: string): string;
|
|
137
|
+
/**
|
|
138
|
+
* Options for resolving a template.
|
|
139
|
+
*/
|
|
140
|
+
export interface ResolveTemplateOptions {
|
|
141
|
+
/**
|
|
142
|
+
* Base path for resolving relative file paths.
|
|
143
|
+
* @default process.cwd()
|
|
144
|
+
*/
|
|
145
|
+
basePath?: string;
|
|
146
|
+
/**
|
|
147
|
+
* Whether to skip URL cache.
|
|
148
|
+
* @default false
|
|
149
|
+
*/
|
|
150
|
+
skipCache?: boolean;
|
|
151
|
+
/**
|
|
152
|
+
* Request timeout for URL fetches in milliseconds.
|
|
153
|
+
* @default 30000
|
|
154
|
+
*/
|
|
155
|
+
timeout?: number;
|
|
156
|
+
/**
|
|
157
|
+
* Override the detected format.
|
|
158
|
+
*/
|
|
159
|
+
format?: TemplateFormat;
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Resolve a template from any source (inline, file, or URL).
|
|
163
|
+
*
|
|
164
|
+
* This is the main entry point for loading templates. It:
|
|
165
|
+
* 1. Detects the source type (inline, file, URL)
|
|
166
|
+
* 2. Loads the content from the appropriate source
|
|
167
|
+
* 3. Detects the format from file extension
|
|
168
|
+
* 4. Computes content hash for caching
|
|
169
|
+
*
|
|
170
|
+
* @param template - Template string (inline content, file path, or URL)
|
|
171
|
+
* @param options - Resolution options
|
|
172
|
+
* @returns Resolved template with content and metadata
|
|
173
|
+
*
|
|
174
|
+
* @example
|
|
175
|
+
* ```typescript
|
|
176
|
+
* // Inline template
|
|
177
|
+
* const inline = await resolveTemplate('<div>{{output}}</div>');
|
|
178
|
+
*
|
|
179
|
+
* // File template
|
|
180
|
+
* const file = await resolveTemplate('./widgets/chart.tsx', {
|
|
181
|
+
* basePath: '/app/src',
|
|
182
|
+
* });
|
|
183
|
+
*
|
|
184
|
+
* // URL template
|
|
185
|
+
* const url = await resolveTemplate('https://cdn.example.com/widget.html');
|
|
186
|
+
* ```
|
|
187
|
+
*/
|
|
188
|
+
export declare function resolveTemplate(template: string, options?: ResolveTemplateOptions): Promise<ResolvedTemplate>;
|
|
189
|
+
/**
|
|
190
|
+
* Check if a resolved template needs re-fetching based on cache state.
|
|
191
|
+
* Only applicable for URL templates.
|
|
192
|
+
*
|
|
193
|
+
* @param resolved - Previously resolved template
|
|
194
|
+
* @returns true if the template should be re-fetched
|
|
195
|
+
*/
|
|
196
|
+
export declare function needsRefetch(resolved: ResolvedTemplate): boolean;
|
|
197
|
+
/**
|
|
198
|
+
* Invalidate a cached URL template.
|
|
199
|
+
*
|
|
200
|
+
* @param url - URL to invalidate
|
|
201
|
+
* @returns true if the entry was removed
|
|
202
|
+
*/
|
|
203
|
+
export declare function invalidateUrlCache(url: string): boolean;
|
|
204
|
+
//# sourceMappingURL=template-loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template-loader.d.ts","sourceRoot":"","sources":["../../../src/dependency/template-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACpB,MAAM,SAAS,CAAC;AAajB;;GAEG;AACH,wBAAgB,WAAW,IAAI,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAEzD;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAEpC;AAMD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CAarE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAE/D;AAMD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAMrD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAG/D;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,cAAc,CAAC,CA6DnH;AA+BD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,MAAM,CAAC,CAwB/G;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAsB,GAAG,MAAM,CAE1F;AAMD;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,gBAAgB,CAAC,CAiD3B;AASD;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAyBhE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEvD"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Template Processor
|
|
3
|
+
*
|
|
4
|
+
* Processes resolved templates through format-specific rendering pipelines:
|
|
5
|
+
* - HTML: Handlebars → Output
|
|
6
|
+
* - Markdown: Handlebars → marked → HTML
|
|
7
|
+
* - MDX: Handlebars → MDX Renderer → HTML
|
|
8
|
+
* - React: Pass-through (data via props, needs bundling)
|
|
9
|
+
*
|
|
10
|
+
* @packageDocumentation
|
|
11
|
+
*/
|
|
12
|
+
import type { ResolvedTemplate, TemplateProcessingOptions, ProcessedTemplate, TemplateFormat } from './types';
|
|
13
|
+
/**
|
|
14
|
+
* Clear the Handlebars renderer cache.
|
|
15
|
+
* Useful for testing.
|
|
16
|
+
*/
|
|
17
|
+
export declare function clearHandlebarsCache(): void;
|
|
18
|
+
/**
|
|
19
|
+
* Check if marked is available.
|
|
20
|
+
*/
|
|
21
|
+
export declare function isMarkedAvailable(): Promise<boolean>;
|
|
22
|
+
/**
|
|
23
|
+
* Process a resolved template through the appropriate rendering pipeline.
|
|
24
|
+
*
|
|
25
|
+
* Processing differs by format:
|
|
26
|
+
* - **HTML**: Apply Handlebars if {{...}} present → Return HTML
|
|
27
|
+
* - **Markdown**: Apply Handlebars → Parse with marked → Return HTML
|
|
28
|
+
* - **MDX**: Apply Handlebars → Render with MDX renderer → Return HTML
|
|
29
|
+
* - **React**: Return as-is (data passed via props, needs bundling)
|
|
30
|
+
*
|
|
31
|
+
* @param resolved - Resolved template from template-loader
|
|
32
|
+
* @param options - Processing options with context data
|
|
33
|
+
* @returns Processed template ready for rendering
|
|
34
|
+
*
|
|
35
|
+
* @example HTML template
|
|
36
|
+
* ```typescript
|
|
37
|
+
* const resolved = await resolveTemplate('./weather.html');
|
|
38
|
+
* const result = await processTemplate(resolved, {
|
|
39
|
+
* context: {
|
|
40
|
+
* input: { city: 'Seattle' },
|
|
41
|
+
* output: { temperature: 72, conditions: 'Sunny' },
|
|
42
|
+
* },
|
|
43
|
+
* });
|
|
44
|
+
* // result.html = '<div>72°F in Seattle</div>'
|
|
45
|
+
* ```
|
|
46
|
+
*
|
|
47
|
+
* @example Markdown template
|
|
48
|
+
* ```typescript
|
|
49
|
+
* const resolved = await resolveTemplate('./report.md');
|
|
50
|
+
* const result = await processTemplate(resolved, {
|
|
51
|
+
* context: {
|
|
52
|
+
* input: {},
|
|
53
|
+
* output: { title: 'Q4 Report', items: [...] },
|
|
54
|
+
* },
|
|
55
|
+
* });
|
|
56
|
+
* // result.html = '<h1>Q4 Report</h1>...'
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
export declare function processTemplate(resolved: ResolvedTemplate, options: TemplateProcessingOptions): Promise<ProcessedTemplate>;
|
|
60
|
+
/**
|
|
61
|
+
* Process multiple templates in parallel.
|
|
62
|
+
*
|
|
63
|
+
* @param items - Array of resolved templates with their options
|
|
64
|
+
* @returns Array of processed templates
|
|
65
|
+
*/
|
|
66
|
+
export declare function processTemplates(items: Array<{
|
|
67
|
+
resolved: ResolvedTemplate;
|
|
68
|
+
options: TemplateProcessingOptions;
|
|
69
|
+
}>): Promise<ProcessedTemplate[]>;
|
|
70
|
+
/**
|
|
71
|
+
* Check if a template format requires Handlebars processing.
|
|
72
|
+
*
|
|
73
|
+
* @param format - Template format
|
|
74
|
+
* @returns true if Handlebars can be applied
|
|
75
|
+
*/
|
|
76
|
+
export declare function supportsHandlebars(format: TemplateFormat): boolean;
|
|
77
|
+
/**
|
|
78
|
+
* Check if a template format produces HTML output.
|
|
79
|
+
*
|
|
80
|
+
* @param format - Template format
|
|
81
|
+
* @returns true if the format produces HTML
|
|
82
|
+
*/
|
|
83
|
+
export declare function producesHtml(format: TemplateFormat): boolean;
|
|
84
|
+
/**
|
|
85
|
+
* Check if a template format requires bundling.
|
|
86
|
+
*
|
|
87
|
+
* @param format - Template format
|
|
88
|
+
* @returns true if the format needs to be bundled
|
|
89
|
+
*/
|
|
90
|
+
export declare function requiresBundling(format: TemplateFormat): boolean;
|
|
91
|
+
/**
|
|
92
|
+
* Process an HTML template with Handlebars.
|
|
93
|
+
*
|
|
94
|
+
* @param content - HTML template content
|
|
95
|
+
* @param context - Processing context
|
|
96
|
+
* @param helpers - Custom Handlebars helpers
|
|
97
|
+
* @returns Processed HTML
|
|
98
|
+
*/
|
|
99
|
+
export declare function processHtmlTemplate(content: string, context: TemplateProcessingOptions['context'], helpers?: TemplateProcessingOptions['handlebarsHelpers']): Promise<string>;
|
|
100
|
+
/**
|
|
101
|
+
* Process a Markdown template with Handlebars and marked.
|
|
102
|
+
*
|
|
103
|
+
* @param content - Markdown template content
|
|
104
|
+
* @param context - Processing context
|
|
105
|
+
* @param helpers - Custom Handlebars helpers
|
|
106
|
+
* @returns Processed HTML
|
|
107
|
+
*/
|
|
108
|
+
export declare function processMarkdownTemplate(content: string, context: TemplateProcessingOptions['context'], helpers?: TemplateProcessingOptions['handlebarsHelpers']): Promise<string>;
|
|
109
|
+
/**
|
|
110
|
+
* Process an MDX template with Handlebars and MDX renderer.
|
|
111
|
+
*
|
|
112
|
+
* @param content - MDX template content
|
|
113
|
+
* @param context - Processing context
|
|
114
|
+
* @param helpers - Custom Handlebars helpers
|
|
115
|
+
* @returns Processed HTML
|
|
116
|
+
*/
|
|
117
|
+
export declare function processMdxTemplate(content: string, context: TemplateProcessingOptions['context'], helpers?: TemplateProcessingOptions['handlebarsHelpers']): Promise<string>;
|
|
118
|
+
//# sourceMappingURL=template-processor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template-processor.d.ts","sourceRoot":"","sources":["../../../src/dependency/template-processor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAChB,yBAAyB,EACzB,iBAAiB,EACjB,cAAc,EAEf,MAAM,SAAS,CAAC;AA2FjB;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAI3C;AAwCD;;GAEG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC,CAO1D;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,iBAAiB,CAAC,CAyF5B;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,KAAK,CAAC;IAAE,QAAQ,EAAE,gBAAgB,CAAC;IAAC,OAAO,EAAE,yBAAyB,CAAA;CAAE,CAAC,GAC/E,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAE9B;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAElE;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAE5D;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAEhE;AAMD;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,yBAAyB,CAAC,SAAS,CAAC,EAC7C,OAAO,CAAC,EAAE,yBAAyB,CAAC,mBAAmB,CAAC,GACvD,OAAO,CAAC,MAAM,CAAC,CAcjB;AAED;;;;;;;GAOG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,yBAAyB,CAAC,SAAS,CAAC,EAC7C,OAAO,CAAC,EAAE,yBAAyB,CAAC,mBAAmB,CAAC,GACvD,OAAO,CAAC,MAAM,CAAC,CAkBjB;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,yBAAyB,CAAC,SAAS,CAAC,EAC7C,OAAO,CAAC,EAAE,yBAAyB,CAAC,mBAAmB,CAAC,GACvD,OAAO,CAAC,MAAM,CAAC,CAwBjB"}
|