@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.
Files changed (124) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/README.md +16 -0
  3. package/dist/src/channels/handler.d.ts.map +1 -1
  4. package/dist/src/channels/handler.js +10 -0
  5. package/dist/src/channels/handler.js.map +1 -1
  6. package/dist/src/channels/texts.d.ts +2 -0
  7. package/dist/src/channels/texts.d.ts.map +1 -1
  8. package/dist/src/channels/texts.js.map +1 -1
  9. package/dist/src/genui/catalog.d.ts.map +1 -1
  10. package/dist/src/genui/catalog.js +3 -1
  11. package/dist/src/genui/catalog.js.map +1 -1
  12. package/dist/src/genui/channels.d.ts +32 -5
  13. package/dist/src/genui/channels.d.ts.map +1 -1
  14. package/dist/src/genui/channels.js +20 -9
  15. package/dist/src/genui/channels.js.map +1 -1
  16. package/dist/src/genui/index.d.ts.map +1 -1
  17. package/dist/src/genui/index.js +7 -7
  18. package/dist/src/genui/index.js.map +1 -1
  19. package/dist/src/genui/kit/bundle.d.ts +12 -0
  20. package/dist/src/genui/kit/bundle.d.ts.map +1 -1
  21. package/dist/src/genui/kit/bundle.js +124 -133
  22. package/dist/src/genui/kit/bundle.js.map +1 -1
  23. package/dist/src/genui/kit/discover.d.ts +8 -5
  24. package/dist/src/genui/kit/discover.d.ts.map +1 -1
  25. package/dist/src/genui/kit/discover.js +45 -18
  26. package/dist/src/genui/kit/discover.js.map +1 -1
  27. package/dist/src/genui/kit/docs.d.ts +3 -1
  28. package/dist/src/genui/kit/docs.d.ts.map +1 -1
  29. package/dist/src/genui/kit/docs.js +22 -5
  30. package/dist/src/genui/kit/docs.js.map +1 -1
  31. package/dist/src/genui/kit/files.d.ts +22 -10
  32. package/dist/src/genui/kit/files.d.ts.map +1 -1
  33. package/dist/src/genui/kit/files.js +117 -19
  34. package/dist/src/genui/kit/files.js.map +1 -1
  35. package/dist/src/genui/kit/index.d.ts +5 -3
  36. package/dist/src/genui/kit/index.d.ts.map +1 -1
  37. package/dist/src/genui/kit/index.js +4 -2
  38. package/dist/src/genui/kit/index.js.map +1 -1
  39. package/dist/src/genui/kit/plugin.d.ts +17 -9
  40. package/dist/src/genui/kit/plugin.d.ts.map +1 -1
  41. package/dist/src/genui/kit/plugin.js +196 -129
  42. package/dist/src/genui/kit/plugin.js.map +1 -1
  43. package/dist/src/genui/kit/styles.d.ts +83 -0
  44. package/dist/src/genui/kit/styles.d.ts.map +1 -0
  45. package/dist/src/genui/kit/styles.js +406 -0
  46. package/dist/src/genui/kit/styles.js.map +1 -0
  47. package/dist/src/genui/kit/vite-build.d.ts +33 -0
  48. package/dist/src/genui/kit/vite-build.d.ts.map +1 -0
  49. package/dist/src/genui/kit/vite-build.js +195 -0
  50. package/dist/src/genui/kit/vite-build.js.map +1 -0
  51. package/dist/src/genui/kit/write.d.ts +20 -8
  52. package/dist/src/genui/kit/write.d.ts.map +1 -1
  53. package/dist/src/genui/kit/write.js +54 -16
  54. package/dist/src/genui/kit/write.js.map +1 -1
  55. package/dist/src/genui/public.d.ts +5 -4
  56. package/dist/src/genui/public.d.ts.map +1 -1
  57. package/dist/src/genui/public.js +4 -3
  58. package/dist/src/genui/public.js.map +1 -1
  59. package/dist/src/genui/sandbox-jsx-frame-generated.d.ts +2 -0
  60. package/dist/src/genui/sandbox-jsx-frame-generated.d.ts.map +1 -0
  61. package/dist/src/genui/sandbox-jsx-frame-generated.js +4 -0
  62. package/dist/src/genui/sandbox-jsx-frame-generated.js.map +1 -0
  63. package/dist/src/genui/sandbox-kit.d.ts +50 -17
  64. package/dist/src/genui/sandbox-kit.d.ts.map +1 -1
  65. package/dist/src/genui/sandbox-kit.js +20 -10
  66. package/dist/src/genui/sandbox-kit.js.map +1 -1
  67. package/dist/src/genui/sandbox-styles.d.ts +113 -0
  68. package/dist/src/genui/sandbox-styles.d.ts.map +1 -0
  69. package/dist/src/genui/sandbox-styles.js +487 -0
  70. package/dist/src/genui/sandbox-styles.js.map +1 -0
  71. package/dist/src/genui/sandbox-theme.d.ts +13 -9
  72. package/dist/src/genui/sandbox-theme.d.ts.map +1 -1
  73. package/dist/src/genui/sandbox-theme.js +52 -60
  74. package/dist/src/genui/sandbox-theme.js.map +1 -1
  75. package/dist/src/genui/sandbox.d.ts +21 -15
  76. package/dist/src/genui/sandbox.d.ts.map +1 -1
  77. package/dist/src/genui/sandbox.js +66 -17
  78. package/dist/src/genui/sandbox.js.map +1 -1
  79. package/dist/src/genui/tools.d.ts +20 -0
  80. package/dist/src/genui/tools.d.ts.map +1 -1
  81. package/dist/src/genui/tools.js +19 -4
  82. package/dist/src/genui/tools.js.map +1 -1
  83. package/dist/src/hooks/genui_kit.d.ts +6 -2
  84. package/dist/src/hooks/genui_kit.d.ts.map +1 -1
  85. package/dist/src/hooks/genui_kit.js +21 -9
  86. package/dist/src/hooks/genui_kit.js.map +1 -1
  87. package/dist/src/index.d.ts +1 -1
  88. package/dist/src/index.js +1 -1
  89. package/dist/src/negotiated-tool-ui.d.ts.map +1 -1
  90. package/dist/src/negotiated-tool-ui.js +4 -0
  91. package/dist/src/negotiated-tool-ui.js.map +1 -1
  92. package/dist/src/react/core/genui/sandbox-assets.d.ts +4 -1
  93. package/dist/src/react/core/genui/sandbox-assets.d.ts.map +1 -1
  94. package/dist/src/react/core/genui/sandbox-assets.js +17 -5
  95. package/dist/src/react/core/genui/sandbox-assets.js.map +1 -1
  96. package/dist/src/react/core/genui/sandbox.d.ts +1 -1
  97. package/dist/src/react/core/genui/sandbox.d.ts.map +1 -1
  98. package/dist/src/react/core/genui/sandbox.js +20 -4
  99. package/dist/src/react/core/genui/sandbox.js.map +1 -1
  100. package/dist/src/react-native/genui/index.d.ts +20 -0
  101. package/dist/src/react-native/genui/index.d.ts.map +1 -0
  102. package/dist/src/react-native/genui/index.js +18 -0
  103. package/dist/src/react-native/genui/index.js.map +1 -0
  104. package/dist/src/react-native/genui/provider.d.ts +19 -0
  105. package/dist/src/react-native/genui/provider.d.ts.map +1 -0
  106. package/dist/src/react-native/genui/provider.js +23 -0
  107. package/dist/src/react-native/genui/provider.js.map +1 -0
  108. package/dist/src/react-native/genui/sandbox-assets.d.ts +57 -0
  109. package/dist/src/react-native/genui/sandbox-assets.d.ts.map +1 -0
  110. package/dist/src/react-native/genui/sandbox-assets.js +153 -0
  111. package/dist/src/react-native/genui/sandbox-assets.js.map +1 -0
  112. package/dist/src/react-native/genui/sandbox-host.d.ts +119 -0
  113. package/dist/src/react-native/genui/sandbox-host.d.ts.map +1 -0
  114. package/dist/src/react-native/genui/sandbox-host.js +188 -0
  115. package/dist/src/react-native/genui/sandbox-host.js.map +1 -0
  116. package/dist/src/react-native/genui/sandbox.d.ts +86 -0
  117. package/dist/src/react-native/genui/sandbox.d.ts.map +1 -0
  118. package/dist/src/react-native/genui/sandbox.js +376 -0
  119. package/dist/src/react-native/genui/sandbox.js.map +1 -0
  120. package/dist/src/vite/index.d.ts +10 -7
  121. package/dist/src/vite/index.d.ts.map +1 -1
  122. package/dist/src/vite/index.js +10 -7
  123. package/dist/src/vite/index.js.map +1 -1
  124. 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
- /** `--name: value` declarations in a stylesheet's text (what the Vite plugin scans). */
12
- export function themeVarsFromCss(css) {
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 declaration = /(?:^|[;{\s])(--[A-Za-z0-9_-]+)\s*:\s*([^;{}]+)/g;
15
- for (const match of css.matchAll(declaration)) {
16
- const name = match[1];
17
- if (INTERNAL_VAR.test(name))
18
- continue;
19
- // The first value seen is the light one (`:root` comes before `.dark` in every theme file).
20
- if (!(name in vars))
21
- vars[name] = match[2].trim();
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
- * The Tailwind directives of an app stylesheet the sandbox's Tailwind should know too: its
128
- * `@custom-variant`s (shadcn's `data-open:`, `data-horizontal:`…), `@utility`s and `@theme` blocks —
129
- * not its `@import`s, `@source`s or base styles. What `genuiSandboxKit({ tailwindCss })` collects.
130
- */
131
- export function tailwindDirectivesFromCss(css) {
132
- const text = css.replace(/\/\*[\s\S]*?\*\//g, '');
133
- const out = [];
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.join('\n');
153
+ return out;
167
154
  }
168
- /** Light or dark: the host's `dark` class / `data-theme`, else the system preference. */
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 attribute = root.getAttribute('data-theme') ?? root.getAttribute('data-mode');
176
- if (attribute === 'dark')
177
- return true;
178
- if (attribute === 'light')
179
- return false;
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
- observer?.observe(doc.documentElement, {
243
- attributes: true,
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":"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"}
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
- * 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.
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, Tailwind and kit on or off (what `GET <agent>/config` reports). */
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, Tailwind and kit, as the definition was given them. */
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 and Tailwind for. */
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":"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"}
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, tailwindInstructions, } from './sandbox-kit.js';
13
- import { themeToModelText } from './sandbox-theme.js';
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
- return `(function(){var T=${t},O=${o},M=${m},P=window.parent;
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){}}
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);document.documentElement.setAttribute('data-theme',d.dark===true?'dark':'light');size()}});
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 === undefined ? '' : options.theme.dark ? ' class="dark" data-theme="dark"' : ' data-theme="light"'}><head><meta charset="utf-8">`,
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
- `<script>${bridgeScript(options.token, options.hostOrigin)}</script>`,
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
- 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.',
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
- kitOn
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, { tailwind: options.tailwind === true })] : []),
323
- ...(options.tailwind === true ? [tailwindInstructions()] : []),
324
- ...(kitOn ? [kitJsxInstructions()] : []),
325
- ...(docs !== undefined && docs.components.length > 0 ? [`\n${kitDocsToModelText(docs)}`] : []),
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":"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;AACtB,OAAO,EAGL,KAAK,aAAa,EAGnB,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAEL,KAAK,UAAU,EAEf,KAAK,UAAU,EAGhB,MAAM,aAAa,CAAC;AAErB,OAAO,EAGL,KAAK,UAAU,EACf,KAAK,cAAc,EAGpB,MAAM,WAAW,CAAC;AAEnB,8GAA8G;AAC9G,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,QAAQ,GAAG;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACxC,OAAO,EAAE,WAAW,CAAC;CACtB;AAED,wFAAwF;AACxF,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,yFAAyF;AACzF,MAAM,MAAM,mBAAmB,GAAG,CAAC,KAAK,EAAE,iBAAiB,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAE3F,MAAM,WAAW,iBAAiB;IAChC;;;;;;;OAOG;IACH,IAAI,CAAC,EAAE,eAAe,GAAG,MAAM,CAAC;IAChC;;;;OAIG;IACH,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kDAAkD;IAClD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0FAA0F;IAC1F,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;OAKG;IACH,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,+FAA+F;IAC/F,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,8BAA8B;IAC9B,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,kFAAkF;IAClF,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC5B,2DAA2D;IAC3D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,yGAAyG;IACzG,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,4GAA4G;IAC5G,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,gBAAgB,GAAG,SAAS,CAAC;IACnE;;;;;OAKG;IACH,cAAc,CAAC,EAAE,mBAAmB,CAAC;IACrC;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,oBAAoB,CAAC;CAC1C;AAED,sFAAsF;AACtF,eAAO,MAAM,eAAe,aAAa,CAAC;AAE1C;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,GAAE,iBAAsB,GAAG,SAAS,EAAE,CAsBzF;AAmUD,oFAAoF;AACpF,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU,CAgB/D;AAsHD,KAAK,kBAAkB,GAAG,gBAAgB,GAAG,oBAAoB,CAAC;AAElE;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,UAAU,EAAE,GACzC,kBAAkB,CAKpB"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/genui/tools.ts"],"names":[],"mappings":"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"}
@@ -89,9 +89,21 @@ async function catalogFor(catalog, options, scope) {
89
89
  ? resolved
90
90
  : channelCatalog(resolved, channelFor(options, scope.channel));
91
91
  }
92
- function common(options) {
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
  };