@frontmcp/ui 0.5.0 → 0.6.0
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/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/adapters/base-adapter.d.ts +104 -0
- package/bridge/adapters/base-adapter.d.ts.map +1 -0
- package/bridge/adapters/claude.adapter.d.ts +67 -0
- package/bridge/adapters/claude.adapter.d.ts.map +1 -0
- package/bridge/adapters/ext-apps.adapter.d.ts +143 -0
- package/bridge/adapters/ext-apps.adapter.d.ts.map +1 -0
- package/bridge/adapters/gemini.adapter.d.ts +64 -0
- package/bridge/adapters/gemini.adapter.d.ts.map +1 -0
- package/bridge/adapters/generic.adapter.d.ts +56 -0
- package/bridge/adapters/generic.adapter.d.ts.map +1 -0
- package/bridge/adapters/index.d.ts +26 -0
- package/bridge/adapters/index.d.ts.map +1 -0
- package/bridge/adapters/openai.adapter.d.ts +65 -0
- package/bridge/adapters/openai.adapter.d.ts.map +1 -0
- package/bridge/core/adapter-registry.d.ts +122 -0
- package/bridge/core/adapter-registry.d.ts.map +1 -0
- package/bridge/core/bridge-factory.d.ts +199 -0
- package/bridge/core/bridge-factory.d.ts.map +1 -0
- package/bridge/core/index.d.ts +10 -0
- package/bridge/core/index.d.ts.map +1 -0
- package/bridge/index.d.ts +62 -0
- package/bridge/index.d.ts.map +1 -0
- package/bridge/index.js +2540 -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 +9 -0
- package/bridge/runtime/index.d.ts.map +1 -0
- package/bridge/types.d.ts +386 -0
- package/bridge/types.d.ts.map +1 -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 +7096 -0
- package/build/widget-manifest.d.ts +362 -0
- package/build/widget-manifest.d.ts.map +1 -0
- package/bundler/bundler.d.ts +208 -0
- package/bundler/bundler.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 +43 -0
- package/bundler/index.d.ts.map +1 -0
- package/bundler/index.js +4754 -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/components/alert.d.ts +66 -0
- package/components/alert.d.ts.map +1 -0
- package/components/alert.schema.d.ts +98 -0
- package/components/alert.schema.d.ts.map +1 -0
- package/components/avatar.d.ts +77 -0
- package/components/avatar.d.ts.map +1 -0
- package/components/avatar.schema.d.ts +170 -0
- package/components/avatar.schema.d.ts.map +1 -0
- package/components/badge.d.ts +64 -0
- package/components/badge.d.ts.map +1 -0
- package/components/badge.schema.d.ts +91 -0
- package/components/badge.schema.d.ts.map +1 -0
- package/components/button.d.ts +100 -0
- package/components/button.d.ts.map +1 -0
- package/components/button.schema.d.ts +120 -0
- package/components/button.schema.d.ts.map +1 -0
- package/components/card.d.ts +53 -0
- package/components/card.d.ts.map +1 -0
- package/components/card.schema.d.ts +93 -0
- package/components/card.schema.d.ts.map +1 -0
- package/components/form.d.ts +212 -0
- package/components/form.d.ts.map +1 -0
- package/components/form.schema.d.ts +365 -0
- package/components/form.schema.d.ts.map +1 -0
- package/components/index.d.ts +29 -0
- package/components/index.d.ts.map +1 -0
- package/components/index.js +2595 -0
- package/components/list.d.ts +121 -0
- package/components/list.d.ts.map +1 -0
- package/components/list.schema.d.ts +129 -0
- package/components/list.schema.d.ts.map +1 -0
- package/components/modal.d.ts +100 -0
- package/components/modal.d.ts.map +1 -0
- package/components/modal.schema.d.ts +151 -0
- package/components/modal.schema.d.ts.map +1 -0
- package/components/table.d.ts +91 -0
- package/components/table.d.ts.map +1 -0
- package/components/table.schema.d.ts +123 -0
- package/components/table.schema.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/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/adapters/base-adapter.d.ts +104 -0
- package/esm/bridge/adapters/base-adapter.d.ts.map +1 -0
- package/esm/bridge/adapters/claude.adapter.d.ts +67 -0
- package/esm/bridge/adapters/claude.adapter.d.ts.map +1 -0
- package/esm/bridge/adapters/ext-apps.adapter.d.ts +143 -0
- package/esm/bridge/adapters/ext-apps.adapter.d.ts.map +1 -0
- package/esm/bridge/adapters/gemini.adapter.d.ts +64 -0
- package/esm/bridge/adapters/gemini.adapter.d.ts.map +1 -0
- package/esm/bridge/adapters/generic.adapter.d.ts +56 -0
- package/esm/bridge/adapters/generic.adapter.d.ts.map +1 -0
- package/esm/bridge/adapters/index.d.ts +26 -0
- package/esm/bridge/adapters/index.d.ts.map +1 -0
- package/esm/bridge/adapters/openai.adapter.d.ts +65 -0
- package/esm/bridge/adapters/openai.adapter.d.ts.map +1 -0
- package/esm/bridge/core/adapter-registry.d.ts +122 -0
- package/esm/bridge/core/adapter-registry.d.ts.map +1 -0
- package/esm/bridge/core/bridge-factory.d.ts +199 -0
- package/esm/bridge/core/bridge-factory.d.ts.map +1 -0
- package/esm/bridge/core/index.d.ts +10 -0
- package/esm/bridge/core/index.d.ts.map +1 -0
- package/esm/bridge/index.d.ts +62 -0
- package/esm/bridge/index.d.ts.map +1 -0
- package/esm/bridge/index.js +2487 -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 +9 -0
- package/esm/bridge/runtime/index.d.ts.map +1 -0
- package/esm/bridge/types.d.ts +386 -0
- package/esm/bridge/types.d.ts.map +1 -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 +7021 -0
- package/esm/build/widget-manifest.d.ts +362 -0
- package/esm/build/widget-manifest.d.ts.map +1 -0
- package/esm/bundler/bundler.d.ts +208 -0
- package/esm/bundler/bundler.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 +43 -0
- package/esm/bundler/index.d.ts.map +1 -0
- package/esm/bundler/index.js +4687 -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/components/alert.d.ts +66 -0
- package/esm/components/alert.d.ts.map +1 -0
- package/esm/components/alert.schema.d.ts +98 -0
- package/esm/components/alert.schema.d.ts.map +1 -0
- package/esm/components/avatar.d.ts +77 -0
- package/esm/components/avatar.d.ts.map +1 -0
- package/esm/components/avatar.schema.d.ts +170 -0
- package/esm/components/avatar.schema.d.ts.map +1 -0
- package/esm/components/badge.d.ts +64 -0
- package/esm/components/badge.d.ts.map +1 -0
- package/esm/components/badge.schema.d.ts +91 -0
- package/esm/components/badge.schema.d.ts.map +1 -0
- package/esm/components/button.d.ts +100 -0
- package/esm/components/button.d.ts.map +1 -0
- package/esm/components/button.schema.d.ts +120 -0
- package/esm/components/button.schema.d.ts.map +1 -0
- package/esm/components/card.d.ts +53 -0
- package/esm/components/card.d.ts.map +1 -0
- package/esm/components/card.schema.d.ts +93 -0
- package/esm/components/card.schema.d.ts.map +1 -0
- package/esm/components/form.d.ts +212 -0
- package/esm/components/form.d.ts.map +1 -0
- package/esm/components/form.schema.d.ts +365 -0
- package/esm/components/form.schema.d.ts.map +1 -0
- package/esm/components/index.d.ts +29 -0
- package/esm/components/index.d.ts.map +1 -0
- package/esm/components/index.js +2456 -0
- package/esm/components/list.d.ts +121 -0
- package/esm/components/list.d.ts.map +1 -0
- package/esm/components/list.schema.d.ts +129 -0
- package/esm/components/list.schema.d.ts.map +1 -0
- package/esm/components/modal.d.ts +100 -0
- package/esm/components/modal.d.ts.map +1 -0
- package/esm/components/modal.schema.d.ts +151 -0
- package/esm/components/modal.schema.d.ts.map +1 -0
- package/esm/components/table.d.ts +91 -0
- package/esm/components/table.d.ts.map +1 -0
- package/esm/components/table.schema.d.ts +123 -0
- package/esm/components/table.schema.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/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 +56 -0
- package/esm/index.d.ts.map +1 -0
- package/esm/index.js +20511 -0
- package/esm/layouts/base.d.ts +86 -0
- package/esm/layouts/base.d.ts.map +1 -0
- package/esm/layouts/index.d.ts +8 -0
- package/esm/layouts/index.d.ts.map +1 -0
- package/esm/layouts/index.js +892 -0
- package/esm/layouts/presets.d.ts +134 -0
- package/esm/layouts/presets.d.ts.map +1 -0
- package/esm/package.json +90 -0
- package/esm/pages/consent.d.ts +117 -0
- package/esm/pages/consent.d.ts.map +1 -0
- package/esm/pages/error.d.ts +101 -0
- package/esm/pages/error.d.ts.map +1 -0
- package/esm/pages/index.d.ts +9 -0
- package/esm/pages/index.d.ts.map +1 -0
- package/esm/pages/index.js +1563 -0
- package/esm/react/Alert.d.ts +102 -0
- package/esm/react/Alert.d.ts.map +1 -0
- package/esm/react/Badge.d.ts +101 -0
- package/esm/react/Badge.d.ts.map +1 -0
- package/esm/react/Button.d.ts +109 -0
- package/esm/react/Button.d.ts.map +1 -0
- package/esm/react/Card.d.ts +104 -0
- package/esm/react/Card.d.ts.map +1 -0
- package/esm/react/hooks/context.d.ts +179 -0
- package/esm/react/hooks/context.d.ts.map +1 -0
- package/esm/react/hooks/index.d.ts +42 -0
- package/esm/react/hooks/index.d.ts.map +1 -0
- package/esm/react/hooks/tools.d.ts +284 -0
- package/esm/react/hooks/tools.d.ts.map +1 -0
- package/esm/react/index.d.ts +81 -0
- package/esm/react/index.d.ts.map +1 -0
- package/esm/react/index.js +1372 -0
- package/esm/react/types.d.ts +106 -0
- package/esm/react/types.d.ts.map +1 -0
- package/esm/react/utils.d.ts +43 -0
- package/esm/react/utils.d.ts.map +1 -0
- package/esm/registry/index.d.ts +46 -0
- package/esm/registry/index.d.ts.map +1 -0
- package/esm/registry/index.js +6422 -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/render/index.d.ts +8 -0
- package/esm/render/index.d.ts.map +1 -0
- package/esm/render/index.js +45 -0
- package/esm/render/prerender.d.ts +57 -0
- package/esm/render/prerender.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 +1827 -0
- package/esm/renderers/mdx.renderer.d.ts +120 -0
- package/esm/renderers/mdx.renderer.d.ts.map +1 -0
- package/esm/renderers/react.renderer.d.ts +96 -0
- package/esm/renderers/react.renderer.d.ts.map +1 -0
- package/esm/renderers/registry.d.ts +134 -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/react.adapter.d.ts +70 -0
- package/esm/runtime/adapters/react.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 +5186 -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 +3515 -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 +639 -0
- package/esm/types/ui-config.d.ts.map +1 -0
- package/esm/types/ui-runtime.d.ts +1007 -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/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/universal/UniversalApp.d.ts +108 -0
- package/esm/universal/UniversalApp.d.ts.map +1 -0
- package/esm/universal/cached-runtime.d.ts +115 -0
- package/esm/universal/cached-runtime.d.ts.map +1 -0
- package/esm/universal/context.d.ts +122 -0
- package/esm/universal/context.d.ts.map +1 -0
- package/esm/universal/index.d.ts +57 -0
- package/esm/universal/index.d.ts.map +1 -0
- package/esm/universal/renderers/html.renderer.d.ts +37 -0
- package/esm/universal/renderers/html.renderer.d.ts.map +1 -0
- package/esm/universal/renderers/index.d.ts +112 -0
- package/esm/universal/renderers/index.d.ts.map +1 -0
- package/esm/universal/renderers/markdown.renderer.d.ts +33 -0
- package/esm/universal/renderers/markdown.renderer.d.ts.map +1 -0
- package/esm/universal/renderers/mdx.renderer.d.ts +38 -0
- package/esm/universal/renderers/mdx.renderer.d.ts.map +1 -0
- package/esm/universal/renderers/react.renderer.d.ts +46 -0
- package/esm/universal/renderers/react.renderer.d.ts.map +1 -0
- package/esm/universal/runtime-builder.d.ts +33 -0
- package/esm/universal/runtime-builder.d.ts.map +1 -0
- package/esm/universal/store.d.ts +135 -0
- package/esm/universal/store.d.ts.map +1 -0
- package/esm/universal/types.d.ts +199 -0
- package/esm/universal/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 +562 -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/esm/web-components/core/attribute-parser.d.ts +82 -0
- package/esm/web-components/core/attribute-parser.d.ts.map +1 -0
- package/esm/web-components/core/base-element.d.ts +197 -0
- package/esm/web-components/core/base-element.d.ts.map +1 -0
- package/esm/web-components/core/index.d.ts +9 -0
- package/esm/web-components/core/index.d.ts.map +1 -0
- package/esm/web-components/elements/fmcp-alert.d.ts +46 -0
- package/esm/web-components/elements/fmcp-alert.d.ts.map +1 -0
- package/esm/web-components/elements/fmcp-badge.d.ts +47 -0
- package/esm/web-components/elements/fmcp-badge.d.ts.map +1 -0
- package/esm/web-components/elements/fmcp-button.d.ts +117 -0
- package/esm/web-components/elements/fmcp-button.d.ts.map +1 -0
- package/esm/web-components/elements/fmcp-card.d.ts +53 -0
- package/esm/web-components/elements/fmcp-card.d.ts.map +1 -0
- package/esm/web-components/elements/fmcp-input.d.ts +96 -0
- package/esm/web-components/elements/fmcp-input.d.ts.map +1 -0
- package/esm/web-components/elements/fmcp-select.d.ts +100 -0
- package/esm/web-components/elements/fmcp-select.d.ts.map +1 -0
- package/esm/web-components/elements/index.d.ts +13 -0
- package/esm/web-components/elements/index.d.ts.map +1 -0
- package/esm/web-components/index.d.ts +50 -0
- package/esm/web-components/index.d.ts.map +1 -0
- package/esm/web-components/index.js +2048 -0
- package/esm/web-components/register.d.ts +57 -0
- package/esm/web-components/register.d.ts.map +1 -0
- package/esm/web-components/types.d.ts +122 -0
- package/esm/web-components/types.d.ts.map +1 -0
- package/esm/widgets/index.d.ts +8 -0
- package/esm/widgets/index.d.ts.map +1 -0
- package/esm/widgets/index.js +941 -0
- package/esm/widgets/progress.d.ts +133 -0
- package/esm/widgets/progress.d.ts.map +1 -0
- package/esm/widgets/resource.d.ts +163 -0
- package/esm/widgets/resource.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 +56 -0
- package/index.d.ts.map +1 -0
- package/index.js +20942 -0
- package/layouts/base.d.ts +86 -0
- package/layouts/base.d.ts.map +1 -0
- package/layouts/index.d.ts +8 -0
- package/layouts/index.d.ts.map +1 -0
- package/layouts/index.js +930 -0
- package/layouts/presets.d.ts +134 -0
- package/layouts/presets.d.ts.map +1 -0
- package/package.json +28 -87
- package/pages/consent.d.ts +117 -0
- package/pages/consent.d.ts.map +1 -0
- package/pages/error.d.ts +101 -0
- package/pages/error.d.ts.map +1 -0
- package/pages/index.d.ts +9 -0
- package/pages/index.d.ts.map +1 -0
- package/pages/index.js +1602 -0
- package/react/Alert.d.ts +102 -0
- package/react/Alert.d.ts.map +1 -0
- package/react/Badge.d.ts +101 -0
- package/react/Badge.d.ts.map +1 -0
- package/react/Button.d.ts +109 -0
- package/react/Button.d.ts.map +1 -0
- package/react/Card.d.ts +104 -0
- package/react/Card.d.ts.map +1 -0
- package/react/hooks/context.d.ts +179 -0
- package/react/hooks/context.d.ts.map +1 -0
- package/react/hooks/index.d.ts +42 -0
- package/react/hooks/index.d.ts.map +1 -0
- package/react/hooks/tools.d.ts +284 -0
- package/react/hooks/tools.d.ts.map +1 -0
- package/react/index.d.ts +81 -0
- package/react/index.d.ts.map +1 -0
- package/react/index.js +1430 -0
- package/react/types.d.ts +106 -0
- package/react/types.d.ts.map +1 -0
- package/react/utils.d.ts +43 -0
- package/react/utils.d.ts.map +1 -0
- package/registry/index.d.ts +46 -0
- package/registry/index.d.ts.map +1 -0
- package/registry/index.js +6465 -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/render/index.d.ts +8 -0
- package/render/index.d.ts.map +1 -0
- package/render/index.js +77 -0
- package/render/prerender.d.ts +57 -0
- package/render/prerender.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 +1882 -0
- package/renderers/mdx.renderer.d.ts +120 -0
- package/renderers/mdx.renderer.d.ts.map +1 -0
- package/renderers/react.renderer.d.ts +96 -0
- package/renderers/react.renderer.d.ts.map +1 -0
- package/renderers/registry.d.ts +134 -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/react.adapter.d.ts +70 -0
- package/runtime/adapters/react.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 +5264 -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 +3559 -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 +639 -0
- package/types/ui-config.d.ts.map +1 -0
- package/types/ui-runtime.d.ts +1007 -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/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/universal/UniversalApp.d.ts +108 -0
- package/universal/UniversalApp.d.ts.map +1 -0
- package/universal/cached-runtime.d.ts +115 -0
- package/universal/cached-runtime.d.ts.map +1 -0
- package/universal/context.d.ts +122 -0
- package/universal/context.d.ts.map +1 -0
- package/universal/index.d.ts +57 -0
- package/universal/index.d.ts.map +1 -0
- package/universal/renderers/html.renderer.d.ts +37 -0
- package/universal/renderers/html.renderer.d.ts.map +1 -0
- package/universal/renderers/index.d.ts +112 -0
- package/universal/renderers/index.d.ts.map +1 -0
- package/universal/renderers/markdown.renderer.d.ts +33 -0
- package/universal/renderers/markdown.renderer.d.ts.map +1 -0
- package/universal/renderers/mdx.renderer.d.ts +38 -0
- package/universal/renderers/mdx.renderer.d.ts.map +1 -0
- package/universal/renderers/react.renderer.d.ts +46 -0
- package/universal/renderers/react.renderer.d.ts.map +1 -0
- package/universal/runtime-builder.d.ts +33 -0
- package/universal/runtime-builder.d.ts.map +1 -0
- package/universal/store.d.ts +135 -0
- package/universal/store.d.ts.map +1 -0
- package/universal/types.d.ts +199 -0
- package/universal/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 +603 -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
- package/web-components/core/attribute-parser.d.ts +82 -0
- package/web-components/core/attribute-parser.d.ts.map +1 -0
- package/web-components/core/base-element.d.ts +197 -0
- package/web-components/core/base-element.d.ts.map +1 -0
- package/web-components/core/index.d.ts +9 -0
- package/web-components/core/index.d.ts.map +1 -0
- package/web-components/elements/fmcp-alert.d.ts +46 -0
- package/web-components/elements/fmcp-alert.d.ts.map +1 -0
- package/web-components/elements/fmcp-badge.d.ts +47 -0
- package/web-components/elements/fmcp-badge.d.ts.map +1 -0
- package/web-components/elements/fmcp-button.d.ts +117 -0
- package/web-components/elements/fmcp-button.d.ts.map +1 -0
- package/web-components/elements/fmcp-card.d.ts +53 -0
- package/web-components/elements/fmcp-card.d.ts.map +1 -0
- package/web-components/elements/fmcp-input.d.ts +96 -0
- package/web-components/elements/fmcp-input.d.ts.map +1 -0
- package/web-components/elements/fmcp-select.d.ts +100 -0
- package/web-components/elements/fmcp-select.d.ts.map +1 -0
- package/web-components/elements/index.d.ts +13 -0
- package/web-components/elements/index.d.ts.map +1 -0
- package/web-components/index.d.ts +50 -0
- package/web-components/index.d.ts.map +1 -0
- package/web-components/index.js +2093 -0
- package/web-components/register.d.ts +57 -0
- package/web-components/register.d.ts.map +1 -0
- package/web-components/types.d.ts +122 -0
- package/web-components/types.d.ts.map +1 -0
- package/widgets/index.d.ts +8 -0
- package/widgets/index.d.ts.map +1 -0
- package/widgets/index.js +978 -0
- package/widgets/progress.d.ts +133 -0
- package/widgets/progress.d.ts.map +1 -0
- package/widgets/resource.d.ts +163 -0
- package/widgets/resource.d.ts.map +1 -0
- package/src/adapters/index.d.ts +0 -10
- package/src/adapters/index.js +0 -18
- package/src/adapters/index.js.map +0 -1
- package/src/adapters/platform-meta.d.ts +0 -165
- package/src/adapters/platform-meta.js +0 -310
- package/src/adapters/platform-meta.js.map +0 -1
- package/src/base-template/bridge.d.ts +0 -89
- package/src/base-template/bridge.js +0 -452
- package/src/base-template/bridge.js.map +0 -1
- package/src/base-template/default-base-template.d.ts +0 -91
- package/src/base-template/default-base-template.js +0 -435
- package/src/base-template/default-base-template.js.map +0 -1
- package/src/base-template/index.d.ts +0 -14
- package/src/base-template/index.js +0 -30
- package/src/base-template/index.js.map +0 -1
- package/src/base-template/polyfills.d.ts +0 -30
- package/src/base-template/polyfills.js +0 -190
- package/src/base-template/polyfills.js.map +0 -1
- package/src/base-template/theme-styles.d.ts +0 -73
- package/src/base-template/theme-styles.js +0 -95
- package/src/base-template/theme-styles.js.map +0 -1
- package/src/bridge/adapters/base-adapter.d.ts +0 -103
- package/src/bridge/adapters/base-adapter.js +0 -314
- package/src/bridge/adapters/base-adapter.js.map +0 -1
- package/src/bridge/adapters/claude.adapter.d.ts +0 -66
- package/src/bridge/adapters/claude.adapter.js +0 -145
- package/src/bridge/adapters/claude.adapter.js.map +0 -1
- package/src/bridge/adapters/ext-apps.adapter.d.ts +0 -142
- package/src/bridge/adapters/ext-apps.adapter.js +0 -416
- package/src/bridge/adapters/ext-apps.adapter.js.map +0 -1
- package/src/bridge/adapters/gemini.adapter.d.ts +0 -63
- package/src/bridge/adapters/gemini.adapter.js +0 -160
- package/src/bridge/adapters/gemini.adapter.js.map +0 -1
- package/src/bridge/adapters/generic.adapter.d.ts +0 -55
- package/src/bridge/adapters/generic.adapter.js +0 -108
- package/src/bridge/adapters/generic.adapter.js.map +0 -1
- package/src/bridge/adapters/index.d.ts +0 -25
- package/src/bridge/adapters/index.js +0 -65
- package/src/bridge/adapters/index.js.map +0 -1
- package/src/bridge/adapters/openai.adapter.d.ts +0 -64
- package/src/bridge/adapters/openai.adapter.js +0 -194
- package/src/bridge/adapters/openai.adapter.js.map +0 -1
- package/src/bridge/core/adapter-registry.d.ts +0 -121
- package/src/bridge/core/adapter-registry.js +0 -271
- package/src/bridge/core/adapter-registry.js.map +0 -1
- package/src/bridge/core/bridge-factory.d.ts +0 -198
- package/src/bridge/core/bridge-factory.js +0 -428
- package/src/bridge/core/bridge-factory.js.map +0 -1
- package/src/bridge/core/index.d.ts +0 -9
- package/src/bridge/core/index.js +0 -22
- package/src/bridge/core/index.js.map +0 -1
- package/src/bridge/index.d.ts +0 -61
- package/src/bridge/index.js +0 -94
- package/src/bridge/index.js.map +0 -1
- package/src/bridge/runtime/iife-generator.d.ts +0 -61
- package/src/bridge/runtime/iife-generator.js +0 -940
- package/src/bridge/runtime/iife-generator.js.map +0 -1
- package/src/bridge/runtime/index.d.ts +0 -8
- package/src/bridge/runtime/index.js +0 -16
- package/src/bridge/runtime/index.js.map +0 -1
- package/src/bridge/types.d.ts +0 -385
- package/src/bridge/types.js +0 -11
- package/src/bridge/types.js.map +0 -1
- package/src/build/cdn-resources.d.ts +0 -140
- package/src/build/cdn-resources.js +0 -314
- package/src/build/cdn-resources.js.map +0 -1
- package/src/build/index.d.ts +0 -294
- package/src/build/index.js +0 -325
- package/src/build/index.js.map +0 -1
- package/src/build/widget-manifest.d.ts +0 -212
- package/src/build/widget-manifest.js +0 -652
- package/src/build/widget-manifest.js.map +0 -1
- package/src/bundler/bundler.d.ts +0 -110
- package/src/bundler/bundler.js +0 -432
- package/src/bundler/bundler.js.map +0 -1
- package/src/bundler/cache.d.ts +0 -172
- package/src/bundler/cache.js +0 -250
- package/src/bundler/cache.js.map +0 -1
- package/src/bundler/index.d.ts +0 -41
- package/src/bundler/index.js +0 -73
- package/src/bundler/index.js.map +0 -1
- package/src/bundler/sandbox/enclave-adapter.d.ts +0 -120
- package/src/bundler/sandbox/enclave-adapter.js +0 -339
- package/src/bundler/sandbox/enclave-adapter.js.map +0 -1
- package/src/bundler/sandbox/executor.d.ts +0 -13
- package/src/bundler/sandbox/executor.js +0 -22
- package/src/bundler/sandbox/executor.js.map +0 -1
- package/src/bundler/sandbox/policy.d.ts +0 -61
- package/src/bundler/sandbox/policy.js +0 -238
- package/src/bundler/sandbox/policy.js.map +0 -1
- package/src/bundler/types.d.ts +0 -347
- package/src/bundler/types.js +0 -132
- package/src/bundler/types.js.map +0 -1
- package/src/components/alert.d.ts +0 -71
- package/src/components/alert.js +0 -189
- package/src/components/alert.js.map +0 -1
- package/src/components/alert.schema.d.ts +0 -114
- package/src/components/alert.schema.js +0 -105
- package/src/components/alert.schema.js.map +0 -1
- package/src/components/avatar.d.ts +0 -76
- package/src/components/avatar.js +0 -176
- package/src/components/avatar.js.map +0 -1
- package/src/components/avatar.schema.d.ts +0 -169
- package/src/components/avatar.schema.js +0 -103
- package/src/components/avatar.schema.js.map +0 -1
- package/src/components/badge.d.ts +0 -70
- package/src/components/badge.js +0 -149
- package/src/components/badge.js.map +0 -1
- package/src/components/badge.schema.d.ts +0 -109
- package/src/components/badge.schema.js +0 -96
- package/src/components/badge.schema.js.map +0 -1
- package/src/components/button.d.ts +0 -111
- package/src/components/button.js +0 -336
- package/src/components/button.js.map +0 -1
- package/src/components/button.schema.d.ts +0 -148
- package/src/components/button.schema.js +0 -121
- package/src/components/button.schema.js.map +0 -1
- package/src/components/card.d.ts +0 -60
- package/src/components/card.js +0 -117
- package/src/components/card.js.map +0 -1
- package/src/components/card.schema.d.ts +0 -113
- package/src/components/card.schema.js +0 -98
- package/src/components/card.schema.js.map +0 -1
- package/src/components/form.d.ts +0 -239
- package/src/components/form.js +0 -420
- package/src/components/form.js.map +0 -1
- package/src/components/form.schema.d.ts +0 -441
- package/src/components/form.schema.js +0 -406
- package/src/components/form.schema.js.map +0 -1
- package/src/components/index.d.ts +0 -29
- package/src/components/index.js +0 -98
- package/src/components/index.js.map +0 -1
- package/src/components/list.d.ts +0 -127
- package/src/components/list.js +0 -279
- package/src/components/list.js.map +0 -1
- package/src/components/list.schema.d.ts +0 -134
- package/src/components/list.schema.js +0 -168
- package/src/components/list.schema.js.map +0 -1
- package/src/components/modal.d.ts +0 -111
- package/src/components/modal.js +0 -260
- package/src/components/modal.js.map +0 -1
- package/src/components/modal.schema.d.ts +0 -186
- package/src/components/modal.schema.js +0 -167
- package/src/components/modal.schema.js.map +0 -1
- package/src/components/table.d.ts +0 -105
- package/src/components/table.js +0 -283
- package/src/components/table.js.map +0 -1
- package/src/components/table.schema.d.ts +0 -159
- package/src/components/table.schema.js +0 -173
- package/src/components/table.schema.js.map +0 -1
- package/src/handlebars/helpers.d.ts +0 -348
- package/src/handlebars/helpers.js +0 -605
- package/src/handlebars/helpers.js.map +0 -1
- package/src/handlebars/index.d.ts +0 -193
- package/src/handlebars/index.js +0 -350
- package/src/handlebars/index.js.map +0 -1
- package/src/index.d.ts +0 -50
- package/src/index.js +0 -192
- package/src/index.js.map +0 -1
- package/src/layouts/base.d.ts +0 -88
- package/src/layouts/base.js +0 -227
- package/src/layouts/base.js.map +0 -1
- package/src/layouts/index.d.ts +0 -7
- package/src/layouts/index.js +0 -25
- package/src/layouts/index.js.map +0 -1
- package/src/layouts/presets.d.ts +0 -133
- package/src/layouts/presets.js +0 -277
- package/src/layouts/presets.js.map +0 -1
- package/src/pages/consent.d.ts +0 -116
- package/src/pages/consent.js +0 -218
- package/src/pages/consent.js.map +0 -1
- package/src/pages/error.d.ts +0 -100
- package/src/pages/error.js +0 -263
- package/src/pages/error.js.map +0 -1
- package/src/pages/index.d.ts +0 -8
- package/src/pages/index.js +0 -27
- package/src/pages/index.js.map +0 -1
- package/src/react/Alert.d.ts +0 -101
- package/src/react/Alert.js +0 -51
- package/src/react/Alert.js.map +0 -1
- package/src/react/Badge.d.ts +0 -100
- package/src/react/Badge.js +0 -55
- package/src/react/Badge.js.map +0 -1
- package/src/react/Button.d.ts +0 -108
- package/src/react/Button.js +0 -52
- package/src/react/Button.js.map +0 -1
- package/src/react/Card.d.ts +0 -103
- package/src/react/Card.js +0 -55
- package/src/react/Card.js.map +0 -1
- package/src/react/hooks/context.d.ts +0 -178
- package/src/react/hooks/context.js +0 -287
- package/src/react/hooks/context.js.map +0 -1
- package/src/react/hooks/index.d.ts +0 -41
- package/src/react/hooks/index.js +0 -61
- package/src/react/hooks/index.js.map +0 -1
- package/src/react/hooks/tools.d.ts +0 -283
- package/src/react/hooks/tools.js +0 -465
- package/src/react/hooks/tools.js.map +0 -1
- package/src/react/index.d.ts +0 -80
- package/src/react/index.js +0 -113
- package/src/react/index.js.map +0 -1
- package/src/react/types.d.ts +0 -105
- package/src/react/types.js +0 -12
- package/src/react/types.js.map +0 -1
- package/src/react/utils.d.ts +0 -42
- package/src/react/utils.js +0 -99
- package/src/react/utils.js.map +0 -1
- package/src/registry/index.d.ts +0 -45
- package/src/registry/index.js +0 -67
- package/src/registry/index.js.map +0 -1
- package/src/registry/render-template.d.ts +0 -86
- package/src/registry/render-template.js +0 -239
- package/src/registry/render-template.js.map +0 -1
- package/src/registry/tool-ui.registry.d.ts +0 -260
- package/src/registry/tool-ui.registry.js +0 -438
- package/src/registry/tool-ui.registry.js.map +0 -1
- package/src/registry/uri-utils.d.ts +0 -55
- package/src/registry/uri-utils.js +0 -97
- package/src/registry/uri-utils.js.map +0 -1
- package/src/render/index.d.ts +0 -7
- package/src/render/index.js +0 -14
- package/src/render/index.js.map +0 -1
- package/src/render/prerender.d.ts +0 -56
- package/src/render/prerender.js +0 -98
- package/src/render/prerender.js.map +0 -1
- package/src/renderers/cache.d.ts +0 -144
- package/src/renderers/cache.js +0 -240
- package/src/renderers/cache.js.map +0 -1
- package/src/renderers/html.renderer.d.ts +0 -122
- package/src/renderers/html.renderer.js +0 -204
- package/src/renderers/html.renderer.js.map +0 -1
- package/src/renderers/index.d.ts +0 -35
- package/src/renderers/index.js +0 -70
- package/src/renderers/index.js.map +0 -1
- package/src/renderers/mdx.renderer.d.ts +0 -119
- package/src/renderers/mdx.renderer.js +0 -305
- package/src/renderers/mdx.renderer.js.map +0 -1
- package/src/renderers/react.renderer.d.ts +0 -95
- package/src/renderers/react.renderer.js +0 -260
- package/src/renderers/react.renderer.js.map +0 -1
- package/src/renderers/registry.d.ts +0 -133
- package/src/renderers/registry.js +0 -232
- package/src/renderers/registry.js.map +0 -1
- package/src/renderers/types.d.ts +0 -341
- package/src/renderers/types.js +0 -9
- package/src/renderers/types.js.map +0 -1
- package/src/renderers/utils/detect.d.ts +0 -106
- package/src/renderers/utils/detect.js +0 -267
- package/src/renderers/utils/detect.js.map +0 -1
- package/src/renderers/utils/hash.d.ts +0 -39
- package/src/renderers/utils/hash.js +0 -75
- package/src/renderers/utils/hash.js.map +0 -1
- package/src/renderers/utils/index.d.ts +0 -8
- package/src/renderers/utils/index.js +0 -28
- package/src/renderers/utils/index.js.map +0 -1
- package/src/renderers/utils/transpiler.d.ts +0 -88
- package/src/renderers/utils/transpiler.js +0 -215
- package/src/renderers/utils/transpiler.js.map +0 -1
- package/src/runtime/adapters/html.adapter.d.ts +0 -58
- package/src/runtime/adapters/html.adapter.js +0 -131
- package/src/runtime/adapters/html.adapter.js.map +0 -1
- package/src/runtime/adapters/index.d.ts +0 -25
- package/src/runtime/adapters/index.js +0 -54
- package/src/runtime/adapters/index.js.map +0 -1
- package/src/runtime/adapters/mdx.adapter.d.ts +0 -72
- package/src/runtime/adapters/mdx.adapter.js +0 -241
- package/src/runtime/adapters/mdx.adapter.js.map +0 -1
- package/src/runtime/adapters/react.adapter.d.ts +0 -69
- package/src/runtime/adapters/react.adapter.js +0 -245
- package/src/runtime/adapters/react.adapter.js.map +0 -1
- package/src/runtime/adapters/types.d.ts +0 -94
- package/src/runtime/adapters/types.js +0 -11
- package/src/runtime/adapters/types.js.map +0 -1
- package/src/runtime/csp.d.ts +0 -37
- package/src/runtime/csp.js +0 -140
- package/src/runtime/csp.js.map +0 -1
- package/src/runtime/index.d.ts +0 -16
- package/src/runtime/index.js +0 -72
- package/src/runtime/index.js.map +0 -1
- package/src/runtime/mcp-bridge.d.ts +0 -100
- package/src/runtime/mcp-bridge.js +0 -581
- package/src/runtime/mcp-bridge.js.map +0 -1
- package/src/runtime/renderer-runtime.d.ts +0 -132
- package/src/runtime/renderer-runtime.js +0 -389
- package/src/runtime/renderer-runtime.js.map +0 -1
- package/src/runtime/sanitizer.d.ts +0 -171
- package/src/runtime/sanitizer.js +0 -318
- package/src/runtime/sanitizer.js.map +0 -1
- package/src/runtime/types.d.ts +0 -414
- package/src/runtime/types.js +0 -12
- package/src/runtime/types.js.map +0 -1
- package/src/runtime/wrapper.d.ts +0 -375
- package/src/runtime/wrapper.js +0 -1793
- package/src/runtime/wrapper.js.map +0 -1
- package/src/styles/index.d.ts +0 -7
- package/src/styles/index.js +0 -11
- package/src/styles/index.js.map +0 -1
- package/src/styles/variants.d.ts +0 -50
- package/src/styles/variants.js +0 -175
- package/src/styles/variants.js.map +0 -1
- package/src/theme/cdn.d.ts +0 -194
- package/src/theme/cdn.js +0 -375
- package/src/theme/cdn.js.map +0 -1
- package/src/theme/index.d.ts +0 -17
- package/src/theme/index.js +0 -57
- package/src/theme/index.js.map +0 -1
- package/src/theme/platforms.d.ts +0 -106
- package/src/theme/platforms.js +0 -161
- package/src/theme/platforms.js.map +0 -1
- package/src/theme/presets/github-openai.d.ts +0 -49
- package/src/theme/presets/github-openai.js +0 -189
- package/src/theme/presets/github-openai.js.map +0 -1
- package/src/theme/presets/index.d.ts +0 -10
- package/src/theme/presets/index.js +0 -17
- package/src/theme/presets/index.js.map +0 -1
- package/src/theme/theme.d.ts +0 -395
- package/src/theme/theme.js +0 -332
- package/src/theme/theme.js.map +0 -1
- package/src/tool-template/builder.d.ts +0 -212
- package/src/tool-template/builder.js +0 -397
- package/src/tool-template/builder.js.map +0 -1
- package/src/tool-template/index.d.ts +0 -15
- package/src/tool-template/index.js +0 -38
- package/src/tool-template/index.js.map +0 -1
- package/src/types/index.d.ts +0 -13
- package/src/types/index.js +0 -26
- package/src/types/index.js.map +0 -1
- package/src/types/ui-config.d.ts +0 -357
- package/src/types/ui-config.js +0 -12
- package/src/types/ui-config.js.map +0 -1
- package/src/types/ui-runtime.d.ts +0 -965
- package/src/types/ui-runtime.js +0 -117
- package/src/types/ui-runtime.js.map +0 -1
- package/src/validation/error-box.d.ts +0 -55
- package/src/validation/error-box.js +0 -75
- package/src/validation/error-box.js.map +0 -1
- package/src/validation/index.d.ts +0 -12
- package/src/validation/index.js +0 -21
- package/src/validation/index.js.map +0 -1
- package/src/validation/wrapper.d.ts +0 -96
- package/src/validation/wrapper.js +0 -117
- package/src/validation/wrapper.js.map +0 -1
- package/src/web-components/core/attribute-parser.d.ts +0 -85
- package/src/web-components/core/attribute-parser.js +0 -189
- package/src/web-components/core/attribute-parser.js.map +0 -1
- package/src/web-components/core/base-element.d.ts +0 -197
- package/src/web-components/core/base-element.js +0 -289
- package/src/web-components/core/base-element.js.map +0 -1
- package/src/web-components/core/index.d.ts +0 -8
- package/src/web-components/core/index.js +0 -18
- package/src/web-components/core/index.js.map +0 -1
- package/src/web-components/elements/fmcp-alert.d.ts +0 -45
- package/src/web-components/elements/fmcp-alert.js +0 -93
- package/src/web-components/elements/fmcp-alert.js.map +0 -1
- package/src/web-components/elements/fmcp-badge.d.ts +0 -46
- package/src/web-components/elements/fmcp-badge.js +0 -99
- package/src/web-components/elements/fmcp-badge.js.map +0 -1
- package/src/web-components/elements/fmcp-button.d.ts +0 -124
- package/src/web-components/elements/fmcp-button.js +0 -233
- package/src/web-components/elements/fmcp-button.js.map +0 -1
- package/src/web-components/elements/fmcp-card.d.ts +0 -52
- package/src/web-components/elements/fmcp-card.js +0 -115
- package/src/web-components/elements/fmcp-card.js.map +0 -1
- package/src/web-components/elements/fmcp-input.d.ts +0 -95
- package/src/web-components/elements/fmcp-input.js +0 -248
- package/src/web-components/elements/fmcp-input.js.map +0 -1
- package/src/web-components/elements/fmcp-select.d.ts +0 -99
- package/src/web-components/elements/fmcp-select.js +0 -243
- package/src/web-components/elements/fmcp-select.js.map +0 -1
- package/src/web-components/elements/index.d.ts +0 -12
- package/src/web-components/elements/index.js +0 -34
- package/src/web-components/elements/index.js.map +0 -1
- package/src/web-components/index.d.ts +0 -49
- package/src/web-components/index.js +0 -75
- package/src/web-components/index.js.map +0 -1
- package/src/web-components/register.d.ts +0 -56
- package/src/web-components/register.js +0 -80
- package/src/web-components/register.js.map +0 -1
- package/src/web-components/types.d.ts +0 -121
- package/src/web-components/types.js +0 -25
- package/src/web-components/types.js.map +0 -1
- package/src/widgets/index.d.ts +0 -7
- package/src/widgets/index.js +0 -24
- package/src/widgets/index.js.map +0 -1
- package/src/widgets/progress.d.ts +0 -132
- package/src/widgets/progress.js +0 -303
- package/src/widgets/progress.js.map +0 -1
- package/src/widgets/resource.d.ts +0 -162
- package/src/widgets/resource.js +0 -340
- package/src/widgets/resource.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"widget-manifest.js","sourceRoot":"","sources":["../../../src/build/widget-manifest.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Widget Manifest Builder\n *\n * Builds static widget wrappers with embedded manifests for tool UIs.\n * Produces complete HTML documents with FrontMCP Bridge runtime.\n *\n * @packageDocumentation\n */\n\nimport type {\n UIType,\n BundlingMode,\n DisplayMode,\n ResourceMode,\n OutputMode,\n CSPDirectives,\n RendererAssets,\n WidgetManifest,\n WidgetConfig,\n BuildManifestResult,\n BuildManifestOptions,\n UIMetaFields,\n OpenAIMetaFields,\n ToolResponseMeta,\n} from '../types/ui-runtime';\nimport {\n DEFAULT_CSP_BY_TYPE,\n DEFAULT_RENDERER_ASSETS,\n isUIType,\n isResourceMode,\n} from '../types/ui-runtime';\nimport { getDefaultAssets, buildScriptsForUIType } from './cdn-resources';\nimport type { ThemeConfig } from '../theme';\nimport { wrapToolUIUniversal } from '../runtime/wrapper';\nimport { rendererRegistry } from '../renderers/registry';\nimport { detectTemplateType, reactRenderer, mdxRenderer } from '../renderers';\n\n// ============================================\n// UI Type Detection\n// ============================================\n\n/**\n * Detect the UI type from a template.\n *\n * @param template - Widget template\n * @returns Detected UI type\n */\nexport function detectUIType(template: WidgetConfig['template']): UIType {\n const detection = detectTemplateType(template);\n\n switch (detection.type) {\n case 'react':\n return 'react';\n case 'mdx':\n return 'mdx';\n case 'jsx-string':\n return 'react'; // JSX strings are rendered as React\n case 'html-string':\n case 'html-function':\n return 'html';\n default:\n return 'auto';\n }\n}\n\n// ============================================\n// CSP Building\n// ============================================\n\n/**\n * Build CSP directives for a UI type.\n *\n * @param uiType - UI renderer type\n * @param userCsp - User-provided CSP overrides\n * @returns Complete CSP directives\n */\nexport function buildCSPForType(\n uiType: UIType,\n userCsp?: Partial<CSPDirectives>\n): CSPDirectives {\n const baseCsp = DEFAULT_CSP_BY_TYPE[uiType] ?? DEFAULT_CSP_BY_TYPE['auto'];\n\n if (!userCsp) {\n return { ...baseCsp };\n }\n\n // Merge user CSP with base CSP\n return {\n scriptSrc: mergeCspArray(baseCsp.scriptSrc, userCsp.scriptSrc),\n styleSrc: mergeCspArray(baseCsp.styleSrc, userCsp.styleSrc),\n connectSrc: mergeCspArray(baseCsp.connectSrc, userCsp.connectSrc),\n imgSrc: userCsp.imgSrc ?? baseCsp.imgSrc,\n fontSrc: userCsp.fontSrc ?? baseCsp.fontSrc,\n defaultSrc: userCsp.defaultSrc ?? baseCsp.defaultSrc,\n frameSrc: userCsp.frameSrc ?? baseCsp.frameSrc,\n objectSrc: userCsp.objectSrc ?? baseCsp.objectSrc,\n };\n}\n\n/**\n * Merge CSP arrays, preserving uniqueness.\n */\nfunction mergeCspArray(base: string[], override?: string[]): string[] {\n if (!override) return [...base];\n const merged = new Set([...base, ...override]);\n return Array.from(merged);\n}\n\n/**\n * Build CSP meta tag content.\n */\nexport function buildCSPMetaContent(csp: CSPDirectives): string {\n const directives: string[] = [];\n\n if (csp.defaultSrc?.length) {\n directives.push(`default-src ${csp.defaultSrc.join(' ')}`);\n }\n if (csp.scriptSrc.length) {\n directives.push(`script-src ${csp.scriptSrc.join(' ')}`);\n }\n if (csp.styleSrc.length) {\n directives.push(`style-src ${csp.styleSrc.join(' ')}`);\n }\n if (csp.connectSrc.length) {\n directives.push(`connect-src ${csp.connectSrc.join(' ')}`);\n }\n if (csp.imgSrc?.length) {\n directives.push(`img-src ${csp.imgSrc.join(' ')}`);\n }\n if (csp.fontSrc?.length) {\n directives.push(`font-src ${csp.fontSrc.join(' ')}`);\n }\n if (csp.frameSrc?.length) {\n directives.push(`frame-src ${csp.frameSrc.join(' ')}`);\n }\n if (csp.objectSrc?.length) {\n directives.push(`object-src ${csp.objectSrc.join(' ')}`);\n }\n\n return directives.join('; ');\n}\n\n// ============================================\n// Renderer Assets\n// ============================================\n\n/**\n * Get renderer assets for a UI type.\n *\n * @param uiType - UI renderer type\n * @param resourceMode - Resource loading mode (cdn or inline)\n * @returns Required renderer assets with CDN URLs or inline placeholders\n *\n * @example\n * ```typescript\n * // Get CDN-based assets for React\n * const assets = getRendererAssets('react', 'cdn');\n * console.log(assets.react?.url);\n * // \"https://unpkg.com/react@18/umd/react.production.min.js\"\n *\n * // Get inline-mode assets\n * const inlineAssets = getRendererAssets('react', 'inline');\n * // inlineAssets.mode === 'inline'\n * ```\n */\nexport function getRendererAssets(uiType: UIType, resourceMode: ResourceMode = 'cdn'): RendererAssets {\n // Use the CDN resources helper which provides proper CDN URLs\n return getDefaultAssets(uiType, resourceMode);\n}\n\n// ============================================\n// Hash Generation\n// ============================================\n\n/**\n * Generate a hash for content.\n */\nasync function generateHash(content: string): Promise<string> {\n // Use Web Crypto API if available\n if (typeof crypto !== 'undefined' && crypto.subtle) {\n const encoder = new TextEncoder();\n const data = encoder.encode(content);\n const hashBuffer = await crypto.subtle.digest('SHA-256', data);\n const hashArray = Array.from(new Uint8Array(hashBuffer));\n return hashArray.map((b) => b.toString(16).padStart(2, '0')).join('');\n }\n\n // Fallback: simple hash\n let hash = 0;\n for (let i = 0; i < content.length; i++) {\n const char = content.charCodeAt(i);\n hash = (hash << 5) - hash + char;\n hash = hash & hash;\n }\n return Math.abs(hash).toString(16).padStart(8, '0');\n}\n\n// ============================================\n// Main Builder\n// ============================================\n\n/**\n * Build a widget manifest for a tool.\n *\n * Creates a static widget wrapper with embedded manifest.\n * The widget can be cached and reused across tool invocations.\n *\n * @param options - Build options\n * @returns Build result with HTML, manifest, and metadata\n *\n * @example\n * ```typescript\n * import { buildToolWidgetManifest } from '@frontmcp/ui/build';\n *\n * const result = await buildToolWidgetManifest({\n * toolName: 'weather.get',\n * uiConfig: {\n * template: WeatherWidget,\n * uiType: 'react',\n * displayMode: 'inline',\n * widgetAccessible: true,\n * },\n * schema: { type: 'object', properties: { ... } },\n * });\n *\n * // Cache the HTML\n * cache.set(`ui://widget/${result.manifest.tool}.html`, result.html);\n * ```\n */\nexport async function buildToolWidgetManifest<\n Input = Record<string, unknown>,\n Output = unknown,\n>(options: BuildManifestOptions<Input, Output>): Promise<BuildManifestResult> {\n const { toolName, uiConfig, schema, theme, sampleInput, sampleOutput } = options;\n\n // Resolve UI type\n // Use type assertion to handle complex generic template types\n const uiType: UIType = isUIType(uiConfig.uiType)\n ? uiConfig.uiType\n : detectUIType(uiConfig.template as WidgetConfig['template']);\n\n // Resolve display mode\n const displayMode: DisplayMode = uiConfig.displayMode ?? 'inline';\n\n // Resolve bundling mode\n const bundlingMode: BundlingMode = uiConfig.bundlingMode ?? 'static';\n\n // Resolve resource mode (cdn or inline)\n const resourceMode: ResourceMode = isResourceMode(uiConfig.resourceMode)\n ? uiConfig.resourceMode\n : 'cdn';\n\n // Build CSP\n const csp = buildCSPForType(uiType, uiConfig.csp);\n\n // Get renderer assets based on resource mode\n const rendererAssets = getRendererAssets(uiType, resourceMode);\n\n // Render the template to get initial content\n // Cast to generic type to avoid complex type inference issues\n const templateConfig = uiConfig as WidgetConfig<Record<string, unknown>, unknown>;\n const content = await renderTemplate(templateConfig, {\n input: (sampleInput ?? {}) as Record<string, unknown>,\n output: (sampleOutput ?? {}) as unknown,\n uiType,\n });\n\n // Generate component code for client-side rendering (React/MDX only)\n const componentCode = (uiType === 'react' || uiType === 'mdx')\n ? buildComponentCode(uiConfig.template, toolName)\n : undefined;\n\n // Build manifest\n // Note: We intentionally omit 'uri' since we're not using resource-based serving.\n // The content/html is returned directly in the tool response.\n const manifestBase: Omit<WidgetManifest, 'hash'> = {\n tool: toolName,\n uiType,\n bundlingMode,\n displayMode,\n widgetAccessible: uiConfig.widgetAccessible ?? false,\n schema: schema ?? {},\n csp,\n rendererAssets,\n createdAt: new Date().toISOString(),\n description: uiConfig.widgetDescription,\n };\n\n // Convert CSPDirectives to UIContentSecurityPolicy for wrapper\n const wrapperCsp = uiConfig.csp ? {\n connectDomains: uiConfig.csp.connectSrc,\n resourceDomains: [\n ...(uiConfig.csp.scriptSrc ?? []),\n ...(uiConfig.csp.styleSrc ?? []),\n ...(uiConfig.csp.imgSrc ?? []),\n ].filter((d) => d !== \"'self'\" && d !== \"'unsafe-inline'\"),\n } : undefined;\n\n // Build manifest script to embed in the page\n const manifestScript = buildManifestScript(manifestBase);\n\n // Prepend manifest script to content so it's available before the UI renders\n const contentWithManifest = manifestScript + '\\n' + content;\n\n // Build the complete HTML with manifest embedded\n // Use inlineScripts when resourceMode is 'inline' (for blocked-network environments)\n const html = wrapToolUIUniversal({\n content: contentWithManifest,\n toolName,\n input: (sampleInput ?? {}) as Record<string, unknown>,\n output: sampleOutput as unknown,\n csp: wrapperCsp,\n widgetAccessible: uiConfig.widgetAccessible,\n includeBridge: true,\n rendererType: uiType,\n inlineScripts: resourceMode === 'inline',\n resourceMode, // Pass resource mode for CDN script generation\n });\n\n // Generate hash based on tool name + content (for cache invalidation)\n // Including toolName ensures different tools have different hashes even if content is similar\n const hash = await generateHash(`${toolName}:${content}`);\n\n // Complete manifest with hash\n const manifest: WidgetManifest = {\n ...manifestBase,\n hash: `sha256-${hash}`,\n };\n\n // Calculate sizes\n const contentSize = new TextEncoder().encode(content).length;\n const htmlSize = new TextEncoder().encode(html).length;\n const gzipSize = Math.round(htmlSize * 0.25); // Rough estimate\n\n return {\n // Transpiled content only (for capable clients like OpenAI)\n content,\n // Full HTML document (for limited/unknown MCP clients)\n html,\n manifest,\n hash,\n rendererType: uiType,\n // Component code for client-side rendering (React/MDX only)\n componentCode,\n contentSize,\n htmlSize,\n gzipSize,\n // Deprecated, kept for backwards compatibility\n size: htmlSize,\n };\n}\n\n/**\n * Build the manifest script tag for embedding in HTML.\n */\nfunction buildManifestScript(manifest: Omit<WidgetManifest, 'hash'>): string {\n // Escape for embedding in script tag\n const json = JSON.stringify(manifest)\n .replace(/</g, '\\\\u003c')\n .replace(/>/g, '\\\\u003e')\n .replace(/&/g, '\\\\u0026');\n\n return `\n<script type=\"application/json\" id=\"frontmcp-widget-manifest\">\n${json}\n</script>\n<script>\n(function() {\n try {\n var manifest = JSON.parse(document.getElementById('frontmcp-widget-manifest').textContent);\n window.__frontmcp = window.__frontmcp || {};\n window.__frontmcp.widget = window.__frontmcp.widget || {};\n window.__frontmcp.widget.manifest = manifest;\n } catch (e) {\n console.error('[FrontMCP] Failed to parse widget manifest:', e);\n }\n})();\n</script>\n `.trim();\n}\n\n// ============================================\n// Component Code Builder (for Client-Side Rendering)\n// ============================================\n\n/**\n * Build client-side component code for React templates.\n *\n * This converts the server-side React component into a string that can be\n * embedded in the widget HTML for client-side rendering when tool output\n * becomes available.\n *\n * @param template - The React component or template\n * @param toolName - Tool name for naming the component\n * @returns JavaScript code string that defines the component\n */\nfunction buildComponentCode(template: unknown, toolName: string): string | undefined {\n if (typeof template !== 'function') {\n return undefined;\n }\n\n // Get the component function as a string\n const componentSource = template.toString();\n\n // Sanitize tool name for JavaScript variable name\n const safeName = toolName.replace(/[^a-zA-Z0-9_]/g, '_');\n\n // Build the component code that will be embedded in the HTML\n // The component is registered on window.__frontmcp_component for the render script\n return `\n// FrontMCP Widget Component: ${toolName}\n(function() {\n // The component function\n var ${safeName} = ${componentSource};\n\n // Register component globally for client-side rendering\n window.__frontmcp_component = ${safeName};\n\n // Also register in __frontmcp_components for multiple components\n window.__frontmcp_components = window.__frontmcp_components || {};\n window.__frontmcp_components['${toolName}'] = ${safeName};\n})();\n`.trim();\n}\n\n/**\n * Ensure renderers are registered before use.\n * This is called once and ensures React/MDX renderers are available.\n */\nlet renderersInitialized = false;\n\nfunction ensureRenderersRegistered(): void {\n if (renderersInitialized) {\n return;\n }\n\n // Register React renderer if not already registered\n if (!rendererRegistry.has('react')) {\n rendererRegistry.register(reactRenderer);\n }\n\n // Register MDX renderer if not already registered\n if (!rendererRegistry.has('mdx')) {\n rendererRegistry.register(mdxRenderer);\n }\n\n renderersInitialized = true;\n}\n\n/**\n * Render template content.\n */\nasync function renderTemplate(\n uiConfig: WidgetConfig,\n options: {\n input: Record<string, unknown>;\n output: unknown;\n uiType: UIType;\n }\n): Promise<string> {\n const { input, output, uiType } = options;\n const template = uiConfig.template;\n\n // Ensure renderers are available\n ensureRenderersRegistered();\n\n // Build context for template\n const context = {\n input: input as Record<string, unknown>,\n output,\n structuredContent: undefined,\n helpers: {\n escapeHtml: (str: string) => str.replace(/[&<>\"']/g, (c) => ({\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n })[c] ?? c),\n formatDate: (date: Date | string) => new Date(date).toLocaleDateString(),\n formatCurrency: (amount: number, currency = 'USD') =>\n new Intl.NumberFormat('en-US', { style: 'currency', currency }).format(amount),\n uniqueId: (prefix = 'id') => `${prefix}-${Math.random().toString(36).slice(2, 9)}`,\n jsonEmbed: (data: unknown) => JSON.stringify(data).replace(/</g, '\\\\u003c').replace(/>/g, '\\\\u003e'),\n },\n };\n\n // Try to render using the registry\n try {\n // Use the detected uiType to render with the correct renderer\n if (uiType === 'react' && rendererRegistry.has('react')) {\n const result = await rendererRegistry.renderWith('react', template, context, {\n mdxComponents: uiConfig.mdxComponents,\n });\n return result.html;\n }\n\n if (uiType === 'mdx' && rendererRegistry.has('mdx')) {\n const result = await rendererRegistry.renderWith('mdx', template, context, {\n mdxComponents: uiConfig.mdxComponents,\n });\n return result.html;\n }\n\n // Auto-detect and render\n const result = await rendererRegistry.render(template, context, {\n mdxComponents: uiConfig.mdxComponents,\n });\n return result.html;\n } catch (error) {\n // Fallback: simple rendering\n if (typeof template === 'string') {\n return template;\n }\n if (typeof template === 'function') {\n // Check if it's a React component (has prototype or is class)\n const isReact = template.prototype?.isReactComponent ||\n (template as { $$typeof?: symbol }).$$typeof !== undefined;\n\n if (!isReact) {\n // It's a template builder function\n return (template as (ctx: typeof context) => string)(context);\n }\n }\n // Log the error for debugging\n console.warn('[FrontMCP] Template rendering failed:', error);\n return `<div class=\"error\">Template rendering failed</div>`;\n }\n}\n\n// ============================================\n// Batch Building\n// ============================================\n\n/**\n * Options for batch building multiple widgets.\n */\nexport interface BatchBuildOptions {\n /**\n * Array of tool configurations to build.\n */\n tools: Array<{\n toolName: string;\n uiConfig: WidgetConfig;\n schema?: object;\n }>;\n\n /**\n * Theme configuration to apply to all widgets.\n */\n theme?: ThemeConfig;\n\n /**\n * Enable parallel building.\n * @default true\n */\n parallel?: boolean;\n}\n\n/**\n * Result of batch building.\n */\nexport interface BatchBuildResult {\n /**\n * Individual build results keyed by tool name.\n */\n results: Map<string, BuildManifestResult>;\n\n /**\n * Total build time in ms.\n */\n totalTime: number;\n\n /**\n * Number of successful builds.\n */\n successCount: number;\n\n /**\n * Errors encountered (keyed by tool name).\n */\n errors: Map<string, Error>;\n}\n\n/**\n * Build multiple widget manifests in batch.\n *\n * @param options - Batch build options\n * @returns Batch build results\n *\n * @example\n * ```typescript\n * const { results, errors } = await batchBuildWidgets({\n * tools: [\n * { toolName: 'weather.get', uiConfig: weatherConfig },\n * { toolName: 'stock.quote', uiConfig: stockConfig },\n * ],\n * });\n *\n * for (const [name, result] of results) {\n * cache.set(result.manifest.uri, result.html);\n * }\n * ```\n */\nexport async function batchBuildWidgets(options: BatchBuildOptions): Promise<BatchBuildResult> {\n const startTime = performance.now();\n const results = new Map<string, BuildManifestResult>();\n const errors = new Map<string, Error>();\n\n const { tools, theme, parallel = true } = options;\n\n if (parallel) {\n // Build in parallel\n const promises = tools.map(async (tool) => {\n try {\n const result = await buildToolWidgetManifest({\n toolName: tool.toolName,\n uiConfig: tool.uiConfig,\n schema: tool.schema,\n theme,\n });\n return { toolName: tool.toolName, result, error: null };\n } catch (error) {\n return {\n toolName: tool.toolName,\n result: null,\n error: error instanceof Error ? error : new Error(String(error)),\n };\n }\n });\n\n const outcomes = await Promise.all(promises);\n\n for (const outcome of outcomes) {\n if (outcome.result) {\n results.set(outcome.toolName, outcome.result);\n } else if (outcome.error) {\n errors.set(outcome.toolName, outcome.error);\n }\n }\n } else {\n // Build sequentially\n for (const tool of tools) {\n try {\n const result = await buildToolWidgetManifest({\n toolName: tool.toolName,\n uiConfig: tool.uiConfig,\n schema: tool.schema,\n theme,\n });\n results.set(tool.toolName, result);\n } catch (error) {\n errors.set(\n tool.toolName,\n error instanceof Error ? error : new Error(String(error))\n );\n }\n }\n }\n\n return {\n results,\n totalTime: performance.now() - startTime,\n successCount: results.size,\n errors,\n };\n}\n\n// ============================================\n// _meta Field Builders\n// ============================================\n\n/**\n * Options for building tool response _meta fields.\n */\nexport interface BuildMetaOptions {\n /**\n * Build result from buildToolWidgetManifest.\n */\n buildResult: BuildManifestResult;\n\n /**\n * Output mode - determines which content to include.\n * - 'code-only': Include ui/content (transpiled code only)\n * - 'full-ssr': Include ui/html (complete HTML document)\n *\n * @default 'code-only'\n */\n outputMode?: OutputMode;\n\n /**\n * Include OpenAI-specific meta fields.\n * @default true\n */\n includeOpenAI?: boolean;\n}\n\n/**\n * Build _meta fields for a tool response.\n *\n * This function generates the proper _meta structure for UI widgets.\n * All UI-related data goes in _meta, NOT in the content array.\n *\n * @param options - Build options\n * @returns _meta fields object to spread into tool response\n *\n * @example\n * ```typescript\n * const buildResult = await buildToolWidgetManifest({...});\n *\n * // For OpenAI (code-only mode)\n * const meta = buildToolResponseMeta({\n * buildResult,\n * outputMode: 'code-only',\n * });\n *\n * return {\n * content: [{ type: 'text', text: 'Weather retrieved' }],\n * _meta: meta,\n * };\n *\n * // For unknown clients (full-ssr mode)\n * const meta = buildToolResponseMeta({\n * buildResult,\n * outputMode: 'full-ssr',\n * });\n * ```\n */\nexport function buildToolResponseMeta(options: BuildMetaOptions): ToolResponseMeta {\n const { buildResult, outputMode = 'code-only', includeOpenAI = true } = options;\n const { manifest, content, html, hash, rendererType } = buildResult;\n\n // Base UI meta fields\n const meta: ToolResponseMeta = {\n 'ui/type': rendererType,\n 'ui/hash': hash,\n };\n\n // Add content based on output mode\n if (outputMode === 'code-only') {\n meta['ui/content'] = content;\n } else {\n meta['ui/html'] = html;\n }\n\n // Add optional fields from manifest\n if (manifest.displayMode && manifest.displayMode !== 'inline') {\n meta['ui/displayMode'] = manifest.displayMode;\n }\n\n if (manifest.widgetAccessible) {\n meta['ui/widgetAccessible'] = true;\n }\n\n if (manifest.description) {\n meta['ui/description'] = manifest.description;\n }\n\n // Add resource mode if not default\n if (manifest.rendererAssets?.mode && manifest.rendererAssets.mode !== 'cdn') {\n meta['ui/resourceMode'] = manifest.rendererAssets.mode;\n }\n\n // Add OpenAI-specific fields\n if (includeOpenAI) {\n if (manifest.widgetAccessible) {\n meta['openai/widgetAccessible'] = true;\n }\n\n if (manifest.description) {\n meta['openai/widgetDescription'] = manifest.description;\n }\n\n if (manifest.displayMode && manifest.displayMode !== 'inline') {\n meta['openai/displayMode'] = manifest.displayMode;\n }\n\n // Build OpenAI CSP from manifest CSP\n const csp = manifest.csp;\n if (csp) {\n const openaiCsp: OpenAIMetaFields['openai/widgetCSP'] = {};\n\n if (csp.connectSrc && csp.connectSrc.length > 0) {\n openaiCsp.connect_domains = csp.connectSrc.filter(\n (d) => d !== \"'self'\" && d !== \"'none'\"\n );\n }\n\n const resourceDomains = [\n ...(csp.scriptSrc || []),\n ...(csp.styleSrc || []),\n ...(csp.imgSrc || []),\n ].filter((d) => d !== \"'self'\" && d !== \"'unsafe-inline'\" && d !== \"'none'\");\n\n if (resourceDomains.length > 0) {\n openaiCsp.resource_domains = [...new Set(resourceDomains)];\n }\n\n if (openaiCsp.connect_domains?.length || openaiCsp.resource_domains?.length) {\n meta['openai/widgetCSP'] = openaiCsp;\n }\n }\n }\n\n return meta;\n}\n\n/**\n * Determine the appropriate output mode based on client info.\n *\n * @param clientInfo - MCP client information\n * @returns Recommended output mode\n *\n * @example\n * ```typescript\n * const outputMode = getOutputModeForClient(request.clientInfo);\n * const meta = buildToolResponseMeta({ buildResult, outputMode });\n * ```\n */\nexport function getOutputModeForClient(clientInfo?: {\n name?: string;\n version?: string;\n}): OutputMode {\n if (!clientInfo?.name) {\n // Unknown client - use full SSR for safety\n return 'full-ssr';\n }\n\n const name = clientInfo.name.toLowerCase();\n\n // Capable clients that provide their own runtime\n if (\n name.includes('openai') ||\n name.includes('chatgpt') ||\n name.includes('cursor') ||\n name.includes('claude') // Claude Desktop might support code-only in future\n ) {\n return 'code-only';\n }\n\n // Default to full SSR for unknown clients\n return 'full-ssr';\n}\n"]}
|
package/src/bundler/bundler.d.ts
DELETED
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* In-Memory Bundler
|
|
3
|
-
*
|
|
4
|
-
* Fast, secure bundler for JSX/TSX/MDX sources using esbuild.
|
|
5
|
-
* Provides caching, security validation, and SSR support.
|
|
6
|
-
*
|
|
7
|
-
* @packageDocumentation
|
|
8
|
-
*/
|
|
9
|
-
import type { BundleOptions, BundleResult, SSRBundleOptions, SSRResult, BundlerOptions } from './types';
|
|
10
|
-
/**
|
|
11
|
-
* In-memory bundler for JSX/TSX/MDX sources.
|
|
12
|
-
*
|
|
13
|
-
* Features:
|
|
14
|
-
* - Fast transformation using esbuild (fallback to SWC)
|
|
15
|
-
* - Content-addressable caching
|
|
16
|
-
* - Security validation (blocked imports, eval, etc.)
|
|
17
|
-
* - SSR support for React components
|
|
18
|
-
*
|
|
19
|
-
* @example
|
|
20
|
-
* ```typescript
|
|
21
|
-
* const bundler = new InMemoryBundler();
|
|
22
|
-
*
|
|
23
|
-
* // Bundle JSX source
|
|
24
|
-
* const result = await bundler.bundle({
|
|
25
|
-
* source: 'const App = () => <div>Hello</div>; export default App;',
|
|
26
|
-
* sourceType: 'jsx',
|
|
27
|
-
* });
|
|
28
|
-
*
|
|
29
|
-
* console.log(result.code); // Bundled JavaScript
|
|
30
|
-
* console.log(result.cached); // Whether from cache
|
|
31
|
-
*
|
|
32
|
-
* // SSR rendering
|
|
33
|
-
* const ssrResult = await bundler.bundleSSR({
|
|
34
|
-
* source: 'export default ({ data }) => <div>{data.message}</div>',
|
|
35
|
-
* sourceType: 'jsx',
|
|
36
|
-
* context: { data: { message: 'Hello' } },
|
|
37
|
-
* });
|
|
38
|
-
*
|
|
39
|
-
* console.log(ssrResult.html); // Rendered HTML
|
|
40
|
-
* ```
|
|
41
|
-
*/
|
|
42
|
-
export declare class InMemoryBundler {
|
|
43
|
-
private readonly cache;
|
|
44
|
-
private readonly options;
|
|
45
|
-
private readonly defaultSecurity;
|
|
46
|
-
constructor(options?: BundlerOptions);
|
|
47
|
-
/**
|
|
48
|
-
* Bundle source code.
|
|
49
|
-
*
|
|
50
|
-
* @param options - Bundle options
|
|
51
|
-
* @returns Bundle result
|
|
52
|
-
*/
|
|
53
|
-
bundle(options: BundleOptions): Promise<BundleResult>;
|
|
54
|
-
/**
|
|
55
|
-
* Bundle and execute for SSR.
|
|
56
|
-
*
|
|
57
|
-
* @param options - SSR bundle options
|
|
58
|
-
* @returns SSR result with rendered HTML
|
|
59
|
-
*/
|
|
60
|
-
bundleSSR(options: SSRBundleOptions): Promise<SSRResult>;
|
|
61
|
-
/**
|
|
62
|
-
* Bundle and execute code, returning the exports.
|
|
63
|
-
*
|
|
64
|
-
* @param options - Bundle options
|
|
65
|
-
* @param context - Execution context
|
|
66
|
-
* @returns Exported value
|
|
67
|
-
*/
|
|
68
|
-
bundleAndExecute<T = unknown>(options: BundleOptions, context?: Record<string, unknown>): Promise<T>;
|
|
69
|
-
/**
|
|
70
|
-
* Get cache statistics.
|
|
71
|
-
*/
|
|
72
|
-
getCacheStats(): import("./cache").CacheStats;
|
|
73
|
-
/**
|
|
74
|
-
* Clear the cache.
|
|
75
|
-
*/
|
|
76
|
-
clearCache(): void;
|
|
77
|
-
/**
|
|
78
|
-
* Clean up expired cache entries.
|
|
79
|
-
*/
|
|
80
|
-
cleanupCache(): number;
|
|
81
|
-
/**
|
|
82
|
-
* Transform source code using esbuild/SWC.
|
|
83
|
-
*/
|
|
84
|
-
private transform;
|
|
85
|
-
/**
|
|
86
|
-
* Get esbuild loader for source type.
|
|
87
|
-
*/
|
|
88
|
-
private getLoader;
|
|
89
|
-
/**
|
|
90
|
-
* Detect source type from content.
|
|
91
|
-
*/
|
|
92
|
-
private detectSourceType;
|
|
93
|
-
/**
|
|
94
|
-
* Merge bundle options with defaults.
|
|
95
|
-
*/
|
|
96
|
-
private mergeOptions;
|
|
97
|
-
/**
|
|
98
|
-
* Build hydration script for client-side React.
|
|
99
|
-
*/
|
|
100
|
-
private buildHydrationScript;
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* Create a bundler instance with default options.
|
|
104
|
-
*
|
|
105
|
-
* @param options - Bundler configuration
|
|
106
|
-
* @returns New bundler instance
|
|
107
|
-
*/
|
|
108
|
-
export declare function createBundler(options?: BundlerOptions): InMemoryBundler;
|
|
109
|
-
export { SecurityError } from './sandbox/policy';
|
|
110
|
-
export { ExecutionError } from './sandbox/executor';
|
package/src/bundler/bundler.js
DELETED
|
@@ -1,432 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* In-Memory Bundler
|
|
4
|
-
*
|
|
5
|
-
* Fast, secure bundler for JSX/TSX/MDX sources using esbuild.
|
|
6
|
-
* Provides caching, security validation, and SSR support.
|
|
7
|
-
*
|
|
8
|
-
* @packageDocumentation
|
|
9
|
-
*/
|
|
10
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
-
exports.ExecutionError = exports.SecurityError = exports.InMemoryBundler = void 0;
|
|
12
|
-
exports.createBundler = createBundler;
|
|
13
|
-
const types_1 = require("./types");
|
|
14
|
-
const cache_1 = require("./cache");
|
|
15
|
-
const policy_1 = require("./sandbox/policy");
|
|
16
|
-
const executor_1 = require("./sandbox/executor");
|
|
17
|
-
/**
|
|
18
|
-
* Lazy-loaded esbuild transform function.
|
|
19
|
-
*/
|
|
20
|
-
let esbuildTransform = null;
|
|
21
|
-
/**
|
|
22
|
-
* Load esbuild transform function.
|
|
23
|
-
*/
|
|
24
|
-
async function loadEsbuild() {
|
|
25
|
-
if (esbuildTransform !== null) {
|
|
26
|
-
return esbuildTransform;
|
|
27
|
-
}
|
|
28
|
-
try {
|
|
29
|
-
const esbuild = await import('esbuild');
|
|
30
|
-
esbuildTransform = esbuild.transform;
|
|
31
|
-
return esbuildTransform;
|
|
32
|
-
}
|
|
33
|
-
catch {
|
|
34
|
-
// Fallback: try @swc/core
|
|
35
|
-
try {
|
|
36
|
-
const swc = await import('@swc/core');
|
|
37
|
-
esbuildTransform = async (source, options) => {
|
|
38
|
-
const opts = options;
|
|
39
|
-
const result = await swc.transform(source, {
|
|
40
|
-
jsc: {
|
|
41
|
-
parser: {
|
|
42
|
-
syntax: 'typescript',
|
|
43
|
-
tsx: opts.loader === 'tsx' || opts.loader === 'jsx',
|
|
44
|
-
},
|
|
45
|
-
transform: {
|
|
46
|
-
react: {
|
|
47
|
-
runtime: 'automatic',
|
|
48
|
-
development: false,
|
|
49
|
-
},
|
|
50
|
-
},
|
|
51
|
-
target: 'es2020',
|
|
52
|
-
minify: opts.minify ? { compress: true, mangle: true } : undefined,
|
|
53
|
-
},
|
|
54
|
-
module: {
|
|
55
|
-
type: 'commonjs',
|
|
56
|
-
},
|
|
57
|
-
sourceMaps: opts.sourcemap ? true : false,
|
|
58
|
-
});
|
|
59
|
-
return { code: result.code, map: result.map };
|
|
60
|
-
};
|
|
61
|
-
return esbuildTransform;
|
|
62
|
-
}
|
|
63
|
-
catch {
|
|
64
|
-
console.warn('[@frontmcp/ui/bundler] Neither esbuild nor @swc/core available. ' +
|
|
65
|
-
'Install esbuild for best performance: npm install esbuild');
|
|
66
|
-
return null;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* In-memory bundler for JSX/TSX/MDX sources.
|
|
72
|
-
*
|
|
73
|
-
* Features:
|
|
74
|
-
* - Fast transformation using esbuild (fallback to SWC)
|
|
75
|
-
* - Content-addressable caching
|
|
76
|
-
* - Security validation (blocked imports, eval, etc.)
|
|
77
|
-
* - SSR support for React components
|
|
78
|
-
*
|
|
79
|
-
* @example
|
|
80
|
-
* ```typescript
|
|
81
|
-
* const bundler = new InMemoryBundler();
|
|
82
|
-
*
|
|
83
|
-
* // Bundle JSX source
|
|
84
|
-
* const result = await bundler.bundle({
|
|
85
|
-
* source: 'const App = () => <div>Hello</div>; export default App;',
|
|
86
|
-
* sourceType: 'jsx',
|
|
87
|
-
* });
|
|
88
|
-
*
|
|
89
|
-
* console.log(result.code); // Bundled JavaScript
|
|
90
|
-
* console.log(result.cached); // Whether from cache
|
|
91
|
-
*
|
|
92
|
-
* // SSR rendering
|
|
93
|
-
* const ssrResult = await bundler.bundleSSR({
|
|
94
|
-
* source: 'export default ({ data }) => <div>{data.message}</div>',
|
|
95
|
-
* sourceType: 'jsx',
|
|
96
|
-
* context: { data: { message: 'Hello' } },
|
|
97
|
-
* });
|
|
98
|
-
*
|
|
99
|
-
* console.log(ssrResult.html); // Rendered HTML
|
|
100
|
-
* ```
|
|
101
|
-
*/
|
|
102
|
-
class InMemoryBundler {
|
|
103
|
-
cache;
|
|
104
|
-
options;
|
|
105
|
-
defaultSecurity;
|
|
106
|
-
constructor(options = {}) {
|
|
107
|
-
this.options = {
|
|
108
|
-
...types_1.DEFAULT_BUNDLER_OPTIONS,
|
|
109
|
-
...options,
|
|
110
|
-
cache: {
|
|
111
|
-
...types_1.DEFAULT_BUNDLER_OPTIONS.cache,
|
|
112
|
-
...options.cache,
|
|
113
|
-
},
|
|
114
|
-
};
|
|
115
|
-
this.cache = new cache_1.BundlerCache({
|
|
116
|
-
maxSize: this.options.cache.maxSize,
|
|
117
|
-
ttl: this.options.cache.ttl,
|
|
118
|
-
});
|
|
119
|
-
this.defaultSecurity = (0, policy_1.mergePolicy)(options.defaultSecurity);
|
|
120
|
-
}
|
|
121
|
-
/**
|
|
122
|
-
* Bundle source code.
|
|
123
|
-
*
|
|
124
|
-
* @param options - Bundle options
|
|
125
|
-
* @returns Bundle result
|
|
126
|
-
*/
|
|
127
|
-
async bundle(options) {
|
|
128
|
-
const startTime = performance.now();
|
|
129
|
-
// Merge options with defaults
|
|
130
|
-
const opts = this.mergeOptions(options);
|
|
131
|
-
// Check cache first
|
|
132
|
-
if (!opts.skipCache && !this.options.cache.disabled) {
|
|
133
|
-
const cacheKey = options.cacheKey ?? (0, cache_1.createCacheKey)(options.source, opts);
|
|
134
|
-
const cached = this.cache.get(cacheKey);
|
|
135
|
-
if (cached) {
|
|
136
|
-
return {
|
|
137
|
-
...cached,
|
|
138
|
-
cached: true,
|
|
139
|
-
metrics: {
|
|
140
|
-
...cached.metrics,
|
|
141
|
-
cacheTime: performance.now() - startTime,
|
|
142
|
-
},
|
|
143
|
-
};
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
// Validate security
|
|
147
|
-
const security = (0, policy_1.mergePolicy)(options.security ?? this.defaultSecurity);
|
|
148
|
-
const violations = (0, policy_1.validateSource)(options.source, security);
|
|
149
|
-
(0, policy_1.throwOnViolations)(violations);
|
|
150
|
-
// Detect source type
|
|
151
|
-
const sourceType = opts.sourceType === 'auto' ? this.detectSourceType(options.source) : opts.sourceType;
|
|
152
|
-
// Transform
|
|
153
|
-
const transformStart = performance.now();
|
|
154
|
-
const transformed = await this.transform(options.source, sourceType, opts);
|
|
155
|
-
const transformTime = performance.now() - transformStart;
|
|
156
|
-
// Validate size
|
|
157
|
-
const sizeViolation = (0, policy_1.validateSize)(transformed.code.length, security);
|
|
158
|
-
if (sizeViolation) {
|
|
159
|
-
(0, policy_1.throwOnViolations)([sizeViolation]);
|
|
160
|
-
}
|
|
161
|
-
// Build result
|
|
162
|
-
const hash = (0, cache_1.hashContent)(transformed.code);
|
|
163
|
-
const result = {
|
|
164
|
-
code: transformed.code,
|
|
165
|
-
hash,
|
|
166
|
-
cached: false,
|
|
167
|
-
size: transformed.code.length,
|
|
168
|
-
map: transformed.map,
|
|
169
|
-
metrics: {
|
|
170
|
-
transformTime,
|
|
171
|
-
bundleTime: 0, // No separate bundle step for transform-only
|
|
172
|
-
totalTime: performance.now() - startTime,
|
|
173
|
-
},
|
|
174
|
-
sourceType,
|
|
175
|
-
format: opts.format,
|
|
176
|
-
};
|
|
177
|
-
// Cache result
|
|
178
|
-
if (!this.options.cache.disabled) {
|
|
179
|
-
const cacheKey = options.cacheKey ?? (0, cache_1.createCacheKey)(options.source, opts);
|
|
180
|
-
this.cache.set(cacheKey, result);
|
|
181
|
-
}
|
|
182
|
-
return result;
|
|
183
|
-
}
|
|
184
|
-
/**
|
|
185
|
-
* Bundle and execute for SSR.
|
|
186
|
-
*
|
|
187
|
-
* @param options - SSR bundle options
|
|
188
|
-
* @returns SSR result with rendered HTML
|
|
189
|
-
*/
|
|
190
|
-
async bundleSSR(options) {
|
|
191
|
-
const startTime = performance.now();
|
|
192
|
-
// First, bundle the source
|
|
193
|
-
const bundleResult = await this.bundle({
|
|
194
|
-
...options,
|
|
195
|
-
format: 'cjs', // CommonJS for execution
|
|
196
|
-
});
|
|
197
|
-
// Load React for SSR
|
|
198
|
-
let React;
|
|
199
|
-
let ReactDOMServer;
|
|
200
|
-
try {
|
|
201
|
-
React = await import('react');
|
|
202
|
-
ReactDOMServer = await import('react-dom/server');
|
|
203
|
-
}
|
|
204
|
-
catch {
|
|
205
|
-
throw new Error('React and react-dom/server are required for SSR. Install them: npm install react react-dom');
|
|
206
|
-
}
|
|
207
|
-
// Execute the bundled code
|
|
208
|
-
const renderStart = performance.now();
|
|
209
|
-
const Component = await (0, executor_1.executeDefault)(bundleResult.code, {
|
|
210
|
-
React,
|
|
211
|
-
security: (0, policy_1.mergePolicy)(options.security ?? this.defaultSecurity),
|
|
212
|
-
});
|
|
213
|
-
// Render to HTML
|
|
214
|
-
let html;
|
|
215
|
-
try {
|
|
216
|
-
const element = React.createElement(Component, options.context ?? {});
|
|
217
|
-
html = ReactDOMServer.renderToString(element);
|
|
218
|
-
}
|
|
219
|
-
catch (error) {
|
|
220
|
-
throw new executor_1.ExecutionError(`SSR rendering failed: ${error instanceof Error ? error.message : String(error)}`, error);
|
|
221
|
-
}
|
|
222
|
-
const renderTime = performance.now() - renderStart;
|
|
223
|
-
// Build hydration script if requested
|
|
224
|
-
let hydrationScript;
|
|
225
|
-
if (options.includeHydration) {
|
|
226
|
-
hydrationScript = this.buildHydrationScript(bundleResult.code, options.context);
|
|
227
|
-
}
|
|
228
|
-
return {
|
|
229
|
-
...bundleResult,
|
|
230
|
-
html,
|
|
231
|
-
hydrationScript,
|
|
232
|
-
metrics: {
|
|
233
|
-
...bundleResult.metrics,
|
|
234
|
-
totalTime: performance.now() - startTime,
|
|
235
|
-
},
|
|
236
|
-
ssrMetrics: {
|
|
237
|
-
renderTime,
|
|
238
|
-
},
|
|
239
|
-
};
|
|
240
|
-
}
|
|
241
|
-
/**
|
|
242
|
-
* Bundle and execute code, returning the exports.
|
|
243
|
-
*
|
|
244
|
-
* @param options - Bundle options
|
|
245
|
-
* @param context - Execution context
|
|
246
|
-
* @returns Exported value
|
|
247
|
-
*/
|
|
248
|
-
async bundleAndExecute(options, context) {
|
|
249
|
-
// Bundle first
|
|
250
|
-
const result = await this.bundle({
|
|
251
|
-
...options,
|
|
252
|
-
format: 'cjs', // CommonJS for execution
|
|
253
|
-
});
|
|
254
|
-
// Load React if available
|
|
255
|
-
let React;
|
|
256
|
-
try {
|
|
257
|
-
React = await import('react');
|
|
258
|
-
}
|
|
259
|
-
catch {
|
|
260
|
-
// React not available, that's okay
|
|
261
|
-
}
|
|
262
|
-
// Execute
|
|
263
|
-
return (0, executor_1.executeDefault)(result.code, {
|
|
264
|
-
React,
|
|
265
|
-
globals: context,
|
|
266
|
-
security: (0, policy_1.mergePolicy)(options.security ?? this.defaultSecurity),
|
|
267
|
-
});
|
|
268
|
-
}
|
|
269
|
-
/**
|
|
270
|
-
* Get cache statistics.
|
|
271
|
-
*/
|
|
272
|
-
getCacheStats() {
|
|
273
|
-
return this.cache.getStats();
|
|
274
|
-
}
|
|
275
|
-
/**
|
|
276
|
-
* Clear the cache.
|
|
277
|
-
*/
|
|
278
|
-
clearCache() {
|
|
279
|
-
this.cache.clear();
|
|
280
|
-
}
|
|
281
|
-
/**
|
|
282
|
-
* Clean up expired cache entries.
|
|
283
|
-
*/
|
|
284
|
-
cleanupCache() {
|
|
285
|
-
return this.cache.cleanup();
|
|
286
|
-
}
|
|
287
|
-
/**
|
|
288
|
-
* Transform source code using esbuild/SWC.
|
|
289
|
-
*/
|
|
290
|
-
async transform(source, sourceType, options) {
|
|
291
|
-
const transform = await loadEsbuild();
|
|
292
|
-
if (!transform) {
|
|
293
|
-
throw new Error('No bundler available. Install esbuild or @swc/core: npm install esbuild');
|
|
294
|
-
}
|
|
295
|
-
// Map source type to loader
|
|
296
|
-
const loader = this.getLoader(sourceType);
|
|
297
|
-
// Build esbuild options
|
|
298
|
-
const esbuildOptions = {
|
|
299
|
-
loader,
|
|
300
|
-
minify: options.minify,
|
|
301
|
-
sourcemap: options.sourceMaps,
|
|
302
|
-
target: options.target,
|
|
303
|
-
format: options.format === 'cjs' ? 'cjs' : options.format === 'esm' ? 'esm' : 'iife',
|
|
304
|
-
jsx: 'automatic',
|
|
305
|
-
jsxImportSource: options.jsx.importSource,
|
|
306
|
-
};
|
|
307
|
-
try {
|
|
308
|
-
const result = await transform(source, esbuildOptions);
|
|
309
|
-
return {
|
|
310
|
-
code: result.code,
|
|
311
|
-
map: result.map,
|
|
312
|
-
};
|
|
313
|
-
}
|
|
314
|
-
catch (error) {
|
|
315
|
-
throw new Error(`Transform failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
316
|
-
}
|
|
317
|
-
}
|
|
318
|
-
/**
|
|
319
|
-
* Get esbuild loader for source type.
|
|
320
|
-
*/
|
|
321
|
-
getLoader(sourceType) {
|
|
322
|
-
switch (sourceType) {
|
|
323
|
-
case 'jsx':
|
|
324
|
-
return 'jsx';
|
|
325
|
-
case 'tsx':
|
|
326
|
-
return 'tsx';
|
|
327
|
-
case 'mdx':
|
|
328
|
-
return 'tsx'; // MDX compiles to JSX/TSX
|
|
329
|
-
case 'html':
|
|
330
|
-
return 'text';
|
|
331
|
-
default:
|
|
332
|
-
return 'tsx';
|
|
333
|
-
}
|
|
334
|
-
}
|
|
335
|
-
/**
|
|
336
|
-
* Detect source type from content.
|
|
337
|
-
*/
|
|
338
|
-
detectSourceType(source) {
|
|
339
|
-
// Check for TypeScript types
|
|
340
|
-
const hasTypeScript = /:\s*(string|number|boolean|any|unknown|void|never|object)\b/.test(source) ||
|
|
341
|
-
/interface\s+\w+/.test(source) ||
|
|
342
|
-
/type\s+\w+\s*=/.test(source) ||
|
|
343
|
-
/<\w+>/.test(source); // Generic syntax
|
|
344
|
-
// Check for JSX
|
|
345
|
-
const hasJSX = /<[A-Z][a-zA-Z]*/.test(source) || // Component tags
|
|
346
|
-
/<[a-z]+\s/.test(source) || // HTML tags with attributes
|
|
347
|
-
/<[a-z]+>/.test(source) || // Self-closing HTML tags
|
|
348
|
-
/<\/[a-z]+>/.test(source); // Closing tags
|
|
349
|
-
// Check for MDX
|
|
350
|
-
const hasMDX = /^#\s+/.test(source) || // Markdown heading
|
|
351
|
-
/^-\s+/.test(source) || // Markdown list
|
|
352
|
-
/\*\*\w+\*\*/.test(source) || // Bold
|
|
353
|
-
/```\w*\n/.test(source); // Code block
|
|
354
|
-
if (hasMDX && hasJSX) {
|
|
355
|
-
return 'mdx';
|
|
356
|
-
}
|
|
357
|
-
if (hasTypeScript && hasJSX) {
|
|
358
|
-
return 'tsx';
|
|
359
|
-
}
|
|
360
|
-
if (hasJSX) {
|
|
361
|
-
return 'jsx';
|
|
362
|
-
}
|
|
363
|
-
if (hasTypeScript) {
|
|
364
|
-
return 'tsx';
|
|
365
|
-
}
|
|
366
|
-
return 'jsx';
|
|
367
|
-
}
|
|
368
|
-
/**
|
|
369
|
-
* Merge bundle options with defaults.
|
|
370
|
-
*/
|
|
371
|
-
mergeOptions(options) {
|
|
372
|
-
return {
|
|
373
|
-
sourceType: options.sourceType ?? types_1.DEFAULT_BUNDLE_OPTIONS.sourceType,
|
|
374
|
-
format: options.format ?? types_1.DEFAULT_BUNDLE_OPTIONS.format,
|
|
375
|
-
minify: options.minify ?? types_1.DEFAULT_BUNDLE_OPTIONS.minify,
|
|
376
|
-
sourceMaps: options.sourceMaps ?? types_1.DEFAULT_BUNDLE_OPTIONS.sourceMaps,
|
|
377
|
-
externals: options.externals ?? types_1.DEFAULT_BUNDLE_OPTIONS.externals,
|
|
378
|
-
jsx: {
|
|
379
|
-
...types_1.DEFAULT_BUNDLE_OPTIONS.jsx,
|
|
380
|
-
...options.jsx,
|
|
381
|
-
},
|
|
382
|
-
target: options.target ?? types_1.DEFAULT_BUNDLE_OPTIONS.target,
|
|
383
|
-
globalName: options.globalName ?? types_1.DEFAULT_BUNDLE_OPTIONS.globalName,
|
|
384
|
-
skipCache: options.skipCache ?? types_1.DEFAULT_BUNDLE_OPTIONS.skipCache,
|
|
385
|
-
};
|
|
386
|
-
}
|
|
387
|
-
/**
|
|
388
|
-
* Build hydration script for client-side React.
|
|
389
|
-
*/
|
|
390
|
-
buildHydrationScript(bundledCode, context) {
|
|
391
|
-
const contextJson = context ? JSON.stringify(context) : '{}';
|
|
392
|
-
return `
|
|
393
|
-
(function() {
|
|
394
|
-
var context = ${contextJson};
|
|
395
|
-
var exports = {};
|
|
396
|
-
var module = { exports: exports };
|
|
397
|
-
|
|
398
|
-
// Execute bundled code
|
|
399
|
-
(function(exports, module) {
|
|
400
|
-
${bundledCode}
|
|
401
|
-
})(exports, module);
|
|
402
|
-
|
|
403
|
-
// Get component
|
|
404
|
-
var Component = module.exports.default || module.exports;
|
|
405
|
-
|
|
406
|
-
// Hydrate
|
|
407
|
-
if (typeof ReactDOM !== 'undefined' && ReactDOM.hydrateRoot) {
|
|
408
|
-
var container = document.getElementById('root') || document.body.firstElementChild;
|
|
409
|
-
if (container) {
|
|
410
|
-
ReactDOM.hydrateRoot(container, React.createElement(Component, context));
|
|
411
|
-
}
|
|
412
|
-
}
|
|
413
|
-
})();
|
|
414
|
-
`.trim();
|
|
415
|
-
}
|
|
416
|
-
}
|
|
417
|
-
exports.InMemoryBundler = InMemoryBundler;
|
|
418
|
-
/**
|
|
419
|
-
* Create a bundler instance with default options.
|
|
420
|
-
*
|
|
421
|
-
* @param options - Bundler configuration
|
|
422
|
-
* @returns New bundler instance
|
|
423
|
-
*/
|
|
424
|
-
function createBundler(options) {
|
|
425
|
-
return new InMemoryBundler(options);
|
|
426
|
-
}
|
|
427
|
-
// Re-export errors for convenience
|
|
428
|
-
var policy_2 = require("./sandbox/policy");
|
|
429
|
-
Object.defineProperty(exports, "SecurityError", { enumerable: true, get: function () { return policy_2.SecurityError; } });
|
|
430
|
-
var executor_2 = require("./sandbox/executor");
|
|
431
|
-
Object.defineProperty(exports, "ExecutionError", { enumerable: true, get: function () { return executor_2.ExecutionError; } });
|
|
432
|
-
//# sourceMappingURL=bundler.js.map
|