@frontmcp/uipack 0.12.2 → 1.0.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CLAUDE.md +56 -154
- package/README.md +367 -62
- package/adapters/base-template.d.ts +30 -0
- package/adapters/base-template.d.ts.map +1 -0
- package/adapters/cdn-info.d.ts +34 -0
- package/adapters/cdn-info.d.ts.map +1 -0
- package/adapters/constants.d.ts +18 -0
- package/adapters/constants.d.ts.map +1 -0
- package/adapters/content-detector.d.ts +19 -0
- package/adapters/content-detector.d.ts.map +1 -0
- package/adapters/content-renderers.d.ts +27 -0
- package/adapters/content-renderers.d.ts.map +1 -0
- package/adapters/index.d.ts +14 -7
- package/adapters/index.d.ts.map +1 -1
- package/adapters/index.js +2343 -426
- package/adapters/render-failure.d.ts +18 -0
- package/adapters/render-failure.d.ts.map +1 -0
- package/adapters/response-builder.d.ts +34 -104
- package/adapters/response-builder.d.ts.map +1 -1
- package/adapters/serving-mode.d.ts +28 -91
- package/adapters/serving-mode.d.ts.map +1 -1
- package/adapters/template-renderer.d.ts +50 -0
- package/adapters/template-renderer.d.ts.map +1 -0
- package/adapters/type-detector.d.ts +18 -0
- package/adapters/type-detector.d.ts.map +1 -0
- package/bridge-runtime/index.js +1 -1
- package/component/index.d.ts +14 -0
- package/component/index.d.ts.map +1 -0
- package/component/index.js +2043 -0
- package/component/loader.d.ts +36 -0
- package/component/loader.d.ts.map +1 -0
- package/component/renderer.d.ts +30 -0
- package/component/renderer.d.ts.map +1 -0
- package/component/transpiler.d.ts +49 -0
- package/component/transpiler.d.ts.map +1 -0
- package/component/types.d.ts +82 -0
- package/component/types.d.ts.map +1 -0
- package/esm/adapters/index.mjs +2337 -422
- package/esm/bridge-runtime/index.mjs +1 -1
- package/esm/component/index.mjs +2013 -0
- package/esm/index.mjs +3446 -13935
- package/esm/package.json +3 -12
- package/esm/resolver/index.mjs +661 -0
- package/esm/shell/index.mjs +1406 -0
- package/esm/types/index.mjs +11 -11
- package/esm/utils/index.mjs +53 -8
- package/index.d.ts +12 -40
- package/index.d.ts.map +1 -1
- package/index.js +3579 -14218
- package/package.json +3 -12
- package/resolver/cdn-registry.d.ts +39 -0
- package/resolver/cdn-registry.d.ts.map +1 -0
- package/resolver/esm-sh.resolver.d.ts +54 -0
- package/resolver/esm-sh.resolver.d.ts.map +1 -0
- package/resolver/import-map.d.ts +47 -0
- package/resolver/import-map.d.ts.map +1 -0
- package/resolver/import-parser.d.ts +28 -0
- package/resolver/import-parser.d.ts.map +1 -0
- package/resolver/import-rewriter.d.ts +29 -0
- package/resolver/import-rewriter.d.ts.map +1 -0
- package/resolver/index.d.ts +15 -0
- package/resolver/index.d.ts.map +1 -0
- package/resolver/index.js +708 -0
- package/resolver/types.d.ts +191 -0
- package/resolver/types.d.ts.map +1 -0
- package/shell/builder.d.ts +31 -0
- package/shell/builder.d.ts.map +1 -0
- package/shell/csp.d.ts +37 -0
- package/shell/csp.d.ts.map +1 -0
- package/shell/custom-shell-applier.d.ts +33 -0
- package/shell/custom-shell-applier.d.ts.map +1 -0
- package/shell/custom-shell-resolver.d.ts +47 -0
- package/shell/custom-shell-resolver.d.ts.map +1 -0
- package/shell/custom-shell-types.d.ts +75 -0
- package/shell/custom-shell-types.d.ts.map +1 -0
- package/shell/custom-shell-validator.d.ts +26 -0
- package/shell/custom-shell-validator.d.ts.map +1 -0
- package/shell/data-injector.d.ts +40 -0
- package/shell/data-injector.d.ts.map +1 -0
- package/shell/index.d.ts +19 -0
- package/shell/index.d.ts.map +1 -0
- package/shell/index.js +1453 -0
- package/shell/types.d.ts +54 -0
- package/shell/types.d.ts.map +1 -0
- package/types/index.d.ts +1 -3
- package/types/index.d.ts.map +1 -1
- package/types/index.js +11 -11
- package/types/ui-config.d.ts +50 -11
- package/types/ui-config.d.ts.map +1 -1
- package/types/ui-runtime.d.ts +8 -82
- package/types/ui-runtime.d.ts.map +1 -1
- package/utils/index.d.ts +9 -3
- package/utils/index.d.ts.map +1 -1
- package/utils/index.js +59 -7
- package/adapters/platform-meta.constants.d.ts +0 -26
- package/adapters/platform-meta.constants.d.ts.map +0 -1
- package/adapters/platform-meta.d.ts +0 -234
- package/adapters/platform-meta.d.ts.map +0 -1
- package/base-template/bridge.d.ts +0 -90
- package/base-template/bridge.d.ts.map +0 -1
- package/base-template/default-base-template.d.ts +0 -91
- package/base-template/default-base-template.d.ts.map +0 -1
- package/base-template/index.d.ts +0 -15
- package/base-template/index.d.ts.map +0 -1
- package/base-template/index.js +0 -1393
- package/base-template/polyfills.d.ts +0 -31
- package/base-template/polyfills.d.ts.map +0 -1
- package/base-template/theme-styles.d.ts +0 -74
- package/base-template/theme-styles.d.ts.map +0 -1
- package/build/builders/base-builder.d.ts +0 -124
- package/build/builders/base-builder.d.ts.map +0 -1
- package/build/builders/esbuild-config.d.ts +0 -94
- package/build/builders/esbuild-config.d.ts.map +0 -1
- package/build/builders/hybrid-builder.d.ts +0 -93
- package/build/builders/hybrid-builder.d.ts.map +0 -1
- package/build/builders/index.d.ts +0 -17
- package/build/builders/index.d.ts.map +0 -1
- package/build/builders/inline-builder.d.ts +0 -83
- package/build/builders/inline-builder.d.ts.map +0 -1
- package/build/builders/static-builder.d.ts +0 -78
- package/build/builders/static-builder.d.ts.map +0 -1
- package/build/builders/types.d.ts +0 -341
- package/build/builders/types.d.ts.map +0 -1
- package/build/cdn-resources.d.ts +0 -244
- package/build/cdn-resources.d.ts.map +0 -1
- package/build/hybrid-data.d.ts +0 -127
- package/build/hybrid-data.d.ts.map +0 -1
- package/build/index.d.ts +0 -299
- package/build/index.d.ts.map +0 -1
- package/build/index.js +0 -8699
- package/build/ui-components-browser.d.ts +0 -64
- package/build/ui-components-browser.d.ts.map +0 -1
- package/build/widget-manifest.d.ts +0 -362
- package/build/widget-manifest.d.ts.map +0 -1
- package/bundler/cache.d.ts +0 -173
- package/bundler/cache.d.ts.map +0 -1
- package/bundler/file-cache/component-builder.d.ts +0 -167
- package/bundler/file-cache/component-builder.d.ts.map +0 -1
- package/bundler/file-cache/hash-calculator.d.ts +0 -155
- package/bundler/file-cache/hash-calculator.d.ts.map +0 -1
- package/bundler/file-cache/index.d.ts +0 -12
- package/bundler/file-cache/index.d.ts.map +0 -1
- package/bundler/file-cache/storage/filesystem.d.ts +0 -149
- package/bundler/file-cache/storage/filesystem.d.ts.map +0 -1
- package/bundler/file-cache/storage/index.d.ts +0 -11
- package/bundler/file-cache/storage/index.d.ts.map +0 -1
- package/bundler/file-cache/storage/interface.d.ts +0 -152
- package/bundler/file-cache/storage/interface.d.ts.map +0 -1
- package/bundler/file-cache/storage/redis.d.ts +0 -139
- package/bundler/file-cache/storage/redis.d.ts.map +0 -1
- package/bundler/index.d.ts +0 -35
- package/bundler/index.d.ts.map +0 -1
- package/bundler/index.js +0 -2953
- package/bundler/sandbox/enclave-adapter.d.ts +0 -121
- package/bundler/sandbox/enclave-adapter.d.ts.map +0 -1
- package/bundler/sandbox/executor.d.ts +0 -14
- package/bundler/sandbox/executor.d.ts.map +0 -1
- package/bundler/sandbox/policy.d.ts +0 -62
- package/bundler/sandbox/policy.d.ts.map +0 -1
- package/bundler/types.d.ts +0 -702
- package/bundler/types.d.ts.map +0 -1
- package/dependency/cdn-registry.d.ts +0 -98
- package/dependency/cdn-registry.d.ts.map +0 -1
- package/dependency/import-map.d.ts +0 -186
- package/dependency/import-map.d.ts.map +0 -1
- package/dependency/import-parser.d.ts +0 -82
- package/dependency/import-parser.d.ts.map +0 -1
- package/dependency/index.d.ts +0 -17
- package/dependency/index.d.ts.map +0 -1
- package/dependency/index.js +0 -3180
- package/dependency/resolver.d.ts +0 -164
- package/dependency/resolver.d.ts.map +0 -1
- package/dependency/schemas.d.ts +0 -486
- package/dependency/schemas.d.ts.map +0 -1
- package/dependency/template-loader.d.ts +0 -204
- package/dependency/template-loader.d.ts.map +0 -1
- package/dependency/template-processor.d.ts +0 -118
- package/dependency/template-processor.d.ts.map +0 -1
- package/dependency/types.d.ts +0 -739
- package/dependency/types.d.ts.map +0 -1
- package/esm/base-template/index.mjs +0 -1359
- package/esm/build/index.mjs +0 -8601
- package/esm/bundler/index.mjs +0 -2895
- package/esm/dependency/index.mjs +0 -3068
- package/esm/handlebars/index.mjs +0 -587
- package/esm/registry/index.mjs +0 -6305
- package/esm/renderers/index.mjs +0 -1557
- package/esm/runtime/index.mjs +0 -5361
- package/esm/styles/index.mjs +0 -171
- package/esm/theme/index.mjs +0 -756
- package/esm/tool-template/index.mjs +0 -3652
- package/esm/validation/index.mjs +0 -542
- package/handlebars/expression-extractor.d.ts +0 -147
- package/handlebars/expression-extractor.d.ts.map +0 -1
- package/handlebars/helpers.d.ts +0 -339
- package/handlebars/helpers.d.ts.map +0 -1
- package/handlebars/index.d.ts +0 -195
- package/handlebars/index.d.ts.map +0 -1
- package/handlebars/index.js +0 -659
- package/preview/claude-preview.d.ts +0 -67
- package/preview/claude-preview.d.ts.map +0 -1
- package/preview/generic-preview.d.ts +0 -66
- package/preview/generic-preview.d.ts.map +0 -1
- package/preview/index.d.ts +0 -36
- package/preview/index.d.ts.map +0 -1
- package/preview/openai-preview.d.ts +0 -70
- package/preview/openai-preview.d.ts.map +0 -1
- package/preview/types.d.ts +0 -199
- package/preview/types.d.ts.map +0 -1
- package/registry/index.d.ts +0 -46
- package/registry/index.d.ts.map +0 -1
- package/registry/index.js +0 -6342
- package/registry/render-template.d.ts +0 -91
- package/registry/render-template.d.ts.map +0 -1
- package/registry/tool-ui.registry.d.ts +0 -294
- package/registry/tool-ui.registry.d.ts.map +0 -1
- package/registry/uri-utils.d.ts +0 -56
- package/registry/uri-utils.d.ts.map +0 -1
- package/renderers/cache.d.ts +0 -145
- package/renderers/cache.d.ts.map +0 -1
- package/renderers/html.renderer.d.ts +0 -123
- package/renderers/html.renderer.d.ts.map +0 -1
- package/renderers/index.d.ts +0 -36
- package/renderers/index.d.ts.map +0 -1
- package/renderers/index.js +0 -1603
- package/renderers/mdx-client.renderer.d.ts +0 -124
- package/renderers/mdx-client.renderer.d.ts.map +0 -1
- package/renderers/registry.d.ts +0 -133
- package/renderers/registry.d.ts.map +0 -1
- package/renderers/types.d.ts +0 -343
- package/renderers/types.d.ts.map +0 -1
- package/renderers/utils/detect.d.ts +0 -107
- package/renderers/utils/detect.d.ts.map +0 -1
- package/renderers/utils/hash.d.ts +0 -40
- package/renderers/utils/hash.d.ts.map +0 -1
- package/renderers/utils/index.d.ts +0 -9
- package/renderers/utils/index.d.ts.map +0 -1
- package/renderers/utils/transpiler.d.ts +0 -70
- package/renderers/utils/transpiler.d.ts.map +0 -1
- package/runtime/adapters/html.adapter.d.ts +0 -59
- package/runtime/adapters/html.adapter.d.ts.map +0 -1
- package/runtime/adapters/index.d.ts +0 -26
- package/runtime/adapters/index.d.ts.map +0 -1
- package/runtime/adapters/mdx.adapter.d.ts +0 -73
- package/runtime/adapters/mdx.adapter.d.ts.map +0 -1
- package/runtime/adapters/types.d.ts +0 -95
- package/runtime/adapters/types.d.ts.map +0 -1
- package/runtime/csp.d.ts +0 -48
- package/runtime/csp.d.ts.map +0 -1
- package/runtime/index.d.ts +0 -17
- package/runtime/index.d.ts.map +0 -1
- package/runtime/index.js +0 -5432
- package/runtime/mcp-bridge.d.ts +0 -101
- package/runtime/mcp-bridge.d.ts.map +0 -1
- package/runtime/renderer-runtime.d.ts +0 -133
- package/runtime/renderer-runtime.d.ts.map +0 -1
- package/runtime/sanitizer.d.ts +0 -180
- package/runtime/sanitizer.d.ts.map +0 -1
- package/runtime/types.d.ts +0 -415
- package/runtime/types.d.ts.map +0 -1
- package/runtime/wrapper.d.ts +0 -421
- package/runtime/wrapper.d.ts.map +0 -1
- package/styles/index.d.ts +0 -8
- package/styles/index.d.ts.map +0 -1
- package/styles/index.js +0 -222
- package/styles/variants.d.ts +0 -51
- package/styles/variants.d.ts.map +0 -1
- package/theme/cdn.d.ts +0 -195
- package/theme/cdn.d.ts.map +0 -1
- package/theme/css-to-theme.d.ts +0 -64
- package/theme/css-to-theme.d.ts.map +0 -1
- package/theme/index.d.ts +0 -19
- package/theme/index.d.ts.map +0 -1
- package/theme/index.js +0 -814
- package/theme/platforms.d.ts +0 -102
- package/theme/platforms.d.ts.map +0 -1
- package/theme/presets/github-openai.d.ts +0 -50
- package/theme/presets/github-openai.d.ts.map +0 -1
- package/theme/presets/index.d.ts +0 -11
- package/theme/presets/index.d.ts.map +0 -1
- package/theme/theme.d.ts +0 -396
- package/theme/theme.d.ts.map +0 -1
- package/tool-template/builder.d.ts +0 -213
- package/tool-template/builder.d.ts.map +0 -1
- package/tool-template/index.d.ts +0 -16
- package/tool-template/index.d.ts.map +0 -1
- package/tool-template/index.js +0 -3690
- package/validation/error-box.d.ts +0 -56
- package/validation/error-box.d.ts.map +0 -1
- package/validation/index.d.ts +0 -13
- package/validation/index.d.ts.map +0 -1
- package/validation/index.js +0 -576
- package/validation/schema-paths.d.ts +0 -118
- package/validation/schema-paths.d.ts.map +0 -1
- package/validation/template-validator.d.ts +0 -143
- package/validation/template-validator.d.ts.map +0 -1
- package/validation/wrapper.d.ts +0 -97
- package/validation/wrapper.d.ts.map +0 -1
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Component Loader
|
|
3
|
+
*
|
|
4
|
+
* Resolves any UISource to a loadable component and generates
|
|
5
|
+
* mount scripts for the browser.
|
|
6
|
+
*
|
|
7
|
+
* @packageDocumentation
|
|
8
|
+
*/
|
|
9
|
+
import type { ImportResolver } from '../resolver/types';
|
|
10
|
+
import type { UISource, ResolvedComponent } from './types';
|
|
11
|
+
import { FRONTMCP_META_KEY } from './types';
|
|
12
|
+
/**
|
|
13
|
+
* Resolve a UISource to a loadable component.
|
|
14
|
+
*
|
|
15
|
+
* - npm: uses ImportResolver to get CDN URL
|
|
16
|
+
* - file: reads file or resolves to served URL (inline mode defaults to true for small files)
|
|
17
|
+
* - import: passes URL through directly
|
|
18
|
+
* - function: executes with input/output, returns HTML string
|
|
19
|
+
*/
|
|
20
|
+
export declare function resolveUISource(source: UISource, options?: {
|
|
21
|
+
resolver?: ImportResolver;
|
|
22
|
+
input?: unknown;
|
|
23
|
+
output?: unknown;
|
|
24
|
+
}): ResolvedComponent;
|
|
25
|
+
/**
|
|
26
|
+
* Generate a mount script for module-based components.
|
|
27
|
+
*
|
|
28
|
+
* For non-MCP-aware components: passes output as props.
|
|
29
|
+
* For MCP-aware components: component reads bridge globals internally.
|
|
30
|
+
*/
|
|
31
|
+
export declare function generateMountScript(resolved: ResolvedComponent, propsMapping?: Record<string, string>): string;
|
|
32
|
+
/**
|
|
33
|
+
* Well-known export for metadata auto-detection.
|
|
34
|
+
*/
|
|
35
|
+
export { FRONTMCP_META_KEY };
|
|
36
|
+
//# sourceMappingURL=loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/component/loader.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,mBAAmB,CAAC;AAGxE,OAAO,KAAK,EACV,QAAQ,EAKR,iBAAiB,EAElB,MAAM,SAAS,CAAC;AACjB,OAAO,EAA+D,iBAAiB,EAAE,MAAM,SAAS,CAAC;AASzG;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,QAAQ,EAChB,OAAO,CAAC,EAAE;IACR,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,GACA,iBAAiB,CAoBnB;AAiGD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,iBAAiB,EAAE,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CA6B9G;AAmBD;;GAEG;AACH,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Component Renderer
|
|
3
|
+
*
|
|
4
|
+
* Generates complete HTML shell for any UI component source.
|
|
5
|
+
* Combines the resolver, shell builder, and component loader.
|
|
6
|
+
*
|
|
7
|
+
* @packageDocumentation
|
|
8
|
+
*/
|
|
9
|
+
import type { ShellConfig, ShellResult } from '../shell/types';
|
|
10
|
+
import type { UIConfig } from './types';
|
|
11
|
+
/**
|
|
12
|
+
* Render a complete HTML shell for a UI component.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```typescript
|
|
16
|
+
* // NPM component
|
|
17
|
+
* const result = renderComponent(
|
|
18
|
+
* { source: { npm: '@acme/dashboard-widget' } },
|
|
19
|
+
* { toolName: 'my_tool', output: { data: [1,2,3] } }
|
|
20
|
+
* );
|
|
21
|
+
*
|
|
22
|
+
* // Function component
|
|
23
|
+
* const result = renderComponent(
|
|
24
|
+
* { source: (input, output) => `<div>${output.message}</div>` },
|
|
25
|
+
* { toolName: 'my_tool', output: { message: 'Hello' } }
|
|
26
|
+
* );
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export declare function renderComponent(config: UIConfig, shellConfig: ShellConfig): ShellResult;
|
|
30
|
+
//# sourceMappingURL=renderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../src/component/renderer.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE/D,OAAO,KAAK,EAAE,QAAQ,EAAqB,MAAM,SAAS,CAAC;AAQ3D;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,GAAG,WAAW,CAyBvF"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* React TSX/JSX Transpiler
|
|
3
|
+
*
|
|
4
|
+
* Uses esbuild to transpile React source files (TSX/JSX) into browser-ready
|
|
5
|
+
* ES module code with React.createElement calls. No React dependency needed
|
|
6
|
+
* at transpilation time — only syntax transformation.
|
|
7
|
+
*
|
|
8
|
+
* @packageDocumentation
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Transpile React TSX/JSX source code into browser-ready ES module code.
|
|
12
|
+
*
|
|
13
|
+
* Converts JSX syntax to React.createElement calls and strips TypeScript types.
|
|
14
|
+
* The output is suitable for embedding as an inline `<script type="module">`.
|
|
15
|
+
*
|
|
16
|
+
* @param source - Raw TSX/JSX source code
|
|
17
|
+
* @param filename - Optional filename hint for loader detection (e.g. 'component.tsx')
|
|
18
|
+
* @returns Transpiled JavaScript source code (ESM format)
|
|
19
|
+
*/
|
|
20
|
+
export declare function transpileReactSource(source: string, filename?: string): string;
|
|
21
|
+
/**
|
|
22
|
+
* Bundle a FileSource .tsx/.jsx file with esbuild's buildSync.
|
|
23
|
+
*
|
|
24
|
+
* Resolves workspace dependencies (e.g. @frontmcp/ui) from local node_modules,
|
|
25
|
+
* inlines all non-React deps, and appends mount code so the output is a
|
|
26
|
+
* self-contained ES module that only depends on react/react-dom externally.
|
|
27
|
+
*
|
|
28
|
+
* @param source - Raw TSX/JSX source code
|
|
29
|
+
* @param filename - Filename hint for loader detection (e.g. 'widget.tsx')
|
|
30
|
+
* @param resolveDir - Directory for resolving bare imports (typically dirname of the source file)
|
|
31
|
+
* @param componentName - Name of the component to mount (extracted from source)
|
|
32
|
+
* @returns Bundled JavaScript source code
|
|
33
|
+
*/
|
|
34
|
+
export declare function bundleFileSource(source: string, filename: string, resolveDir: string, componentName: string): {
|
|
35
|
+
code: string;
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* Extract the default export name from transpiled source code.
|
|
39
|
+
*
|
|
40
|
+
* Supports patterns:
|
|
41
|
+
* - `export default function ComponentName`
|
|
42
|
+
* - `export default class ComponentName`
|
|
43
|
+
* - `export default ComponentName;`
|
|
44
|
+
*
|
|
45
|
+
* @param code - Transpiled JavaScript source code
|
|
46
|
+
* @returns The export name, or null if not found
|
|
47
|
+
*/
|
|
48
|
+
export declare function extractDefaultExportName(code: string): string | null;
|
|
49
|
+
//# sourceMappingURL=transpiler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transpiler.d.ts","sourceRoot":"","sources":["../../src/component/transpiler.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAkB9E;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,GACpB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAuDlB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAUpE"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Component Types
|
|
3
|
+
*
|
|
4
|
+
* Polymorphic UI component loading — 4 source modes:
|
|
5
|
+
* npm, file, import (URL), and inline function.
|
|
6
|
+
*
|
|
7
|
+
* @packageDocumentation
|
|
8
|
+
*/
|
|
9
|
+
/** Mode 1: NPM package — resolved via ImportResolver */
|
|
10
|
+
export interface NpmSource {
|
|
11
|
+
npm: string;
|
|
12
|
+
exportName?: string;
|
|
13
|
+
version?: string;
|
|
14
|
+
}
|
|
15
|
+
/** Mode 2: File path — read at build time or served as URL */
|
|
16
|
+
export interface FileSource {
|
|
17
|
+
file: string;
|
|
18
|
+
inline?: boolean;
|
|
19
|
+
/** Component export name (default: auto-detected from source or 'default') */
|
|
20
|
+
exportName?: string;
|
|
21
|
+
/** Override peer dependencies (default: ['react', 'react-dom'] for .tsx/.jsx) */
|
|
22
|
+
peerDependencies?: string[];
|
|
23
|
+
}
|
|
24
|
+
/** Mode 3: Direct URL import */
|
|
25
|
+
export interface ImportSource {
|
|
26
|
+
import: string;
|
|
27
|
+
exportName?: string;
|
|
28
|
+
}
|
|
29
|
+
/** Mode 4: Inline template function */
|
|
30
|
+
export type FunctionSource<In = unknown, Out = unknown> = (input: In, output: Out) => string;
|
|
31
|
+
/** Union of all UI source types */
|
|
32
|
+
export type UISource<In = unknown, Out = unknown> = NpmSource | FileSource | ImportSource | FunctionSource<In, Out>;
|
|
33
|
+
export declare function isNpmSource(source: UISource): source is NpmSource;
|
|
34
|
+
export declare function isFileSource(source: UISource): source is FileSource;
|
|
35
|
+
export declare function isImportSource(source: UISource): source is ImportSource;
|
|
36
|
+
export declare function isFunctionSource<In = unknown, Out = unknown>(source: UISource<In, Out>): source is FunctionSource<In, Out>;
|
|
37
|
+
/** Full UI configuration on a tool */
|
|
38
|
+
export interface UIConfig<In = unknown, Out = unknown> {
|
|
39
|
+
/** The UI source (one of the 4 modes) */
|
|
40
|
+
source: UISource<In, Out>;
|
|
41
|
+
/** Explicit props mapping from output paths (default: spread output as props) */
|
|
42
|
+
props?: Record<string, string>;
|
|
43
|
+
/** Shell configuration overrides */
|
|
44
|
+
withShell?: boolean;
|
|
45
|
+
/** Include bridge runtime */
|
|
46
|
+
includeBridge?: boolean;
|
|
47
|
+
/** Custom shell template (pre-resolved object or inline string). */
|
|
48
|
+
customShell?: import('../shell/custom-shell-types').ResolvedShellTemplate | string;
|
|
49
|
+
}
|
|
50
|
+
/** Auto-detected or declared metadata on a component module */
|
|
51
|
+
export interface ComponentMeta {
|
|
52
|
+
/** Whether the component uses FrontMCP bridge internally */
|
|
53
|
+
mcpAware: boolean;
|
|
54
|
+
/** Rendering strategy */
|
|
55
|
+
renderer: 'react' | 'html' | 'auto';
|
|
56
|
+
/** Peer dependencies needed */
|
|
57
|
+
peerDependencies?: string[];
|
|
58
|
+
}
|
|
59
|
+
/** Well-known export name for component metadata auto-detection */
|
|
60
|
+
export declare const FRONTMCP_META_KEY = "__frontmcp_meta";
|
|
61
|
+
/** Result of resolving a UI source */
|
|
62
|
+
export interface ResolvedComponent {
|
|
63
|
+
/** How the component should be loaded */
|
|
64
|
+
mode: 'module' | 'inline';
|
|
65
|
+
/** For module mode: the URL to import */
|
|
66
|
+
url?: string;
|
|
67
|
+
/** For inline mode: the HTML content */
|
|
68
|
+
html?: string;
|
|
69
|
+
/** Transpiled module source code (for inline module rendering of .tsx/.jsx files) */
|
|
70
|
+
code?: string;
|
|
71
|
+
/** External import specifiers found in the transpiled code */
|
|
72
|
+
imports?: string[];
|
|
73
|
+
/** Export name for the component (default: 'default') */
|
|
74
|
+
exportName: string;
|
|
75
|
+
/** Detected metadata */
|
|
76
|
+
meta: ComponentMeta;
|
|
77
|
+
/** Peer dependencies that need to be loaded */
|
|
78
|
+
peerDependencies: string[];
|
|
79
|
+
/** Whether the code is fully bundled with mount code included */
|
|
80
|
+
bundled?: boolean;
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/component/types.ts"],"names":[],"mappings":"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"}
|