@adonis-agora/agent 0.74.0 → 0.75.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +38 -0
- package/dist/providers/agent_provider.d.ts.map +1 -1
- package/dist/providers/agent_provider.js +10 -0
- package/dist/providers/agent_provider.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 +34 -2
- package/dist/src/agent-loop.js.map +1 -1
- package/dist/src/channels/handler.d.ts +8 -0
- package/dist/src/channels/handler.d.ts.map +1 -1
- package/dist/src/channels/handler.js +11 -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 +10 -2
- package/dist/src/genui/catalog.js.map +1 -1
- package/dist/src/genui/channels.d.ts +80 -7
- package/dist/src/genui/channels.d.ts.map +1 -1
- package/dist/src/genui/channels.js +209 -4
- 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 +5 -4
- package/dist/src/genui/public.js.map +1 -1
- package/dist/src/genui/sandbox-jsx-frame-generated.d.ts +2 -0
- package/dist/src/genui/sandbox-jsx-frame-generated.d.ts.map +1 -0
- package/dist/src/genui/sandbox-jsx-frame-generated.js +4 -0
- package/dist/src/genui/sandbox-jsx-frame-generated.js.map +1 -0
- package/dist/src/genui/sandbox-kit.d.ts +50 -17
- package/dist/src/genui/sandbox-kit.d.ts.map +1 -1
- package/dist/src/genui/sandbox-kit.js +20 -10
- package/dist/src/genui/sandbox-kit.js.map +1 -1
- package/dist/src/genui/sandbox-styles.d.ts +113 -0
- package/dist/src/genui/sandbox-styles.d.ts.map +1 -0
- package/dist/src/genui/sandbox-styles.js +487 -0
- package/dist/src/genui/sandbox-styles.js.map +1 -0
- package/dist/src/genui/sandbox-theme.d.ts +13 -9
- package/dist/src/genui/sandbox-theme.d.ts.map +1 -1
- package/dist/src/genui/sandbox-theme.js +52 -60
- package/dist/src/genui/sandbox-theme.js.map +1 -1
- package/dist/src/genui/sandbox.d.ts +14 -15
- package/dist/src/genui/sandbox.d.ts.map +1 -1
- package/dist/src/genui/sandbox.js +74 -15
- 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 +27 -0
- package/dist/src/negotiated-tool-ui.d.ts.map +1 -1
- package/dist/src/negotiated-tool-ui.js +56 -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 +24 -4
- package/dist/src/react/core/genui/sandbox.js.map +1 -1
- package/dist/src/vite/index.d.ts +10 -7
- package/dist/src/vite/index.d.ts.map +1 -1
- package/dist/src/vite/index.js +10 -7
- package/dist/src/vite/index.js.map +1 -1
- package/package.json +13 -2
|
@@ -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;
|
|
@@ -196,31 +200,26 @@ export interface DefineSandboxOptions {
|
|
|
196
200
|
vars?: SandboxThemeSource;
|
|
197
201
|
};
|
|
198
202
|
/**
|
|
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.
|
|
203
|
+
* The app's design system in the frame — whatever `genuiSandboxKit()` built: its compiled styles
|
|
204
|
+
* (fonts and images inlined), the Tailwind runtime with the app's theme when the styles use
|
|
205
|
+
* Tailwind, its components and wrapper (the model then writes `jsx`). What the model is told is
|
|
206
|
+
* read from the docs: components and props, Tailwind tokens or the CSS class vocabulary, the
|
|
207
|
+
* theme's variables, `stylesDocs`. `true`: the server's `sandbox({ kit: true })` finds them
|
|
208
|
+
* through Vite; or pass the docs (or a function returning them) yourself.
|
|
209
209
|
*/
|
|
210
210
|
kit?: boolean | SandboxKitSource;
|
|
211
211
|
}
|
|
212
|
-
/** How a sandbox draws: theme
|
|
212
|
+
/** How a sandbox draws: theme and kit on or off. */
|
|
213
213
|
export interface SandboxView {
|
|
214
214
|
theme: boolean;
|
|
215
|
-
tailwind: boolean;
|
|
216
215
|
kit: boolean;
|
|
217
216
|
}
|
|
218
217
|
/** A sandbox definition: a {@link ComponentDefinition} that carries its {@link SandboxPolicy}. */
|
|
219
218
|
export type SandboxDefinition = ComponentDefinition<SandboxProps> & {
|
|
220
219
|
readonly sandbox: SandboxPolicy;
|
|
221
|
-
/** Theme
|
|
220
|
+
/** Theme and kit, as the definition was given them. */
|
|
222
221
|
readonly sandboxView?: SandboxView;
|
|
223
|
-
/** The options it was defined with — what a server resolves the kit
|
|
222
|
+
/** The options it was defined with — what a server resolves the kit for. */
|
|
224
223
|
readonly sandboxOptions?: Readonly<DefineSandboxOptions>;
|
|
225
224
|
};
|
|
226
225
|
/**
|
|
@@ -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
|
/**
|
|
@@ -113,6 +114,13 @@ function escapeAttribute(value) {
|
|
|
113
114
|
* The bridge every sandbox document starts with: `window.agent.send(values)`, content-height
|
|
114
115
|
* reports, uncaught errors, and — from the host only — `render` (preview redraws) and `run` (one more
|
|
115
116
|
* script). It is the only way out of the frame; the host checks everything it says.
|
|
117
|
+
*
|
|
118
|
+
* The height it reports is the CONTENT's — the bottom of what the body holds, margins included —
|
|
119
|
+
* never `scrollHeight`, which does not drop below the frame's own height: a frame mounted at the
|
|
120
|
+
* model's `initialHeight` would otherwise keep that height (an empty gap under a short view) and
|
|
121
|
+
* could only ever grow. It re-measures on every resize of the page or of a top-level element, on
|
|
122
|
+
* every DOM or style change (the Tailwind runtime injecting its CSS, the kit drawing JSX), once
|
|
123
|
+
* fonts and images load, and twice more shortly after start; the first measure rides `ready`.
|
|
116
124
|
*/
|
|
117
125
|
function bridgeScript(token, hostOrigin) {
|
|
118
126
|
const t = JSON.stringify(token);
|
|
@@ -121,17 +129,42 @@ function bridgeScript(token, hostOrigin) {
|
|
|
121
129
|
return `(function(){var T=${t},O=${o},M=${m},P=window.parent;
|
|
122
130
|
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){}}
|
|
123
131
|
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}});
|
|
124
|
-
var last=-1
|
|
132
|
+
var last=-1,queued=false;
|
|
133
|
+
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){}
|
|
134
|
+
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}
|
|
135
|
+
var bs=getComputedStyle(b);bottom+=(parseFloat(bs.paddingBottom)||0)+(parseFloat(bs.borderBottomWidth)||0);return Math.max(0,Math.ceil(bottom+(window.scrollY||0)))}
|
|
136
|
+
function size(){queued=false;var h=measure();if(h!==last){last=h;post(M.resize,{height:h})}}
|
|
137
|
+
function later(){if(queued)return;queued=true;if(typeof requestAnimationFrame==='function'){requestAnimationFrame(size)}else{setTimeout(size,16)}}
|
|
125
138
|
window.addEventListener('error',function(e){if(window.__agoraQuiet)return;post(M.error,{message:String(e&&e.message||'error')})});
|
|
126
139
|
window.addEventListener('unhandledrejection',function(e){post(M.error,{message:String(e&&e.reason&&e.reason.message||e&&e.reason||'unhandled rejection')})});
|
|
127
140
|
window.addEventListener('message',function(e){if(e.source!==P)return;var d=e.data;if(!d||d.token!==T)return;
|
|
128
141
|
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()}
|
|
129
142
|
else if(d.type===M.run){var el=document.createElement('script');el.textContent=String(d.code||'');document.body.appendChild(el);size()}
|
|
130
|
-
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);
|
|
131
|
-
|
|
143
|
+
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:{};
|
|
144
|
+
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)}
|
|
145
|
+
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()}});
|
|
146
|
+
function start(){size();var d=document.documentElement,b=document.body;
|
|
147
|
+
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])}}
|
|
148
|
+
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
|
+
window.addEventListener('load',later);document.addEventListener('load',later,true);
|
|
150
|
+
if(document.fonts){if(document.fonts.ready)document.fonts.ready.then(later,function(){});if(document.fonts.addEventListener)document.fonts.addEventListener('loadingdone',later)}
|
|
151
|
+
setTimeout(later,250);setTimeout(later,1000);post(M.ready,{height:last})}
|
|
132
152
|
if(document.readyState==='loading'){document.addEventListener('DOMContentLoaded',start)}else{start()}})();`;
|
|
133
153
|
}
|
|
134
154
|
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}';
|
|
155
|
+
/** The frame root's attributes: the host's mode (`class="dark"`, `data-theme`, `data-bs-theme`…). */
|
|
156
|
+
function rootAttributes(theme) {
|
|
157
|
+
if (theme === undefined)
|
|
158
|
+
return '';
|
|
159
|
+
const attributes = { 'data-theme': theme.dark ? 'dark' : 'light' };
|
|
160
|
+
for (const [name, value] of Object.entries(theme.attributes ?? {})) {
|
|
161
|
+
if (/^data-([\w-]*-)?(theme|mode|scheme)$/.test(name))
|
|
162
|
+
attributes[name] = value;
|
|
163
|
+
}
|
|
164
|
+
return `${theme.dark ? ' class="dark"' : ''}${Object.entries(attributes)
|
|
165
|
+
.map(([name, value]) => ` ${name}="${escapeAttribute(value)}"`)
|
|
166
|
+
.join('')}`;
|
|
167
|
+
}
|
|
135
168
|
/**
|
|
136
169
|
* The `srcdoc` of a sandbox frame. The CSP `<meta>` comes first, then the bridge, the base styles and
|
|
137
170
|
* the model's CSS, then its markup — and, live, its `jsFunctions` and each `jsExpressions` entry as
|
|
@@ -153,11 +186,14 @@ export function buildSandboxDocument(props, options) {
|
|
|
153
186
|
}
|
|
154
187
|
const kit = options.kit !== undefined;
|
|
155
188
|
return [
|
|
156
|
-
`<!doctype html><html${options.theme
|
|
189
|
+
`<!doctype html><html${rootAttributes(options.theme)}><head><meta charset="utf-8">`,
|
|
157
190
|
`<meta http-equiv="Content-Security-Policy" content="${escapeAttribute(csp)}">`,
|
|
158
191
|
'<meta name="referrer" content="no-referrer">',
|
|
159
192
|
`<script>${bridgeScript(options.token, options.hostOrigin)}</script>`,
|
|
160
193
|
`<style>${BASE_CSS}</style>`,
|
|
194
|
+
...(options.styles !== undefined && options.styles !== ''
|
|
195
|
+
? [`<style id="agora-sandbox-kit-css">${inlineStyle(options.styles)}</style>`]
|
|
196
|
+
: []),
|
|
161
197
|
`<style id="agora-sandbox-theme">${inlineStyle(options.theme?.css ?? '')}</style>`,
|
|
162
198
|
...(options.tailwind !== undefined
|
|
163
199
|
? [
|
|
@@ -285,16 +321,19 @@ function describe(policy, options) {
|
|
|
285
321
|
.map(([kind, origins]) => `${kind} from ${(origins ?? []).join(', ')}`);
|
|
286
322
|
const kitOn = options.kit !== undefined && options.kit !== false;
|
|
287
323
|
const docs = kitOn && options.kit !== true ? resolveSource(options.kit) : undefined;
|
|
324
|
+
// JSX only when a kit bundle exists (docs say so) — never on the promise of one.
|
|
325
|
+
const jsx = docs?.jsx === true;
|
|
326
|
+
const components = docs?.components ?? [];
|
|
288
327
|
const themeOn = options.theme !== false;
|
|
289
328
|
const themeVars = typeof options.theme === 'object'
|
|
290
329
|
? resolveSource(options.theme.vars)
|
|
291
330
|
: (docs?.theme?.vars ?? undefined);
|
|
292
331
|
return [
|
|
293
|
-
|
|
294
|
-
?
|
|
295
|
-
:
|
|
332
|
+
jsx
|
|
333
|
+
? `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" : ''}.`
|
|
334
|
+
: `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" : ''}.`,
|
|
296
335
|
'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.',
|
|
297
|
-
|
|
336
|
+
jsx
|
|
298
337
|
? 'Write the fields in this order: initialHeight, placeholderMessages, title, summary, css (optional), jsx — or html, jsFunctions, jsExpressions instead of jsx.'
|
|
299
338
|
: 'Write the fields in this order: initialHeight, placeholderMessages, title, summary, css, html, jsFunctions, jsExpressions.',
|
|
300
339
|
opened.length > 0
|
|
@@ -302,10 +341,28 @@ function describe(policy, options) {
|
|
|
302
341
|
: 'No network at all: no fetch, no external scripts, fonts or images — inline SVG and data: URLs only.',
|
|
303
342
|
'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.',
|
|
304
343
|
'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.',
|
|
305
|
-
...(themeOn ? [themeToModelText(themeVars
|
|
306
|
-
...(
|
|
307
|
-
|
|
308
|
-
|
|
344
|
+
...(themeOn ? [themeToModelText(themeVars)] : []),
|
|
345
|
+
...(docs?.tailwind !== undefined
|
|
346
|
+
? [
|
|
347
|
+
tailwindToModelText(docs.tailwind.tokens, {
|
|
348
|
+
version: docs.tailwind.version,
|
|
349
|
+
...(themeOn ? { colors: themeTokens(themeVars ?? []).colors } : {}),
|
|
350
|
+
}),
|
|
351
|
+
]
|
|
352
|
+
: []),
|
|
353
|
+
...(docs?.tailwind === undefined &&
|
|
354
|
+
docs?.vocabulary !== undefined &&
|
|
355
|
+
docs.vocabulary.groups.length > 0
|
|
356
|
+
? [`\n${vocabularyToModelText(docs.vocabulary, { jsx })}\n`]
|
|
357
|
+
: []),
|
|
358
|
+
...(jsx
|
|
359
|
+
? [kitJsxInstructions({ components: components.length > 0, wrapper: docs?.wrapper === true })]
|
|
360
|
+
: []),
|
|
361
|
+
...(kitOn && docs !== undefined && !jsx ? [kitHtmlInstructions()] : []),
|
|
362
|
+
...(jsx && components.length > 0 ? [`\n${kitDocsToModelText(docs)}`] : []),
|
|
363
|
+
...(docs?.guide !== undefined && docs.guide.trim() !== ''
|
|
364
|
+
? [`\nThe app's notes on its styles:\n${docs.guide.trim()}`]
|
|
365
|
+
: []),
|
|
309
366
|
...(options.instructions !== undefined ? [options.instructions] : []),
|
|
310
367
|
].join(' ');
|
|
311
368
|
}
|
|
@@ -324,6 +381,9 @@ const jsxSchema = {
|
|
|
324
381
|
* ```
|
|
325
382
|
*/
|
|
326
383
|
export function defineSandbox(options = {}) {
|
|
384
|
+
if (options.tailwind !== undefined) {
|
|
385
|
+
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 })).');
|
|
386
|
+
}
|
|
327
387
|
const policy = options.policy ?? {};
|
|
328
388
|
assertSandboxPolicy(policy);
|
|
329
389
|
const kitOn = options.kit !== undefined && options.kit !== false;
|
|
@@ -352,7 +412,6 @@ export function defineSandbox(options = {}) {
|
|
|
352
412
|
});
|
|
353
413
|
const sandboxView = {
|
|
354
414
|
theme: options.theme !== false,
|
|
355
|
-
tailwind: options.tailwind === true,
|
|
356
415
|
kit: kitOn,
|
|
357
416
|
};
|
|
358
417
|
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
|
};
|