@adonis-agora/agent 0.74.1 → 0.75.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/CHANGELOG.md +29 -0
- package/dist/src/channels/handler.d.ts.map +1 -1
- package/dist/src/channels/handler.js +10 -0
- package/dist/src/channels/handler.js.map +1 -1
- package/dist/src/channels/texts.d.ts +2 -0
- package/dist/src/channels/texts.d.ts.map +1 -1
- package/dist/src/channels/texts.js.map +1 -1
- package/dist/src/genui/catalog.d.ts.map +1 -1
- package/dist/src/genui/catalog.js +3 -1
- package/dist/src/genui/catalog.js.map +1 -1
- package/dist/src/genui/channels.d.ts +32 -5
- package/dist/src/genui/channels.d.ts.map +1 -1
- package/dist/src/genui/channels.js +20 -9
- package/dist/src/genui/channels.js.map +1 -1
- package/dist/src/genui/index.d.ts.map +1 -1
- package/dist/src/genui/index.js +7 -7
- package/dist/src/genui/index.js.map +1 -1
- package/dist/src/genui/kit/bundle.d.ts +12 -0
- package/dist/src/genui/kit/bundle.d.ts.map +1 -1
- package/dist/src/genui/kit/bundle.js +124 -133
- package/dist/src/genui/kit/bundle.js.map +1 -1
- package/dist/src/genui/kit/discover.d.ts +8 -5
- package/dist/src/genui/kit/discover.d.ts.map +1 -1
- package/dist/src/genui/kit/discover.js +45 -18
- package/dist/src/genui/kit/discover.js.map +1 -1
- package/dist/src/genui/kit/docs.d.ts +3 -1
- package/dist/src/genui/kit/docs.d.ts.map +1 -1
- package/dist/src/genui/kit/docs.js +22 -5
- package/dist/src/genui/kit/docs.js.map +1 -1
- package/dist/src/genui/kit/files.d.ts +22 -10
- package/dist/src/genui/kit/files.d.ts.map +1 -1
- package/dist/src/genui/kit/files.js +117 -19
- package/dist/src/genui/kit/files.js.map +1 -1
- package/dist/src/genui/kit/index.d.ts +5 -3
- package/dist/src/genui/kit/index.d.ts.map +1 -1
- package/dist/src/genui/kit/index.js +4 -2
- package/dist/src/genui/kit/index.js.map +1 -1
- package/dist/src/genui/kit/plugin.d.ts +17 -9
- package/dist/src/genui/kit/plugin.d.ts.map +1 -1
- package/dist/src/genui/kit/plugin.js +196 -129
- package/dist/src/genui/kit/plugin.js.map +1 -1
- package/dist/src/genui/kit/styles.d.ts +83 -0
- package/dist/src/genui/kit/styles.d.ts.map +1 -0
- package/dist/src/genui/kit/styles.js +406 -0
- package/dist/src/genui/kit/styles.js.map +1 -0
- package/dist/src/genui/kit/vite-build.d.ts +33 -0
- package/dist/src/genui/kit/vite-build.d.ts.map +1 -0
- package/dist/src/genui/kit/vite-build.js +195 -0
- package/dist/src/genui/kit/vite-build.js.map +1 -0
- package/dist/src/genui/kit/write.d.ts +20 -8
- package/dist/src/genui/kit/write.d.ts.map +1 -1
- package/dist/src/genui/kit/write.js +54 -16
- package/dist/src/genui/kit/write.js.map +1 -1
- package/dist/src/genui/public.d.ts +5 -4
- package/dist/src/genui/public.d.ts.map +1 -1
- package/dist/src/genui/public.js +4 -3
- package/dist/src/genui/public.js.map +1 -1
- package/dist/src/genui/sandbox-jsx-frame-generated.d.ts +2 -0
- package/dist/src/genui/sandbox-jsx-frame-generated.d.ts.map +1 -0
- package/dist/src/genui/sandbox-jsx-frame-generated.js +4 -0
- package/dist/src/genui/sandbox-jsx-frame-generated.js.map +1 -0
- package/dist/src/genui/sandbox-kit.d.ts +50 -17
- package/dist/src/genui/sandbox-kit.d.ts.map +1 -1
- package/dist/src/genui/sandbox-kit.js +20 -10
- package/dist/src/genui/sandbox-kit.js.map +1 -1
- package/dist/src/genui/sandbox-styles.d.ts +113 -0
- package/dist/src/genui/sandbox-styles.d.ts.map +1 -0
- package/dist/src/genui/sandbox-styles.js +487 -0
- package/dist/src/genui/sandbox-styles.js.map +1 -0
- package/dist/src/genui/sandbox-theme.d.ts +13 -9
- package/dist/src/genui/sandbox-theme.d.ts.map +1 -1
- package/dist/src/genui/sandbox-theme.js +52 -60
- package/dist/src/genui/sandbox-theme.js.map +1 -1
- package/dist/src/genui/sandbox.d.ts +14 -15
- package/dist/src/genui/sandbox.d.ts.map +1 -1
- package/dist/src/genui/sandbox.js +55 -13
- package/dist/src/genui/sandbox.js.map +1 -1
- package/dist/src/genui/tools.d.ts +20 -0
- package/dist/src/genui/tools.d.ts.map +1 -1
- package/dist/src/genui/tools.js +19 -4
- package/dist/src/genui/tools.js.map +1 -1
- package/dist/src/hooks/genui_kit.d.ts +6 -2
- package/dist/src/hooks/genui_kit.d.ts.map +1 -1
- package/dist/src/hooks/genui_kit.js +21 -9
- package/dist/src/hooks/genui_kit.js.map +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/negotiated-tool-ui.d.ts.map +1 -1
- package/dist/src/negotiated-tool-ui.js +4 -0
- package/dist/src/negotiated-tool-ui.js.map +1 -1
- package/dist/src/react/core/genui/sandbox-assets.d.ts +4 -1
- package/dist/src/react/core/genui/sandbox-assets.d.ts.map +1 -1
- package/dist/src/react/core/genui/sandbox-assets.js +17 -5
- package/dist/src/react/core/genui/sandbox-assets.js.map +1 -1
- package/dist/src/react/core/genui/sandbox.d.ts +1 -1
- package/dist/src/react/core/genui/sandbox.d.ts.map +1 -1
- package/dist/src/react/core/genui/sandbox.js +20 -4
- package/dist/src/react/core/genui/sandbox.js.map +1 -1
- package/dist/src/vite/index.d.ts +10 -7
- package/dist/src/vite/index.d.ts.map +1 -1
- package/dist/src/vite/index.js +10 -7
- package/dist/src/vite/index.js.map +1 -1
- package/package.json +13 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vite-build.js","sourceRoot":"","sources":["../../../../src/genui/kit/vite-build.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,26 @@
|
|
|
1
1
|
import type { SandboxKitDescriptor } from '../sandbox-kit.js';
|
|
2
2
|
import { type GenerateSandboxKitDocsOptions } from './docs.js';
|
|
3
|
+
export interface WriteSandboxKitDocsOptions extends GenerateSandboxKitDocsOptions {
|
|
4
|
+
/** Where the descriptor goes, relative to the root. */
|
|
5
|
+
output: string;
|
|
6
|
+
/** The app's style entries (default: found from `index.html` / the Vite input, when given). */
|
|
7
|
+
styles?: string | readonly string[];
|
|
8
|
+
/** Guidance on the styles for the model: a file (markdown) or the text itself. */
|
|
9
|
+
stylesDocs?: string;
|
|
10
|
+
/** Vite's `build.rollupOptions.input`, for finding the style entries without `styles`. */
|
|
11
|
+
input?: unknown;
|
|
12
|
+
/** Compile the styles with Vite (Sass, PostCSS…). Default true when `vite` is installed. */
|
|
13
|
+
compileStyles?: boolean;
|
|
14
|
+
/** Extra Vite plugins for compiling the styles. */
|
|
15
|
+
plugins?: unknown[];
|
|
16
|
+
}
|
|
3
17
|
/**
|
|
4
|
-
* Generate the kit docs and write them as a descriptor
|
|
18
|
+
* Generate the kit docs and write them as a descriptor with no asset urls (a dev server or a build
|
|
5
19
|
* provides those) — what the assembler hook and the Nest codegen run for an app whose Vite does not
|
|
6
|
-
* run in the server's process
|
|
7
|
-
* theme
|
|
8
|
-
* untouched (no
|
|
20
|
+
* run in the server's process: the components and their props, the styles' Tailwind tokens or CSS
|
|
21
|
+
* vocabulary, the theme's variables, `stylesDocs`. Returns the descriptor, or `null` when the
|
|
22
|
+
* project has neither components, a wrapper nor styles. Leaves an unchanged file untouched (no
|
|
23
|
+
* needless reloads).
|
|
9
24
|
*/
|
|
10
|
-
export declare function writeSandboxKitDocs(options:
|
|
11
|
-
output: string;
|
|
12
|
-
css?: string | readonly string[];
|
|
13
|
-
}): Promise<SandboxKitDescriptor | null>;
|
|
25
|
+
export declare function writeSandboxKitDocs(options: WriteSandboxKitDocsOptions): Promise<SandboxKitDescriptor | null>;
|
|
14
26
|
//# sourceMappingURL=write.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write.d.ts","sourceRoot":"","sources":["../../../../src/genui/kit/write.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE9D,OAAO,EAAE,KAAK,6BAA6B,EAA0B,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"write.d.ts","sourceRoot":"","sources":["../../../../src/genui/kit/write.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE9D,OAAO,EAAE,KAAK,6BAA6B,EAA0B,MAAM,WAAW,CAAC;AAUvF,MAAM,WAAW,0BAA2B,SAAQ,6BAA6B;IAC/E,uDAAuD;IACvD,MAAM,EAAE,MAAM,CAAC;IACf,+FAA+F;IAC/F,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;IACpC,kFAAkF;IAClF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0FAA0F;IAC1F,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,4FAA4F;IAC5F,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,mDAAmD;IACnD,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;CACrB;AAWD;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAoDtC"}
|
|
@@ -1,32 +1,70 @@
|
|
|
1
1
|
import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
|
|
2
2
|
import { dirname, resolve } from 'node:path';
|
|
3
|
-
import {
|
|
3
|
+
import { kitDocsFromBundle } from './bundle.js';
|
|
4
4
|
import { generateSandboxKitDocs } from './docs.js';
|
|
5
|
-
import {
|
|
5
|
+
import { assertNoLegacyKitOptions, resolveSandboxKitFiles } from './files.js';
|
|
6
|
+
import { buildSandboxKitStyles, discoverStyleEntries, readStylesGuide, resolveStyleEntries, stylesDocs, } from './styles.js';
|
|
7
|
+
async function viteAvailable() {
|
|
8
|
+
try {
|
|
9
|
+
await import('vite');
|
|
10
|
+
return true;
|
|
11
|
+
}
|
|
12
|
+
catch {
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
6
16
|
/**
|
|
7
|
-
* Generate the kit docs and write them as a descriptor
|
|
17
|
+
* Generate the kit docs and write them as a descriptor with no asset urls (a dev server or a build
|
|
8
18
|
* provides those) — what the assembler hook and the Nest codegen run for an app whose Vite does not
|
|
9
|
-
* run in the server's process
|
|
10
|
-
* theme
|
|
11
|
-
* untouched (no
|
|
19
|
+
* run in the server's process: the components and their props, the styles' Tailwind tokens or CSS
|
|
20
|
+
* vocabulary, the theme's variables, `stylesDocs`. Returns the descriptor, or `null` when the
|
|
21
|
+
* project has neither components, a wrapper nor styles. Leaves an unchanged file untouched (no
|
|
22
|
+
* needless reloads).
|
|
12
23
|
*/
|
|
13
24
|
export async function writeSandboxKitDocs(options) {
|
|
25
|
+
assertNoLegacyKitOptions(options, 'writeSandboxKitDocs');
|
|
14
26
|
const root = options.root ?? process.cwd();
|
|
15
27
|
const files = options.files ?? resolveSandboxKitFiles(root, options);
|
|
16
|
-
|
|
28
|
+
const entries = options.styles !== undefined
|
|
29
|
+
? resolveStyleEntries(root, options.styles).files
|
|
30
|
+
: discoverStyleEntries(root, { input: options.input });
|
|
31
|
+
if (files === null && entries.length === 0)
|
|
17
32
|
return null;
|
|
18
|
-
const
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
33
|
+
const compile = options.compileStyles ?? (await viteAvailable());
|
|
34
|
+
const styles = await buildSandboxKitStyles({
|
|
35
|
+
root,
|
|
36
|
+
entries,
|
|
37
|
+
compile,
|
|
38
|
+
...(options.plugins !== undefined ? { plugins: options.plugins } : {}),
|
|
39
|
+
}).catch(() => null);
|
|
40
|
+
let components = files === null
|
|
41
|
+
? []
|
|
42
|
+
: await generateSandboxKitDocs({ ...options, root, files }).catch(() => null);
|
|
43
|
+
if (components === null) {
|
|
44
|
+
// No TypeScript: the names (and propTypes) a bundle of the kit exports, when Vite can build it.
|
|
45
|
+
components = [];
|
|
46
|
+
if (files !== null && compile) {
|
|
47
|
+
try {
|
|
48
|
+
const { buildSandboxKitBundle } = await import('./bundle.js');
|
|
49
|
+
components = kitDocsFromBundle((await buildSandboxKitBundle({ root, files })).code);
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
components = [];
|
|
53
|
+
}
|
|
54
|
+
}
|
|
23
55
|
}
|
|
56
|
+
const guide = readStylesGuide(root, options.stylesDocs);
|
|
24
57
|
const descriptor = {
|
|
25
|
-
version:
|
|
58
|
+
version: 2,
|
|
26
59
|
components,
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
60
|
+
jsx: files !== null,
|
|
61
|
+
...(files?.wrapper !== undefined ? { wrapper: true } : {}),
|
|
62
|
+
...(styles !== null && Object.keys(styles.vars).length > 0
|
|
63
|
+
? { theme: { vars: styles.vars } }
|
|
64
|
+
: {}),
|
|
65
|
+
...stylesDocs(styles),
|
|
66
|
+
...(guide !== undefined ? { guide } : {}),
|
|
67
|
+
assets: { kit: null, css: null, tailwind: null },
|
|
30
68
|
};
|
|
31
69
|
const path = resolve(root, options.output);
|
|
32
70
|
const text = `${JSON.stringify(descriptor, null, 2)}\n`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write.js","sourceRoot":"","sources":["../../../../src/genui/kit/write.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE7C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"write.js","sourceRoot":"","sources":["../../../../src/genui/kit/write.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,15 +2,16 @@
|
|
|
2
2
|
export { jsonByteLength, type ReadUiActionOptions, readUiAction, readUiActionText, sandboxAction, UI_ACTION_MAX_BYTES, type UiAction, type UiActionMessage, type UiActionSource, uiActionSummary, uiActionText, validateUiActionContext, } from './actions.js';
|
|
3
3
|
export { negotiateCatalog, type PreparedUiEmission, prepareUiEmission, type UiCapabilities, validateUiCapabilities, } from './capabilities.js';
|
|
4
4
|
export { type Catalog, type CatalogOptions, COMPONENT_NAME, type ComponentDefinition, type DefineComponentExtras, defineCatalog, defineComponent, type GenuiStreaming, toolNameFor, toSnakeCase, } from './catalog.js';
|
|
5
|
-
export { assertGenuiChannels, type ChannelChoiceLimits, type ChannelComponentInput, type ChannelConversion, type ChannelConversionSpec, type ChannelNativeButton, type ChannelNativeImage, type ChannelNativeList, type ChannelNativeListItem, type ChannelNativeMessage, type ChannelRenderedMessage, type ChartImageRenderer, type ComponentChannels, canRenderOnChannel, channelButtonAction, channelCatalog, channelInstructions, channelPrompt, DEFAULT_CHANNEL, describeChannelComponents, describeChannelDelivery, type GenuiChannelBase, type GenuiChannelMode, type GenuiChannelOptions, type GenuiChannelRender, type GenuiChannels, isMessagingChannel, MESSAGING_CHANNELS, type ResolvedGenuiChannel, renderChannelMessages, resolveGenuiChannel, textToHtml, turnChannel, WEB_CHANNEL, } from './channels.js';
|
|
5
|
+
export { assertGenuiChannels, type ChannelChoiceLimits, type ChannelComponentInput, type ChannelConversion, type ChannelConversionContext, type ChannelConversionSpec, type ChannelDescribeContext, type ChannelNativeButton, type ChannelNativeImage, type ChannelNativeList, type ChannelNativeListItem, type ChannelNativeMessage, type ChannelRenderedMessage, type ChartImageRenderer, type ComponentChannels, canRenderOnChannel, channelButtonAction, channelCatalog, channelInstructions, channelPrompt, DEFAULT_CHANNEL, describeChannelComponents, describeChannelDelivery, type GenuiChannelBase, type GenuiChannelMode, type GenuiChannelOptions, type GenuiChannelRender, type GenuiChannels, isMessagingChannel, MESSAGING_CHANNELS, type ResolvedGenuiChannel, renderChannelMessages, resolveGenuiChannel, textToHtml, turnChannel, WEB_CHANNEL, } from './channels.js';
|
|
6
6
|
export { type GenuiPartialElement, type PartialTreeOptions, partialTree, treeNodeId, } from './progressive.js';
|
|
7
7
|
export { type ChartProps, type ComponentFactory, type ComponentManifest, type ComponentPresentation, type ComponentRegistry, type ComponentRenderer, chart, createComponent, createComponentRegistry, snapshotComponentPresentation, type TableCell, type TableProps, table, validatePresentationBatch, } from './registry.js';
|
|
8
8
|
export { assertSandboxPolicy, buildSandboxDocument, type DefineSandboxOptions, defineSandbox, previewHtml, SANDBOX_COMPONENT, SANDBOX_DEFAULTS, SANDBOX_FIELD_ORDER, SANDBOX_IFRAME_FLAGS, SANDBOX_MESSAGE, Sandbox, type SandboxDefinition, type SandboxDocumentOptions, type SandboxKitSource, type SandboxPolicy, type SandboxProps, type SandboxThemeSource, type SandboxView, sandboxCsp, sandboxPartialProps, sandboxPolicyOf, } from './sandbox.js';
|
|
9
9
|
export { prepareSandboxJsx, transpileJsx } from './sandbox-jsx.js';
|
|
10
|
-
export { kitDocsToModelText, kitJsxInstructions, SANDBOX_ASSET_SIZES, type SandboxClientConfig, type SandboxKitComponentDoc, type SandboxKitDescriptor, type SandboxKitDocs, type SandboxKitPropDoc, sandboxJsxRuntime,
|
|
11
|
-
export {
|
|
10
|
+
export { kitDocsToModelText, kitHtmlInstructions, kitJsxInstructions, SANDBOX_ASSET_SIZES, type SandboxClientConfig, type SandboxKitAssets, type SandboxKitComponentDoc, type SandboxKitDescriptor, type SandboxKitDocs, type SandboxKitPropDoc, sandboxJsxRuntime, } from './sandbox-kit.js';
|
|
11
|
+
export { type CssUrlResolution, type CssVocabulary, type CssVocabularyOptions, compressClassNames, extractCssVocabulary, INLINE_ASSET_DEFAULTS, type InlineCssUrlsOptions, inlineCssUrls, type TailwindTokens, tailwindDirectivesFromCss, tailwindTokensFromCss, tailwindToModelText, tailwindV3ConfigToCss, tailwindVersionOf, vocabularyToModelText, } from './sandbox-styles.js';
|
|
12
|
+
export { collectHostThemeVars, hostModeAttributes, hostThemeCss, isColorValue, isHostDark, isHslChannels, MODE_ATTRIBUTE, type ThemeTokens, tailwindThemeCss, themeTokens, themeToModelText, themeVarsFromCss, watchHostTheme, } from './sandbox-theme.js';
|
|
12
13
|
export { type AjvLike, ajvValidator, builtinJsonSchemaValidator, formatIssues, type GenuiIssue, type GenuiValidation, isStandardSchema, type JsonSchema, type JsonSchemaValidator, type PropsSchema, toJsonSchema, validateProps, validatePropsSync, } from './schema.js';
|
|
13
14
|
export { type CatalogTextOptions, catalogToModelText, componentToText, fillTemplate, getPath, summarizeSchema, treeToText, } from './text.js';
|
|
14
|
-
export { GENUI_SHOW_TOOL, type GenuiCatalogScope, type GenuiTool, type GenuiToolOutput, type GenuiToolsOptions, genuiTools, jsonStandardSchema, type ResolveGenuiCatalog, showToolJsonSchema, } from './tools.js';
|
|
15
|
+
export { GENUI_SHOW_TOOL, type GenuiAbility, type GenuiCatalogScope, type GenuiTool, type GenuiToolOutput, type GenuiToolsOptions, genuiToolAbility, genuiTools, jsonStandardSchema, type ResolveGenuiCatalog, showToolJsonSchema, } from './tools.js';
|
|
15
16
|
export { type FlatSpec, GENUI_TREE_COMPONENT, type GenuiElement, type GenuiTreeProps, normalizeTreeInput, type TreeLimits, type TreeSchemaMode, treeJsonSchema, treeToFlatSpec, validateTree, } from './tree.js';
|
|
16
17
|
//# sourceMappingURL=public.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../../src/genui/public.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAE5D,OAAO,EACL,cAAc,EACd,KAAK,mBAAmB,EACxB,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,KAAK,QAAQ,EACb,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,eAAe,EACf,YAAY,EACZ,uBAAuB,GACxB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,gBAAgB,EAChB,KAAK,kBAAkB,EACvB,iBAAiB,EACjB,KAAK,cAAc,EACnB,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,cAAc,EACnB,cAAc,EACd,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,aAAa,EACb,eAAe,EACf,KAAK,cAAc,EACnB,WAAW,EACX,WAAW,GACZ,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,mBAAmB,EACnB,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,yBAAyB,EACzB,uBAAuB,EACvB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,oBAAoB,EACzB,qBAAqB,EACrB,mBAAmB,EACnB,UAAU,EACV,WAAW,EACX,WAAW,GACZ,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,WAAW,EACX,UAAU,GACX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,EACL,eAAe,EACf,uBAAuB,EACvB,6BAA6B,EAC7B,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,EACL,yBAAyB,GAC1B,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,KAAK,oBAAoB,EACzB,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,eAAe,EACf,OAAO,EACP,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,UAAU,EACV,mBAAmB,EACnB,eAAe,GAChB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../../src/genui/public.ts"],"names":[],"mappings":"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"}
|
package/dist/src/genui/public.js
CHANGED
|
@@ -7,10 +7,11 @@ export { partialTree, treeNodeId, } from './progressive.js';
|
|
|
7
7
|
export { chart, createComponent, createComponentRegistry, snapshotComponentPresentation, table, validatePresentationBatch, } from './registry.js';
|
|
8
8
|
export { assertSandboxPolicy, buildSandboxDocument, defineSandbox, previewHtml, SANDBOX_COMPONENT, SANDBOX_DEFAULTS, SANDBOX_FIELD_ORDER, SANDBOX_IFRAME_FLAGS, SANDBOX_MESSAGE, Sandbox, sandboxCsp, sandboxPartialProps, sandboxPolicyOf, } from './sandbox.js';
|
|
9
9
|
export { prepareSandboxJsx, transpileJsx } from './sandbox-jsx.js';
|
|
10
|
-
export { kitDocsToModelText, kitJsxInstructions, SANDBOX_ASSET_SIZES, sandboxJsxRuntime,
|
|
11
|
-
export {
|
|
10
|
+
export { kitDocsToModelText, kitHtmlInstructions, kitJsxInstructions, SANDBOX_ASSET_SIZES, sandboxJsxRuntime, } from './sandbox-kit.js';
|
|
11
|
+
export { compressClassNames, extractCssVocabulary, INLINE_ASSET_DEFAULTS, inlineCssUrls, tailwindDirectivesFromCss, tailwindTokensFromCss, tailwindToModelText, tailwindV3ConfigToCss, tailwindVersionOf, vocabularyToModelText, } from './sandbox-styles.js';
|
|
12
|
+
export { collectHostThemeVars, hostModeAttributes, hostThemeCss, isColorValue, isHostDark, isHslChannels, MODE_ATTRIBUTE, tailwindThemeCss, themeTokens, themeToModelText, themeVarsFromCss, watchHostTheme, } from './sandbox-theme.js';
|
|
12
13
|
export { ajvValidator, builtinJsonSchemaValidator, formatIssues, isStandardSchema, toJsonSchema, validateProps, validatePropsSync, } from './schema.js';
|
|
13
14
|
export { catalogToModelText, componentToText, fillTemplate, getPath, summarizeSchema, treeToText, } from './text.js';
|
|
14
|
-
export { GENUI_SHOW_TOOL, genuiTools, jsonStandardSchema, showToolJsonSchema, } from './tools.js';
|
|
15
|
+
export { GENUI_SHOW_TOOL, genuiToolAbility, genuiTools, jsonStandardSchema, showToolJsonSchema, } from './tools.js';
|
|
15
16
|
export { GENUI_TREE_COMPONENT, normalizeTreeInput, treeJsonSchema, treeToFlatSpec, validateTree, } from './tree.js';
|
|
16
17
|
//# sourceMappingURL=public.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public.js","sourceRoot":"","sources":["../../../src/genui/public.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAE5D,OAAO,EACL,cAAc,EAEd,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EAInB,eAAe,EACf,YAAY,EACZ,uBAAuB,GACxB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,gBAAgB,EAEhB,iBAAiB,EAEjB,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAGL,cAAc,EAGd,aAAa,EACb,eAAe,EAEf,WAAW,EACX,WAAW,GACZ,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,mBAAmB,
|
|
1
|
+
{"version":3,"file":"public.js","sourceRoot":"","sources":["../../../src/genui/public.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAE5D,OAAO,EACL,cAAc,EAEd,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EAInB,eAAe,EACf,YAAY,EACZ,uBAAuB,GACxB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,gBAAgB,EAEhB,iBAAiB,EAEjB,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAGL,cAAc,EAGd,aAAa,EACb,eAAe,EAEf,WAAW,EACX,WAAW,GACZ,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,mBAAmB,EAenB,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,yBAAyB,EACzB,uBAAuB,EAMvB,kBAAkB,EAClB,kBAAkB,EAElB,qBAAqB,EACrB,mBAAmB,EACnB,UAAU,EACV,WAAW,EACX,WAAW,GACZ,MAAM,eAAe,CAAC;AACvB,OAAO,EAGL,WAAW,EACX,UAAU,GACX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAOL,KAAK,EACL,eAAe,EACf,uBAAuB,EACvB,6BAA6B,EAG7B,KAAK,EACL,yBAAyB,GAC1B,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EAEpB,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,eAAe,EACf,OAAO,EAQP,UAAU,EACV,mBAAmB,EACnB,eAAe,GAChB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EAOnB,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAIL,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EAErB,aAAa,EAEb,yBAAyB,EACzB,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,aAAa,EACb,cAAc,EAEd,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAEL,YAAY,EACZ,0BAA0B,EAC1B,YAAY,EAGZ,gBAAgB,EAIhB,YAAY,EACZ,aAAa,EACb,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EAEL,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,OAAO,EACP,eAAe,EACf,UAAU,GACX,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,eAAe,EAMf,gBAAgB,EAChB,UAAU,EACV,kBAAkB,EAElB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AACpB,OAAO,EAEL,oBAAoB,EAGpB,kBAAkB,EAGlB,cAAc,EACd,cAAc,EACd,YAAY,GACb,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sandbox-jsx-frame-generated.d.ts","sourceRoot":"","sources":["../../../src/genui/sandbox-jsx-frame-generated.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,wBAAwB,EAAE,MAAqxP,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
// GENERATED by scripts/build-frame-runtime.mjs from sandbox-jsx.ts — do not edit.
|
|
2
|
+
// The sandbox frame's JSX transpiler, as a self-contained script defining `__genuiJsx`.
|
|
3
|
+
export const SANDBOX_JSX_FRAME_SOURCE = "var __genuiJsx=(()=>{var R=Object.defineProperty;var L=Object.getOwnPropertyDescriptor;var G=Object.getOwnPropertyNames;var H=Object.prototype.hasOwnProperty;var M=(b,$)=>{for(var n in $)R(b,n,{get:$[n],enumerable:!0})},Q=(b,$,n,s)=>{if($&&typeof $==\"object\"||typeof $==\"function\")for(let f of G($))!H.call(b,f)&&f!==n&&R(b,f,{get:()=>$[f],enumerable:!(s=L($,f))||s.enumerable});return b};var V=b=>Q(R({},\"__esModule\",{value:!0}),b);var et={};M(et,{prepareSandboxJsx:()=>tt,transpileJsx:()=>B});function B(b,$){let n=b,s=n.length,f=($==null?void 0:$.partial)===!0,t=0,l=\"\",a=!1,T=[\"return\",\"case\",\"typeof\",\"in\",\"of\",\"new\",\"delete\",\"void\",\"throw\",\"yield\",\"await\",\"else\",\"do\",\"instanceof\"],Z=[\"const\",\"let\",\"var\",\"function\",\"if\",\"for\",\"while\",\"switch\",\"new\",\"typeof\",\"in\",\"of\",\"instanceof\",\"class\",\"extends\",\"case\",\"do\",\"else\",\"try\",\"catch\",\"finally\",\"throw\",\"delete\",\"void\",\"await\",\"yield\",\"async\",\"import\",\"export\"],K={amp:\"&\",lt:\"<\",gt:\">\",quot:'\"',apos:\"'\",nbsp:\"\\xA0\",middot:\"\\xB7\",times:\"\\xD7\",divide:\"\\xF7\",ndash:\"\\u2013\",mdash:\"\\u2014\",hellip:\"\\u2026\",copy:\"\\xA9\",reg:\"\\xAE\",deg:\"\\xB0\",euro:\"\\u20AC\",larr:\"\\u2190\",rarr:\"\\u2192\",uarr:\"\\u2191\",darr:\"\\u2193\",check:\"\\u2713\"},m=i=>{throw new SyntaxError(`${i} (at ${t})`)},_=i=>i!==void 0&&/[A-Za-z_$]/.test(i),P=i=>i!==void 0&&/[\\w$]/.test(i),E=()=>l===\"\"?!0:l===\"val\"?!1:l.startsWith(\"id:\")?T.indexOf(l.slice(3))>=0:l!==\")\"&&l!==\"]\"&&l!==\"}\",X=()=>l===\"\"||l===\"val\"||l===\")\"||l===\"]\"||l===\"}\"||l===\"{\"||l===\"[\"||l===\",\"||l===\";\"?!0:l.startsWith(\"id:\")?Z.indexOf(l.slice(3))<0:!1,z=i=>i.replace(/&(#x[0-9a-fA-F]+|#[0-9]+|[A-Za-z]+);/g,(e,r)=>{var d;if(r[0]===\"#\"){let v=r[1]===\"x\"?parseInt(r.slice(2),16):parseInt(r.slice(1),10);return Number.isFinite(v)?String.fromCodePoint(v):e}return(d=K[r])!=null?d:e}),q=i=>{let e=i.split(/\\r\\n|\\n|\\r/);if(e.length===1)return z(i);let r=[];return e.forEach((d,v)=>{let u=d;v>0&&(u=u.replace(/^\\s+/,\"\")),v<e.length-1&&(u=u.replace(/\\s+$/,\"\")),u!==\"\"&&r.push(u)}),z(r.join(\" \"))},U=i=>{let e=i===\"class\"?\"className\":i===\"for\"?\"htmlFor\":i;return/^[A-Za-z_$][\\w$]*$/.test(e)?e:JSON.stringify(e)},j=()=>{for(;t<s&&/\\s/.test(n[t]);)t++},C=i=>{let e=t+1;for(;e<s;){let r=n[e];if(r===\"\\\\\"){e+=2;continue}if(r===i){let d=n.slice(t,e+1);return t=e+1,d}r===`\n`&&m(\"Unterminated string\"),e++}return f?(a=!0,t=s,null):m(\"Unterminated string\")},D=()=>{let i=\"`\";for(t++;t<s;){let e=n[t];if(e===\"\\\\\"){i+=n.slice(t,t+2),t+=2;continue}if(e===\"`\")return t++,`${i}\\``;if(e===\"$\"&&n[t+1]===\"{\"){t+=2;let r=l;l=\"\";let d=J(!0);if(l=r,a)return null;i+=`\\${${d}}`,t++;continue}i+=e,t++}return f?(a=!0,null):m(\"Unterminated template\")},Y=()=>{let i=t+1,e=!1;for(;i<s;){let r=n[i];if(r===\"\\\\\"){i+=2;continue}if(r===`\n`&&m(\"Unterminated regular expression\"),e)r===\"]\"&&(e=!1);else if(r===\"[\")e=!0;else if(r===\"/\"){for(i++;i<s&&/[a-z]/.test(n[i]);)i++;let d=n.slice(t,i);return t=i,d}i++}return f?(a=!0,t=s,null):m(\"Unterminated regular expression\")},A=()=>{t++;let i=l;l=\"\";let e=J(!0);return l=i,a?e.trim()===\"\"?null:e:(t++,e)},x=(i,e,r)=>`React.createElement(${i}, ${e}${r.length>0?`, ${r.join(\", \")}`:\"\"})`,I=()=>{t++,j();let i=\"\",e=\"React.Fragment\",r=[],d=[],v=()=>{d.length>0&&r.push(`{${d.join(\", \")}}`),d=[]},u=()=>(v(),r.length===0?\"null\":r.length===1&&r[0].startsWith(\"{\")?r[0]:`Object.assign({}, ${r.join(\", \")})`);if(n[t]===\">\")t++;else{let g=t;for(;g<s&&/[\\w$.:-]/.test(n[g]);)g++;if(i=n.slice(t,g),g>=s&&f)return a=!0,t=s,null;for(i===\"\"&&m(\"Expected a tag name\"),t=g,e=/^[a-z][\\w-]*$/.test(i)?JSON.stringify(i):i;;){if(j(),t>=s){if(f)return a=!0,x(e,u(),[]);m(\"Unterminated JSX tag\")}if(n[t]===\"/\"&&n[t+1]===\">\")return t+=2,x(e,u(),[]);if(n[t]===\"/\"&&t+1>=s&&f)return a=!0,t=s,x(e,u(),[]);if(n[t]===\">\"){t++;break}if(n[t]===\"{\"){let h=t;if(t++,j(),n.slice(t,t+3)!==\"...\"){if(f&&t+3>s)return a=!0,t=s,x(e,u(),[]);t=h,m(\"Expected a spread attribute\")}t+=3;let N=l;l=\"\";let W=J(!0);if(l=N,a)return x(e,u(),[]);t++,v(),r.push(W);continue}let y=t;for(;y<s&&/[\\w$:-]/.test(n[y]);)y++;let k=n.slice(t,y);if(k===\"\"&&m(\"Expected an attribute\"),t=y,j(),t>=s&&f)return a=!0,x(e,u(),[]);if(n[t]!==\"=\"){d.push(`${U(k)}: true`);continue}t++,j();let p=n[t];if(p==='\"'||p===\"'\"){let h=n.indexOf(p,t+1);if(h<0){if(f)return a=!0,t=s,x(e,u(),[]);m(\"Unterminated attribute\")}d.push(`${U(k)}: ${JSON.stringify(z(n.slice(t+1,h)))}`),t=h+1;continue}if(p===\"{\"){let h=A();if(a)return x(e,u(),[]);d.push(`${U(k)}: ${(h!=null?h:\"\").trim()}`);continue}if(p===\"<\"){let h=I();if(h!==null&&d.push(`${U(k)}: ${h}`),a)return x(e,u(),[]);continue}if(t>=s&&f)return a=!0,x(e,u(),[]);m(\"Expected an attribute value\")}}let w=[];for(;;){if(t>=s){if(f)return a=!0,x(e,u(),w);m(\"Unterminated JSX element\")}if(n[t]===\"<\"&&(n[t+1]===\"/\"||t+1>=s&&f)){let p=n.indexOf(\">\",t);if(p<0){if(f)return a=!0,t=s,x(e,u(),w);m(\"Unterminated closing tag\")}let h=n.slice(t+2,p).trim();return h!==i&&m(`Expected </${i}>, found </${h}>`),t=p+1,x(e,u(),w)}if(n[t]===\"<\"){let p=I();if(p!==null&&w.push(p),a)return x(e,u(),w);continue}if(n[t]===\"{\"){let p=A();if(p!==null&&p.replace(/\\/\\*[\\s\\S]*?\\*\\//g,\"\").trim()!==\"\"&&w.push(p),a)return x(e,u(),w);continue}let g=t;for(;g<s&&n[g]!==\"<\"&&n[g]!==\"{\";)g++;let y=n.slice(t,g);g>=s&&f&&(y=y.replace(/&[#\\w]*$/,\"\"));let k=q(y);k!==\"\"&&w.push(JSON.stringify(k)),t=g}};function J(i){var p,h,N,W,F;let e=\"\",r=[],d=0,v=[],u=[0],w=!0,g=(c=!0)=>{w=c&&X()&&u.every(S=>S===0),w&&(d=e.length,v=r.slice())},y=c=>c===\"{\"?\"}\":c===\"(\"?\")\":\"]\",k=()=>(w?e:e.slice(0,d))+(w?r:v).slice().reverse().map(y).join(\"\");for(;t<s;){let c=n[t];if(c===\"}\"&&r.length===0&&i)return e;if(c===\" \"||c===\"\t\"||c===`\n`||c===\"\\r\"){e+=c,t++;continue}if(c===\"/\"&&n[t+1]===\"/\"){let o=n.indexOf(`\n`,t),O=o<0?s:o;e+=n.slice(t,O),t=O;continue}if(c===\"/\"&&n[t+1]===\"*\"){let o=n.indexOf(\"*/\",t+2);if(o<0){if(f){a=!0,t=s;break}m(\"Unterminated comment\")}e+=n.slice(t,o+2),t=o+2;continue}if(c==='\"'||c===\"'\"){let o=C(c);if(o===null)break;e+=o,l=\"val\",g();continue}if(c===\"`\"){let o=D();if(o===null)break;e+=o,l=\"val\",g();continue}if(c===\"/\"&&E()){let o=Y();if(o===null)break;e+=o,l=\"val\",g();continue}if(c===\"<\"&&E()&&(_(n[t+1])||n[t+1]===\">\"||f&&t+1>=s)){if(t+1>=s){a=!0,t=s;break}let o=I();if(o!==null&&(e+=o,l=\"val\",g()),a)break;continue}if(_(c)){let o=t+1;for(;o<s&&P(n[o]);)o++;if(o>=s&&f){a=!0,t=s;break}let O=n.slice(t,o);e+=O,t=o,l=`id:${O}`,g();continue}if(/[0-9]/.test(c)||c===\".\"&&/[0-9]/.test((p=n[t+1])!=null?p:\"\")){let o=t+1;for(;o<s&&/[\\w.]/.test(n[o]);)o++;if(o>=s&&f){a=!0,t=s;break}e+=n.slice(t,o),t=o,l=\"val\",g();continue}if(c===\"?\"&&(n[t+1]===\"?\"||n[t+1]===\".\"&&!/[0-9]/.test((h=n[t+2])!=null?h:\"\"))){e+=n.slice(t,t+2),t+=2,l=\"?\",g(!1);continue}c===\"?\"?u[r.length]=((N=u[r.length])!=null?N:0)+1:c===\":\"&&((W=u[r.length])!=null?W:0)>0&&(u[r.length]=((F=u[r.length])!=null?F:0)-1);let S=!0;if(c===\"[\")S=E();else if(c===\"(\"){let o=l.startsWith(\"id:\")?l.slice(3):\"\";S=!E()&&[\"if\",\"for\",\"while\",\"switch\",\"catch\",\"function\",\"with\"].indexOf(o)<0}else c===\")\"&&(S=l!==\"(\");c===\"{\"||c===\"(\"||c===\"[\"?(r.push(c),u[r.length]=0):(c===\"}\"||c===\")\"||c===\"]\")&&(u.length=r.length,r.pop()),e+=c,t++,l=c,g(S)}return t>=s&&f?(a=!0,k()):(i&&m(\"Unexpected end of input\"),e)}return J(!1)}function tt(b){return b.replace(/^\\s*import\\s[^;\\n]*(?:from\\s*['\"][^'\"\\n]*['\"])?\\s*;?[ \\t]*$/gm,\"\").replace(/^(\\s*)export\\s+default\\s+(?=(async\\s+)?function|class)/gm,\"$1\").replace(/^(\\s*)export\\s+default\\s+([A-Za-z_$][\\w$]*)\\s*;?\\s*$/gm,\"$1\").replace(/^(\\s*)export\\s+(?=(const|let|var|function|class|async)\\b)/gm,\"$1\")}return V(et);})();";
|
|
4
|
+
//# sourceMappingURL=sandbox-jsx-frame-generated.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sandbox-jsx-frame-generated.js","sourceRoot":"","sources":["../../../src/genui/sandbox-jsx-frame-generated.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,wFAAwF;AACxF,MAAM,CAAC,MAAM,wBAAwB,GAAW,4wPAA4wP,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { CssVocabulary, TailwindTokens } from './sandbox-styles.js';
|
|
1
2
|
/** One prop of a kit component, as its TypeScript type declares it. */
|
|
2
3
|
export interface SandboxKitPropDoc {
|
|
3
4
|
name: string;
|
|
@@ -16,44 +17,73 @@ export interface SandboxKitComponentDoc {
|
|
|
16
17
|
/** The element whose native attributes it also takes (`button`), when it spreads them. */
|
|
17
18
|
inherits?: string;
|
|
18
19
|
}
|
|
19
|
-
/**
|
|
20
|
+
/**
|
|
21
|
+
* What the model is told about the app's design system: its components (when there are any), what
|
|
22
|
+
* its styles are — Tailwind (its tokens) or plain CSS (its class vocabulary) — the theme's variables,
|
|
23
|
+
* and the app's own notes. Only what exists is described.
|
|
24
|
+
*/
|
|
20
25
|
export interface SandboxKitDocs {
|
|
21
|
-
version:
|
|
26
|
+
version: 2;
|
|
27
|
+
/** The kit's components, from their types (or names and propTypes in a JavaScript project). */
|
|
22
28
|
components: SandboxKitComponentDoc[];
|
|
29
|
+
/** The model writes JSX: a kit bundle exists (components, or a wrapper). */
|
|
30
|
+
jsx?: boolean;
|
|
31
|
+
/** The App is rendered inside the app's wrapper (`genuiSandboxKit({ wrapper })`: providers, theme). */
|
|
32
|
+
wrapper?: boolean;
|
|
23
33
|
/** The theme variables (name → light value) the app's CSS declares — what the prompt names. */
|
|
24
34
|
theme?: {
|
|
25
35
|
vars: Record<string, string>;
|
|
26
36
|
};
|
|
37
|
+
/** The styles use Tailwind: the frame runs it, with these tokens. */
|
|
38
|
+
tailwind?: {
|
|
39
|
+
version: 3 | 4;
|
|
40
|
+
tokens: TailwindTokens;
|
|
41
|
+
};
|
|
42
|
+
/** The styles are plain CSS (Sass, Less, Bootstrap…): the classes they define. */
|
|
43
|
+
vocabulary?: CssVocabulary;
|
|
44
|
+
/** The app's own guidance on its styles (`stylesDocs`), as written. */
|
|
45
|
+
guide?: string;
|
|
27
46
|
}
|
|
28
|
-
/**
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
*/
|
|
32
|
-
export interface SandboxKitDescriptor extends SandboxKitDocs {
|
|
47
|
+
/** Where the browser fetches the frame's assets from (same origin). `null`: there is none. */
|
|
48
|
+
export interface SandboxKitAssets {
|
|
49
|
+
/** React, ReactDOM, the components and the wrapper, as one classic script (JSX views only). */
|
|
33
50
|
kit: {
|
|
34
51
|
url: string;
|
|
35
52
|
hash?: string;
|
|
36
53
|
} | null;
|
|
37
|
-
/** The
|
|
54
|
+
/** The app's styles, compiled (fonts and images inlined). */
|
|
55
|
+
css: {
|
|
56
|
+
url: string;
|
|
57
|
+
hash?: string;
|
|
58
|
+
} | null;
|
|
59
|
+
/** The Tailwind v4 browser runtime, and the app's Tailwind directives (`@theme`, variants, utilities). */
|
|
38
60
|
tailwind: {
|
|
39
61
|
url: string;
|
|
40
62
|
css?: string;
|
|
41
63
|
} | null;
|
|
42
64
|
}
|
|
65
|
+
/** What the Vite plugin writes (dev) and emits (build), and what the server discovers. */
|
|
66
|
+
export interface SandboxKitDescriptor extends SandboxKitDocs {
|
|
67
|
+
assets: SandboxKitAssets;
|
|
68
|
+
}
|
|
43
69
|
/**
|
|
44
70
|
* What a sandbox renderer needs from the server (`GET <agent>/config` → `genui.sandbox`): whether to
|
|
45
|
-
* pass the theme in, and where the
|
|
71
|
+
* pass the theme in, and where the kit bundle, the compiled styles and the Tailwind runtime are.
|
|
46
72
|
*/
|
|
47
73
|
export interface SandboxClientConfig {
|
|
48
74
|
theme: boolean;
|
|
49
|
-
|
|
75
|
+
kit?: {
|
|
50
76
|
url: string;
|
|
51
|
-
|
|
77
|
+
hash?: string;
|
|
52
78
|
};
|
|
53
|
-
|
|
79
|
+
css?: {
|
|
54
80
|
url: string;
|
|
55
81
|
hash?: string;
|
|
56
82
|
};
|
|
83
|
+
tailwind?: {
|
|
84
|
+
url: string;
|
|
85
|
+
css?: string;
|
|
86
|
+
};
|
|
57
87
|
}
|
|
58
88
|
/** What the opt-in assets weigh, inlined into every sandbox frame that uses them. */
|
|
59
89
|
export declare const SANDBOX_ASSET_SIZES: {
|
|
@@ -63,11 +93,14 @@ export declare const SANDBOX_ASSET_SIZES: {
|
|
|
63
93
|
readonly kit: '≈230 KB + your components';
|
|
64
94
|
};
|
|
65
95
|
/** The kit as the model reads it: one entry per component, its props from their types. */
|
|
66
|
-
export declare function kitDocsToModelText(docs: SandboxKitDocs): string;
|
|
67
|
-
/** The rules for writing the sandbox as JSX
|
|
68
|
-
export declare function kitJsxInstructions(
|
|
69
|
-
|
|
70
|
-
|
|
96
|
+
export declare function kitDocsToModelText(docs: Pick<SandboxKitDocs, 'components'>): string;
|
|
97
|
+
/** The rules for writing the sandbox as JSX. */
|
|
98
|
+
export declare function kitJsxInstructions(options?: {
|
|
99
|
+
components?: boolean;
|
|
100
|
+
wrapper?: boolean;
|
|
101
|
+
}): string;
|
|
102
|
+
/** The rule for a kit with styles but no components: the model writes HTML with those styles. */
|
|
103
|
+
export declare function kitHtmlInstructions(): string;
|
|
71
104
|
/**
|
|
72
105
|
* The script that draws the model's JSX in the frame: it holds the transpiler, compiles what the
|
|
73
106
|
* host posts (`{ type: jsxMessage, code, final }`), runs it in a scope with the kit components and
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandbox-kit.d.ts","sourceRoot":"","sources":["../../../src/genui/sandbox-kit.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sandbox-kit.d.ts","sourceRoot":"","sources":["../../../src/genui/sandbox-kit.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* draws the model's JSX in the frame. The Node half (docs generation, the bundle, the Vite plugin,
|
|
5
5
|
* discovery) is `genui/kit`.
|
|
6
6
|
*/
|
|
7
|
-
import {
|
|
7
|
+
import { SANDBOX_JSX_FRAME_SOURCE } from './sandbox-jsx-frame-generated.js';
|
|
8
8
|
/** What the opt-in assets weigh, inlined into every sandbox frame that uses them. */
|
|
9
9
|
export const SANDBOX_ASSET_SIZES = {
|
|
10
10
|
/** `@tailwindcss/browser` v4 (minified, as inlined; ≈75 KB gzipped over the wire, once). */
|
|
@@ -32,17 +32,25 @@ export function kitDocsToModelText(docs) {
|
|
|
32
32
|
}
|
|
33
33
|
return lines.join('\n');
|
|
34
34
|
}
|
|
35
|
-
/** The rules for writing the sandbox as JSX
|
|
36
|
-
export function kitJsxInstructions() {
|
|
35
|
+
/** The rules for writing the sandbox as JSX. */
|
|
36
|
+
export function kitJsxInstructions(options = {}) {
|
|
37
|
+
const components = options.components !== false;
|
|
37
38
|
return [
|
|
38
39
|
'Write the view as JSX in `jsx` (instead of `html`/`jsFunctions`): plain JavaScript + JSX, no TypeScript, no imports — define `function App()` and return the UI; it is rendered for you.',
|
|
39
|
-
|
|
40
|
+
components
|
|
41
|
+
? 'React hooks (useState, useEffect, useMemo, useRef, useCallback, useReducer) and every kit component are in scope by name. Use kit components for controls and surfaces, plain elements for the rest.'
|
|
42
|
+
: 'React hooks (useState, useEffect, useMemo, useRef, useCallback, useReducer) are in scope by name; use plain elements.',
|
|
43
|
+
...(options.wrapper === true
|
|
44
|
+
? [
|
|
45
|
+
"App is rendered inside the app's own providers (its theme, its baseline styles): do not add a theme provider or global resets of your own.",
|
|
46
|
+
]
|
|
47
|
+
: []),
|
|
40
48
|
'Keep state in App; call agent.send({ text, ...values }) from a click handler to hand values back.',
|
|
41
49
|
].join(' ');
|
|
42
50
|
}
|
|
43
|
-
/** The
|
|
44
|
-
export function
|
|
45
|
-
return '
|
|
51
|
+
/** The rule for a kit with styles but no components: the model writes HTML with those styles. */
|
|
52
|
+
export function kitHtmlInstructions() {
|
|
53
|
+
return 'There is no component kit here: write html (and jsFunctions/jsExpressions), never jsx.';
|
|
46
54
|
}
|
|
47
55
|
/**
|
|
48
56
|
* The script that draws the model's JSX in the frame: it holds the transpiler, compiles what the
|
|
@@ -56,8 +64,10 @@ export function sandboxJsxRuntime(options) {
|
|
|
56
64
|
const t = JSON.stringify(options.token);
|
|
57
65
|
const type = JSON.stringify(options.jsxMessage);
|
|
58
66
|
const initial = options.initial === undefined ? 'null' : JSON.stringify(options.initial);
|
|
59
|
-
|
|
60
|
-
|
|
67
|
+
// The transpiler ships prebuilt as a string (never `fn.toString()` of bundled code, which a
|
|
68
|
+
// consumer's minifier rewrites): see scripts/build-frame-runtime.mjs.
|
|
69
|
+
return `(function(){${SANDBOX_JSX_FRAME_SOURCE};var transpileJsx=__genuiJsx.transpileJsx,prepareSandboxJsx=__genuiJsx.prepareSandboxJsx;
|
|
70
|
+
var T=${t},TYPE=${type},R=window.React,D=window.ReactDOM,K=window.Kit||{},W=typeof window.KitWrapper==='function'||(window.KitWrapper&&typeof window.KitWrapper==='object')?window.KitWrapper:null;
|
|
61
71
|
if(window.__GENUI_KIT_CSS__){var ks=document.createElement('style');ks.textContent=window.__GENUI_KIT_CSS__;document.head.appendChild(ks)}
|
|
62
72
|
var kitNames=Object.keys(K).filter(function(k){return /^[A-Z][\\w$]*$/.test(k)});
|
|
63
73
|
var hookNames=['useState','useEffect','useMemo','useRef','useCallback','useReducer','useId','useLayoutEffect','Fragment'].filter(function(k){return R&&R[k]!==undefined});
|
|
@@ -81,7 +91,7 @@ document.head.appendChild(s);s.remove();window.__agoraQuiet=false;
|
|
|
81
91
|
if(!window.__genuiOk||typeof window.__genuiApp!=='function'){return false}
|
|
82
92
|
lastCode=code;var App=window.__genuiApp;
|
|
83
93
|
if(!root)root=D.createRoot(document.getElementById('agora-sandbox-root'));
|
|
84
|
-
|
|
94
|
+
var view=R.createElement(Boundary,{key:++seq,app:App,keep:lastGood,final:final},R.createElement(App));\nroot.render(W?R.createElement(W,null,view):view);
|
|
85
95
|
return true}
|
|
86
96
|
window.addEventListener('message',function(e){if(e.source!==window.parent)return;var d=e.data;if(!d||d.token!==T||d.type!==TYPE)return;draw(String(d.code||''),d.final===true)});
|
|
87
97
|
var init=${initial};if(init){draw(init.code,init.final)}})();`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandbox-kit.js","sourceRoot":"","sources":["../../../src/genui/sandbox-kit.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"sandbox-kit.js","sourceRoot":"","sources":["../../../src/genui/sandbox-kit.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/** A stylesheet's class names as the model reads them. */
|
|
2
|
+
export interface CssVocabulary {
|
|
3
|
+
/** Families of classes, the most used first: `{ name: 'btn', classes: ['btn', 'btn-{primary,secondary}'] }`. */
|
|
4
|
+
groups: {
|
|
5
|
+
name: string;
|
|
6
|
+
classes: string[];
|
|
7
|
+
}[];
|
|
8
|
+
/** How many distinct class names the stylesheet defines. */
|
|
9
|
+
total: number;
|
|
10
|
+
/** How many of them `groups` lists (the rest were over the cap). */
|
|
11
|
+
listed: number;
|
|
12
|
+
/** Custom properties declared on its root (`:root`, `html`, `[data-theme]`, `.dark`…). */
|
|
13
|
+
vars: string[];
|
|
14
|
+
}
|
|
15
|
+
export interface CssVocabularyOptions {
|
|
16
|
+
/** Most class names listed. Default 600. */
|
|
17
|
+
maxClasses?: number;
|
|
18
|
+
/** Most class names listed per family (`btn`, `col`…), so utilities do not crowd out components. Default 30. */
|
|
19
|
+
maxPerFamily?: number;
|
|
20
|
+
/** Most custom properties listed. Default 80. */
|
|
21
|
+
maxVars?: number;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* What a stylesheet gives the model to write with: its class names, grouped into families
|
|
25
|
+
* (`btn`, `card`, `form`…) and compressed (`btn-{primary,secondary,danger}`), the most used first —
|
|
26
|
+
* a class counts once per selector it appears in, and twice more where it stands alone (`.btn {`,
|
|
27
|
+
* a component's root) — plus the custom properties on its root. Generated CSS-modules names are
|
|
28
|
+
* left out (nobody can write them).
|
|
29
|
+
*/
|
|
30
|
+
export declare function extractCssVocabulary(css: string, options?: CssVocabularyOptions): CssVocabulary;
|
|
31
|
+
/**
|
|
32
|
+
* Class names sharing everything but their last `-segment`, written once: `btn-primary`,
|
|
33
|
+
* `btn-secondary` → `btn-{primary,secondary}`. Order kept (the first member's place).
|
|
34
|
+
*/
|
|
35
|
+
export declare function compressClassNames(names: readonly string[]): string[];
|
|
36
|
+
/** The vocabulary as the model reads it (inside the sandbox description). */
|
|
37
|
+
export declare function vocabularyToModelText(vocabulary: CssVocabulary, options?: {
|
|
38
|
+
jsx?: boolean;
|
|
39
|
+
}): string;
|
|
40
|
+
/** Whether a stylesheet's source uses Tailwind, and which major version it reads as. */
|
|
41
|
+
export declare function tailwindVersionOf(source: string): 3 | 4 | null;
|
|
42
|
+
/**
|
|
43
|
+
* The Tailwind directives of an app stylesheet the frame's Tailwind runtime gets too: its
|
|
44
|
+
* `@custom-variant`s, `@utility`s, `@variant`s and `@theme` blocks (`@keyframes` inside them
|
|
45
|
+
* included) — not its `@import`s, `@source`s, `@plugin`s or base styles (those reach the frame
|
|
46
|
+
* compiled).
|
|
47
|
+
*/
|
|
48
|
+
export declare function tailwindDirectivesFromCss(css: string): string;
|
|
49
|
+
/** What the app's Tailwind setup gives the model: theme names, its own utilities and variants. */
|
|
50
|
+
export interface TailwindTokens {
|
|
51
|
+
/** `bg-<name>`, `text-<name>`… (`--color-<name>`). */
|
|
52
|
+
colors: string[];
|
|
53
|
+
/** `rounded-<name>` (`--radius-<name>`). */
|
|
54
|
+
radius: string[];
|
|
55
|
+
/** `font-<name>` (`--font-<name>`). */
|
|
56
|
+
fonts: string[];
|
|
57
|
+
/** `shadow-<name>`. */
|
|
58
|
+
shadows: string[];
|
|
59
|
+
/** `text-<name>` sizes (`--text-<name>`). */
|
|
60
|
+
text: string[];
|
|
61
|
+
/** `animate-<name>`. */
|
|
62
|
+
animations: string[];
|
|
63
|
+
/** `@utility` names (`figure`, `tab-*`). */
|
|
64
|
+
utilities: string[];
|
|
65
|
+
/** `@custom-variant` names (`dark`, `data-open`). */
|
|
66
|
+
variants: string[];
|
|
67
|
+
}
|
|
68
|
+
/** The tokens a Tailwind stylesheet's directives declare (see {@link tailwindDirectivesFromCss}). */
|
|
69
|
+
export declare function tailwindTokensFromCss(css: string): TailwindTokens;
|
|
70
|
+
/** What the model is told about Tailwind in the frame. `colors` may add the host theme's names. */
|
|
71
|
+
export declare function tailwindToModelText(tokens: TailwindTokens, options?: {
|
|
72
|
+
version?: 3 | 4;
|
|
73
|
+
colors?: readonly string[];
|
|
74
|
+
}): string;
|
|
75
|
+
/**
|
|
76
|
+
* A Tailwind v3 config's theme as the v4 directives the frame's runtime reads: colors →
|
|
77
|
+
* `--color-*` (nested shades flattened, `DEFAULT` dropped, `<alpha-value>` → 1), `borderRadius` →
|
|
78
|
+
* `--radius-*`, `fontFamily` → `--font-*`, `fontSize` → `--text-*`, `boxShadow` → `--shadow-*`,
|
|
79
|
+
* `screens` → `--breakpoint-*`, `keyframes`/`animation` → `@keyframes` + `--animate-*` — the
|
|
80
|
+
* `theme` and its `extend` together, function values skipped. `darkMode: 'class'` / `'selector'` /
|
|
81
|
+
* `['class', '<selector>']` becomes a `dark` variant.
|
|
82
|
+
*/
|
|
83
|
+
export declare function tailwindV3ConfigToCss(config: unknown): string;
|
|
84
|
+
/** What a `url()` resolves to: its bytes (base64) and type — or why it cannot be inlined. */
|
|
85
|
+
export type CssUrlResolution = {
|
|
86
|
+
data: string;
|
|
87
|
+
mime: string;
|
|
88
|
+
bytes: number;
|
|
89
|
+
} | {
|
|
90
|
+
dropped: string;
|
|
91
|
+
} | null;
|
|
92
|
+
export interface InlineCssUrlsOptions {
|
|
93
|
+
/** The bytes behind a url that is not already `data:` (`null`: unknown, dropped). */
|
|
94
|
+
resolve(url: string): CssUrlResolution;
|
|
95
|
+
/** Largest file inlined, in bytes. Default 128 KB. */
|
|
96
|
+
limit?: number;
|
|
97
|
+
/** Most bytes inlined in all, `data:` URIs already in the CSS included. Default 1 MB. */
|
|
98
|
+
budget?: number;
|
|
99
|
+
/** Told about every url dropped, and why. */
|
|
100
|
+
warn?(message: string): void;
|
|
101
|
+
}
|
|
102
|
+
export declare const INLINE_ASSET_DEFAULTS: {
|
|
103
|
+
readonly limit: number;
|
|
104
|
+
readonly budget: number;
|
|
105
|
+
};
|
|
106
|
+
/**
|
|
107
|
+
* Every `url()` of a stylesheet made network-less: `data:` URIs kept (within the budget), files
|
|
108
|
+
* inlined as `data:` URIs when `resolve` finds them and they fit `limit` and `budget`, everything
|
|
109
|
+
* else — remote urls, files too big, files not found — replaced by an empty `data:,` (the browser
|
|
110
|
+
* falls back: the next font in the stack, no background image), each with a warning.
|
|
111
|
+
*/
|
|
112
|
+
export declare function inlineCssUrls(css: string, options: InlineCssUrlsOptions): string;
|
|
113
|
+
//# sourceMappingURL=sandbox-styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sandbox-styles.d.ts","sourceRoot":"","sources":["../../../src/genui/sandbox-styles.ts"],"names":[],"mappings":"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"}
|