@adonis-agora/agent 0.74.1 → 0.76.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 +42 -0
- package/README.md +16 -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 +21 -15
- package/dist/src/genui/sandbox.d.ts.map +1 -1
- package/dist/src/genui/sandbox.js +66 -17
- 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/react-native/genui/index.d.ts +20 -0
- package/dist/src/react-native/genui/index.d.ts.map +1 -0
- package/dist/src/react-native/genui/index.js +18 -0
- package/dist/src/react-native/genui/index.js.map +1 -0
- package/dist/src/react-native/genui/provider.d.ts +19 -0
- package/dist/src/react-native/genui/provider.d.ts.map +1 -0
- package/dist/src/react-native/genui/provider.js +23 -0
- package/dist/src/react-native/genui/provider.js.map +1 -0
- package/dist/src/react-native/genui/sandbox-assets.d.ts +57 -0
- package/dist/src/react-native/genui/sandbox-assets.d.ts.map +1 -0
- package/dist/src/react-native/genui/sandbox-assets.js +153 -0
- package/dist/src/react-native/genui/sandbox-assets.js.map +1 -0
- package/dist/src/react-native/genui/sandbox-host.d.ts +119 -0
- package/dist/src/react-native/genui/sandbox-host.d.ts.map +1 -0
- package/dist/src/react-native/genui/sandbox-host.js +188 -0
- package/dist/src/react-native/genui/sandbox-host.js.map +1 -0
- package/dist/src/react-native/genui/sandbox.d.ts +86 -0
- package/dist/src/react-native/genui/sandbox.d.ts.map +1 -0
- package/dist/src/react-native/genui/sandbox.js +376 -0
- package/dist/src/react-native/genui/sandbox.js.map +1 -0
- 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 +28 -2
|
@@ -8,17 +8,35 @@
|
|
|
8
8
|
*/
|
|
9
9
|
/** Custom properties Tailwind and the browser keep for themselves — never the app's theme. */
|
|
10
10
|
const INTERNAL_VAR = /^--(tw-|vite-|agora-)/;
|
|
11
|
-
/**
|
|
12
|
-
|
|
11
|
+
/** Selectors a theme's variables live on: the root, and the light/dark switches on it. */
|
|
12
|
+
const ROOT_SELECTOR = /(^|[\s,(])(:root|html|:host|body)\b|\[data-[\w-]*(theme|mode|scheme)\b|\.(dark|light)\b/;
|
|
13
|
+
/**
|
|
14
|
+
* `--name: value` declarations in a stylesheet's text (what the Vite plugin scans). `rootOnly`:
|
|
15
|
+
* only those on the root (`:root`, `html`, `[data-theme]`, `.dark`…) — a theme's, not a
|
|
16
|
+
* component's own (`.btn { --bs-btn-color }`).
|
|
17
|
+
*/
|
|
18
|
+
export function themeVarsFromCss(css, options = {}) {
|
|
13
19
|
const vars = {};
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
const text = css.replace(/\/\*[\s\S]*?\*\//g, '');
|
|
21
|
+
const take = (body) => {
|
|
22
|
+
const declaration = /(?:^|[;{\s])(--[A-Za-z0-9_-]+)\s*:\s*([^;{}]+)/g;
|
|
23
|
+
for (const match of body.matchAll(declaration)) {
|
|
24
|
+
const name = match[1];
|
|
25
|
+
if (INTERNAL_VAR.test(name))
|
|
26
|
+
continue;
|
|
27
|
+
// The first value seen is the light one (`:root` comes before `.dark` in every theme file).
|
|
28
|
+
if (!(name in vars))
|
|
29
|
+
vars[name] = match[2].trim();
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
if (options.rootOnly !== true) {
|
|
33
|
+
take(text);
|
|
34
|
+
return vars;
|
|
35
|
+
}
|
|
36
|
+
// Each innermost rule: its selector (the text before its `{`) and its declarations.
|
|
37
|
+
for (const match of text.matchAll(/([^{};]*)\{([^{}]*)\}/g)) {
|
|
38
|
+
if (ROOT_SELECTOR.test((match[1] ?? '').trim()))
|
|
39
|
+
take(match[2] ?? '');
|
|
22
40
|
}
|
|
23
41
|
return vars;
|
|
24
42
|
}
|
|
@@ -123,60 +141,36 @@ export function tailwindThemeCss(vars) {
|
|
|
123
141
|
.map((line) => ` ${line};`)
|
|
124
142
|
.join('\n')}\n}`;
|
|
125
143
|
}
|
|
126
|
-
/**
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
const directive = /@(custom-variant|utility|theme)\b/g;
|
|
135
|
-
let depth = 0;
|
|
136
|
-
for (let index = 0; index < text.length; index++) {
|
|
137
|
-
const c = text[index];
|
|
138
|
-
if (c === '{')
|
|
139
|
-
depth++;
|
|
140
|
-
else if (c === '}')
|
|
141
|
-
depth = Math.max(0, depth - 1);
|
|
142
|
-
else if (c === '@' && depth === 0) {
|
|
143
|
-
directive.lastIndex = index;
|
|
144
|
-
const match = directive.exec(text);
|
|
145
|
-
if (match === null || match.index !== index)
|
|
146
|
-
continue;
|
|
147
|
-
// One statement (`@custom-variant dark (&:where(.dark *));`) or one balanced block.
|
|
148
|
-
let end = index;
|
|
149
|
-
let inner = 0;
|
|
150
|
-
for (; end < text.length; end++) {
|
|
151
|
-
const ch = text[end];
|
|
152
|
-
if (ch === ';' && inner === 0)
|
|
153
|
-
break;
|
|
154
|
-
if (ch === '{')
|
|
155
|
-
inner++;
|
|
156
|
-
else if (ch === '}') {
|
|
157
|
-
inner--;
|
|
158
|
-
if (inner === 0)
|
|
159
|
-
break;
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
out.push(text.slice(index, end + 1).trim());
|
|
163
|
-
index = end;
|
|
164
|
-
}
|
|
144
|
+
/** The root attributes a light/dark switch lives in: `data-theme`, `data-mode`, `data-bs-theme`, `data-color-scheme`… */
|
|
145
|
+
export const MODE_ATTRIBUTE = /^data-([\w-]*-)?(theme|mode|scheme)$/;
|
|
146
|
+
/** The host root's light/dark attributes (see {@link MODE_ATTRIBUTE}), to mirror on the frame's. */
|
|
147
|
+
export function hostModeAttributes(doc) {
|
|
148
|
+
const out = {};
|
|
149
|
+
for (const attribute of Array.from(doc.documentElement.attributes ?? [])) {
|
|
150
|
+
if (MODE_ATTRIBUTE.test(attribute.name))
|
|
151
|
+
out[attribute.name] = attribute.value;
|
|
165
152
|
}
|
|
166
|
-
return out
|
|
153
|
+
return out;
|
|
167
154
|
}
|
|
168
|
-
/** Light or dark: the host's `dark` class
|
|
155
|
+
/** Light or dark: the host's `dark`/`light` class, a `data-*theme|mode|scheme` attribute, else the system preference. */
|
|
169
156
|
export function isHostDark(doc) {
|
|
170
157
|
const root = doc.documentElement;
|
|
171
158
|
if (root.classList.contains('dark'))
|
|
172
159
|
return true;
|
|
173
160
|
if (root.classList.contains('light'))
|
|
174
161
|
return false;
|
|
175
|
-
const
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
162
|
+
const preferred = ['data-theme', 'data-mode'];
|
|
163
|
+
const names = [
|
|
164
|
+
...preferred,
|
|
165
|
+
...Array.from(root.attributes ?? [], (attribute) => attribute.name).filter((name) => MODE_ATTRIBUTE.test(name) && !preferred.includes(name)),
|
|
166
|
+
];
|
|
167
|
+
for (const name of names) {
|
|
168
|
+
const value = root.getAttribute(name);
|
|
169
|
+
if (value === 'dark')
|
|
170
|
+
return true;
|
|
171
|
+
if (value === 'light')
|
|
172
|
+
return false;
|
|
173
|
+
}
|
|
180
174
|
return doc.defaultView?.matchMedia?.('(prefers-color-scheme: dark)').matches === true;
|
|
181
175
|
}
|
|
182
176
|
/** Every custom property any same-origin stylesheet declares (and the root's inline style sets). */
|
|
@@ -239,10 +233,8 @@ export function watchHostTheme(doc, onChange) {
|
|
|
239
233
|
timer = setTimeout(onChange, 30);
|
|
240
234
|
};
|
|
241
235
|
const observer = typeof MutationObserver === 'function' ? new MutationObserver(changed) : undefined;
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
attributeFilter: ['class', 'style', 'data-theme', 'data-mode'],
|
|
245
|
-
});
|
|
236
|
+
// Every attribute: the class, the style, and whichever `data-*theme` the app switches.
|
|
237
|
+
observer?.observe(doc.documentElement, { attributes: true });
|
|
246
238
|
observer?.observe(doc.head, { childList: true });
|
|
247
239
|
const media = doc.defaultView?.matchMedia?.('(prefers-color-scheme: dark)');
|
|
248
240
|
media?.addEventListener?.('change', changed);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandbox-theme.js","sourceRoot":"","sources":["../../../src/genui/sandbox-theme.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,8FAA8F;AAC9F,MAAM,YAAY,GAAG,uBAAuB,CAAC;AAE7C,
|
|
1
|
+
{"version":3,"file":"sandbox-theme.js","sourceRoot":"","sources":["../../../src/genui/sandbox-theme.ts"],"names":[],"mappings":"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"}
|
|
@@ -127,12 +127,16 @@ export interface SandboxDocumentOptions {
|
|
|
127
127
|
inlineJs?: boolean;
|
|
128
128
|
/**
|
|
129
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
|
|
130
|
+
* `:root`, and kept current with `theme` messages. `dark` mirrors the host's `dark` class;
|
|
131
|
+
* `attributes`, its light/dark attributes (`data-theme`, `data-bs-theme`…).
|
|
131
132
|
*/
|
|
132
133
|
theme?: {
|
|
133
134
|
css: string;
|
|
134
135
|
dark: boolean;
|
|
136
|
+
attributes?: Record<string, string>;
|
|
135
137
|
};
|
|
138
|
+
/** The app's compiled styles (`genuiSandboxKit({ styles })`), before the theme and the model's CSS. */
|
|
139
|
+
styles?: string;
|
|
136
140
|
/** Tailwind: the `@tailwindcss/browser` runtime source, and the `@theme` mapping the host's variables. */
|
|
137
141
|
tailwind?: {
|
|
138
142
|
runtime: string;
|
|
@@ -148,6 +152,13 @@ export interface SandboxDocumentOptions {
|
|
|
148
152
|
code: string;
|
|
149
153
|
final: boolean;
|
|
150
154
|
};
|
|
155
|
+
/**
|
|
156
|
+
* How the bridge reaches its host. `'parent'` (default): `parent.postMessage` to `hostOrigin`, an
|
|
157
|
+
* iframe in a page. `'react-native'`: `window.ReactNativeWebView.postMessage(JSON)`, the document
|
|
158
|
+
* as a `react-native-webview` source (`hostOrigin` unused), with a device-width viewport. The host
|
|
159
|
+
* talks back the same way either way — `message` events whose `source` is the frame's parent.
|
|
160
|
+
*/
|
|
161
|
+
transport?: 'parent' | 'react-native';
|
|
151
162
|
}
|
|
152
163
|
/**
|
|
153
164
|
* The `srcdoc` of a sandbox frame. The CSP `<meta>` comes first, then the bridge, the base styles and
|
|
@@ -196,31 +207,26 @@ export interface DefineSandboxOptions {
|
|
|
196
207
|
vars?: SandboxThemeSource;
|
|
197
208
|
};
|
|
198
209
|
/**
|
|
199
|
-
*
|
|
200
|
-
*
|
|
201
|
-
*
|
|
202
|
-
|
|
203
|
-
|
|
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.
|
|
210
|
+
* The app's design system in the frame — whatever `genuiSandboxKit()` built: its compiled styles
|
|
211
|
+
* (fonts and images inlined), the Tailwind runtime with the app's theme when the styles use
|
|
212
|
+
* Tailwind, its components and wrapper (the model then writes `jsx`). What the model is told is
|
|
213
|
+
* read from the docs: components and props, Tailwind tokens or the CSS class vocabulary, the
|
|
214
|
+
* theme's variables, `stylesDocs`. `true`: the server's `sandbox({ kit: true })` finds them
|
|
215
|
+
* through Vite; or pass the docs (or a function returning them) yourself.
|
|
209
216
|
*/
|
|
210
217
|
kit?: boolean | SandboxKitSource;
|
|
211
218
|
}
|
|
212
|
-
/** How a sandbox draws: theme
|
|
219
|
+
/** How a sandbox draws: theme and kit on or off. */
|
|
213
220
|
export interface SandboxView {
|
|
214
221
|
theme: boolean;
|
|
215
|
-
tailwind: boolean;
|
|
216
222
|
kit: boolean;
|
|
217
223
|
}
|
|
218
224
|
/** A sandbox definition: a {@link ComponentDefinition} that carries its {@link SandboxPolicy}. */
|
|
219
225
|
export type SandboxDefinition = ComponentDefinition<SandboxProps> & {
|
|
220
226
|
readonly sandbox: SandboxPolicy;
|
|
221
|
-
/** Theme
|
|
227
|
+
/** Theme and kit, as the definition was given them. */
|
|
222
228
|
readonly sandboxView?: SandboxView;
|
|
223
|
-
/** The options it was defined with — what a server resolves the kit
|
|
229
|
+
/** The options it was defined with — what a server resolves the kit for. */
|
|
224
230
|
readonly sandboxOptions?: Readonly<DefineSandboxOptions>;
|
|
225
231
|
};
|
|
226
232
|
/**
|
|
@@ -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;AACzE,OAAO,
|
|
1
|
+
{"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../../src/genui/sandbox.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,8 +9,9 @@
|
|
|
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,
|
|
13
|
-
import {
|
|
12
|
+
import { kitDocsToModelText, kitHtmlInstructions, kitJsxInstructions, sandboxJsxRuntime, } from './sandbox-kit.js';
|
|
13
|
+
import { tailwindToModelText, vocabularyToModelText } from './sandbox-styles.js';
|
|
14
|
+
import { themeTokens, themeToModelText } from './sandbox-theme.js';
|
|
14
15
|
/** The component name the builtin {@link Sandbox} registers under. */
|
|
15
16
|
export const SANDBOX_COMPONENT = 'Sandbox';
|
|
16
17
|
/**
|
|
@@ -121,12 +122,16 @@ function escapeAttribute(value) {
|
|
|
121
122
|
* every DOM or style change (the Tailwind runtime injecting its CSS, the kit drawing JSX), once
|
|
122
123
|
* fonts and images load, and twice more shortly after start; the first measure rides `ready`.
|
|
123
124
|
*/
|
|
124
|
-
function bridgeScript(token, hostOrigin) {
|
|
125
|
+
function bridgeScript(token, hostOrigin, transport = 'parent') {
|
|
125
126
|
const t = JSON.stringify(token);
|
|
126
127
|
const o = JSON.stringify(hostOrigin);
|
|
127
128
|
const m = JSON.stringify(SANDBOX_MESSAGE);
|
|
128
|
-
|
|
129
|
-
|
|
129
|
+
const native = transport === 'react-native';
|
|
130
|
+
const deliver = native
|
|
131
|
+
? '(R||window.ReactNativeWebView).postMessage(JSON.stringify(msg))'
|
|
132
|
+
: 'P.postMessage(msg,O)';
|
|
133
|
+
return `(function(){var T=${t},O=${o},M=${m},P=window.parent${native ? ',R=window.ReactNativeWebView' : ''};
|
|
134
|
+
function post(type,data){var msg={type:type,token:T};for(var k in data)msg[k]=data[k];try{${deliver}}catch(e){}}
|
|
130
135
|
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}});
|
|
131
136
|
var last=-1,queued=false;
|
|
132
137
|
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){}
|
|
@@ -139,7 +144,9 @@ window.addEventListener('unhandledrejection',function(e){post(M.error,{message:S
|
|
|
139
144
|
window.addEventListener('message',function(e){if(e.source!==P)return;var d=e.data;if(!d||d.token!==T)return;
|
|
140
145
|
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()}
|
|
141
146
|
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);
|
|
147
|
+
else if(d.type===M.theme){var th=document.getElementById('agora-sandbox-theme');if(th)th.textContent=String(d.css||'');var de=document.documentElement;de.classList.toggle('dark',d.dark===true);var at=d.attributes&&typeof d.attributes==='object'?d.attributes:{};
|
|
148
|
+
for(var i=de.attributes.length-1;i>=0;i--){var an=de.attributes[i].name;if(/^data-([\\w-]*-)?(theme|mode|scheme)$/.test(an)&&!(an in at))de.removeAttribute(an)}
|
|
149
|
+
for(var k in at){if(/^data-([\\w-]*-)?(theme|mode|scheme)$/.test(k))de.setAttribute(k,String(at[k]))}if(!('data-theme' in at))de.setAttribute('data-theme',d.dark===true?'dark':'light');size()}});
|
|
143
150
|
function start(){size();var d=document.documentElement,b=document.body;
|
|
144
151
|
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
152
|
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})}
|
|
@@ -149,6 +156,19 @@ setTimeout(later,250);setTimeout(later,1000);post(M.ready,{height:last})}
|
|
|
149
156
|
if(document.readyState==='loading'){document.addEventListener('DOMContentLoaded',start)}else{start()}})();`;
|
|
150
157
|
}
|
|
151
158
|
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}';
|
|
159
|
+
/** The frame root's attributes: the host's mode (`class="dark"`, `data-theme`, `data-bs-theme`…). */
|
|
160
|
+
function rootAttributes(theme) {
|
|
161
|
+
if (theme === undefined)
|
|
162
|
+
return '';
|
|
163
|
+
const attributes = { 'data-theme': theme.dark ? 'dark' : 'light' };
|
|
164
|
+
for (const [name, value] of Object.entries(theme.attributes ?? {})) {
|
|
165
|
+
if (/^data-([\w-]*-)?(theme|mode|scheme)$/.test(name))
|
|
166
|
+
attributes[name] = value;
|
|
167
|
+
}
|
|
168
|
+
return `${theme.dark ? ' class="dark"' : ''}${Object.entries(attributes)
|
|
169
|
+
.map(([name, value]) => ` ${name}="${escapeAttribute(value)}"`)
|
|
170
|
+
.join('')}`;
|
|
171
|
+
}
|
|
152
172
|
/**
|
|
153
173
|
* The `srcdoc` of a sandbox frame. The CSP `<meta>` comes first, then the bridge, the base styles and
|
|
154
174
|
* the model's CSS, then its markup — and, live, its `jsFunctions` and each `jsExpressions` entry as
|
|
@@ -170,11 +190,17 @@ export function buildSandboxDocument(props, options) {
|
|
|
170
190
|
}
|
|
171
191
|
const kit = options.kit !== undefined;
|
|
172
192
|
return [
|
|
173
|
-
`<!doctype html><html${options.theme
|
|
193
|
+
`<!doctype html><html${rootAttributes(options.theme)}><head><meta charset="utf-8">`,
|
|
174
194
|
`<meta http-equiv="Content-Security-Policy" content="${escapeAttribute(csp)}">`,
|
|
175
195
|
'<meta name="referrer" content="no-referrer">',
|
|
176
|
-
|
|
196
|
+
...(options.transport === 'react-native'
|
|
197
|
+
? ['<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1">']
|
|
198
|
+
: []),
|
|
199
|
+
`<script>${bridgeScript(options.token, options.hostOrigin, options.transport)}</script>`,
|
|
177
200
|
`<style>${BASE_CSS}</style>`,
|
|
201
|
+
...(options.styles !== undefined && options.styles !== ''
|
|
202
|
+
? [`<style id="agora-sandbox-kit-css">${inlineStyle(options.styles)}</style>`]
|
|
203
|
+
: []),
|
|
178
204
|
`<style id="agora-sandbox-theme">${inlineStyle(options.theme?.css ?? '')}</style>`,
|
|
179
205
|
...(options.tailwind !== undefined
|
|
180
206
|
? [
|
|
@@ -302,16 +328,19 @@ function describe(policy, options) {
|
|
|
302
328
|
.map(([kind, origins]) => `${kind} from ${(origins ?? []).join(', ')}`);
|
|
303
329
|
const kitOn = options.kit !== undefined && options.kit !== false;
|
|
304
330
|
const docs = kitOn && options.kit !== true ? resolveSource(options.kit) : undefined;
|
|
331
|
+
// JSX only when a kit bundle exists (docs say so) — never on the promise of one.
|
|
332
|
+
const jsx = docs?.jsx === true;
|
|
333
|
+
const components = docs?.components ?? [];
|
|
305
334
|
const themeOn = options.theme !== false;
|
|
306
335
|
const themeVars = typeof options.theme === 'object'
|
|
307
336
|
? resolveSource(options.theme.vars)
|
|
308
337
|
: (docs?.theme?.vars ?? undefined);
|
|
309
338
|
return [
|
|
310
|
-
|
|
311
|
-
?
|
|
312
|
-
:
|
|
339
|
+
jsx
|
|
340
|
+
? `An interactive mini-app you write yourself — JSX${components.length > 0 ? " with the app's own components" : ''}, or HTML, CSS and JavaScript — drawn in an isolated sandbox${docs?.tailwind !== undefined || docs?.vocabulary !== undefined ? " in the app's own styles" : ''}.`
|
|
341
|
+
: `An interactive mini-app you write yourself in HTML, CSS and JavaScript, drawn in an isolated sandbox${docs?.tailwind !== undefined || docs?.vocabulary !== undefined ? " in the app's own styles" : ''}.`,
|
|
313
342
|
'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.',
|
|
314
|
-
|
|
343
|
+
jsx
|
|
315
344
|
? 'Write the fields in this order: initialHeight, placeholderMessages, title, summary, css (optional), jsx — or html, jsFunctions, jsExpressions instead of jsx.'
|
|
316
345
|
: 'Write the fields in this order: initialHeight, placeholderMessages, title, summary, css, html, jsFunctions, jsExpressions.',
|
|
317
346
|
opened.length > 0
|
|
@@ -319,10 +348,28 @@ function describe(policy, options) {
|
|
|
319
348
|
: 'No network at all: no fetch, no external scripts, fonts or images — inline SVG and data: URLs only.',
|
|
320
349
|
'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.',
|
|
321
350
|
'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.',
|
|
322
|
-
...(themeOn ? [themeToModelText(themeVars
|
|
323
|
-
...(
|
|
324
|
-
|
|
325
|
-
|
|
351
|
+
...(themeOn ? [themeToModelText(themeVars)] : []),
|
|
352
|
+
...(docs?.tailwind !== undefined
|
|
353
|
+
? [
|
|
354
|
+
tailwindToModelText(docs.tailwind.tokens, {
|
|
355
|
+
version: docs.tailwind.version,
|
|
356
|
+
...(themeOn ? { colors: themeTokens(themeVars ?? []).colors } : {}),
|
|
357
|
+
}),
|
|
358
|
+
]
|
|
359
|
+
: []),
|
|
360
|
+
...(docs?.tailwind === undefined &&
|
|
361
|
+
docs?.vocabulary !== undefined &&
|
|
362
|
+
docs.vocabulary.groups.length > 0
|
|
363
|
+
? [`\n${vocabularyToModelText(docs.vocabulary, { jsx })}\n`]
|
|
364
|
+
: []),
|
|
365
|
+
...(jsx
|
|
366
|
+
? [kitJsxInstructions({ components: components.length > 0, wrapper: docs?.wrapper === true })]
|
|
367
|
+
: []),
|
|
368
|
+
...(kitOn && docs !== undefined && !jsx ? [kitHtmlInstructions()] : []),
|
|
369
|
+
...(jsx && components.length > 0 ? [`\n${kitDocsToModelText(docs)}`] : []),
|
|
370
|
+
...(docs?.guide !== undefined && docs.guide.trim() !== ''
|
|
371
|
+
? [`\nThe app's notes on its styles:\n${docs.guide.trim()}`]
|
|
372
|
+
: []),
|
|
326
373
|
...(options.instructions !== undefined ? [options.instructions] : []),
|
|
327
374
|
].join(' ');
|
|
328
375
|
}
|
|
@@ -341,6 +388,9 @@ const jsxSchema = {
|
|
|
341
388
|
* ```
|
|
342
389
|
*/
|
|
343
390
|
export function defineSandbox(options = {}) {
|
|
391
|
+
if (options.tailwind !== undefined) {
|
|
392
|
+
throw new TypeError('defineSandbox: `tailwind` was removed in 0.75. `kit: true` turns on whatever genuiSandboxKit() produced — Tailwind included, detected from its `styles`. Replace `{ tailwind: true, kit: true }` with `{ kit: true }` (and pass your Tailwind stylesheet as genuiSandboxKit({ styles })).');
|
|
393
|
+
}
|
|
344
394
|
const policy = options.policy ?? {};
|
|
345
395
|
assertSandboxPolicy(policy);
|
|
346
396
|
const kitOn = options.kit !== undefined && options.kit !== false;
|
|
@@ -369,7 +419,6 @@ export function defineSandbox(options = {}) {
|
|
|
369
419
|
});
|
|
370
420
|
const sandboxView = {
|
|
371
421
|
theme: options.theme !== false,
|
|
372
|
-
tailwind: options.tailwind === true,
|
|
373
422
|
kit: kitOn,
|
|
374
423
|
};
|
|
375
424
|
const result = {
|
|
@@ -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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"}
|
|
@@ -96,6 +96,16 @@ export interface GenuiToolsOptions {
|
|
|
96
96
|
showInstructions?: string;
|
|
97
97
|
/** Roles allowed to call the tools (the `ToolSpec.roles` gate). Undefined → the roles policy default. */
|
|
98
98
|
roles?: string[];
|
|
99
|
+
/**
|
|
100
|
+
* The authorization ability the UI tools declare (`ToolSpec.ability`) — what an ability-aware
|
|
101
|
+
* authorizer (`authzToolAuthorizer` from `@adonis-agora/agent/authz`) checks the actor against.
|
|
102
|
+
* Under such an authorizer a tool with no ability is denied, so without this the UI tools are
|
|
103
|
+
* never offered. A string for every tool; a map by tool name (`{ ui__render: 'genui.render',
|
|
104
|
+
* ui__sandbox: 'genui.sandbox' }`, a tool it does not name declares none); or a function of the
|
|
105
|
+
* tool name and the component it shows (`undefined` for the tree and show tools). The authorizer
|
|
106
|
+
* still decides: nothing is allowed by default.
|
|
107
|
+
*/
|
|
108
|
+
ability?: GenuiAbility;
|
|
99
109
|
/** Override the generated presentation per component (or for the tree / show tool, under its tool name). */
|
|
100
110
|
presentation?: (component: string) => ToolPresentation | undefined;
|
|
101
111
|
/**
|
|
@@ -128,6 +138,16 @@ export declare const GENUI_SHOW_TOOL = "ui__show";
|
|
|
128
138
|
* assistant message.
|
|
129
139
|
*/
|
|
130
140
|
export declare function genuiTools(catalog: Catalog, options?: GenuiToolsOptions): GenuiTool[];
|
|
141
|
+
/** {@link GenuiToolsOptions.ability}: one ability, one per tool name, or a function of the tool. */
|
|
142
|
+
export type GenuiAbility = string | Readonly<Record<string, string>> | ((tool: {
|
|
143
|
+
name: string;
|
|
144
|
+
component?: string;
|
|
145
|
+
}) => string | undefined);
|
|
146
|
+
/** The ability a UI tool declares, from {@link GenuiToolsOptions.ability}. */
|
|
147
|
+
export declare function genuiToolAbility(ability: GenuiAbility | undefined, tool: {
|
|
148
|
+
name: string;
|
|
149
|
+
component?: string;
|
|
150
|
+
}): string | undefined;
|
|
131
151
|
/** The show tool's input: a component name (one of the catalog's) and its props. */
|
|
132
152
|
export declare function showToolJsonSchema(catalog: Catalog): JsonSchema;
|
|
133
153
|
type JsonStandardSchema = StandardSchemaV1 & StandardJSONSchemaV1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/genui/tools.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/genui/tools.ts"],"names":[],"mappings":"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"}
|
package/dist/src/genui/tools.js
CHANGED
|
@@ -89,9 +89,21 @@ async function catalogFor(catalog, options, scope) {
|
|
|
89
89
|
? resolved
|
|
90
90
|
: channelCatalog(resolved, channelFor(options, scope.channel));
|
|
91
91
|
}
|
|
92
|
-
|
|
92
|
+
/** The ability a UI tool declares, from {@link GenuiToolsOptions.ability}. */
|
|
93
|
+
export function genuiToolAbility(ability, tool) {
|
|
94
|
+
if (ability === undefined)
|
|
95
|
+
return undefined;
|
|
96
|
+
if (typeof ability === 'string')
|
|
97
|
+
return ability;
|
|
98
|
+
if (typeof ability === 'function')
|
|
99
|
+
return ability(tool);
|
|
100
|
+
return ability[tool.name];
|
|
101
|
+
}
|
|
102
|
+
function common(options, tool) {
|
|
103
|
+
const ability = genuiToolAbility(options.ability, tool);
|
|
93
104
|
return {
|
|
94
105
|
...(options.roles !== undefined ? { roles: options.roles } : {}),
|
|
106
|
+
...(ability !== undefined ? { ability } : {}),
|
|
95
107
|
...(options.terminal === true ? { terminal: true } : {}),
|
|
96
108
|
};
|
|
97
109
|
}
|
|
@@ -188,7 +200,10 @@ offeredIn = 'per-component') {
|
|
|
188
200
|
description: describeFor(component),
|
|
189
201
|
inputSchema,
|
|
190
202
|
presentation,
|
|
191
|
-
...common(options
|
|
203
|
+
...common(options, {
|
|
204
|
+
name: toolNameFor(component.name, options.namePrefix),
|
|
205
|
+
component: component.name,
|
|
206
|
+
}),
|
|
192
207
|
},
|
|
193
208
|
handler,
|
|
194
209
|
};
|
|
@@ -287,7 +302,7 @@ function treeTool(catalog, options) {
|
|
|
287
302
|
return result.ok ? { value: result.value } : { issues: result.issues };
|
|
288
303
|
}),
|
|
289
304
|
presentation,
|
|
290
|
-
...common(options),
|
|
305
|
+
...common(options, { name }),
|
|
291
306
|
},
|
|
292
307
|
handler,
|
|
293
308
|
};
|
|
@@ -386,7 +401,7 @@ function showTool(catalog, options) {
|
|
|
386
401
|
: { issues: result.issues };
|
|
387
402
|
}),
|
|
388
403
|
presentation,
|
|
389
|
-
...common(options),
|
|
404
|
+
...common(options, { name }),
|
|
390
405
|
},
|
|
391
406
|
handler,
|
|
392
407
|
};
|