@adonis-agora/agent 0.72.0 → 0.74.1
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/configure.d.ts +5 -4
- package/dist/configure.d.ts.map +1 -1
- package/dist/configure.js +8 -4
- package/dist/configure.js.map +1 -1
- package/dist/providers/agent_provider.d.ts.map +1 -1
- package/dist/providers/agent_provider.js +15 -1
- package/dist/providers/agent_provider.js.map +1 -1
- package/dist/src/a2ui/adapter.d.ts.map +1 -1
- package/dist/src/a2ui/adapter.js +1 -0
- package/dist/src/a2ui/adapter.js.map +1 -1
- package/dist/src/a2ui/core.d.ts.map +1 -1
- package/dist/src/a2ui/core.js +11 -1
- package/dist/src/a2ui/core.js.map +1 -1
- package/dist/src/action-proposal-executor.d.ts.map +1 -1
- package/dist/src/action-proposal-executor.js +3 -0
- package/dist/src/action-proposal-executor.js.map +1 -1
- package/dist/src/ag-ui/adapter.d.ts.map +1 -1
- package/dist/src/ag-ui/adapter.js +2 -0
- package/dist/src/ag-ui/adapter.js.map +1 -1
- package/dist/src/ag-ui/core/encoder.d.ts.map +1 -1
- package/dist/src/ag-ui/core/encoder.js +3 -0
- package/dist/src/ag-ui/core/encoder.js.map +1 -1
- package/dist/src/agent-deps-factory.d.ts +3 -1
- package/dist/src/agent-deps-factory.d.ts.map +1 -1
- package/dist/src/agent-deps-factory.js +3 -0
- package/dist/src/agent-deps-factory.js.map +1 -1
- package/dist/src/agent-deps.d.ts +3 -1
- package/dist/src/agent-deps.d.ts.map +1 -1
- package/dist/src/agent-deps.js.map +1 -1
- package/dist/src/agent-loop.d.ts +7 -1
- package/dist/src/agent-loop.d.ts.map +1 -1
- package/dist/src/agent-loop.js +52 -2
- package/dist/src/agent-loop.js.map +1 -1
- package/dist/src/agent-service.d.ts +6 -0
- package/dist/src/agent-service.d.ts.map +1 -1
- package/dist/src/agent-service.js +5 -3
- package/dist/src/agent-service.js.map +1 -1
- package/dist/src/channels/adapters/evolution_api.d.ts.map +1 -1
- package/dist/src/channels/adapters/evolution_api.js +35 -0
- package/dist/src/channels/adapters/evolution_api.js.map +1 -1
- package/dist/src/channels/adapters/telegram.d.ts.map +1 -1
- package/dist/src/channels/adapters/telegram.js +25 -7
- package/dist/src/channels/adapters/telegram.js.map +1 -1
- package/dist/src/channels/adapters/whatsapp_cloud.d.ts.map +1 -1
- package/dist/src/channels/adapters/whatsapp_cloud.js +44 -0
- package/dist/src/channels/adapters/whatsapp_cloud.js.map +1 -1
- package/dist/src/channels/handler.d.ts +29 -1
- package/dist/src/channels/handler.d.ts.map +1 -1
- package/dist/src/channels/handler.js +231 -9
- package/dist/src/channels/handler.js.map +1 -1
- package/dist/src/channels/index.d.ts +2 -2
- package/dist/src/channels/index.d.ts.map +1 -1
- package/dist/src/channels/index.js.map +1 -1
- package/dist/src/channels/types.d.ts +40 -0
- package/dist/src/channels/types.d.ts.map +1 -1
- package/dist/src/genui/catalog.d.ts +12 -1
- package/dist/src/genui/catalog.d.ts.map +1 -1
- package/dist/src/genui/catalog.js +18 -1
- package/dist/src/genui/catalog.js.map +1 -1
- package/dist/src/genui/channels.d.ts +252 -0
- package/dist/src/genui/channels.d.ts.map +1 -0
- package/dist/src/genui/channels.js +516 -0
- package/dist/src/genui/channels.js.map +1 -0
- package/dist/src/genui/chart-image.d.ts +46 -0
- package/dist/src/genui/chart-image.d.ts.map +1 -0
- package/dist/src/genui/chart-image.js +155 -0
- package/dist/src/genui/chart-image.js.map +1 -0
- package/dist/src/genui/factory.d.ts +23 -1
- package/dist/src/genui/factory.d.ts.map +1 -1
- package/dist/src/genui/factory.js +13 -1
- package/dist/src/genui/factory.js.map +1 -1
- package/dist/src/genui/index.d.ts.map +1 -1
- package/dist/src/genui/index.js +64 -3
- package/dist/src/genui/index.js.map +1 -1
- package/dist/src/genui/kit/adonis.d.ts +4 -0
- package/dist/src/genui/kit/adonis.d.ts.map +1 -0
- package/dist/src/genui/kit/adonis.js +38 -0
- package/dist/src/genui/kit/adonis.js.map +1 -0
- package/dist/src/genui/kit/bundle.d.ts +25 -0
- package/dist/src/genui/kit/bundle.d.ts.map +1 -0
- package/dist/src/genui/kit/bundle.js +144 -0
- package/dist/src/genui/kit/bundle.js.map +1 -0
- package/dist/src/genui/kit/discover.d.ts +41 -0
- package/dist/src/genui/kit/discover.d.ts.map +1 -0
- package/dist/src/genui/kit/discover.js +100 -0
- package/dist/src/genui/kit/discover.js.map +1 -0
- package/dist/src/genui/kit/docs.d.ts +22 -0
- package/dist/src/genui/kit/docs.d.ts.map +1 -0
- package/dist/src/genui/kit/docs.js +237 -0
- package/dist/src/genui/kit/docs.js.map +1 -0
- package/dist/src/genui/kit/files.d.ts +27 -0
- package/dist/src/genui/kit/files.d.ts.map +1 -0
- package/dist/src/genui/kit/files.js +126 -0
- package/dist/src/genui/kit/files.js.map +1 -0
- package/dist/src/genui/kit/index.d.ts +12 -0
- package/dist/src/genui/kit/index.d.ts.map +1 -0
- package/dist/src/genui/kit/index.js +12 -0
- package/dist/src/genui/kit/index.js.map +1 -0
- package/dist/src/genui/kit/plugin.d.ts +52 -0
- package/dist/src/genui/kit/plugin.d.ts.map +1 -0
- package/dist/src/genui/kit/plugin.js +314 -0
- package/dist/src/genui/kit/plugin.js.map +1 -0
- package/dist/src/genui/kit/write.d.ts +14 -0
- package/dist/src/genui/kit/write.d.ts.map +1 -0
- package/dist/src/genui/kit/write.js +39 -0
- package/dist/src/genui/kit/write.js.map +1 -0
- package/dist/src/genui/public.d.ts +7 -3
- package/dist/src/genui/public.d.ts.map +1 -1
- package/dist/src/genui/public.js +5 -1
- package/dist/src/genui/public.js.map +1 -1
- package/dist/src/genui/sandbox-jsx.d.ts +29 -0
- package/dist/src/genui/sandbox-jsx.d.ts.map +1 -0
- package/dist/src/genui/sandbox-jsx.js +656 -0
- package/dist/src/genui/sandbox-jsx.js.map +1 -0
- package/dist/src/genui/sandbox-kit.d.ts +88 -0
- package/dist/src/genui/sandbox-kit.d.ts.map +1 -0
- package/dist/src/genui/sandbox-kit.js +89 -0
- package/dist/src/genui/sandbox-kit.js.map +1 -0
- package/dist/src/genui/sandbox-theme.d.ts +61 -0
- package/dist/src/genui/sandbox-theme.d.ts.map +1 -0
- package/dist/src/genui/sandbox-theme.js +255 -0
- package/dist/src/genui/sandbox-theme.js.map +1 -0
- package/dist/src/genui/sandbox.d.ts +73 -2
- package/dist/src/genui/sandbox.d.ts.map +1 -1
- package/dist/src/genui/sandbox.js +106 -16
- package/dist/src/genui/sandbox.js.map +1 -1
- package/dist/src/genui/text.d.ts.map +1 -1
- package/dist/src/genui/text.js +33 -1
- package/dist/src/genui/text.js.map +1 -1
- package/dist/src/genui/tools.d.ts +26 -0
- package/dist/src/genui/tools.d.ts.map +1 -1
- package/dist/src/genui/tools.js +94 -14
- package/dist/src/genui/tools.js.map +1 -1
- package/dist/src/genui/tree.d.ts +25 -2
- package/dist/src/genui/tree.d.ts.map +1 -1
- package/dist/src/genui/tree.js +161 -4
- package/dist/src/genui/tree.js.map +1 -1
- package/dist/src/hooks/genui_kit.d.ts +20 -0
- package/dist/src/hooks/genui_kit.d.ts.map +1 -0
- package/dist/src/hooks/genui_kit.js +55 -0
- package/dist/src/hooks/genui_kit.js.map +1 -0
- package/dist/src/index.d.ts +2 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/negotiated-tool-ui.d.ts +27 -0
- package/dist/src/negotiated-tool-ui.d.ts.map +1 -1
- package/dist/src/negotiated-tool-ui.js +52 -0
- package/dist/src/negotiated-tool-ui.js.map +1 -1
- package/dist/src/react/core/genui/sandbox-assets.d.ts +32 -0
- package/dist/src/react/core/genui/sandbox-assets.d.ts.map +1 -0
- package/dist/src/react/core/genui/sandbox-assets.js +174 -0
- package/dist/src/react/core/genui/sandbox-assets.js.map +1 -0
- package/dist/src/react/core/genui/sandbox.d.ts +9 -0
- package/dist/src/react/core/genui/sandbox.d.ts.map +1 -1
- package/dist/src/react/core/genui/sandbox.js +119 -19
- package/dist/src/react/core/genui/sandbox.js.map +1 -1
- package/dist/src/react/core/index.d.ts +1 -1
- package/dist/src/react/core/index.d.ts.map +1 -1
- package/dist/src/react/core/index.js +1 -1
- package/dist/src/react/core/index.js.map +1 -1
- package/dist/src/react/core/presentation/phrasing.d.ts +3 -2
- package/dist/src/react/core/presentation/phrasing.d.ts.map +1 -1
- package/dist/src/react/core/presentation/phrasing.js +4 -27
- package/dist/src/react/core/presentation/phrasing.js.map +1 -1
- package/dist/src/react/core/presentation/tool-activity.d.ts +8 -0
- package/dist/src/react/core/presentation/tool-activity.d.ts.map +1 -1
- package/dist/src/react/core/presentation/tool-activity.js +28 -1
- package/dist/src/react/core/presentation/tool-activity.js.map +1 -1
- package/dist/src/react/core/transcript/model.d.ts +6 -0
- package/dist/src/react/core/transcript/model.d.ts.map +1 -1
- package/dist/src/react/core/transcript/model.js +6 -1
- package/dist/src/react/core/transcript/model.js.map +1 -1
- package/dist/src/react/core/transcript/use-chat-transcript.d.ts +5 -0
- package/dist/src/react/core/transcript/use-chat-transcript.d.ts.map +1 -1
- package/dist/src/react/core/transcript/use-chat-transcript.js +3 -0
- package/dist/src/react/core/transcript/use-chat-transcript.js.map +1 -1
- package/dist/src/spi/tool.d.ts +7 -0
- package/dist/src/spi/tool.d.ts.map +1 -1
- package/dist/src/tool-presentation.d.ts +15 -0
- package/dist/src/tool-presentation.d.ts.map +1 -1
- package/dist/src/tool-presentation.js +48 -0
- package/dist/src/tool-presentation.js.map +1 -1
- package/dist/src/tool-registry.d.ts.map +1 -1
- package/dist/src/tool-registry.js +2 -0
- package/dist/src/tool-registry.js.map +1 -1
- package/dist/src/types.d.ts +10 -0
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/vite/index.d.ts +24 -0
- package/dist/src/vite/index.d.ts.map +1 -0
- package/dist/src/vite/index.js +29 -0
- package/dist/src/vite/index.js.map +1 -0
- package/package.json +38 -2
- package/skills/agent-setup/SKILL.md +3 -1
- package/skills/agent-tools/SKILL.md +5 -3
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
* iframe document and to check what the frame sends back.
|
|
10
10
|
*/
|
|
11
11
|
import { type ComponentDefinition } from './catalog.js';
|
|
12
|
+
import { type SandboxKitDocs } from './sandbox-kit.js';
|
|
12
13
|
/** The component name the builtin {@link Sandbox} registers under. */
|
|
13
14
|
export declare const SANDBOX_COMPONENT = "Sandbox";
|
|
14
15
|
/** The props a model writes, in the order it writes them (see {@link SANDBOX_FIELD_ORDER}). */
|
|
@@ -29,13 +30,18 @@ export interface SandboxProps {
|
|
|
29
30
|
jsFunctions?: string;
|
|
30
31
|
/** Statements run in order after `jsFunctions`, each as its own classic script (no top-level await). */
|
|
31
32
|
jsExpressions?: string[];
|
|
33
|
+
/**
|
|
34
|
+
* The view as JSX using the app's kit (`sandbox({ kit })`): plain JavaScript + JSX defining
|
|
35
|
+
* `function App()`, compiled and rendered in the frame. Drawn as it streams, once it parses.
|
|
36
|
+
*/
|
|
37
|
+
jsx?: string;
|
|
32
38
|
}
|
|
33
39
|
/**
|
|
34
40
|
* The order the fields stream in, and the order the renderer uses them: a placeholder of the right
|
|
35
41
|
* height first, then the styles (so the markup never draws unstyled), the markup, and the behavior
|
|
36
42
|
* last — the same sequence as CopilotKit's Open Generative UI.
|
|
37
43
|
*/
|
|
38
|
-
export declare const SANDBOX_FIELD_ORDER: readonly ['initialHeight', 'placeholderMessages', 'title', 'summary', 'css', 'html', 'jsFunctions', 'jsExpressions'];
|
|
44
|
+
export declare const SANDBOX_FIELD_ORDER: readonly ['initialHeight', 'placeholderMessages', 'title', 'summary', 'css', 'html', 'jsFunctions', 'jsExpressions', 'jsx'];
|
|
39
45
|
/**
|
|
40
46
|
* Who the sandbox may reach and how much it may send back. The DEFAULT IS NO NETWORK AT ALL: no
|
|
41
47
|
* fetch, no external script, style, font, image or media — only inline code and `data:`/`blob:`
|
|
@@ -97,6 +103,10 @@ export declare const SANDBOX_MESSAGE: {
|
|
|
97
103
|
readonly render: 'agora:sandbox:render';
|
|
98
104
|
/** host → frame: `{ code }` — run one more classic script. */
|
|
99
105
|
readonly run: 'agora:sandbox:run';
|
|
106
|
+
/** host → frame: `{ css, dark }` — the host's theme changed (light/dark, a new stylesheet). */
|
|
107
|
+
readonly theme: 'agora:sandbox:theme';
|
|
108
|
+
/** host → frame: `{ code, final }` — the JSX so far (`final` once the model is done). */
|
|
109
|
+
readonly jsx: 'agora:sandbox:jsx';
|
|
100
110
|
};
|
|
101
111
|
export interface SandboxDocumentOptions {
|
|
102
112
|
/** A per-frame value every bridge message carries, so the host can tell this frame's messages apart. */
|
|
@@ -115,6 +125,29 @@ export interface SandboxDocumentOptions {
|
|
|
115
125
|
mode: 'preview' | 'live';
|
|
116
126
|
/** Run the JavaScript fields inline (`live` only). Default true; false when the host streams them in with `run`. */
|
|
117
127
|
inlineJs?: boolean;
|
|
128
|
+
/**
|
|
129
|
+
* The host's theme (`hostThemeCss(collectHostThemeVars(document), dark)`): put on the frame's
|
|
130
|
+
* `:root`, and kept current with `theme` messages. `dark` mirrors the host's `dark` class.
|
|
131
|
+
*/
|
|
132
|
+
theme?: {
|
|
133
|
+
css: string;
|
|
134
|
+
dark: boolean;
|
|
135
|
+
};
|
|
136
|
+
/** Tailwind: the `@tailwindcss/browser` runtime source, and the `@theme` mapping the host's variables. */
|
|
137
|
+
tailwind?: {
|
|
138
|
+
runtime: string;
|
|
139
|
+
theme?: string;
|
|
140
|
+
};
|
|
141
|
+
/**
|
|
142
|
+
* The kit bundle's source (an IIFE setting `window.Kit`, `React`, `ReactDOM`): inlined, and the JSX
|
|
143
|
+
* runtime with it — the frame then draws `jsx` (posted with `jsx` messages, or `initialJsx`).
|
|
144
|
+
*/
|
|
145
|
+
kit?: string;
|
|
146
|
+
/** JSX to draw as soon as the document loads (a whole view: `final: true`). */
|
|
147
|
+
initialJsx?: {
|
|
148
|
+
code: string;
|
|
149
|
+
final: boolean;
|
|
150
|
+
};
|
|
118
151
|
}
|
|
119
152
|
/**
|
|
120
153
|
* The `srcdoc` of a sandbox frame. The CSP `<meta>` comes first, then the bridge, the base styles and
|
|
@@ -137,6 +170,13 @@ export declare function sandboxPartialProps(props: Record<string, unknown>, inpu
|
|
|
137
170
|
isOpen(container: object): boolean;
|
|
138
171
|
pendingMember(container: object): unknown;
|
|
139
172
|
}): Record<string, unknown>;
|
|
173
|
+
/**
|
|
174
|
+
* Where the kit's docs come from: the docs themselves, or a function read each time the model is
|
|
175
|
+
* told about the sandbox (dev: the Vite plugin rewrites them as the components change).
|
|
176
|
+
*/
|
|
177
|
+
export type SandboxKitSource = SandboxKitDocs | (() => SandboxKitDocs | undefined);
|
|
178
|
+
/** Where the theme's variable names (for the prompt) come from — the same shapes as the kit. */
|
|
179
|
+
export type SandboxThemeSource = Record<string, string> | readonly string[] | (() => Record<string, string> | readonly string[] | undefined);
|
|
140
180
|
export interface DefineSandboxOptions {
|
|
141
181
|
/** Component name. Default `Sandbox`. */
|
|
142
182
|
name?: string;
|
|
@@ -147,15 +187,46 @@ export interface DefineSandboxOptions {
|
|
|
147
187
|
/** Network allowances and send limits; also what the renderer enforces by default. */
|
|
148
188
|
policy?: SandboxPolicy;
|
|
149
189
|
version?: number;
|
|
190
|
+
/**
|
|
191
|
+
* The app's theme in the frame: the renderer reads the host page's CSS custom properties from
|
|
192
|
+
* `:root` and puts them on the frame's (and follows light/dark changes). Default `'inherit'` (on);
|
|
193
|
+
* `false` turns it off. `vars` names them for the model (the Vite plugin finds them on its own).
|
|
194
|
+
*/
|
|
195
|
+
theme?: boolean | 'inherit' | {
|
|
196
|
+
vars?: SandboxThemeSource;
|
|
197
|
+
};
|
|
198
|
+
/**
|
|
199
|
+
* Tailwind CSS (v4, `@tailwindcss/browser`) inlined into the frame, its `@theme` mapped from the
|
|
200
|
+
* host's variables — `bg-primary`, `text-muted-foreground`, `rounded-lg` work offline. Opt-in:
|
|
201
|
+
* ≈280 KB per frame.
|
|
202
|
+
*/
|
|
203
|
+
tailwind?: boolean;
|
|
204
|
+
/**
|
|
205
|
+
* The app's design-system components (the kit bundle: `Kit`, React, ReactDOM) inlined into the
|
|
206
|
+
* frame; the model writes `jsx` with them. The docs (component names and props, from their types)
|
|
207
|
+
* are what the model is told. Opt-in: ≈230 KB + the components per frame. `true` without docs
|
|
208
|
+
* tells the model only that a kit exists — the server's `sandbox({ kit: true })` finds them.
|
|
209
|
+
*/
|
|
210
|
+
kit?: boolean | SandboxKitSource;
|
|
211
|
+
}
|
|
212
|
+
/** How a sandbox draws: theme, Tailwind and kit on or off (what `GET <agent>/config` reports). */
|
|
213
|
+
export interface SandboxView {
|
|
214
|
+
theme: boolean;
|
|
215
|
+
tailwind: boolean;
|
|
216
|
+
kit: boolean;
|
|
150
217
|
}
|
|
151
218
|
/** A sandbox definition: a {@link ComponentDefinition} that carries its {@link SandboxPolicy}. */
|
|
152
219
|
export type SandboxDefinition = ComponentDefinition<SandboxProps> & {
|
|
153
220
|
readonly sandbox: SandboxPolicy;
|
|
221
|
+
/** Theme, Tailwind and kit, as the definition was given them. */
|
|
222
|
+
readonly sandboxView?: SandboxView;
|
|
223
|
+
/** The options it was defined with — what a server resolves the kit and Tailwind for. */
|
|
224
|
+
readonly sandboxOptions?: Readonly<DefineSandboxOptions>;
|
|
154
225
|
};
|
|
155
226
|
/**
|
|
156
227
|
* A sandbox component. `streaming: 'partial'`, so in tree mode it draws while the model writes it:
|
|
157
228
|
* a placeholder of `initialHeight`, then the styled markup, then — once the code has closed — the
|
|
158
|
-
* live view.
|
|
229
|
+
* live view. With a kit, JSX draws as it streams, each time what has arrived parses.
|
|
159
230
|
*
|
|
160
231
|
* ```ts
|
|
161
232
|
* const catalog = defineCatalog([...myComponents, defineSandbox({ policy: { allow: { images: ['https://tile.openstreetmap.org'] } } })])
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../../src/genui/sandbox.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,KAAK,mBAAmB,EAAmB,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../../src/genui/sandbox.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,8 @@
|
|
|
9
9
|
* iframe document and to check what the frame sends back.
|
|
10
10
|
*/
|
|
11
11
|
import { defineComponent } from './catalog.js';
|
|
12
|
+
import { kitDocsToModelText, kitJsxInstructions, sandboxJsxRuntime, tailwindInstructions, } from './sandbox-kit.js';
|
|
13
|
+
import { themeToModelText } from './sandbox-theme.js';
|
|
12
14
|
/** The component name the builtin {@link Sandbox} registers under. */
|
|
13
15
|
export const SANDBOX_COMPONENT = 'Sandbox';
|
|
14
16
|
/**
|
|
@@ -25,6 +27,7 @@ export const SANDBOX_FIELD_ORDER = [
|
|
|
25
27
|
'html',
|
|
26
28
|
'jsFunctions',
|
|
27
29
|
'jsExpressions',
|
|
30
|
+
'jsx',
|
|
28
31
|
];
|
|
29
32
|
export const SANDBOX_DEFAULTS = {
|
|
30
33
|
initialHeight: 240,
|
|
@@ -91,6 +94,10 @@ export const SANDBOX_MESSAGE = {
|
|
|
91
94
|
render: 'agora:sandbox:render',
|
|
92
95
|
/** host → frame: `{ code }` — run one more classic script. */
|
|
93
96
|
run: 'agora:sandbox:run',
|
|
97
|
+
/** host → frame: `{ css, dark }` — the host's theme changed (light/dark, a new stylesheet). */
|
|
98
|
+
theme: 'agora:sandbox:theme',
|
|
99
|
+
/** host → frame: `{ code, final }` — the JSX so far (`final` once the model is done). */
|
|
100
|
+
jsx: 'agora:sandbox:jsx',
|
|
94
101
|
};
|
|
95
102
|
/** `</script` inside generated code would close the element it is inlined in. */
|
|
96
103
|
function inlineScript(code) {
|
|
@@ -106,6 +113,13 @@ function escapeAttribute(value) {
|
|
|
106
113
|
* The bridge every sandbox document starts with: `window.agent.send(values)`, content-height
|
|
107
114
|
* reports, uncaught errors, and — from the host only — `render` (preview redraws) and `run` (one more
|
|
108
115
|
* script). It is the only way out of the frame; the host checks everything it says.
|
|
116
|
+
*
|
|
117
|
+
* The height it reports is the CONTENT's — the bottom of what the body holds, margins included —
|
|
118
|
+
* never `scrollHeight`, which does not drop below the frame's own height: a frame mounted at the
|
|
119
|
+
* model's `initialHeight` would otherwise keep that height (an empty gap under a short view) and
|
|
120
|
+
* could only ever grow. It re-measures on every resize of the page or of a top-level element, on
|
|
121
|
+
* every DOM or style change (the Tailwind runtime injecting its CSS, the kit drawing JSX), once
|
|
122
|
+
* fonts and images load, and twice more shortly after start; the first measure rides `ready`.
|
|
109
123
|
*/
|
|
110
124
|
function bridgeScript(token, hostOrigin) {
|
|
111
125
|
const t = JSON.stringify(token);
|
|
@@ -114,16 +128,27 @@ function bridgeScript(token, hostOrigin) {
|
|
|
114
128
|
return `(function(){var T=${t},O=${o},M=${m},P=window.parent;
|
|
115
129
|
function post(type,data){var msg={type:type,token:T};for(var k in data)msg[k]=data[k];try{P.postMessage(msg,O)}catch(e){}}
|
|
116
130
|
window.agent=Object.freeze({send:function(payload){var clean;try{clean=JSON.parse(JSON.stringify(payload===undefined?{}:payload))}catch(e){throw new TypeError('agent.send: the payload must be JSON')}post(M.send,{payload:clean});return true}});
|
|
117
|
-
var last=-1
|
|
118
|
-
|
|
131
|
+
var last=-1,queued=false;
|
|
132
|
+
function measure(){var b=document.body;if(!b)return 0;var bottom=0;try{var r=document.createRange();r.selectNodeContents(b);bottom=r.getBoundingClientRect().bottom}catch(e){}
|
|
133
|
+
var kids=b.children;for(var i=0;i<kids.length;i++){var k=kids[i];if(k.tagName==='SCRIPT'||k.tagName==='STYLE')continue;var cs=getComputedStyle(k);if(cs.display==='none'||cs.position==='fixed')continue;var kb=k.getBoundingClientRect().bottom+(parseFloat(cs.marginBottom)||0);if(kb>bottom)bottom=kb}
|
|
134
|
+
var bs=getComputedStyle(b);bottom+=(parseFloat(bs.paddingBottom)||0)+(parseFloat(bs.borderBottomWidth)||0);return Math.max(0,Math.ceil(bottom+(window.scrollY||0)))}
|
|
135
|
+
function size(){queued=false;var h=measure();if(h!==last){last=h;post(M.resize,{height:h})}}
|
|
136
|
+
function later(){if(queued)return;queued=true;if(typeof requestAnimationFrame==='function'){requestAnimationFrame(size)}else{setTimeout(size,16)}}
|
|
137
|
+
window.addEventListener('error',function(e){if(window.__agoraQuiet)return;post(M.error,{message:String(e&&e.message||'error')})});
|
|
119
138
|
window.addEventListener('unhandledrejection',function(e){post(M.error,{message:String(e&&e.reason&&e.reason.message||e&&e.reason||'unhandled rejection')})});
|
|
120
139
|
window.addEventListener('message',function(e){if(e.source!==P)return;var d=e.data;if(!d||d.token!==T)return;
|
|
121
140
|
if(d.type===M.render){var s=document.getElementById('agora-sandbox-css');if(s)s.textContent=String(d.css||'');document.body.innerHTML=String(d.html||'');size()}
|
|
122
|
-
else if(d.type===M.run){var el=document.createElement('script');el.textContent=String(d.code||'');document.body.appendChild(el);size()}
|
|
123
|
-
|
|
141
|
+
else if(d.type===M.run){var el=document.createElement('script');el.textContent=String(d.code||'');document.body.appendChild(el);size()}
|
|
142
|
+
else if(d.type===M.theme){var th=document.getElementById('agora-sandbox-theme');if(th)th.textContent=String(d.css||'');document.documentElement.classList.toggle('dark',d.dark===true);document.documentElement.setAttribute('data-theme',d.dark===true?'dark':'light');size()}});
|
|
143
|
+
function start(){size();var d=document.documentElement,b=document.body;
|
|
144
|
+
var ro=null;if(typeof ResizeObserver==='function'){ro=new ResizeObserver(later);ro.observe(d);if(b){ro.observe(b);for(var i=0;i<b.children.length;i++)ro.observe(b.children[i])}}
|
|
145
|
+
if(typeof MutationObserver==='function'){new MutationObserver(function(list){if(ro){for(var i=0;i<list.length;i++){var added=list[i].addedNodes;for(var j=0;j<added.length;j++){if(added[j].nodeType===1&&added[j].parentNode===document.body)ro.observe(added[j])}}}later()}).observe(d,{childList:true,subtree:true,attributes:true,characterData:true})}
|
|
146
|
+
window.addEventListener('load',later);document.addEventListener('load',later,true);
|
|
147
|
+
if(document.fonts){if(document.fonts.ready)document.fonts.ready.then(later,function(){});if(document.fonts.addEventListener)document.fonts.addEventListener('loadingdone',later)}
|
|
148
|
+
setTimeout(later,250);setTimeout(later,1000);post(M.ready,{height:last})}
|
|
124
149
|
if(document.readyState==='loading'){document.addEventListener('DOMContentLoaded',start)}else{start()}})();`;
|
|
125
150
|
}
|
|
126
|
-
const BASE_CSS = 'html,body{margin:0;padding:0;overflow:hidden;background:transparent}body{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:14px;line-height:1.4;color
|
|
151
|
+
const BASE_CSS = 'html,body{margin:0;padding:0;overflow:hidden;background:transparent}body{font-family:var(--font-sans,system-ui,-apple-system,"Segoe UI",sans-serif);font-size:14px;line-height:1.4;color:var(--foreground,#1f2328)}*,*::before,*::after{box-sizing:border-box}';
|
|
127
152
|
/**
|
|
128
153
|
* The `srcdoc` of a sandbox frame. The CSP `<meta>` comes first, then the bridge, the base styles and
|
|
129
154
|
* the model's CSS, then its markup — and, live, its `jsFunctions` and each `jsExpressions` entry as
|
|
@@ -143,15 +168,34 @@ export function buildSandboxDocument(props, options) {
|
|
|
143
168
|
scripts.push(expression);
|
|
144
169
|
}
|
|
145
170
|
}
|
|
171
|
+
const kit = options.kit !== undefined;
|
|
146
172
|
return [
|
|
147
|
-
|
|
173
|
+
`<!doctype html><html${options.theme === undefined ? '' : options.theme.dark ? ' class="dark" data-theme="dark"' : ' data-theme="light"'}><head><meta charset="utf-8">`,
|
|
148
174
|
`<meta http-equiv="Content-Security-Policy" content="${escapeAttribute(csp)}">`,
|
|
149
175
|
'<meta name="referrer" content="no-referrer">',
|
|
150
176
|
`<script>${bridgeScript(options.token, options.hostOrigin)}</script>`,
|
|
151
177
|
`<style>${BASE_CSS}</style>`,
|
|
178
|
+
`<style id="agora-sandbox-theme">${inlineStyle(options.theme?.css ?? '')}</style>`,
|
|
179
|
+
...(options.tailwind !== undefined
|
|
180
|
+
? [
|
|
181
|
+
`<style type="text/tailwindcss" id="agora-sandbox-tw">${inlineStyle(options.tailwind.theme ?? '')}</style>`,
|
|
182
|
+
`<script>${inlineScript(options.tailwind.runtime)}</script>`,
|
|
183
|
+
]
|
|
184
|
+
: []),
|
|
152
185
|
`<style id="agora-sandbox-css">${inlineStyle(props.css ?? '')}</style>`,
|
|
153
186
|
'</head><body>',
|
|
154
187
|
html,
|
|
188
|
+
...(kit
|
|
189
|
+
? [
|
|
190
|
+
'<div id="agora-sandbox-root"></div>',
|
|
191
|
+
`<script>${inlineScript(options.kit)}</script>`,
|
|
192
|
+
`<script>${inlineScript(sandboxJsxRuntime({
|
|
193
|
+
token: options.token,
|
|
194
|
+
jsxMessage: SANDBOX_MESSAGE.jsx,
|
|
195
|
+
...(options.initialJsx !== undefined ? { initial: options.initialJsx } : {}),
|
|
196
|
+
}))}</script>`,
|
|
197
|
+
]
|
|
198
|
+
: []),
|
|
155
199
|
...scripts.map((code) => `<script>${inlineScript(code)}</script>`),
|
|
156
200
|
'</body></html>',
|
|
157
201
|
].join('');
|
|
@@ -186,9 +230,9 @@ export function sandboxPartialProps(props, input) {
|
|
|
186
230
|
out[key] = value;
|
|
187
231
|
continue;
|
|
188
232
|
}
|
|
189
|
-
if (key === 'html') {
|
|
233
|
+
if (key === 'html' || key === 'jsx') {
|
|
190
234
|
if (typeof value === 'string')
|
|
191
|
-
out
|
|
235
|
+
out[key] = value;
|
|
192
236
|
continue;
|
|
193
237
|
}
|
|
194
238
|
if (key === 'initialHeight') {
|
|
@@ -248,27 +292,49 @@ const sandboxSchema = {
|
|
|
248
292
|
required: ['html'],
|
|
249
293
|
additionalProperties: false,
|
|
250
294
|
};
|
|
251
|
-
function
|
|
295
|
+
function resolveSource(source) {
|
|
296
|
+
return typeof source === 'function' ? source() : source;
|
|
297
|
+
}
|
|
298
|
+
function describe(policy, options) {
|
|
252
299
|
const allow = policy.allow ?? {};
|
|
253
300
|
const opened = Object.entries(allow)
|
|
254
301
|
.filter(([, origins]) => origins !== undefined && origins.length > 0)
|
|
255
302
|
.map(([kind, origins]) => `${kind} from ${(origins ?? []).join(', ')}`);
|
|
303
|
+
const kitOn = options.kit !== undefined && options.kit !== false;
|
|
304
|
+
const docs = kitOn && options.kit !== true ? resolveSource(options.kit) : undefined;
|
|
305
|
+
const themeOn = options.theme !== false;
|
|
306
|
+
const themeVars = typeof options.theme === 'object'
|
|
307
|
+
? resolveSource(options.theme.vars)
|
|
308
|
+
: (docs?.theme?.vars ?? undefined);
|
|
256
309
|
return [
|
|
257
|
-
|
|
310
|
+
kitOn
|
|
311
|
+
? "An interactive mini-app you write yourself — JSX with the app's own components, or HTML, CSS and JavaScript — drawn in an isolated sandbox."
|
|
312
|
+
: 'An interactive mini-app you write yourself in HTML, CSS and JavaScript, drawn in an isolated sandbox.',
|
|
258
313
|
'LAST RESORT: use it only when no other component of this catalog can present the answer — a calculator, a small simulation, a bespoke visualization. Tables, charts, KPIs and text go in the catalog components, never here.',
|
|
259
|
-
|
|
314
|
+
kitOn
|
|
315
|
+
? 'Write the fields in this order: initialHeight, placeholderMessages, title, summary, css (optional), jsx — or html, jsFunctions, jsExpressions instead of jsx.'
|
|
316
|
+
: 'Write the fields in this order: initialHeight, placeholderMessages, title, summary, css, html, jsFunctions, jsExpressions.',
|
|
260
317
|
opened.length > 0
|
|
261
318
|
? `Network: only ${opened.join('; ')}. Everything else (fetch, CDNs, remote fonts) is blocked.`
|
|
262
319
|
: 'No network at all: no fetch, no external scripts, fonts or images — inline SVG and data: URLs only.',
|
|
263
320
|
'No <form> submission (use buttons with click handlers). jsFunctions and each jsExpressions entry run as classic scripts after the HTML, so no top-level await. Validate numeric input (no NaN/Infinity on screen), label units, keep it keyboard-accessible.',
|
|
264
321
|
'To hand values back to the assistant, call agent.send({ text: "<one short sentence the user is saying>", ...values }) from an explicit button click only — never on load, on a timer or on input. It starts a new turn with those values.',
|
|
265
|
-
...(
|
|
322
|
+
...(themeOn ? [themeToModelText(themeVars, { tailwind: options.tailwind === true })] : []),
|
|
323
|
+
...(options.tailwind === true ? [tailwindInstructions()] : []),
|
|
324
|
+
...(kitOn ? [kitJsxInstructions()] : []),
|
|
325
|
+
...(docs !== undefined && docs.components.length > 0 ? [`\n${kitDocsToModelText(docs)}`] : []),
|
|
326
|
+
...(options.instructions !== undefined ? [options.instructions] : []),
|
|
266
327
|
].join(' ');
|
|
267
328
|
}
|
|
329
|
+
const jsxSchema = {
|
|
330
|
+
type: 'string',
|
|
331
|
+
maxLength: 120000,
|
|
332
|
+
description: 'The view as JSX: plain JavaScript + JSX defining function App() (no imports, no TypeScript). Kit components and React hooks are in scope. Write it LAST.',
|
|
333
|
+
};
|
|
268
334
|
/**
|
|
269
335
|
* A sandbox component. `streaming: 'partial'`, so in tree mode it draws while the model writes it:
|
|
270
336
|
* a placeholder of `initialHeight`, then the styled markup, then — once the code has closed — the
|
|
271
|
-
* live view.
|
|
337
|
+
* live view. With a kit, JSX draws as it streams, each time what has arrived parses.
|
|
272
338
|
*
|
|
273
339
|
* ```ts
|
|
274
340
|
* const catalog = defineCatalog([...myComponents, defineSandbox({ policy: { allow: { images: ['https://tile.openstreetmap.org'] } } })])
|
|
@@ -277,11 +343,19 @@ function describe(policy, instructions) {
|
|
|
277
343
|
export function defineSandbox(options = {}) {
|
|
278
344
|
const policy = options.policy ?? {};
|
|
279
345
|
assertSandboxPolicy(policy);
|
|
346
|
+
const kitOn = options.kit !== undefined && options.kit !== false;
|
|
347
|
+
const props = kitOn
|
|
348
|
+
? {
|
|
349
|
+
...sandboxSchema,
|
|
350
|
+
properties: { ...sandboxSchema.properties, jsx: jsxSchema },
|
|
351
|
+
required: [],
|
|
352
|
+
}
|
|
353
|
+
: sandboxSchema;
|
|
280
354
|
const definition = defineComponent({
|
|
281
355
|
name: options.name ?? SANDBOX_COMPONENT,
|
|
282
356
|
title: 'Interactive view',
|
|
283
|
-
description:
|
|
284
|
-
props
|
|
357
|
+
description: '',
|
|
358
|
+
props,
|
|
285
359
|
streaming: 'partial',
|
|
286
360
|
partialProps: sandboxPartialProps,
|
|
287
361
|
...(options.version !== undefined ? { version: options.version } : {}),
|
|
@@ -293,7 +367,23 @@ export function defineSandbox(options = {}) {
|
|
|
293
367
|
return `${title ? `*${title}*\n` : ''}${summary} (interactive — open the app to use it)`;
|
|
294
368
|
},
|
|
295
369
|
});
|
|
296
|
-
|
|
370
|
+
const sandboxView = {
|
|
371
|
+
theme: options.theme !== false,
|
|
372
|
+
tailwind: options.tailwind === true,
|
|
373
|
+
kit: kitOn,
|
|
374
|
+
};
|
|
375
|
+
const result = {
|
|
376
|
+
...definition,
|
|
377
|
+
sandbox: Object.freeze({ ...policy }),
|
|
378
|
+
sandboxView,
|
|
379
|
+
sandboxOptions: Object.freeze({ ...options }),
|
|
380
|
+
};
|
|
381
|
+
// Read each time: the kit's docs (and the theme's names) may change while the app runs (dev).
|
|
382
|
+
Object.defineProperty(result, 'description', {
|
|
383
|
+
enumerable: true,
|
|
384
|
+
get: () => options.description ?? describe(policy, options),
|
|
385
|
+
});
|
|
386
|
+
return Object.freeze(result);
|
|
297
387
|
}
|
|
298
388
|
/** The builtin sandbox: no network, default limits. */
|
|
299
389
|
export const Sandbox = defineSandbox();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../../../src/genui/sandbox.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../../../src/genui/sandbox.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../src/genui/text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAqC,MAAM,cAAc,CAAC;AAC/E,OAAO,EAAE,KAAK,UAAU,EAAgB,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAwB,KAAK,YAAY,EAAE,MAAM,WAAW,CAAC;AAEpE;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,MAAM,CAMR;AAwBD,sFAAsF;AACtF,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,GAAG,MAAM,CAUvE;AAQD,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,IAAI,CAAC,EAAE,eAAe,GAAG,MAAM,GAAG,MAAM,CAAC;IACzC,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,GAAE,kBAAuB,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../src/genui/text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAqC,MAAM,cAAc,CAAC;AAC/E,OAAO,EAAE,KAAK,UAAU,EAAgB,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAwB,KAAK,YAAY,EAAE,MAAM,WAAW,CAAC;AAEpE;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,MAAM,CAMR;AAwBD,sFAAsF;AACtF,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,GAAG,MAAM,CAUvE;AAQD,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,IAAI,CAAC,EAAE,eAAe,GAAG,MAAM,GAAG,MAAM,CAAC;IACzC,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,GAAE,kBAAuB,GAAG,MAAM,CAiC7F;AAqCD,mGAAmG;AACnG,wBAAgB,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAuCxF;AAED,0EAA0E;AAC1E,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAMrF;AAED,0EAA0E;AAC1E,wBAAgB,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAU9D"}
|
package/dist/src/genui/text.js
CHANGED
|
@@ -62,7 +62,7 @@ export function catalogToModelText(catalog, options = {}) {
|
|
|
62
62
|
const mode = options.mode ?? 'tree';
|
|
63
63
|
const lines = [];
|
|
64
64
|
if (mode === 'tree') {
|
|
65
|
-
lines.push('Compose the UI as ONE tree of elements: { "type": <component>, "props": { … }, "children"?: [ … ] }.', 'Only components marked "takes children" accept children; `children` is a literal JSON array, never a string.', 'Components:');
|
|
65
|
+
lines.push('Compose the UI as ONE tree of elements: { "type": <component>, "props": { … }, "children"?: [ … ] }.', 'Only components marked "takes children" accept children; `children` is a literal JSON array, never a string.', 'Every element starts with "type", then "props" — a single component is { "type": …, "props": { … } } too, never its props alone. A component\'s own field order (if its description gives one) is the order of the keys INSIDE its "props".', ...treeExamples(catalog), 'Components:');
|
|
66
66
|
}
|
|
67
67
|
else if (mode === 'show') {
|
|
68
68
|
lines.push('Pass { "component": <name>, "props": { … } } with one of these components:');
|
|
@@ -87,6 +87,38 @@ export function catalogToModelText(catalog, options = {}) {
|
|
|
87
87
|
}
|
|
88
88
|
return lines.join('\n');
|
|
89
89
|
}
|
|
90
|
+
/**
|
|
91
|
+
* One or two literal calls built from the catalog's own components — the envelope shown rather
|
|
92
|
+
* than described: a one-component tree, and a layout holding it when the catalog has one.
|
|
93
|
+
*/
|
|
94
|
+
function treeExamples(catalog) {
|
|
95
|
+
const components = catalog.modelComponents();
|
|
96
|
+
const leaves = components.filter((component) => component.children !== true && requiredKeys(component).length > 0);
|
|
97
|
+
// A component drawn while it is written (the sandbox) is the one a model most often sends as
|
|
98
|
+
// bare props — long, written field by field — so it is the one worth showing wrapped.
|
|
99
|
+
const leaf = leaves.find((component) => component.partialProps !== undefined) ?? leaves[0];
|
|
100
|
+
if (leaf === undefined)
|
|
101
|
+
return [];
|
|
102
|
+
const props = `{ ${requiredKeys(leaf)
|
|
103
|
+
.map((key) => `"${key}": …`)
|
|
104
|
+
.join(', ')} }`;
|
|
105
|
+
const element = `{ "type": "${leaf.name}", "props": ${props} }`;
|
|
106
|
+
const layout = components.find((component) => component.children === true);
|
|
107
|
+
return [
|
|
108
|
+
`Example, one component: ${element}`,
|
|
109
|
+
...(layout !== undefined
|
|
110
|
+
? [
|
|
111
|
+
`Example, nested: { "type": "${layout.name}", "props": { … }, "children": [ ${element} ] }`,
|
|
112
|
+
]
|
|
113
|
+
: []),
|
|
114
|
+
];
|
|
115
|
+
}
|
|
116
|
+
function requiredKeys(component) {
|
|
117
|
+
const schema = toJsonSchema(component.props);
|
|
118
|
+
return Array.isArray(schema?.required)
|
|
119
|
+
? schema.required.filter((key) => typeof key === 'string')
|
|
120
|
+
: [];
|
|
121
|
+
}
|
|
90
122
|
/** A JSON Schema as a one-line TypeScript-like type, e.g. `{ title?: string, rows: object[] }`. */
|
|
91
123
|
export function summarizeSchema(schema, root, depth) {
|
|
92
124
|
if (typeof schema !== 'object' || schema === null)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text.js","sourceRoot":"","sources":["../../../src/genui/text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,oBAAoB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC/E,OAAO,EAAmB,YAAY,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAqB,MAAM,WAAW,CAAC;AAEpE;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAC7B,OAAgB,EAChB,SAAiB,EACjB,KAA8B;IAE9B,IAAI,SAAS,KAAK,oBAAoB,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAgC,CAAC;QACpD,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;AACnD,CAAC;AAED;;;GAGG;AACH,SAAS,QAAQ,CACf,OAAgB,EAChB,SAAiB,EACjB,KAA8B;IAE9B,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC1C,IAAI,UAAU,EAAE,YAAY,KAAK,SAAS,EAAE,CAAC;QAC3C,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAC5C,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,CAAC;QAAC,MAAM,CAAC;YACP,2CAA2C;QAC7C,CAAC;QACD,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,UAAU,EAAE,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACtE,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,UAAU,CAAC,OAAgB,EAAE,IAAkB;IAC7D,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,MAAM,KAAK,GAAG,CAAC,IAAkB,EAAE,KAAa,EAAE,EAAE;QAClD,IAAI,KAAK,GAAG,EAAE;YAAE,OAAO;QACvB,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACtD,IAAI,IAAI,KAAK,SAAS;YAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE;YAAE,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IACnE,CAAC,CAAC;IACF,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACf,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,SAAS,CAAC,KAA8B;IAC/C,MAAM,KAAK,GACT,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACxF,OAAO,GAAG,KAAK,WAAW,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC;AACrE,CAAC;AAaD;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAgB,EAAE,OAAO,GAAuB,EAAE;IACnF,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC;IACpC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,KAAK,CAAC,IAAI,CACR,sGAAsG,EACtG,8GAA8G,EAC9G,aAAa,CACd,CAAC;IACJ,CAAC;SAAM,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,4EAA4E,CAAC,CAAC;IAC3F,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;IACzD,CAAC;IACD,0FAA0F;IAC1F,MAAM,UAAU,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC/F,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,IAAI,GACR,IAAI,KAAK,eAAe;YACtB,CAAC,CAAC,KAAK,SAAS,CAAC,IAAI,YAAY,WAAW,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK;YACrF,CAAC,CAAC,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;QAChD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,KAAK,CAAC,IAAI,CAAC,YAAY,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,IAAI,KAAK,MAAM,IAAI,SAAS,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YACnD,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,mGAAmG;AACnG,MAAM,UAAU,eAAe,CAAC,MAAe,EAAE,IAAgB,EAAE,KAAa;IAC9E,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IACpE,MAAM,CAAC,GAAG,MAAiC,CAAC;IAC5C,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IAC1B,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,SAAS,CAAC,CAAC;IAC1E,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,OAAO,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAA0B,CAAC;IAC/D,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1F,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,IAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAClG,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3F,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAuB,CAAC;IAC5C,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QAC3F,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC;IACnF,CAAC;IACD,IAAI,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,UAAU,KAAK,SAAS,CAAC,EAAE,CAAC;QAC5E,MAAM,UAAU,GAAG,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAA4B,CAAC;QACnE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,QAAQ,CAAC;QACvC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,QAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACpF,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAC9B,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAwC,CAAC;YACrE,MAAM,IAAI,GACR,OAAO,KAAK,EAAE,WAAW,KAAK,QAAQ,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,WAAW,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7F,OAAO,GAAG,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC;QACpG,CAAC,CAAC,CAAC;QACH,OAAO,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACpC,CAAC;IACD,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IACxC,OAAO,IAAI,IAAI,SAAS,CAAC;AAC3B,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,YAAY,CAAC,QAAgB,EAAE,KAA8B;IAC3E,OAAO,QAAQ,CAAC,OAAO,CAAC,4BAA4B,EAAE,CAAC,MAAM,EAAE,IAAY,EAAE,EAAE;QAC7E,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACnC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,EAAE,CAAC;QACrD,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;AACL,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,OAAO,CAAC,MAAe,EAAE,IAAY;IACnD,IAAI,OAAO,GAAY,MAAM,CAAC;IAC9B,KAAK,MAAM,IAAI,IAAI,IAAI;SACpB,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC;SAC5B,KAAK,CAAC,GAAG,CAAC;SACV,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QACnB,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAChE,OAAO,GAAI,OAAmC,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
1
|
+
{"version":3,"file":"text.js","sourceRoot":"","sources":["../../../src/genui/text.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,8 @@ import type { ToolHandler } from '../spi/tool.js';
|
|
|
3
3
|
import type { ToolPresentation } from '../tool-presentation.js';
|
|
4
4
|
import type { Actor, ToolSpec } from '../types.js';
|
|
5
5
|
import { type Catalog, type GenuiStreaming } from './catalog.js';
|
|
6
|
+
import { type GenuiChannels } from './channels.js';
|
|
7
|
+
import type { DefineSandboxOptions } from './sandbox.js';
|
|
6
8
|
import { type GenuiIssue, type JsonSchema } from './schema.js';
|
|
7
9
|
import { type TreeLimits, type TreeSchemaMode } from './tree.js';
|
|
8
10
|
/** A lib tool: register it with `aiTool(tool)` (AdonisJS) or `registry.register(tool.spec, tool.handler)`. */
|
|
@@ -26,6 +28,8 @@ export interface GenuiCatalogScope {
|
|
|
26
28
|
threadId?: string;
|
|
27
29
|
tenant?: string;
|
|
28
30
|
agentName?: string;
|
|
31
|
+
/** The channel the turn runs on (`web`, `whatsapp`, …), when known. */
|
|
32
|
+
channel?: string;
|
|
29
33
|
}
|
|
30
34
|
/** Answers which catalog applies to a request — a tenant's own, versioned components. */
|
|
31
35
|
export type ResolveGenuiCatalog = (scope: GenuiCatalogScope) => Catalog | Promise<Catalog>;
|
|
@@ -56,6 +60,15 @@ export interface GenuiToolsOptions {
|
|
|
56
60
|
treeToolName?: string;
|
|
57
61
|
/** Extra text prepended to the tree tool's description (when to call it, house rules). */
|
|
58
62
|
treeInstructions?: string;
|
|
63
|
+
/**
|
|
64
|
+
* Tree mode: components that ALSO get a tool of their own whose input IS their props —
|
|
65
|
+
* `componentTools: ['Sandbox']` adds `ui__sandbox`. For a big component a model writes on its
|
|
66
|
+
* own (the sandbox): with no tree to nest it in, there is no `{ type, props }` envelope to leave
|
|
67
|
+
* out. It still streams (`partialProps`) and may still be nested in a `ui__render` tree.
|
|
68
|
+
*/
|
|
69
|
+
componentTools?: readonly string[];
|
|
70
|
+
/** Tool-name prefix for {@link componentTools}. Default `ui__` (`Sandbox` → `ui__sandbox`). */
|
|
71
|
+
componentToolPrefix?: string;
|
|
59
72
|
/** Size limits for `tree`. */
|
|
60
73
|
treeLimits?: TreeLimits;
|
|
61
74
|
/**
|
|
@@ -92,6 +105,19 @@ export interface GenuiToolsOptions {
|
|
|
92
105
|
* `catalog` argument serves every request.
|
|
93
106
|
*/
|
|
94
107
|
resolveCatalog?: ResolveGenuiCatalog;
|
|
108
|
+
/**
|
|
109
|
+
* Per-channel generative UI (see {@link GenuiChannels}): each entry sets the mode, streaming,
|
|
110
|
+
* sandbox and rendering of one channel (`web`, `mobile`, `whatsapp`, `telegram`, `email`, or
|
|
111
|
+
* `default` for the rest), over the top-level options. The tools of every mode in use are
|
|
112
|
+
* registered; each turn is offered only those of its channel's mode, described with what that
|
|
113
|
+
* channel can draw. Omitted → every channel is served by the top-level options, as before.
|
|
114
|
+
*/
|
|
115
|
+
channels?: GenuiChannels;
|
|
116
|
+
/**
|
|
117
|
+
* The sandbox setting a channel without its own falls back to (`genui({ sandbox })` passes it).
|
|
118
|
+
* Only read with {@link channels}: the sandbox itself is a component of `catalog`.
|
|
119
|
+
*/
|
|
120
|
+
sandbox?: boolean | DefineSandboxOptions;
|
|
95
121
|
}
|
|
96
122
|
/** The default name of the generic show tool ({@link GenuiToolsOptions.showTool}). */
|
|
97
123
|
export declare const GENUI_SHOW_TOOL = "ui__show";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/genui/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACpF,OAAO,KAAK,EAIV,WAAW,EAGZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,EACL,KAAK,OAAO,EAEZ,KAAK,cAAc,EAGpB,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/genui/tools.ts"],"names":[],"mappings":"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"}
|