@adonis-agora/agent 0.78.0 → 0.80.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 (119) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/assets/spa/assets/{index-DVnnBvfn.css → index-BxmGk7Ik.css} +1 -1
  3. package/dist/assets/spa/assets/index-Csk8lqYx.js +9 -0
  4. package/dist/assets/spa/index.html +2 -2
  5. package/dist/providers/agent_provider.d.ts.map +1 -1
  6. package/dist/providers/agent_provider.js +14 -0
  7. package/dist/providers/agent_provider.js.map +1 -1
  8. package/dist/src/agent-loop.d.ts.map +1 -1
  9. package/dist/src/agent-loop.js +47 -1
  10. package/dist/src/agent-loop.js.map +1 -1
  11. package/dist/src/genui/catalog.d.ts +14 -0
  12. package/dist/src/genui/catalog.d.ts.map +1 -1
  13. package/dist/src/genui/catalog.js +2 -0
  14. package/dist/src/genui/catalog.js.map +1 -1
  15. package/dist/src/genui/index.d.ts +8 -0
  16. package/dist/src/genui/index.d.ts.map +1 -1
  17. package/dist/src/genui/index.js +13 -3
  18. package/dist/src/genui/index.js.map +1 -1
  19. package/dist/src/genui/kit/adonis.d.ts +20 -2
  20. package/dist/src/genui/kit/adonis.d.ts.map +1 -1
  21. package/dist/src/genui/kit/adonis.js +15 -5
  22. package/dist/src/genui/kit/adonis.js.map +1 -1
  23. package/dist/src/genui/kit/discover.d.ts +15 -1
  24. package/dist/src/genui/kit/discover.d.ts.map +1 -1
  25. package/dist/src/genui/kit/discover.js +19 -4
  26. package/dist/src/genui/kit/discover.js.map +1 -1
  27. package/dist/src/genui/kit/index.d.ts +3 -3
  28. package/dist/src/genui/kit/index.d.ts.map +1 -1
  29. package/dist/src/genui/kit/index.js +2 -2
  30. package/dist/src/genui/kit/index.js.map +1 -1
  31. package/dist/src/genui/kit/plugin.d.ts +26 -0
  32. package/dist/src/genui/kit/plugin.d.ts.map +1 -1
  33. package/dist/src/genui/kit/plugin.js +55 -10
  34. package/dist/src/genui/kit/plugin.js.map +1 -1
  35. package/dist/src/genui/kit/styles.d.ts +27 -0
  36. package/dist/src/genui/kit/styles.d.ts.map +1 -1
  37. package/dist/src/genui/kit/styles.js +29 -1
  38. package/dist/src/genui/kit/styles.js.map +1 -1
  39. package/dist/src/genui/public.d.ts +4 -3
  40. package/dist/src/genui/public.d.ts.map +1 -1
  41. package/dist/src/genui/public.js +2 -1
  42. package/dist/src/genui/public.js.map +1 -1
  43. package/dist/src/genui/sandbox-kit.d.ts +3 -1
  44. package/dist/src/genui/sandbox-kit.d.ts.map +1 -1
  45. package/dist/src/genui/sandbox-kit.js +1 -1
  46. package/dist/src/genui/sandbox-kit.js.map +1 -1
  47. package/dist/src/genui/sandbox-styles.d.ts +41 -4
  48. package/dist/src/genui/sandbox-styles.d.ts.map +1 -1
  49. package/dist/src/genui/sandbox-styles.js +287 -37
  50. package/dist/src/genui/sandbox-styles.js.map +1 -1
  51. package/dist/src/genui/sandbox-validate.d.ts +42 -0
  52. package/dist/src/genui/sandbox-validate.d.ts.map +1 -0
  53. package/dist/src/genui/sandbox-validate.js +557 -0
  54. package/dist/src/genui/sandbox-validate.js.map +1 -0
  55. package/dist/src/genui/sandbox.d.ts +50 -0
  56. package/dist/src/genui/sandbox.d.ts.map +1 -1
  57. package/dist/src/genui/sandbox.js +162 -25
  58. package/dist/src/genui/sandbox.js.map +1 -1
  59. package/dist/src/genui/tools.d.ts +16 -1
  60. package/dist/src/genui/tools.d.ts.map +1 -1
  61. package/dist/src/genui/tools.js +76 -9
  62. package/dist/src/genui/tools.js.map +1 -1
  63. package/dist/src/genui-telemetry.d.ts +232 -0
  64. package/dist/src/genui-telemetry.d.ts.map +1 -0
  65. package/dist/src/genui-telemetry.js +426 -0
  66. package/dist/src/genui-telemetry.js.map +1 -0
  67. package/dist/src/hooks/genui_kit.d.ts +2 -0
  68. package/dist/src/hooks/genui_kit.d.ts.map +1 -1
  69. package/dist/src/hooks/genui_kit.js +2 -1
  70. package/dist/src/hooks/genui_kit.js.map +1 -1
  71. package/dist/src/index.d.ts +3 -1
  72. package/dist/src/index.d.ts.map +1 -1
  73. package/dist/src/index.js +2 -1
  74. package/dist/src/index.js.map +1 -1
  75. package/dist/src/opencode/mcp.d.ts +2 -0
  76. package/dist/src/opencode/mcp.d.ts.map +1 -1
  77. package/dist/src/opencode/mcp.js +16 -1
  78. package/dist/src/opencode/mcp.js.map +1 -1
  79. package/dist/src/react/core/genui/sandbox-assets.d.ts +1 -0
  80. package/dist/src/react/core/genui/sandbox-assets.d.ts.map +1 -1
  81. package/dist/src/react/core/genui/sandbox-assets.js +8 -7
  82. package/dist/src/react/core/genui/sandbox-assets.js.map +1 -1
  83. package/dist/src/react/core/genui/sandbox.d.ts +7 -0
  84. package/dist/src/react/core/genui/sandbox.d.ts.map +1 -1
  85. package/dist/src/react/core/genui/sandbox.js +35 -4
  86. package/dist/src/react/core/genui/sandbox.js.map +1 -1
  87. package/dist/src/spi/agent-store.d.ts +8 -0
  88. package/dist/src/spi/agent-store.d.ts.map +1 -1
  89. package/dist/src/spi/agent-store.js.map +1 -1
  90. package/dist/src/spi/governance-queries.d.ts +7 -0
  91. package/dist/src/spi/governance-queries.d.ts.map +1 -1
  92. package/dist/src/spi/governance-queries.js +0 -13
  93. package/dist/src/spi/governance-queries.js.map +1 -1
  94. package/dist/src/stores/lucid-governance-queries.d.ts +2 -0
  95. package/dist/src/stores/lucid-governance-queries.d.ts.map +1 -1
  96. package/dist/src/stores/lucid-governance-queries.js +56 -0
  97. package/dist/src/stores/lucid-governance-queries.js.map +1 -1
  98. package/dist/src/stores/lucid-schema.d.ts +11 -6
  99. package/dist/src/stores/lucid-schema.d.ts.map +1 -1
  100. package/dist/src/stores/lucid-schema.js +41 -6
  101. package/dist/src/stores/lucid-schema.js.map +1 -1
  102. package/dist/src/stores/lucid.d.ts +2 -0
  103. package/dist/src/stores/lucid.d.ts.map +1 -1
  104. package/dist/src/stores/lucid.js +38 -0
  105. package/dist/src/stores/lucid.js.map +1 -1
  106. package/dist/src/testing/in-memory-governance-queries.d.ts +2 -0
  107. package/dist/src/testing/in-memory-governance-queries.d.ts.map +1 -1
  108. package/dist/src/testing/in-memory-governance-queries.js +4 -0
  109. package/dist/src/testing/in-memory-governance-queries.js.map +1 -1
  110. package/dist/src/testing/in-memory-store.d.ts +5 -0
  111. package/dist/src/testing/in-memory-store.d.ts.map +1 -1
  112. package/dist/src/testing/in-memory-store.js +14 -0
  113. package/dist/src/testing/in-memory-store.js.map +1 -1
  114. package/dist/src/types.d.ts +17 -0
  115. package/dist/src/types.d.ts.map +1 -1
  116. package/package.json +3 -1
  117. package/skills/agent-governance/SKILL.md +2 -2
  118. package/skills/agent-setup/SKILL.md +1 -1
  119. package/dist/assets/spa/assets/index-Be6OClIm.js +0 -9
@@ -70,6 +70,10 @@ function forEachSelector(css, visit) {
70
70
  }
71
71
  /** A generated (CSS-modules) name: `_button_x1y2z_3`, `Button_root__a1B2c`. */
72
72
  const HASHED_CLASS = /(^_[\w-]+_[a-zA-Z0-9]{5,}(_\d+)?$)|(__[a-zA-Z0-9_-]{5}$)/;
73
+ /** Whether a class name is a generated (CSS-modules) one — nobody can write it by hand. */
74
+ export function isGeneratedClassName(name) {
75
+ return HASHED_CLASS.test(name);
76
+ }
73
77
  /** The class names a selector names (escaped ones — `md\:flex` — and those in attribute values left out). */
74
78
  function selectorClasses(selector) {
75
79
  const clean = selector.replace(/\[[^\]]*\]/g, '[]').replace(/"[^"]*"|'[^']*'/g, '""');
@@ -89,8 +93,9 @@ function selectorClasses(selector) {
89
93
  * left out (nobody can write them).
90
94
  */
91
95
  export function extractCssVocabulary(css, options = {}) {
92
- const maxClasses = options.maxClasses ?? 600;
93
- const maxPerFamily = options.maxPerFamily ?? 30;
96
+ const maxClasses = options.maxClasses ?? Number.POSITIVE_INFINITY;
97
+ const maxPerFamily = options.maxPerFamily ?? Number.POSITIVE_INFINITY;
98
+ const maxChars = options.maxChars ?? 12000;
94
99
  const maxVars = options.maxVars ?? 80;
95
100
  const score = new Map();
96
101
  forEachSelector(css, (selectorList) => {
@@ -117,59 +122,164 @@ export function extractCssVocabulary(css, options = {}) {
117
122
  entry.names.push(name);
118
123
  families.set(key, entry);
119
124
  }
120
- const groups = [];
121
- let listed = 0;
122
125
  const orderedFamilies = [...families.entries()].sort((a, b) => b[1].score - a[1].score || a[0].localeCompare(b[0]));
126
+ // Each family as patterns; families of the same shape (`m-{0..5,auto}`, `mt-{0..5,auto}`…) as one.
127
+ const shaped = [];
128
+ const byShape = new Map();
129
+ let counted = 0;
123
130
  for (const [name, entry] of orderedFamilies) {
124
- if (listed >= maxClasses)
131
+ if (counted >= maxClasses)
125
132
  break;
126
- const names = entry.names.slice(0, Math.min(maxPerFamily, maxClasses - listed));
127
- listed += names.length;
128
- groups.push({ name, classes: compressClassNames(names) });
133
+ const names = entry.names.slice(0, Math.min(maxPerFamily, maxClasses - counted));
134
+ counted += names.length;
135
+ const classes = compressClassNames(names);
136
+ // A family of one bare class (`active`, `show`) keeps its own entry.
137
+ const own = classes.some((each) => each !== name) &&
138
+ classes.every((each) => each === name || each.startsWith(`${name}-`));
139
+ const shape = own ? classes.map((each) => `\u0000${each.slice(name.length)}`).join(' ') : '';
140
+ const same = shape === '' ? undefined : byShape.get(shape);
141
+ if (same !== undefined) {
142
+ same.members.push(name);
143
+ same.count += names.length;
144
+ continue;
145
+ }
146
+ const group = { name, members: [name], classes, count: names.length };
147
+ shaped.push(group);
148
+ if (shape !== '')
149
+ byShape.set(shape, group);
150
+ }
151
+ const groups = [];
152
+ let listed = 0;
153
+ let chars = 0;
154
+ for (const group of shaped) {
155
+ let { name, classes } = group;
156
+ if (group.members.length > 1) {
157
+ name = renderAlternatives(group.members);
158
+ classes = classes.map((each) => `${name}${each.slice(group.members[0].length)}`);
159
+ }
160
+ const size = name.length + classes.reduce((sum, each) => sum + each.length + 1, 4);
161
+ if (chars + size > maxChars)
162
+ continue;
163
+ chars += size;
164
+ listed += group.count;
165
+ groups.push({ name, classes });
129
166
  }
130
167
  const vars = Object.keys(themeVarsFromCss(css, { rootOnly: true })).slice(0, maxVars);
131
168
  return { groups, total: score.size, listed, vars };
132
169
  }
170
+ /** One alternative set rendered: `{0..5}`, `{0..5,auto}`, `{m,p}{,t,b}`, `{primary,secondary}`. */
171
+ function renderAlternatives(alternatives) {
172
+ if (alternatives.length === 1)
173
+ return alternatives[0];
174
+ const numbers = alternatives
175
+ .filter((each) => /^(0|[1-9]\d{0,3})$/.test(each))
176
+ .map(Number)
177
+ .sort((a, b) => a - b);
178
+ const others = alternatives.filter((each) => !/^(0|[1-9]\d{0,3})$/.test(each));
179
+ const runs = [];
180
+ for (let index = 0; index < numbers.length;) {
181
+ let end = index;
182
+ while (end + 1 < numbers.length && numbers[end + 1] === numbers[end] + 1)
183
+ end++;
184
+ if (end - index >= 2)
185
+ runs.push(`${numbers[index]}..${numbers[end]}`);
186
+ else
187
+ for (let each = index; each <= end; each++)
188
+ runs.push(String(numbers[each]));
189
+ index = end + 1;
190
+ }
191
+ // Short words sharing their first letter (`m mt mb`: `m{,t,b}`), or their tails too
192
+ // (`m mt p pt`: `{m,p}{,t}`).
193
+ if (numbers.length === 0 &&
194
+ others.length >= 3 &&
195
+ others.every((each) => /^[a-z]{1,4}$/.test(each))) {
196
+ const tails = new Map();
197
+ for (const each of others) {
198
+ const head = each.slice(0, 1);
199
+ tails.set(head, [...(tails.get(head) ?? []), each.slice(1)]);
200
+ }
201
+ const lists = [...tails.values()].map((list) => list.join(','));
202
+ if (tails.size === 1)
203
+ return `${[...tails.keys()][0]}{${lists[0]}}`;
204
+ if (lists.every((list) => list === lists[0]))
205
+ return `{${[...tails.keys()].join(',')}}{${lists[0]}}`;
206
+ }
207
+ return `{${[...runs, ...others].join(',')}}`;
208
+ }
133
209
  /**
134
- * Class names sharing everything but their last `-segment`, written once: `btn-primary`,
135
- * `btn-secondary` → `btn-{primary,secondary}`. Order kept (the first member's place).
210
+ * Class names written as patterns, every name covered exactly once and nothing else: names with the
211
+ * same number of `-segments` that differ in one segment merge into one pattern (`btn-primary`,
212
+ * `btn-secondary` → `btn-{primary,secondary}`), again and again, segment by segment from the last —
213
+ * so a utility family becomes one line (`{m,p}{,t,b,s,e,x,y}-{0..5,auto}`,
214
+ * `{m,p}{,t,b,s,e,x,y}-{sm,md,lg,xl,xxl}-{0..5,auto}`). A run of three or more integers is a range
215
+ * (`{0..5}`); short words sharing their tails share them (`{m,p}{,t,b}`). Order kept (the first
216
+ * member's place).
136
217
  */
137
218
  export function compressClassNames(names) {
138
- const stemOf = (name) => {
139
- const cut = name.lastIndexOf('-');
140
- return cut > 0 && cut < name.length - 1 ? name.slice(0, cut) : undefined;
141
- };
142
- const byStem = new Map();
143
- for (const name of names) {
144
- const stem = stemOf(name);
145
- if (stem === undefined)
146
- continue;
147
- byStem.set(stem, [...(byStem.get(stem) ?? []), name]);
148
- }
149
- const out = [];
150
- const done = new Set();
151
- for (const name of names) {
152
- const stem = stemOf(name);
153
- const siblings = stem === undefined ? undefined : byStem.get(stem);
154
- if (stem === undefined || siblings === undefined || siblings.length < 2) {
155
- out.push(name);
156
- continue;
219
+ const byLength = new Map();
220
+ names.forEach((name, order) => {
221
+ const segments = name.split('-').map((segment) => [segment]);
222
+ const list = byLength.get(segments.length) ?? [];
223
+ list.push({ order, segments });
224
+ byLength.set(segments.length, list);
225
+ });
226
+ const patterns = [];
227
+ for (const [length, start] of byLength) {
228
+ let list = start;
229
+ // Bare words (`alert`, `fade`) are names of their own, never alternatives of each other.
230
+ for (let changed = length > 1; changed;) {
231
+ changed = false;
232
+ for (let position = length - 1; position >= 0; position--) {
233
+ const merged = new Map();
234
+ for (const pattern of list) {
235
+ const key = pattern.segments
236
+ .map((alternatives, index) => (index === position ? '*' : alternatives.join(',')))
237
+ .join('\u0000');
238
+ const into = merged.get(key);
239
+ if (into === undefined) {
240
+ merged.set(key, {
241
+ order: pattern.order,
242
+ segments: pattern.segments.map((a) => [...a]),
243
+ });
244
+ continue;
245
+ }
246
+ changed = true;
247
+ into.order = Math.min(into.order, pattern.order);
248
+ const target = into.segments[position];
249
+ for (const alternative of pattern.segments[position])
250
+ if (!target.includes(alternative))
251
+ target.push(alternative);
252
+ }
253
+ list = [...merged.values()];
254
+ }
157
255
  }
158
- if (done.has(stem))
159
- continue;
160
- done.add(stem);
161
- out.push(`${stem}-{${siblings.map((each) => each.slice(stem.length + 1)).join(',')}}`);
256
+ patterns.push(...list);
162
257
  }
163
- return out;
258
+ return patterns
259
+ .sort((a, b) => a.order - b.order)
260
+ .map((pattern) => pattern.segments.map(renderAlternatives).join('-'));
164
261
  }
165
262
  /** The vocabulary as the model reads it (inside the sandbox description). */
166
263
  export function vocabularyToModelText(vocabulary, options = {}) {
167
264
  const attribute = options.jsx === true ? 'className (in JSX) or class (in html)' : 'class="…"';
168
265
  const lines = [
169
- `The app's stylesheet is loaded in the frame. Style the view with ITS classes (${attribute}) instead of writing your own CSS — write css only for layout it does not cover. The classes it defines, by family, most used first (a{b,c} means ab and ac):`,
266
+ `The app's stylesheet is loaded in the frame. Style the view with ITS classes (${attribute}) instead of writing your own CSS — write css only for layout it does not cover. The classes it defines, by family, most used first (a{b,c} means ab and ac; {0..3} means 0, 1, 2 and 3):`,
170
267
  ];
171
- for (const group of vocabulary.groups)
172
- lines.push(`- ${group.name}: ${group.classes.join(' ')}`);
268
+ // Families of one bare class (`active`, `show`, `lead`) share one line, where the first one ranks.
269
+ const bare = vocabulary.groups.filter((group) => group.classes.length === 1 && group.classes[0] === group.name);
270
+ let bareLine = false;
271
+ for (const group of vocabulary.groups) {
272
+ if (bare.includes(group)) {
273
+ if (!bareLine)
274
+ lines.push(`- ${bare.map((each) => each.name).join(' ')}`);
275
+ bareLine = true;
276
+ continue;
277
+ }
278
+ // Families merged into one pattern are named by it: their classes say it already.
279
+ lines.push(group.name.includes('{')
280
+ ? `- ${group.classes.join(' ')}`
281
+ : `- ${group.name}: ${group.classes.join(' ')}`);
282
+ }
173
283
  if (vocabulary.total > vocabulary.listed)
174
284
  lines.push(`(${vocabulary.total - vocabulary.listed} rarer classes not listed.)`);
175
285
  if (vocabulary.vars.length > 0)
@@ -429,6 +539,146 @@ export function tailwindV3ConfigToCss(config) {
429
539
  out.push(`@theme {\n${lines.map((line) => ` ${line};`).join('\n')}${extra.length > 0 ? `\n ${extra.join('\n ')}` : ''}\n}`);
430
540
  return out.join('\n');
431
541
  }
542
+ /** Split a selector list on its top-level commas (not those inside `()` / `[]` / strings). */
543
+ function splitSelectorList(prelude) {
544
+ const out = [];
545
+ let depth = 0;
546
+ let start = 0;
547
+ for (let index = 0; index < prelude.length; index++) {
548
+ const c = prelude[index];
549
+ if (c === '\\')
550
+ index++;
551
+ else if (c === '"' || c === "'") {
552
+ const close = prelude.indexOf(c, index + 1);
553
+ index = close < 0 ? prelude.length : close;
554
+ }
555
+ else if (c === '(' || c === '[')
556
+ depth++;
557
+ else if (c === ')' || c === ']')
558
+ depth = Math.max(0, depth - 1);
559
+ else if (c === ',' && depth === 0) {
560
+ out.push(prelude.slice(start, index));
561
+ start = index + 1;
562
+ }
563
+ }
564
+ out.push(prelude.slice(start));
565
+ return out;
566
+ }
567
+ /** CSS identifier escapes undone: `hover\:bg-x` → `hover:bg-x`, `\31 0` → `10`. */
568
+ function unescapeCssIdent(ident) {
569
+ return ident.replace(/\\([0-9a-fA-F]{1,6}\s?|[\s\S])/g, (_all, escaped) => /^[0-9a-fA-F]{1,6}\s?$/.test(escaped)
570
+ ? String.fromCodePoint(Number.parseInt(escaped.trim(), 16))
571
+ : escaped);
572
+ }
573
+ /**
574
+ * The classes a complex selector REQUIRES — those outside functional pseudo-classes (`:not(.x)`,
575
+ * `:is(.a, .b)`, `:where(…)`, `:has(…)`), whose classes do not all have to be on the page — unescaped.
576
+ */
577
+ function requiredClasses(selector) {
578
+ let outer = '';
579
+ let depth = 0;
580
+ for (let index = 0; index < selector.length; index++) {
581
+ const c = selector[index];
582
+ if (c === '\\') {
583
+ if (depth === 0)
584
+ outer += selector.slice(index, index + 2);
585
+ index++;
586
+ }
587
+ else if (c === '"' || c === "'") {
588
+ const close = selector.indexOf(c, index + 1);
589
+ index = close < 0 ? selector.length : close;
590
+ if (depth === 0)
591
+ outer += '""';
592
+ }
593
+ else if (c === '[') {
594
+ const close = selector.indexOf(']', index + 1);
595
+ index = close < 0 ? selector.length : close;
596
+ if (depth === 0)
597
+ outer += '[]';
598
+ }
599
+ else if (c === '(')
600
+ depth++;
601
+ else if (c === ')')
602
+ depth = Math.max(0, depth - 1);
603
+ else if (depth === 0)
604
+ outer += c;
605
+ }
606
+ const out = [];
607
+ for (const match of outer.matchAll(/\.((?:\\[0-9a-fA-F]{1,6}\s?|\\[\s\S]|[\w-])+)/g))
608
+ out.push(unescapeCssIdent(match[1]));
609
+ return out;
610
+ }
611
+ /**
612
+ * A compiled stylesheet with the style rules nobody can use taken out: a rule (or one selector of
613
+ * its list) goes when a class it requires is not kept (`options.keep`). Rules without classes (the
614
+ * base: elements, `:root`, `*`), `@font-face`, `@keyframes`, `@property` and every other at-rule
615
+ * stay; grouping at-rules (`@media`, `@supports`, `@layer`…) left empty go too.
616
+ */
617
+ export function purgeCss(css, options) {
618
+ const walk = (text, candidate) => {
619
+ let out = '';
620
+ let start = 0;
621
+ for (let index = 0; index < text.length; index++) {
622
+ const c = text[index];
623
+ if (c === '"' || c === "'") {
624
+ const close = text.indexOf(c, index + 1);
625
+ index = close < 0 ? text.length : close;
626
+ }
627
+ else if (c === ';') {
628
+ // A statement (`@layer theme, base;`, `@import …;`, `@charset …;`): kept as it is.
629
+ out += text.slice(start, index + 1);
630
+ start = index + 1;
631
+ }
632
+ else if (c === '}') {
633
+ start = index + 1;
634
+ }
635
+ else if (c === '{') {
636
+ const prelude = text.slice(start, index);
637
+ const trimmed = prelude.trim();
638
+ const end = blockEnd(text, index);
639
+ const body = text.slice(index + 1, end);
640
+ if (trimmed.startsWith('@')) {
641
+ if (GROUPING_AT_RULES.test(trimmed)) {
642
+ const inner = walk(body, candidate || options.scope === 'all' || /^@layer\s+utilities\b/i.test(trimmed));
643
+ if (inner.trim() !== '')
644
+ out += `${prelude}{${inner}}`;
645
+ }
646
+ else
647
+ out += `${prelude}{${body}}`;
648
+ }
649
+ else if (!candidate || body.includes('{')) {
650
+ out += `${prelude}{${body}}`;
651
+ }
652
+ else {
653
+ const kept = splitSelectorList(prelude).filter((selector) => requiredClasses(selector).every((name) => options.keep(name)));
654
+ if (kept.length > 0)
655
+ out += `${kept.join(',')}{${body}}`;
656
+ }
657
+ index = end;
658
+ start = end + 1;
659
+ }
660
+ }
661
+ return out + text.slice(start);
662
+ };
663
+ return walk(stripComments(css), options.scope === 'all');
664
+ }
665
+ /**
666
+ * The class-like tokens of a source text (a kit bundle): every run of characters between quotes,
667
+ * backticks, whitespace and template braces — a superset of the class names it can put on an
668
+ * element (`"inline-flex hover:bg-primary/90"` → `inline-flex`, `hover:bg-primary/90`).
669
+ */
670
+ export function classTokensOf(source) {
671
+ const tokens = new Set();
672
+ for (const raw of source.split(/[\s"'`]|\$\{|\\[nrt]/)) {
673
+ if (raw === '' || raw.length > 200)
674
+ continue;
675
+ tokens.add(raw);
676
+ const trimmed = raw.replace(/^[{(,;]+|[,;)}]+$/g, '');
677
+ if (trimmed !== raw && trimmed !== '')
678
+ tokens.add(trimmed);
679
+ }
680
+ return tokens;
681
+ }
432
682
  export const INLINE_ASSET_DEFAULTS = { limit: 128 * 1024, budget: 1024 * 1024 };
433
683
  /** `data:` URI payload size in bytes (base64 decoded). */
434
684
  function dataUriBytes(uri) {
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox-styles.js","sourceRoot":"","sources":["../../../src/genui/sandbox-styles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sandbox-styles.js","sourceRoot":"","sources":["../../../src/genui/sandbox-styles.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import type { SandboxKitDocs } from './sandbox-kit.js';
2
+ /**
3
+ * Why a UI tool call was refused (or warned about) — what telemetry counts.
4
+ *
5
+ * `shape`: the input does not fit the schema (a missing wrapper, a wrong type); `syntax`: the code
6
+ * does not parse; `missing-app`: JSX without `App`; `bridge`: a bridge other than `agent.send`;
7
+ * `unknown-component` / `unknown-prop`: not in the kit's docs; `unavailable`: the component is not
8
+ * offered here; `other`: anything else (a thrown handler, the emit failing).
9
+ */
10
+ export type GenuiErrorCategory = 'shape' | 'syntax' | 'missing-app' | 'bridge' | 'unknown-component' | 'unknown-prop' | 'unavailable' | 'other';
11
+ /** One problem with a sandbox's code, where it is. */
12
+ export interface SandboxCodeIssue {
13
+ /** `error` refuses the call; `warning` is reported with the result. */
14
+ severity: 'error' | 'warning';
15
+ category: GenuiErrorCategory;
16
+ field: 'jsx' | 'html' | 'jsFunctions' | 'jsExpressions';
17
+ /** The `jsExpressions` entry. */
18
+ index?: number;
19
+ /** 1-based, in the field's own text. */
20
+ line?: number;
21
+ /** 1-based. */
22
+ column?: number;
23
+ /** What is wrong and the one-line fix. */
24
+ message: string;
25
+ }
26
+ export interface ValidateSandboxCodeOptions {
27
+ /** The view may be JSX (a kit bundle draws it). Default: what `kit.jsx` says. */
28
+ jsx?: boolean;
29
+ /** The kit's docs: `<Component>`s and their props are checked against them. */
30
+ kit?: SandboxKitDocs;
31
+ /** Origins the policy opens for scripts (`<script src>` from elsewhere is refused). */
32
+ scriptOrigins?: readonly string[];
33
+ }
34
+ /** `jsx line 12:5: …` / `jsExpressions[2] line 1:3: …` — the issue as the model reads it. */
35
+ export declare function formatSandboxIssue(issue: SandboxCodeIssue): string;
36
+ /**
37
+ * The sandbox's code, checked: errors first (each refuses the call), then warnings. JSX when the
38
+ * kit allows it and the view is in `jsx` (the longer of `jsx`/`html`, as the renderer decides);
39
+ * otherwise the HTML and its scripts.
40
+ */
41
+ export declare function validateSandboxCode(props: Record<string, unknown>, options?: ValidateSandboxCodeOptions): Promise<SandboxCodeIssue[]>;
42
+ //# sourceMappingURL=sandbox-validate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox-validate.d.ts","sourceRoot":"","sources":["../../../src/genui/sandbox-validate.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD;;;;;;;GAOG;AACH,MAAM,MAAM,kBAAkB,GAC1B,OAAO,GACP,QAAQ,GACR,aAAa,GACb,QAAQ,GACR,mBAAmB,GACnB,cAAc,GACd,aAAa,GACb,OAAO,CAAC;AAEZ,sDAAsD;AACtD,MAAM,WAAW,gBAAgB;IAC/B,uEAAuE;IACvE,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,aAAa,GAAG,eAAe,CAAC;IACxD,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,0BAA0B;IACzC,iFAAiF;IACjF,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,+EAA+E;IAC/E,GAAG,CAAC,EAAE,cAAc,CAAC;IACrB,uFAAuF;IACvF,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC;AAED,6FAA6F;AAC7F,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM,CAOlE;AAkDD;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAyB7B"}