@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
package/build/hybrid-data.d.ts
DELETED
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Hybrid Mode Data Injection Utilities
|
|
3
|
-
*
|
|
4
|
-
* Provides utilities for injecting data into pre-built HTML shells
|
|
5
|
-
* without requiring re-transpilation of the component code.
|
|
6
|
-
*
|
|
7
|
-
* @packageDocumentation
|
|
8
|
-
*/
|
|
9
|
-
/**
|
|
10
|
-
* Placeholder marker for hybrid mode.
|
|
11
|
-
* Used as a string that callers can replace with actual JSON data.
|
|
12
|
-
*/
|
|
13
|
-
export declare const HYBRID_DATA_PLACEHOLDER = "__FRONTMCP_OUTPUT_PLACEHOLDER__";
|
|
14
|
-
/**
|
|
15
|
-
* Placeholder for tool input injection.
|
|
16
|
-
*/
|
|
17
|
-
export declare const HYBRID_INPUT_PLACEHOLDER = "__FRONTMCP_INPUT_PLACEHOLDER__";
|
|
18
|
-
/**
|
|
19
|
-
* Inject data into a hybrid mode HTML shell.
|
|
20
|
-
* Replaces the placeholder with actual JSON data.
|
|
21
|
-
*
|
|
22
|
-
* This function is designed for high performance - it only does a string
|
|
23
|
-
* replacement, avoiding any re-transpilation of component code.
|
|
24
|
-
*
|
|
25
|
-
* @param shell - HTML shell from bundleToStaticHTML with buildMode='hybrid'
|
|
26
|
-
* @param data - Data to inject (will be JSON.stringify'd)
|
|
27
|
-
* @param placeholder - Placeholder to replace (default: HYBRID_DATA_PLACEHOLDER)
|
|
28
|
-
* @returns HTML with data injected
|
|
29
|
-
*
|
|
30
|
-
* @example
|
|
31
|
-
* ```typescript
|
|
32
|
-
* import { injectHybridData } from '@frontmcp/uipack/build';
|
|
33
|
-
*
|
|
34
|
-
* // Build shell once (cached)
|
|
35
|
-
* const result = await bundler.bundleToStaticHTML({
|
|
36
|
-
* source: myComponent,
|
|
37
|
-
* toolName: 'my_tool',
|
|
38
|
-
* buildMode: 'hybrid',
|
|
39
|
-
* });
|
|
40
|
-
*
|
|
41
|
-
* // Store the shell for reuse
|
|
42
|
-
* const cachedShell = result.html;
|
|
43
|
-
*
|
|
44
|
-
* // On each tool call, just inject data (no re-transpiling!)
|
|
45
|
-
* const html1 = injectHybridData(cachedShell, { temperature: 72 });
|
|
46
|
-
* const html2 = injectHybridData(cachedShell, { temperature: 85 });
|
|
47
|
-
* ```
|
|
48
|
-
*/
|
|
49
|
-
export declare function injectHybridData(shell: string, data: unknown, placeholder?: string): string;
|
|
50
|
-
/**
|
|
51
|
-
* Inject both input and output data into a hybrid mode HTML shell.
|
|
52
|
-
* Replaces both input and output placeholders.
|
|
53
|
-
*
|
|
54
|
-
* @param shell - HTML shell with both placeholders
|
|
55
|
-
* @param input - Input data to inject
|
|
56
|
-
* @param output - Output data to inject
|
|
57
|
-
* @returns HTML with both input and output injected
|
|
58
|
-
*
|
|
59
|
-
* @example
|
|
60
|
-
* ```typescript
|
|
61
|
-
* const html = injectHybridDataFull(cachedShell, { query: 'NYC' }, { temperature: 72 });
|
|
62
|
-
* ```
|
|
63
|
-
*/
|
|
64
|
-
export declare function injectHybridDataFull(shell: string, input: unknown, output: unknown): string;
|
|
65
|
-
/**
|
|
66
|
-
* Check if an HTML string is a hybrid mode shell (contains output placeholder).
|
|
67
|
-
*
|
|
68
|
-
* @param html - HTML string to check
|
|
69
|
-
* @param placeholder - Placeholder to look for (default: HYBRID_DATA_PLACEHOLDER)
|
|
70
|
-
* @returns true if the HTML contains the placeholder
|
|
71
|
-
*
|
|
72
|
-
* @example
|
|
73
|
-
* ```typescript
|
|
74
|
-
* import { isHybridShell } from '@frontmcp/uipack/build';
|
|
75
|
-
*
|
|
76
|
-
* if (isHybridShell(cachedHtml)) {
|
|
77
|
-
* // Need to inject data before serving
|
|
78
|
-
* const html = injectHybridData(cachedHtml, toolOutput);
|
|
79
|
-
* }
|
|
80
|
-
* ```
|
|
81
|
-
*/
|
|
82
|
-
export declare function isHybridShell(html: string, placeholder?: string): boolean;
|
|
83
|
-
/**
|
|
84
|
-
* Check if an HTML string needs input injection.
|
|
85
|
-
*
|
|
86
|
-
* @param html - HTML string to check
|
|
87
|
-
* @returns true if the HTML contains the input placeholder
|
|
88
|
-
*/
|
|
89
|
-
export declare function needsInputInjection(html: string): boolean;
|
|
90
|
-
/**
|
|
91
|
-
* Get placeholders present in an HTML shell.
|
|
92
|
-
*
|
|
93
|
-
* @param html - HTML string to check
|
|
94
|
-
* @returns Object indicating which placeholders are present
|
|
95
|
-
*/
|
|
96
|
-
export declare function getHybridPlaceholders(html: string): {
|
|
97
|
-
hasOutput: boolean;
|
|
98
|
-
hasInput: boolean;
|
|
99
|
-
};
|
|
100
|
-
/**
|
|
101
|
-
* Inject data into a dynamic/OpenAI shell with a trigger script for preview mode.
|
|
102
|
-
*
|
|
103
|
-
* This function:
|
|
104
|
-
* 1. Replaces data placeholders (like injectHybridDataFull)
|
|
105
|
-
* 2. Injects a script that calls window.__frontmcp.updateOutput(data) to trigger React re-renders
|
|
106
|
-
*
|
|
107
|
-
* Use this for preview mode when there's no actual OpenAI Canvas environment.
|
|
108
|
-
* In production OpenAI environments, use injectHybridDataFull instead and let
|
|
109
|
-
* the OpenAI Canvas trigger onToolResult.
|
|
110
|
-
*
|
|
111
|
-
* @param shell - HTML shell from bundleToStaticHTML with buildMode='dynamic'
|
|
112
|
-
* @param input - Input data to inject
|
|
113
|
-
* @param output - Output data to inject
|
|
114
|
-
* @returns HTML with data injected and trigger script added
|
|
115
|
-
*
|
|
116
|
-
* @example
|
|
117
|
-
* ```typescript
|
|
118
|
-
* import { injectHybridDataWithTrigger } from '@frontmcp/uipack/build';
|
|
119
|
-
*
|
|
120
|
-
* // For preview mode with dynamic/OpenAI shells
|
|
121
|
-
* const html = injectHybridDataWithTrigger(shell.html, inputData, outputData);
|
|
122
|
-
* // The trigger script will call window.__frontmcp.updateOutput(outputData)
|
|
123
|
-
* // which updates the store and triggers React re-renders
|
|
124
|
-
* ```
|
|
125
|
-
*/
|
|
126
|
-
export declare function injectHybridDataWithTrigger(shell: string, input: unknown, output: unknown): string;
|
|
127
|
-
//# sourceMappingURL=hybrid-data.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hybrid-data.d.ts","sourceRoot":"","sources":["../../src/build/hybrid-data.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH;;;GAGG;AACH,eAAO,MAAM,uBAAuB,oCAAoC,CAAC;AAEzE;;GAEG;AACH,eAAO,MAAM,wBAAwB,mCAAmC,CAAC;AAMzE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,OAAO,EACb,WAAW,GAAE,MAAgC,GAC5C,MAAM,CAaR;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,OAAO,GACd,MAAM,CAKR;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,WAAW,GAAE,MAAgC,GAC5C,OAAO,CAET;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG;IACnD,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;CACnB,CAKA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,OAAO,GACd,MAAM,CAwCR"}
|
package/build/index.d.ts
DELETED
|
@@ -1,299 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Build-Time API for Tool UI
|
|
3
|
-
*
|
|
4
|
-
* Provides pre-compilation capabilities for tool UI templates.
|
|
5
|
-
* Produces a **universal HTML document** that works across all platforms:
|
|
6
|
-
* - OpenAI ChatGPT (Apps SDK)
|
|
7
|
-
* - Anthropic Claude
|
|
8
|
-
* - MCP Apps (ext-apps / SEP-1865)
|
|
9
|
-
* - Google Gemini
|
|
10
|
-
* - Any MCP-compatible host
|
|
11
|
-
*
|
|
12
|
-
* The build embeds the FrontMCP Bridge which auto-detects the host
|
|
13
|
-
* at runtime and adapts its communication protocol accordingly.
|
|
14
|
-
*
|
|
15
|
-
* @packageDocumentation
|
|
16
|
-
*/
|
|
17
|
-
import type { UITemplateConfig } from '../types';
|
|
18
|
-
import type { ThemeConfig, DeepPartial } from '../theme';
|
|
19
|
-
/**
|
|
20
|
-
* Network access mode for the target environment.
|
|
21
|
-
*
|
|
22
|
-
* - `'open'`: Can fetch external resources (CDN scripts, fonts)
|
|
23
|
-
* - `'blocked'`: Network is sandboxed, must inline everything
|
|
24
|
-
*/
|
|
25
|
-
export type NetworkMode = 'open' | 'blocked';
|
|
26
|
-
/**
|
|
27
|
-
* Script loading strategy.
|
|
28
|
-
*
|
|
29
|
-
* - `'cdn'`: Load scripts from CDN (smaller HTML, requires network)
|
|
30
|
-
* - `'inline'`: Embed scripts in HTML (larger, works offline)
|
|
31
|
-
* - `'auto'`: Choose based on network mode
|
|
32
|
-
*/
|
|
33
|
-
export type ScriptStrategy = 'cdn' | 'inline' | 'auto';
|
|
34
|
-
/**
|
|
35
|
-
* Build configuration options.
|
|
36
|
-
* Capability-based rather than platform-specific.
|
|
37
|
-
*/
|
|
38
|
-
export interface BuildConfig {
|
|
39
|
-
/**
|
|
40
|
-
* Network access mode.
|
|
41
|
-
* @default 'open'
|
|
42
|
-
*/
|
|
43
|
-
network?: NetworkMode;
|
|
44
|
-
/**
|
|
45
|
-
* Script loading strategy.
|
|
46
|
-
* @default 'auto' (uses 'inline' if network is 'blocked')
|
|
47
|
-
*/
|
|
48
|
-
scripts?: ScriptStrategy;
|
|
49
|
-
/**
|
|
50
|
-
* Whether to include the FrontMCP Bridge runtime.
|
|
51
|
-
* The bridge auto-detects the host platform at runtime.
|
|
52
|
-
* @default true
|
|
53
|
-
*/
|
|
54
|
-
includeBridge?: boolean;
|
|
55
|
-
/**
|
|
56
|
-
* Whether to minify the output HTML.
|
|
57
|
-
* @default false
|
|
58
|
-
*/
|
|
59
|
-
minify?: boolean;
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Options for building a tool UI template.
|
|
63
|
-
*
|
|
64
|
-
* @example
|
|
65
|
-
* ```typescript
|
|
66
|
-
* const result = await buildToolUI({
|
|
67
|
-
* template: {
|
|
68
|
-
* template: (ctx) => `<div>${ctx.output.value}</div>`,
|
|
69
|
-
* widgetAccessible: true,
|
|
70
|
-
* },
|
|
71
|
-
* toolName: 'my_tool',
|
|
72
|
-
* input: { query: 'hello' },
|
|
73
|
-
* output: { value: 'world' },
|
|
74
|
-
* });
|
|
75
|
-
*
|
|
76
|
-
* // Universal HTML that works on any platform
|
|
77
|
-
* console.log(result.html);
|
|
78
|
-
* ```
|
|
79
|
-
*/
|
|
80
|
-
export interface BuildOptions<In = unknown, Out = unknown> {
|
|
81
|
-
/**
|
|
82
|
-
* UI template configuration.
|
|
83
|
-
*/
|
|
84
|
-
template: UITemplateConfig<In, Out>;
|
|
85
|
-
/**
|
|
86
|
-
* Name of the tool this UI is for.
|
|
87
|
-
*/
|
|
88
|
-
toolName: string;
|
|
89
|
-
/**
|
|
90
|
-
* Tool input arguments.
|
|
91
|
-
*/
|
|
92
|
-
input?: In;
|
|
93
|
-
/**
|
|
94
|
-
* Tool output/result data.
|
|
95
|
-
*/
|
|
96
|
-
output?: Out;
|
|
97
|
-
/**
|
|
98
|
-
* Theme configuration override.
|
|
99
|
-
*/
|
|
100
|
-
theme?: DeepPartial<ThemeConfig>;
|
|
101
|
-
/**
|
|
102
|
-
* Build configuration.
|
|
103
|
-
* Controls network mode, script strategy, etc.
|
|
104
|
-
*/
|
|
105
|
-
config?: BuildConfig;
|
|
106
|
-
/**
|
|
107
|
-
* Title for the HTML document.
|
|
108
|
-
*/
|
|
109
|
-
title?: string;
|
|
110
|
-
/** @deprecated Use `input` instead */
|
|
111
|
-
sampleInput?: In;
|
|
112
|
-
/** @deprecated Use `output` instead */
|
|
113
|
-
sampleOutput?: Out;
|
|
114
|
-
/** @deprecated Use `config.includeBridge` instead */
|
|
115
|
-
injectAdapters?: boolean;
|
|
116
|
-
/** @deprecated Use `config.minify` instead */
|
|
117
|
-
minify?: boolean;
|
|
118
|
-
/** @deprecated Platform is now auto-detected at runtime */
|
|
119
|
-
platform?: string;
|
|
120
|
-
}
|
|
121
|
-
/**
|
|
122
|
-
* MIME types for different host platforms.
|
|
123
|
-
* Returned as suggestions - the MCP server response layer decides which to use.
|
|
124
|
-
*/
|
|
125
|
-
export interface MimeTypes {
|
|
126
|
-
/** For OpenAI ChatGPT Apps SDK */
|
|
127
|
-
openai: 'text/html+skybridge';
|
|
128
|
-
/** For Claude, MCP Apps, and standard MCP hosts */
|
|
129
|
-
mcp: 'text/html+mcp';
|
|
130
|
-
/** Generic HTML (fallback) */
|
|
131
|
-
html: 'text/html';
|
|
132
|
-
}
|
|
133
|
-
/**
|
|
134
|
-
* Result of building a tool UI template.
|
|
135
|
-
*/
|
|
136
|
-
export interface BuildResult {
|
|
137
|
-
/**
|
|
138
|
-
* Complete HTML document string.
|
|
139
|
-
* This is universal - works on all platforms.
|
|
140
|
-
*/
|
|
141
|
-
html: string;
|
|
142
|
-
/**
|
|
143
|
-
* Size of the HTML in bytes.
|
|
144
|
-
*/
|
|
145
|
-
size: number;
|
|
146
|
-
/**
|
|
147
|
-
* Size of the gzipped HTML in bytes (estimated).
|
|
148
|
-
*/
|
|
149
|
-
gzipSize: number;
|
|
150
|
-
/**
|
|
151
|
-
* SHA-256 hash of the HTML content.
|
|
152
|
-
*/
|
|
153
|
-
hash: string;
|
|
154
|
-
/**
|
|
155
|
-
* Suggested MIME types for different hosts.
|
|
156
|
-
* The MCP server response layer should select based on detected client.
|
|
157
|
-
*/
|
|
158
|
-
mimeTypes: MimeTypes;
|
|
159
|
-
/**
|
|
160
|
-
* Renderer type used (html, react, mdx).
|
|
161
|
-
*/
|
|
162
|
-
rendererType: string;
|
|
163
|
-
/**
|
|
164
|
-
* Build timestamp (ISO 8601).
|
|
165
|
-
*/
|
|
166
|
-
buildTime: string;
|
|
167
|
-
/**
|
|
168
|
-
* Build configuration used.
|
|
169
|
-
*/
|
|
170
|
-
config: Required<BuildConfig>;
|
|
171
|
-
}
|
|
172
|
-
/**
|
|
173
|
-
* Build a tool UI template into a universal HTML document.
|
|
174
|
-
*
|
|
175
|
-
* The output HTML:
|
|
176
|
-
* - Works on ALL platforms (OpenAI, Claude, MCP Apps, Gemini, etc.)
|
|
177
|
-
* - Includes FrontMCP Bridge that auto-detects the host at runtime
|
|
178
|
-
* - Adapts communication protocol based on detected platform
|
|
179
|
-
*
|
|
180
|
-
* @example Basic usage
|
|
181
|
-
* ```typescript
|
|
182
|
-
* import { buildToolUI } from '@frontmcp/ui/build';
|
|
183
|
-
*
|
|
184
|
-
* const result = await buildToolUI({
|
|
185
|
-
* template: { template: WeatherWidget },
|
|
186
|
-
* toolName: 'get_weather',
|
|
187
|
-
* output: { temperature: 72, conditions: 'sunny' },
|
|
188
|
-
* });
|
|
189
|
-
*
|
|
190
|
-
* // Upload to CDN - works everywhere
|
|
191
|
-
* await uploadToCDN('widgets/get_weather.html', result.html);
|
|
192
|
-
* ```
|
|
193
|
-
*
|
|
194
|
-
* @example With blocked network (for Claude Artifacts)
|
|
195
|
-
* ```typescript
|
|
196
|
-
* const result = await buildToolUI({
|
|
197
|
-
* template: { template: WeatherWidget },
|
|
198
|
-
* toolName: 'get_weather',
|
|
199
|
-
* config: { network: 'blocked' }, // Inlines all scripts
|
|
200
|
-
* });
|
|
201
|
-
* ```
|
|
202
|
-
*
|
|
203
|
-
* @example MCP server response
|
|
204
|
-
* ```typescript
|
|
205
|
-
* const result = await buildToolUI({ template, toolName, output });
|
|
206
|
-
*
|
|
207
|
-
* // In MCP server - choose MIME type based on client
|
|
208
|
-
* const mimeType = isOpenAIClient(clientInfo)
|
|
209
|
-
* ? result.mimeTypes.openai // 'text/html+skybridge'
|
|
210
|
-
* : result.mimeTypes.mcp; // 'text/html+mcp'
|
|
211
|
-
*
|
|
212
|
-
* return { content: [{ type: mimeType, data: result.html }] };
|
|
213
|
-
* ```
|
|
214
|
-
*/
|
|
215
|
-
export declare function buildToolUI<In = unknown, Out = unknown>(options: BuildOptions<In, Out>): Promise<BuildResult>;
|
|
216
|
-
/**
|
|
217
|
-
* Options for building a static widget that reads from host at runtime.
|
|
218
|
-
*/
|
|
219
|
-
export interface StaticWidgetOptions<In = unknown, Out = unknown> {
|
|
220
|
-
/**
|
|
221
|
-
* UI template configuration.
|
|
222
|
-
*/
|
|
223
|
-
template: UITemplateConfig<In, Out>;
|
|
224
|
-
/**
|
|
225
|
-
* Name of the tool this UI is for.
|
|
226
|
-
*/
|
|
227
|
-
toolName: string;
|
|
228
|
-
/**
|
|
229
|
-
* Theme configuration override.
|
|
230
|
-
*/
|
|
231
|
-
theme?: DeepPartial<ThemeConfig>;
|
|
232
|
-
/**
|
|
233
|
-
* Build configuration.
|
|
234
|
-
*/
|
|
235
|
-
config?: BuildConfig;
|
|
236
|
-
/**
|
|
237
|
-
* Title for the HTML document.
|
|
238
|
-
*/
|
|
239
|
-
title?: string;
|
|
240
|
-
}
|
|
241
|
-
/**
|
|
242
|
-
* Build a static widget that reads data from the host platform at runtime.
|
|
243
|
-
*
|
|
244
|
-
* Unlike buildToolUI which pre-renders with data, this creates a widget
|
|
245
|
-
* that waits for data from the host platform via the FrontMCP Bridge.
|
|
246
|
-
*
|
|
247
|
-
* @example
|
|
248
|
-
* ```typescript
|
|
249
|
-
* import { buildStaticWidget } from '@frontmcp/ui/build';
|
|
250
|
-
*
|
|
251
|
-
* const widget = await buildStaticWidget({
|
|
252
|
-
* template: {
|
|
253
|
-
* template: (ctx) => `<div id="weather">${ctx.output?.temperature || 'Loading...'}</div>`,
|
|
254
|
-
* },
|
|
255
|
-
* toolName: 'get_weather',
|
|
256
|
-
* });
|
|
257
|
-
*
|
|
258
|
-
* // This widget will receive data via FrontMCP Bridge
|
|
259
|
-
* await uploadToCDN('widgets/get_weather.html', widget.html);
|
|
260
|
-
* ```
|
|
261
|
-
*/
|
|
262
|
-
export declare function buildStaticWidget<In = unknown, Out = unknown>(options: StaticWidgetOptions<In, Out>): Promise<BuildResult>;
|
|
263
|
-
/**
|
|
264
|
-
* @deprecated Use BuildConfig instead
|
|
265
|
-
*/
|
|
266
|
-
export type BuildTargetPlatform = 'chatgpt' | 'claude' | 'universal';
|
|
267
|
-
/**
|
|
268
|
-
* @deprecated Use BuildOptions with config instead
|
|
269
|
-
*/
|
|
270
|
-
export interface MultiBuildOptions<In = unknown, Out = unknown> extends Omit<BuildOptions<In, Out>, 'platform'> {
|
|
271
|
-
platforms?: BuildTargetPlatform[];
|
|
272
|
-
}
|
|
273
|
-
/**
|
|
274
|
-
* @deprecated Use BuildResult instead (same result for all platforms now)
|
|
275
|
-
*/
|
|
276
|
-
export interface MultiBuildResult {
|
|
277
|
-
bundles: Record<string, BuildResult>;
|
|
278
|
-
totalTime: number;
|
|
279
|
-
}
|
|
280
|
-
/**
|
|
281
|
-
* @deprecated Use buildToolUI with config.network instead
|
|
282
|
-
*/
|
|
283
|
-
export declare function buildToolUIMulti<In = unknown, Out = unknown>(options: MultiBuildOptions<In, Out>): Promise<MultiBuildResult>;
|
|
284
|
-
export { createTemplateHelpers } from '../runtime/wrapper';
|
|
285
|
-
export type { UITemplateConfig, UITemplate, TemplateContext, TemplateHelpers, TemplateBuilderFn, UIContentSecurityPolicy, WidgetServingMode, WidgetDisplayMode, } from '../types';
|
|
286
|
-
export type { ThemeConfig, PlatformCapabilities, DeepPartial } from '../theme';
|
|
287
|
-
export { DEFAULT_THEME, OPENAI_PLATFORM, CLAUDE_PLATFORM } from '../theme';
|
|
288
|
-
export { buildToolWidgetManifest, batchBuildWidgets, detectUIType, isFilePathTemplate, buildCSPForType, buildCSPMetaContent, getRendererAssets, buildToolResponseMeta, getOutputModeForClient, buildFileComponent, buildFileComponents, needsFileComponentRebuild, getCachedFileComponent, getPlatformFromClientInfo, } from './widget-manifest';
|
|
289
|
-
export type { BatchBuildOptions, BatchBuildResult, BuildMetaOptions, FileComponentBuildOptions, FileComponentBuildResult, } from './widget-manifest';
|
|
290
|
-
export type { UIType, BundlingMode, DisplayMode, OutputMode, CSPDirectives, RendererAssets, WidgetManifest, WidgetConfig, BuildManifestResult, BuildManifestOptions, UIMetaFields, OpenAIMetaFields, ToolResponseMeta, RuntimePayload, } from '../types/ui-runtime';
|
|
291
|
-
export { DEFAULT_CSP_BY_TYPE, DEFAULT_RENDERER_ASSETS, isUIType, isBundlingMode, isDisplayMode, isResourceMode, isOutputMode, } from '../types/ui-runtime';
|
|
292
|
-
export type { ResourceMode, CDNResource } from '../types/ui-runtime';
|
|
293
|
-
export { REACT_CDN, REACT_DOM_CDN, MARKED_CDN, HANDLEBARS_CDN, MDX_RUNTIME_CDN, TAILWIND_CDN, CLOUDFLARE_CDN, getDefaultAssets, buildCDNScriptTag, buildScriptsForUIType, buildTailwindScriptTag, hasInlineScripts, getURLsToPreFetch, getTailwindForPlatform, buildCloudflareStylesheetTag, buildCloudflareScriptTag, buildCDNInfoForUIType, } from './cdn-resources';
|
|
294
|
-
export type { CDNInfo, CDNPlatform } from './cdn-resources';
|
|
295
|
-
export { HYBRID_DATA_PLACEHOLDER, HYBRID_INPUT_PLACEHOLDER, injectHybridData, injectHybridDataFull, injectHybridDataWithTrigger, isHybridShell, needsInputInjection, getHybridPlaceholders, } from './hybrid-data';
|
|
296
|
-
export { buildUIComponentsRuntime, buildStyleConstants, buildCardComponent, buildButtonComponent, buildBadgeComponent, buildAlertComponent, buildNamespaceExport, } from './ui-components-browser';
|
|
297
|
-
export type { BrowserUIComponentsOptions } from './ui-components-browser';
|
|
298
|
-
export { type BuildMode, type CdnMode, type BuilderOptions, type BuildToolOptions, type StaticBuildResult, type HybridBuildResult, type InlineBuildResult, type BuilderResult, type Builder, type IStaticBuilder, type IHybridBuilder, type IInlineBuilder, type TemplateType, type TemplateDetection, type TranspileOptions, type TranspileResult, BaseBuilder, StaticBuilder, HybridBuilder, InlineBuilder, DEFAULT_EXTERNALS, EXTERNAL_GLOBALS, CDN_URLS, CLOUDFLARE_CDN_URLS, createTransformConfig, createExternalizedConfig, createInlineConfig, createExternalsBanner, generateCdnScriptTags, generateGlobalsSetupScript, } from './builders';
|
|
299
|
-
//# sourceMappingURL=index.d.ts.map
|
package/build/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/build/index.ts"],"names":[],"mappings":"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"}
|