@adonis-agora/agent 0.70.1 → 0.71.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 +9 -0
- package/dist/providers/agent_provider.d.ts.map +1 -1
- package/dist/providers/agent_provider.js +3 -0
- package/dist/providers/agent_provider.js.map +1 -1
- package/dist/src/a2ui/adapter.d.ts +34 -0
- package/dist/src/a2ui/adapter.d.ts.map +1 -0
- package/dist/src/a2ui/adapter.js +223 -0
- package/dist/src/a2ui/adapter.js.map +1 -0
- package/dist/src/a2ui/core.d.ts +181 -0
- package/dist/src/a2ui/core.d.ts.map +1 -0
- package/dist/src/a2ui/core.js +513 -0
- package/dist/src/a2ui/core.js.map +1 -0
- package/dist/src/a2ui/index.d.ts +10 -0
- package/dist/src/a2ui/index.d.ts.map +1 -0
- package/dist/src/a2ui/index.js +10 -0
- package/dist/src/a2ui/index.js.map +1 -0
- package/dist/src/ag-ui/adapter.d.ts +9 -0
- package/dist/src/ag-ui/adapter.d.ts.map +1 -1
- package/dist/src/ag-ui/adapter.js +29 -2
- package/dist/src/ag-ui/adapter.js.map +1 -1
- package/dist/src/ag-ui/core/encoder.d.ts +7 -0
- package/dist/src/ag-ui/core/encoder.d.ts.map +1 -1
- package/dist/src/ag-ui/core/encoder.js +12 -1
- package/dist/src/ag-ui/core/encoder.js.map +1 -1
- package/dist/src/ag-ui/core/input.d.ts +7 -0
- package/dist/src/ag-ui/core/input.d.ts.map +1 -1
- package/dist/src/ag-ui/core/input.js +7 -0
- package/dist/src/ag-ui/core/input.js.map +1 -1
- package/dist/src/ag-ui/core/types.d.ts +8 -0
- package/dist/src/ag-ui/core/types.d.ts.map +1 -1
- package/dist/src/ag-ui/core/types.js.map +1 -1
- package/dist/src/genui/actions.d.ts +70 -0
- package/dist/src/genui/actions.d.ts.map +1 -0
- package/dist/src/genui/actions.js +116 -0
- package/dist/src/genui/actions.js.map +1 -0
- package/dist/src/genui/builtins.d.ts +1 -1
- package/dist/src/genui/builtins.d.ts.map +1 -1
- package/dist/src/genui/builtins.js +1 -0
- package/dist/src/genui/builtins.js.map +1 -1
- package/dist/src/genui/catalog.d.ts +9 -0
- package/dist/src/genui/catalog.d.ts.map +1 -1
- package/dist/src/genui/catalog.js +2 -0
- package/dist/src/genui/catalog.js.map +1 -1
- package/dist/src/genui/index.d.ts +9 -0
- package/dist/src/genui/index.d.ts.map +1 -1
- package/dist/src/genui/index.js +6 -2
- package/dist/src/genui/index.js.map +1 -1
- package/dist/src/genui/progressive.d.ts.map +1 -1
- package/dist/src/genui/progressive.js +4 -1
- package/dist/src/genui/progressive.js.map +1 -1
- package/dist/src/genui/public.d.ts +2 -0
- package/dist/src/genui/public.d.ts.map +1 -1
- package/dist/src/genui/public.js +2 -0
- package/dist/src/genui/public.js.map +1 -1
- package/dist/src/genui/sandbox.d.ts +169 -0
- package/dist/src/genui/sandbox.d.ts.map +1 -0
- package/dist/src/genui/sandbox.js +307 -0
- package/dist/src/genui/sandbox.js.map +1 -0
- package/dist/src/genui/tools.d.ts.map +1 -1
- package/dist/src/genui/tools.js +36 -0
- package/dist/src/genui/tools.js.map +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/react/core/genui/generative-ui.d.ts +19 -2
- package/dist/src/react/core/genui/generative-ui.d.ts.map +1 -1
- package/dist/src/react/core/genui/generative-ui.js +14 -3
- package/dist/src/react/core/genui/generative-ui.js.map +1 -1
- package/dist/src/react/core/genui/index.d.ts +3 -1
- package/dist/src/react/core/genui/index.d.ts.map +1 -1
- package/dist/src/react/core/genui/index.js +2 -1
- package/dist/src/react/core/genui/index.js.map +1 -1
- package/dist/src/react/core/genui/sandbox.d.ts +91 -0
- package/dist/src/react/core/genui/sandbox.d.ts.map +1 -0
- package/dist/src/react/core/genui/sandbox.js +242 -0
- package/dist/src/react/core/genui/sandbox.js.map +1 -0
- package/dist/src/react/core/genui/types.d.ts +6 -0
- package/dist/src/react/core/genui/types.d.ts.map +1 -1
- package/dist/src/react/core/use-agent-chat.d.ts +3 -0
- package/dist/src/react/core/use-agent-chat.d.ts.map +1 -1
- package/dist/src/react/core/use-agent-chat.js +8 -0
- package/dist/src/react/core/use-agent-chat.js.map +1 -1
- package/dist/src/spi/protocol-adapter.d.ts +3 -0
- package/dist/src/spi/protocol-adapter.d.ts.map +1 -1
- package/package.json +30 -22
package/dist/src/index.js
CHANGED
|
@@ -7,7 +7,7 @@ export * from './action-proposal-text.js';
|
|
|
7
7
|
export * from './action-proposal-worker.js';
|
|
8
8
|
export * from './spi/action-proposal-outcome-store.js';
|
|
9
9
|
export * from './spi/background-actor-resolver.js';
|
|
10
|
-
export const VERSION = '0.
|
|
10
|
+
export const VERSION = '0.71.0';
|
|
11
11
|
// Re-export the configure hook from the package root so `node ace configure` finds it.
|
|
12
12
|
// AdonisJS imports the package MAIN and reads `configure` off the module namespace —
|
|
13
13
|
// the `./configure` subpath alone is never consulted.
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
import { type ReactNode } from 'react';
|
|
1
|
+
import { type Context, type ReactNode } from 'react';
|
|
2
|
+
import type { UiAction } from '../../../genui/actions.js';
|
|
2
3
|
import type { TranscriptUiBlock } from '../transcript/model.js';
|
|
3
4
|
import type { GenerativeUIElement, GenerativeUIItem, GenerativeUIOptions, GenerativeUIProblem, GenerativeUIState, GenuiNodeState, GenuiPlaceholder } from './types.js';
|
|
4
5
|
/** What to draw instead of a component that did not render. Default: nothing. */
|
|
5
6
|
export type GenerativeUIFallback = ReactNode | ((problem: GenerativeUIProblem) => ReactNode);
|
|
7
|
+
/** Where UI actions go — `GenuiActionProvider` (sandbox.tsx) and `GenuiProvider`'s `onAction`. */
|
|
8
|
+
export declare const GenuiActionContext: Context<((action: UiAction) => void) | null>;
|
|
6
9
|
/**
|
|
7
10
|
* The tree node being rendered — read it in a renderer to draw a skeleton while the model is still
|
|
8
11
|
* writing the node (`incomplete`), e.g. a chart's axes before its data. `null` outside a tree.
|
|
@@ -16,6 +19,15 @@ export type GenerativeUIFallback = ReactNode | ((problem: GenerativeUIProblem) =
|
|
|
16
19
|
* ```
|
|
17
20
|
*/
|
|
18
21
|
export declare function useGenuiNode(): GenuiNodeState | null;
|
|
22
|
+
/**
|
|
23
|
+
* Set the node a renderer sees through {@link useGenuiNode} — for glue that draws components outside
|
|
24
|
+
* a `genui:tree` frame (a framework's own tool-call renderer) and knows the call is still streaming:
|
|
25
|
+
* `<GenuiNodeScope node={{ id: 'root', type: 'Sandbox', incomplete: true, held: false }}>`.
|
|
26
|
+
*/
|
|
27
|
+
export declare function GenuiNodeScope({ node, children, }: {
|
|
28
|
+
node: GenuiNodeState | null;
|
|
29
|
+
children?: ReactNode;
|
|
30
|
+
}): import("react").JSX.Element;
|
|
19
31
|
/**
|
|
20
32
|
* Renders a `genui:tree` frame's `{ root }` node by node through the same registry, catalog and
|
|
21
33
|
* resolver as top-level components. Used automatically for tree frames unless a `treeRenderer`
|
|
@@ -49,6 +61,11 @@ export interface GenuiProviderValue extends Partial<GenerativeUIOptions> {
|
|
|
49
61
|
/** Drawn for a tree node held back while the model writes it (`streaming: 'complete'`). */
|
|
50
62
|
placeholder?: GenuiPlaceholder;
|
|
51
63
|
onError?: (error: unknown, item: GenerativeUIItem) => void;
|
|
64
|
+
/**
|
|
65
|
+
* Where UI actions go (a sandbox's `agent.send`, an A2UI button): typically the chat's
|
|
66
|
+
* `sendUiAction`. Same as wrapping the tree in a `GenuiActionProvider`.
|
|
67
|
+
*/
|
|
68
|
+
onAction?: (action: UiAction) => void;
|
|
52
69
|
}
|
|
53
70
|
/** The enclosing `<GenuiProvider>`'s settings, or `null` outside one. */
|
|
54
71
|
export declare function useGenuiProvider(): GenuiProviderValue | null;
|
|
@@ -67,7 +84,7 @@ export interface GenuiProviderProps extends GenuiProviderValue {
|
|
|
67
84
|
* </GenuiProvider>
|
|
68
85
|
* ```
|
|
69
86
|
*/
|
|
70
|
-
export declare function GenuiProvider({ registry, catalog, resolveComponent, treeRenderer, fallback, loading, placeholder, onError, children, }: GenuiProviderProps): import("react").JSX.Element;
|
|
87
|
+
export declare function GenuiProvider({ registry, catalog, resolveComponent, treeRenderer, fallback, loading, placeholder, onError, onAction, children, }: GenuiProviderProps): import("react").JSX.Element;
|
|
71
88
|
/**
|
|
72
89
|
* The headless half of {@link GenerativeUI}: what to draw for one pushed component, or `null` when
|
|
73
90
|
* `part` is not one. Options default to the enclosing `<GenuiProvider>`'s.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generative-ui.d.ts","sourceRoot":"","sources":["../../../../../src/react/core/genui/generative-ui.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"generative-ui.d.ts","sourceRoot":"","sources":["../../../../../src/react/core/genui/generative-ui.tsx"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,8 @@ import { AmbientRenderUiContext, sharedContext } from '../components/ambient-ui.
|
|
|
4
4
|
import { shareStructure } from './share-structure.js';
|
|
5
5
|
import { useGenerativeUIState, useResolvedComponent, useValidatedProps, } from './use-generative-ui.js';
|
|
6
6
|
const TreeScopeContext = createContext(null);
|
|
7
|
+
/** Where UI actions go — `GenuiActionProvider` (sandbox.tsx) and `GenuiProvider`'s `onAction`. */
|
|
8
|
+
export const GenuiActionContext = sharedContext('@adonis-agora/agent/react:genui-action');
|
|
7
9
|
// Shared by key, like the provider's: a renderer imports the hook from `/genui` while the tree may
|
|
8
10
|
// be drawn by the `/genui/json-render` bundle's copy of this module.
|
|
9
11
|
const GenuiNodeContext = sharedContext('@adonis-agora/agent/react:genui-node');
|
|
@@ -22,6 +24,14 @@ const GenuiNodeContext = sharedContext('@adonis-agora/agent/react:genui-node');
|
|
|
22
24
|
export function useGenuiNode() {
|
|
23
25
|
return useContext(GenuiNodeContext);
|
|
24
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* Set the node a renderer sees through {@link useGenuiNode} — for glue that draws components outside
|
|
29
|
+
* a `genui:tree` frame (a framework's own tool-call renderer) and knows the call is still streaming:
|
|
30
|
+
* `<GenuiNodeScope node={{ id: 'root', type: 'Sandbox', incomplete: true, held: false }}>`.
|
|
31
|
+
*/
|
|
32
|
+
export function GenuiNodeScope({ node, children, }) {
|
|
33
|
+
return _jsx(GenuiNodeContext.Provider, { value: node, children: children });
|
|
34
|
+
}
|
|
25
35
|
function renderPlaceholder(look, node) {
|
|
26
36
|
const { placeholder } = look;
|
|
27
37
|
if (typeof placeholder === 'function')
|
|
@@ -90,7 +100,7 @@ function TreeNodeBody({ node, id, item, }) {
|
|
|
90
100
|
// validated (the final frame is) — the renderer is told instead, through `useGenuiNode`.
|
|
91
101
|
const incomplete = node.incomplete === true;
|
|
92
102
|
const held = node.held === true;
|
|
93
|
-
const state = useMemo(() => ({ id, type: node.type, incomplete, held }), [id, node.type, incomplete, held]);
|
|
103
|
+
const state = useMemo(() => ({ id, type: node.type, incomplete, held, ...(incomplete ? { streamSafe: true } : {}) }), [id, node.type, incomplete, held]);
|
|
94
104
|
const storedVersion = scope?.componentVersions?.[node.type];
|
|
95
105
|
const definition = scope?.options.catalog?.get?.(node.type);
|
|
96
106
|
const incompatible = storedVersion !== undefined &&
|
|
@@ -191,7 +201,7 @@ export function useGenuiProvider() {
|
|
|
191
201
|
* </GenuiProvider>
|
|
192
202
|
* ```
|
|
193
203
|
*/
|
|
194
|
-
export function GenuiProvider({ registry, catalog, resolveComponent, treeRenderer, fallback, loading, placeholder, onError, children, }) {
|
|
204
|
+
export function GenuiProvider({ registry, catalog, resolveComponent, treeRenderer, fallback, loading, placeholder, onError, onAction, children, }) {
|
|
195
205
|
const value = useMemo(() => ({
|
|
196
206
|
...(registry !== undefined ? { registry } : {}),
|
|
197
207
|
...(catalog !== undefined ? { catalog } : {}),
|
|
@@ -203,7 +213,8 @@ export function GenuiProvider({ registry, catalog, resolveComponent, treeRendere
|
|
|
203
213
|
...(onError !== undefined ? { onError } : {}),
|
|
204
214
|
}), [registry, catalog, resolveComponent, treeRenderer, fallback, loading, placeholder, onError]);
|
|
205
215
|
const renderUi = useCallback((block) => _jsx(GenerativeUI, { part: block }), []);
|
|
206
|
-
|
|
216
|
+
const inner = (_jsx(AmbientRenderUiContext.Provider, { value: renderUi, children: children }));
|
|
217
|
+
return (_jsx(GenuiContext.Provider, { value: value, children: onAction !== undefined ? (_jsx(GenuiActionContext.Provider, { value: onAction, children: inner })) : (inner) }));
|
|
207
218
|
}
|
|
208
219
|
const NO_REGISTRY = {};
|
|
209
220
|
/** Provider settings overlaid with explicit ones (explicit wins), memoized on their parts. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generative-ui.js","sourceRoot":"","sources":["../../../../../src/react/core/genui/generative-ui.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"generative-ui.js","sourceRoot":"","sources":["../../../../../src/react/core/genui/generative-ui.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
export
|
|
1
|
+
export type { UiAction } from '../../../genui/actions.js';
|
|
2
|
+
export { GenerativeUI, type GenerativeUIFallback, type GenerativeUIProps, GenerativeUIScope, type GenerativeUIScopeProps, GenuiNodeScope, GenuiProvider, type GenuiProviderProps, type GenuiProviderValue, GenuiTree, useGenerativeUI, useGenuiNode, useGenuiProvider, } from './generative-ui.js';
|
|
2
3
|
export { createReactComponentRegistry, type ReactComponentRegistry, type ReactComponentRenderers, } from './react-registry.js';
|
|
4
|
+
export { createSandboxRenderer, type GenuiActionHandler, GenuiActionProvider, type SandboxRefusal, type SandboxRendererOptions, SandboxView, useGenuiAction, } from './sandbox.js';
|
|
3
5
|
export { GENUI_TREE_COMPONENT, type GenerativeUIElement, type GenerativeUIItem, type GenerativeUIOptions, type GenerativeUIProblem, type GenerativeUIState, type GenuiCatalogLike, type GenuiIssueLike, type GenuiNodeState, type GenuiPlaceholder, type GenuiRegistry, type GenuiRenderer, type ResolveComponent, } from './types.js';
|
|
4
6
|
export { toGenerativeUIItem } from './use-generative-ui.js';
|
|
5
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/react/core/genui/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,iBAAiB,EACjB,KAAK,sBAAsB,EAC3B,aAAa,EACb,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,SAAS,EACT,eAAe,EACf,YAAY,EACZ,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,4BAA4B,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,GAC7B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,oBAAoB,EACpB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,gBAAgB,GACtB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/react/core/genui/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EACL,YAAY,EACZ,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,iBAAiB,EACjB,KAAK,sBAAsB,EAC3B,cAAc,EACd,aAAa,EACb,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,SAAS,EACT,eAAe,EACf,YAAY,EACZ,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,4BAA4B,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,GAC7B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,qBAAqB,EACrB,KAAK,kBAAkB,EACvB,mBAAmB,EACnB,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,WAAW,EACX,cAAc,GACf,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,oBAAoB,EACpB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,gBAAgB,GACtB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
export { GenerativeUI, GenerativeUIScope, GenuiProvider, GenuiTree, useGenerativeUI, useGenuiNode, useGenuiProvider, } from './generative-ui.js';
|
|
1
|
+
export { GenerativeUI, GenerativeUIScope, GenuiNodeScope, GenuiProvider, GenuiTree, useGenerativeUI, useGenuiNode, useGenuiProvider, } from './generative-ui.js';
|
|
2
2
|
export { createReactComponentRegistry, } from './react-registry.js';
|
|
3
|
+
export { createSandboxRenderer, GenuiActionProvider, SandboxView, useGenuiAction, } from './sandbox.js';
|
|
3
4
|
export { GENUI_TREE_COMPONENT, } from './types.js';
|
|
4
5
|
export { toGenerativeUIItem } from './use-generative-ui.js';
|
|
5
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/react/core/genui/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/react/core/genui/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EAGZ,iBAAiB,EAEjB,cAAc,EACd,aAAa,EAGb,SAAS,EACT,eAAe,EACf,YAAY,EACZ,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,4BAA4B,GAG7B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,qBAAqB,EAErB,mBAAmB,EAGnB,WAAW,EACX,cAAc,GACf,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,oBAAoB,GAarB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import type { StandardSchemaV1 } from '@standard-schema/spec';
|
|
2
|
+
import { type CSSProperties, type ReactNode } from 'react';
|
|
3
|
+
import { type UiAction } from '../../../genui/actions.js';
|
|
4
|
+
import { type SandboxPolicy, type SandboxProps } from '../../../genui/sandbox.js';
|
|
5
|
+
import type { JsonSchema } from '../../../genui/schema.js';
|
|
6
|
+
import type { GenuiRenderer } from './types.js';
|
|
7
|
+
/** What a drawn component calls to hand an action back to the agent (the next user turn). */
|
|
8
|
+
export type GenuiActionHandler = (action: UiAction) => void;
|
|
9
|
+
/**
|
|
10
|
+
* Where UI actions go — a sandbox's `agent.send(…)`, an app component's button. Typically the chat's
|
|
11
|
+
* `sendUiAction`, which sends the action as the next user message:
|
|
12
|
+
*
|
|
13
|
+
* ```tsx
|
|
14
|
+
* const chat = useAgentChat()
|
|
15
|
+
* <GenuiActionProvider onAction={chat.sendUiAction}>…</GenuiActionProvider>
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
export declare function GenuiActionProvider({ onAction, children, }: {
|
|
19
|
+
onAction: GenuiActionHandler;
|
|
20
|
+
children?: ReactNode;
|
|
21
|
+
}): import("react").JSX.Element;
|
|
22
|
+
/** The enclosing {@link GenuiActionProvider}'s handler, or `null` outside one. */
|
|
23
|
+
export declare function useGenuiAction(): GenuiActionHandler | null;
|
|
24
|
+
/** Why the host refused something a sandbox sent. */
|
|
25
|
+
export type SandboxRefusal = {
|
|
26
|
+
reason: 'too-large';
|
|
27
|
+
bytes: number;
|
|
28
|
+
limit: number;
|
|
29
|
+
} | {
|
|
30
|
+
reason: 'too-soon';
|
|
31
|
+
waitMs: number;
|
|
32
|
+
} | {
|
|
33
|
+
reason: 'too-many';
|
|
34
|
+
limit: number;
|
|
35
|
+
} | {
|
|
36
|
+
reason: 'not-json';
|
|
37
|
+
} | {
|
|
38
|
+
reason: 'invalid';
|
|
39
|
+
issues: {
|
|
40
|
+
path: (string | number)[];
|
|
41
|
+
message: string;
|
|
42
|
+
}[];
|
|
43
|
+
} | {
|
|
44
|
+
reason: 'declined';
|
|
45
|
+
} | {
|
|
46
|
+
reason: 'no-handler';
|
|
47
|
+
};
|
|
48
|
+
export interface SandboxRendererOptions {
|
|
49
|
+
/**
|
|
50
|
+
* The policy the frame runs under. Default: the one the catalog's definition carries
|
|
51
|
+
* (`defineSandbox({ policy })`, read through the enclosing `GenuiProvider`'s catalog), else none
|
|
52
|
+
* — no network, the default limits.
|
|
53
|
+
*/
|
|
54
|
+
policy?: SandboxPolicy;
|
|
55
|
+
/** Checks the values of every `agent.send(…)` (a Zod object, any Standard Schema, or a JSON Schema). */
|
|
56
|
+
schema?: StandardSchemaV1 | JsonSchema;
|
|
57
|
+
/** Last word on an action before it is sent — e.g. a confirmation dialog. Falsy → dropped. */
|
|
58
|
+
confirm?: (action: UiAction) => boolean | Promise<boolean>;
|
|
59
|
+
/** Where actions go. Default: the enclosing {@link GenuiActionProvider}. */
|
|
60
|
+
onAction?: GenuiActionHandler;
|
|
61
|
+
/** Something the frame sent was refused (see {@link SandboxRefusal}). */
|
|
62
|
+
onRefused?: (refusal: SandboxRefusal) => void;
|
|
63
|
+
/** An uncaught error in the generated code. */
|
|
64
|
+
onError?: (message: string) => void;
|
|
65
|
+
/** What to draw while nothing is drawable yet. Default: a busy box of `initialHeight` with the placeholder lines. */
|
|
66
|
+
placeholder?: (state: {
|
|
67
|
+
height: number;
|
|
68
|
+
messages: string[];
|
|
69
|
+
title?: string;
|
|
70
|
+
}) => ReactNode;
|
|
71
|
+
className?: string;
|
|
72
|
+
style?: CSSProperties;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* A renderer for the sandbox component (`Sandbox`): the model's HTML, CSS and JS in an isolated
|
|
76
|
+
* iframe — `srcdoc`, `sandbox="allow-scripts"` (never `allow-same-origin`, so its origin is opaque
|
|
77
|
+
* and it reaches no cookie, storage or DOM of the page), a strict CSP, sized to its content.
|
|
78
|
+
*
|
|
79
|
+
* While the model writes it (a tree node flagged `incomplete`): a placeholder of `initialHeight`,
|
|
80
|
+
* then a preview of the styled markup (no code runs), then — once the markup is done — the live
|
|
81
|
+
* view, whose `jsFunctions` and `jsExpressions` run as each one closes (only for a node the server
|
|
82
|
+
* trimmed; anything else runs its code once complete).
|
|
83
|
+
*
|
|
84
|
+
* The frame's only way out is `agent.send(values)`. The host accepts it only from this frame's
|
|
85
|
+
* window, with this frame's token, from the opaque origin, within the size, rate and count limits,
|
|
86
|
+
* past `schema` and `confirm` — and hands it on as a {@link UiAction}.
|
|
87
|
+
*/
|
|
88
|
+
export declare function createSandboxRenderer(options?: SandboxRendererOptions): GenuiRenderer<SandboxProps>;
|
|
89
|
+
/** The sandbox renderer with its defaults — register it as `Sandbox` in a genui registry. */
|
|
90
|
+
export declare const SandboxView: GenuiRenderer<SandboxProps>;
|
|
91
|
+
//# sourceMappingURL=sandbox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../../../../src/react/core/genui/sandbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,SAAS,EAOf,MAAM,OAAO,CAAC;AACf,OAAO,EAGL,KAAK,QAAQ,EAEd,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAML,KAAK,aAAa,EAClB,KAAK,YAAY,EAElB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,6FAA6F;AAC7F,MAAM,MAAM,kBAAkB,GAAG,CAAC,MAAM,EAAE,QAAQ,KAAK,IAAI,CAAC;AAE5D;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,QAAQ,EACR,QAAQ,GACT,EAAE;IACD,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,+BAEA;AAED,kFAAkF;AAClF,wBAAgB,cAAc,IAAI,kBAAkB,GAAG,IAAI,CAE1D;AAED,qDAAqD;AACrD,MAAM,MAAM,cAAc,GACtB;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACrD;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACtC;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,MAAM,EAAE,UAAU,CAAA;CAAE,GACtB;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE;QAAE,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAAE,GAC/E;IAAE,MAAM,EAAE,UAAU,CAAA;CAAE,GACtB;IAAE,MAAM,EAAE,YAAY,CAAA;CAAE,CAAC;AAE7B,MAAM,WAAW,sBAAsB;IACrC;;;;OAIG;IACH,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,wGAAwG;IACxG,MAAM,CAAC,EAAE,gBAAgB,GAAG,UAAU,CAAC;IACvC,8FAA8F;IAC9F,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3D,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,yEAAyE;IACzE,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC;IAC9C,+CAA+C;IAC/C,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,qHAAqH;IACrH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,SAAS,CAAC;IAC3F,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AA+CD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,GAAE,sBAA2B,GACnC,aAAa,CAAC,YAAY,CAAC,CAuM7B;AAOD,6FAA6F;AAC7F,eAAO,MAAM,WAAW,EAAE,aAAa,CAAC,YAAY,CAA2B,CAAC"}
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useCallback, useContext, useEffect, useMemo, useRef, useState, } from 'react';
|
|
3
|
+
import { jsonByteLength, sandboxAction, validateUiActionContext, } from '../../../genui/actions.js';
|
|
4
|
+
import { buildSandboxDocument, previewHtml, SANDBOX_DEFAULTS, SANDBOX_IFRAME_FLAGS, SANDBOX_MESSAGE, sandboxPolicyOf, } from '../../../genui/sandbox.js';
|
|
5
|
+
import { GenuiActionContext, useGenuiNode, useGenuiProvider } from './generative-ui.js';
|
|
6
|
+
/**
|
|
7
|
+
* Where UI actions go — a sandbox's `agent.send(…)`, an app component's button. Typically the chat's
|
|
8
|
+
* `sendUiAction`, which sends the action as the next user message:
|
|
9
|
+
*
|
|
10
|
+
* ```tsx
|
|
11
|
+
* const chat = useAgentChat()
|
|
12
|
+
* <GenuiActionProvider onAction={chat.sendUiAction}>…</GenuiActionProvider>
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
export function GenuiActionProvider({ onAction, children, }) {
|
|
16
|
+
return _jsx(GenuiActionContext.Provider, { value: onAction, children: children });
|
|
17
|
+
}
|
|
18
|
+
/** The enclosing {@link GenuiActionProvider}'s handler, or `null` outside one. */
|
|
19
|
+
export function useGenuiAction() {
|
|
20
|
+
return useContext(GenuiActionContext);
|
|
21
|
+
}
|
|
22
|
+
function randomToken() {
|
|
23
|
+
const bytes = new Uint8Array(16);
|
|
24
|
+
globalThis.crypto.getRandomValues(bytes);
|
|
25
|
+
return Array.from(bytes, (byte) => byte.toString(16).padStart(2, '0')).join('');
|
|
26
|
+
}
|
|
27
|
+
function DefaultPlaceholder({ height, messages, title, }) {
|
|
28
|
+
const [index, setIndex] = useState(0);
|
|
29
|
+
useEffect(() => {
|
|
30
|
+
if (messages.length < 2)
|
|
31
|
+
return;
|
|
32
|
+
const timer = setInterval(() => setIndex((value) => (value + 1) % messages.length), 1800);
|
|
33
|
+
return () => clearInterval(timer);
|
|
34
|
+
}, [messages.length]);
|
|
35
|
+
const line = messages[index % Math.max(1, messages.length)] ?? 'Building the view…';
|
|
36
|
+
return (_jsx("div", { role: "status", "aria-busy": "true", "data-genui-skeleton": "", "data-testid": "sandbox-placeholder", "data-sandbox-phase": "placeholder", style: {
|
|
37
|
+
height,
|
|
38
|
+
display: 'flex',
|
|
39
|
+
alignItems: 'center',
|
|
40
|
+
justifyContent: 'center',
|
|
41
|
+
border: '1px dashed rgba(127,127,127,.35)',
|
|
42
|
+
borderRadius: 8,
|
|
43
|
+
color: 'rgba(90,90,90,.9)',
|
|
44
|
+
fontSize: 13,
|
|
45
|
+
}, children: title !== undefined ? `${title} — ${line}` : line }));
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* A renderer for the sandbox component (`Sandbox`): the model's HTML, CSS and JS in an isolated
|
|
49
|
+
* iframe — `srcdoc`, `sandbox="allow-scripts"` (never `allow-same-origin`, so its origin is opaque
|
|
50
|
+
* and it reaches no cookie, storage or DOM of the page), a strict CSP, sized to its content.
|
|
51
|
+
*
|
|
52
|
+
* While the model writes it (a tree node flagged `incomplete`): a placeholder of `initialHeight`,
|
|
53
|
+
* then a preview of the styled markup (no code runs), then — once the markup is done — the live
|
|
54
|
+
* view, whose `jsFunctions` and `jsExpressions` run as each one closes (only for a node the server
|
|
55
|
+
* trimmed; anything else runs its code once complete).
|
|
56
|
+
*
|
|
57
|
+
* The frame's only way out is `agent.send(values)`. The host accepts it only from this frame's
|
|
58
|
+
* window, with this frame's token, from the opaque origin, within the size, rate and count limits,
|
|
59
|
+
* past `schema` and `confirm` — and hands it on as a {@link UiAction}.
|
|
60
|
+
*/
|
|
61
|
+
export function createSandboxRenderer(options = {}) {
|
|
62
|
+
function SandboxView(props) {
|
|
63
|
+
const node = useGenuiNode();
|
|
64
|
+
const provided = useGenuiProvider();
|
|
65
|
+
const contextAction = useGenuiAction();
|
|
66
|
+
const definition = provided?.catalog?.get?.(node?.type ?? 'Sandbox');
|
|
67
|
+
const policy = useMemo(() => options.policy ?? sandboxPolicyOf(definition) ?? {}, [definition]);
|
|
68
|
+
const incomplete = node?.incomplete === true;
|
|
69
|
+
// The server drops half-written code from what it previews (`sandboxPartialProps`); props
|
|
70
|
+
// from anywhere else may hold it, so their code waits for the whole view.
|
|
71
|
+
const trimmed = incomplete && node?.streamSafe === true;
|
|
72
|
+
const token = useMemo(randomToken, []);
|
|
73
|
+
const frame = useRef(null);
|
|
74
|
+
const ready = useRef(false);
|
|
75
|
+
const ran = useRef({ functions: false, expressions: 0 });
|
|
76
|
+
const sends = useRef({ count: 0, last: 0 });
|
|
77
|
+
const initial = clampHeight(props.initialHeight ?? SANDBOX_DEFAULTS.initialHeight, policy);
|
|
78
|
+
// The content's own height once the frame has reported it; the declared one until then.
|
|
79
|
+
const [measured, setMeasured] = useState(null);
|
|
80
|
+
const height = measured ?? initial;
|
|
81
|
+
// Mounted while the model was still writing: code arrives by message, never inlined.
|
|
82
|
+
const streamedIn = useRef(incomplete);
|
|
83
|
+
const hasMarkup = typeof props.html === 'string' && props.html.length > 0;
|
|
84
|
+
const markupDone = !incomplete || props.jsFunctions !== undefined || props.jsExpressions !== undefined;
|
|
85
|
+
const phase = !incomplete
|
|
86
|
+
? 'live'
|
|
87
|
+
: markupDone && hasMarkup && trimmed
|
|
88
|
+
? 'live'
|
|
89
|
+
: props.css !== undefined || hasMarkup
|
|
90
|
+
? 'preview'
|
|
91
|
+
: 'placeholder';
|
|
92
|
+
const hostOrigin = typeof window === 'undefined' ? '' : window.location.origin;
|
|
93
|
+
const inlineJs = !streamedIn.current;
|
|
94
|
+
const css = props.css;
|
|
95
|
+
const html = props.html;
|
|
96
|
+
// The live document is built once per markup: code that arrives later is posted in, so the
|
|
97
|
+
// frame (and what the user did in it) stays.
|
|
98
|
+
// biome-ignore lint/correctness/useExhaustiveDependencies: rebuilt on the markup only, see above
|
|
99
|
+
const srcDoc = useMemo(() => {
|
|
100
|
+
if (phase === 'placeholder' || hostOrigin === '')
|
|
101
|
+
return '';
|
|
102
|
+
return phase === 'preview'
|
|
103
|
+
? buildSandboxDocument({}, { token, hostOrigin, policy, mode: 'preview' })
|
|
104
|
+
: buildSandboxDocument(props, { token, hostOrigin, policy, mode: 'live', inlineJs });
|
|
105
|
+
}, [phase, token, hostOrigin, css, html, inlineJs, policy]);
|
|
106
|
+
const post = useCallback((message) => {
|
|
107
|
+
frame.current?.contentWindow?.postMessage({ ...message, token }, '*');
|
|
108
|
+
}, [token]);
|
|
109
|
+
const runPending = useCallback(() => {
|
|
110
|
+
if (!ready.current || inlineJs || phase !== 'live')
|
|
111
|
+
return;
|
|
112
|
+
if (!trimmed && incomplete)
|
|
113
|
+
return;
|
|
114
|
+
const done = ran.current;
|
|
115
|
+
if (!done.functions && typeof props.jsFunctions === 'string') {
|
|
116
|
+
post({ type: SANDBOX_MESSAGE.run, code: props.jsFunctions });
|
|
117
|
+
done.functions = true;
|
|
118
|
+
}
|
|
119
|
+
// Expressions call the functions: while the model writes, wait for them — unless it has
|
|
120
|
+
// already moved on to the expressions (it wrote no functions).
|
|
121
|
+
if (!done.functions && incomplete && props.jsExpressions === undefined)
|
|
122
|
+
return;
|
|
123
|
+
const expressions = props.jsExpressions ?? [];
|
|
124
|
+
while (done.expressions < expressions.length) {
|
|
125
|
+
const code = expressions[done.expressions];
|
|
126
|
+
done.expressions += 1;
|
|
127
|
+
if (typeof code === 'string')
|
|
128
|
+
post({ type: SANDBOX_MESSAGE.run, code });
|
|
129
|
+
}
|
|
130
|
+
}, [inlineJs, phase, trimmed, incomplete, props.jsFunctions, props.jsExpressions, post]);
|
|
131
|
+
const preview = useCallback(() => {
|
|
132
|
+
if (!ready.current || phase !== 'preview')
|
|
133
|
+
return;
|
|
134
|
+
post({ type: SANDBOX_MESSAGE.render, css: css ?? '', html: previewHtml(html ?? '') });
|
|
135
|
+
}, [phase, css, html, post]);
|
|
136
|
+
// biome-ignore lint/correctness/useExhaustiveDependencies: a new document starts from nothing
|
|
137
|
+
useEffect(() => {
|
|
138
|
+
ready.current = false;
|
|
139
|
+
ran.current = { functions: false, expressions: 0 };
|
|
140
|
+
}, [srcDoc]);
|
|
141
|
+
useEffect(() => {
|
|
142
|
+
preview();
|
|
143
|
+
runPending();
|
|
144
|
+
}, [preview, runPending]);
|
|
145
|
+
const onAction = options.onAction ?? contextAction;
|
|
146
|
+
const title = props.title;
|
|
147
|
+
const nodeId = node?.id;
|
|
148
|
+
const send = useCallback(async (payload) => {
|
|
149
|
+
const limits = sends.current;
|
|
150
|
+
const maxSends = policy.maxSends ?? SANDBOX_DEFAULTS.maxSends;
|
|
151
|
+
if (limits.count >= maxSends)
|
|
152
|
+
return options.onRefused?.({ reason: 'too-many', limit: maxSends });
|
|
153
|
+
const now = Date.now();
|
|
154
|
+
const interval = policy.minSendIntervalMs ?? SANDBOX_DEFAULTS.minSendIntervalMs;
|
|
155
|
+
if (limits.last > 0 && now - limits.last < interval) {
|
|
156
|
+
return options.onRefused?.({
|
|
157
|
+
reason: 'too-soon',
|
|
158
|
+
waitMs: interval - (now - limits.last),
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
const bytes = jsonByteLength(payload);
|
|
162
|
+
if (bytes === undefined)
|
|
163
|
+
return options.onRefused?.({ reason: 'not-json' });
|
|
164
|
+
const limit = policy.maxPayloadBytes ?? SANDBOX_DEFAULTS.maxPayloadBytes;
|
|
165
|
+
if (bytes > limit)
|
|
166
|
+
return options.onRefused?.({ reason: 'too-large', bytes, limit });
|
|
167
|
+
limits.last = now;
|
|
168
|
+
let action = sandboxAction(payload, {
|
|
169
|
+
...(nodeId !== undefined ? { componentId: nodeId } : {}),
|
|
170
|
+
...(title !== undefined ? { title } : {}),
|
|
171
|
+
});
|
|
172
|
+
if (options.schema !== undefined) {
|
|
173
|
+
const checked = await validateUiActionContext(action, options.schema);
|
|
174
|
+
if (!checked.ok)
|
|
175
|
+
return options.onRefused?.({ reason: 'invalid', issues: checked.issues });
|
|
176
|
+
action = { ...action, context: checked.context };
|
|
177
|
+
}
|
|
178
|
+
if (options.confirm !== undefined && !(await options.confirm(action))) {
|
|
179
|
+
return options.onRefused?.({ reason: 'declined' });
|
|
180
|
+
}
|
|
181
|
+
if (onAction === null || onAction === undefined)
|
|
182
|
+
return options.onRefused?.({ reason: 'no-handler' });
|
|
183
|
+
limits.count += 1;
|
|
184
|
+
onAction(action);
|
|
185
|
+
}, [policy, nodeId, title, onAction]);
|
|
186
|
+
useEffect(() => {
|
|
187
|
+
if (phase === 'placeholder')
|
|
188
|
+
return;
|
|
189
|
+
const listener = (event) => {
|
|
190
|
+
// Only this frame's window, from its opaque origin, with its token.
|
|
191
|
+
if (frame.current === null || event.source !== frame.current.contentWindow)
|
|
192
|
+
return;
|
|
193
|
+
if (event.origin !== 'null')
|
|
194
|
+
return;
|
|
195
|
+
const data = event.data;
|
|
196
|
+
if (data === null || typeof data !== 'object' || data.token !== token)
|
|
197
|
+
return;
|
|
198
|
+
switch (data.type) {
|
|
199
|
+
case SANDBOX_MESSAGE.ready:
|
|
200
|
+
ready.current = true;
|
|
201
|
+
preview();
|
|
202
|
+
runPending();
|
|
203
|
+
return;
|
|
204
|
+
case SANDBOX_MESSAGE.resize:
|
|
205
|
+
if (typeof data.height === 'number' && Number.isFinite(data.height)) {
|
|
206
|
+
setMeasured(clampHeight(data.height, policy));
|
|
207
|
+
}
|
|
208
|
+
return;
|
|
209
|
+
case SANDBOX_MESSAGE.send:
|
|
210
|
+
void send(data.payload);
|
|
211
|
+
return;
|
|
212
|
+
case SANDBOX_MESSAGE.error:
|
|
213
|
+
options.onError?.(typeof data.message === 'string' ? data.message.slice(0, 500) : 'error');
|
|
214
|
+
return;
|
|
215
|
+
}
|
|
216
|
+
};
|
|
217
|
+
window.addEventListener('message', listener);
|
|
218
|
+
return () => window.removeEventListener('message', listener);
|
|
219
|
+
}, [phase, token, policy, preview, runPending, send]);
|
|
220
|
+
const messages = (props.placeholderMessages ?? []).filter((line) => typeof line === 'string');
|
|
221
|
+
if (phase === 'placeholder' || hostOrigin === '') {
|
|
222
|
+
const state = { height: initial, messages, ...(title !== undefined ? { title } : {}) };
|
|
223
|
+
return (_jsx(_Fragment, { children: options.placeholder ? options.placeholder(state) : _jsx(DefaultPlaceholder, { ...state }) }));
|
|
224
|
+
}
|
|
225
|
+
return (_jsx("iframe", { ref: frame, title: title ?? 'Interactive view', srcDoc: srcDoc, sandbox: SANDBOX_IFRAME_FLAGS, referrerPolicy: "no-referrer", allow: "", "data-testid": "sandbox-frame", "data-sandbox-phase": phase, "aria-busy": incomplete || undefined, className: options.className, style: {
|
|
226
|
+
display: 'block',
|
|
227
|
+
width: '100%',
|
|
228
|
+
border: 0,
|
|
229
|
+
height,
|
|
230
|
+
transition: 'height 120ms ease-out',
|
|
231
|
+
...options.style,
|
|
232
|
+
} }, phase));
|
|
233
|
+
}
|
|
234
|
+
return SandboxView;
|
|
235
|
+
}
|
|
236
|
+
function clampHeight(value, policy) {
|
|
237
|
+
const max = policy.maxHeight ?? SANDBOX_DEFAULTS.maxHeight;
|
|
238
|
+
return Math.max(24, Math.min(max, Math.ceil(value)));
|
|
239
|
+
}
|
|
240
|
+
/** The sandbox renderer with its defaults — register it as `Sandbox` in a genui registry. */
|
|
241
|
+
export const SandboxView = createSandboxRenderer();
|
|
242
|
+
//# sourceMappingURL=sandbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../../../../../src/react/core/genui/sandbox.tsx"],"names":[],"mappings":"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"}
|
|
@@ -44,6 +44,12 @@ export interface GenuiNodeState {
|
|
|
44
44
|
incomplete: boolean;
|
|
45
45
|
/** The node is a placeholder for a component that is only drawn whole (`streaming: 'complete'`). */
|
|
46
46
|
held: boolean;
|
|
47
|
+
/**
|
|
48
|
+
* The node came from a server preview (a partial `genui:tree` frame): the server already dropped
|
|
49
|
+
* what its component must not show half written (`partialProps`). Unset for props from anywhere
|
|
50
|
+
* else (a client parsing tool arguments itself), which a renderer should treat as raw.
|
|
51
|
+
*/
|
|
52
|
+
streamSafe?: boolean;
|
|
47
53
|
}
|
|
48
54
|
/**
|
|
49
55
|
* An app's renderer for one component: it receives the component's props spread, plus `children`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/react/core/genui/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtD,wHAAwH;AACxH,eAAO,MAAM,oBAAoB,eAAe,CAAC;AAEjD,wHAAwH;AACxH,MAAM,WAAW,gBAAgB;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B;;;OAGG;IACH,OAAO,CAAC,EAAE,IAAI,CAAC;CAChB;AAED,qFAAqF;AACrF,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,QAAQ,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACjC;;;OAGG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,yEAAyE;IACzE,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB,qGAAqG;IACrG,IAAI,CAAC,EAAE,IAAI,CAAC;CACb;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,qGAAqG;IACrG,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,yFAAyF;IACzF,UAAU,EAAE,OAAO,CAAC;IACpB,oGAAoG;IACpG,IAAI,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/react/core/genui/types.ts"],"names":[],"mappings":"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"}
|