@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
@@ -107,7 +107,27 @@ export declare const SANDBOX_MESSAGE: {
107
107
  readonly theme: 'agora:sandbox:theme';
108
108
  /** host → frame: `{ code, final }` — the JSX so far (`final` once the model is done). */
109
109
  readonly jsx: 'agora:sandbox:jsx';
110
+ /**
111
+ * frame → host: the frame is up and waits for its shared assets (a document built with
112
+ * `sharedAssets`); it says `ready` once they are in.
113
+ */
114
+ readonly load: 'agora:sandbox:load';
115
+ /** host → frame: `{ styles?, tailwind?, kit? }` — the shared assets' text. */
116
+ readonly assets: 'agora:sandbox:assets';
110
117
  };
118
+ /**
119
+ * The assets a host hands a frame built with `sharedAssets` (the answer to its `load`): the text of
120
+ * each, fetched once by the page. The frame puts each in an inline `<style>` / `<script>` — what the
121
+ * CSP already allows — so the policy is the same as for an inlined document.
122
+ */
123
+ export interface SandboxSharedAssets {
124
+ /** The app's compiled styles. */
125
+ styles?: string;
126
+ /** The Tailwind browser runtime. */
127
+ tailwind?: string;
128
+ /** The kit bundle (React, ReactDOM, the components, the wrapper). */
129
+ kit?: string;
130
+ }
111
131
  export interface SandboxDocumentOptions {
112
132
  /** A per-frame value every bridge message carries, so the host can tell this frame's messages apart. */
113
133
  token: string;
@@ -152,6 +172,19 @@ export interface SandboxDocumentOptions {
152
172
  code: string;
153
173
  final: boolean;
154
174
  };
175
+ /**
176
+ * The heavy assets come from the host instead of the `srcdoc`: the document carries none of
177
+ * `styles`, the Tailwind runtime or `kit` — only which of them it needs — and asks its host for them
178
+ * (`load`); the host answers with `assets` ({@link SandboxSharedAssets}), the text it fetched once
179
+ * for the whole page. The frame puts them in inline `<style>`/`<script>` elements — the same CSP as
180
+ * an inlined document, nothing more allowed — and says `ready` once they are in. The body stays
181
+ * hidden until then, so nothing draws unstyled. Ignored for `react-native` (inlined there).
182
+ */
183
+ sharedAssets?: {
184
+ styles?: boolean;
185
+ tailwind?: boolean;
186
+ kit?: boolean;
187
+ };
155
188
  /**
156
189
  * How the bridge reaches its host. `'parent'` (default): `parent.postMessage` to `hostOrigin`, an
157
190
  * iframe in a page. `'react-native'`: `window.ReactNativeWebView.postMessage(JSON)`, the document
@@ -166,6 +199,12 @@ export interface SandboxDocumentOptions {
166
199
  * classic scripts, in that order.
167
200
  */
168
201
  export declare function buildSandboxDocument(props: SandboxProps, options: SandboxDocumentOptions): string;
202
+ /** Which shared assets a document built with {@link SandboxDocumentOptions.sharedAssets} asks for. */
203
+ export declare function sandboxSharedAssetsWanted(options: Pick<SandboxDocumentOptions, 'sharedAssets' | 'transport'>): {
204
+ styles: boolean;
205
+ tailwind: boolean;
206
+ kit: boolean;
207
+ };
169
208
  /**
170
209
  * Markup the model is still writing, made safe to draw as a preview: the half-written tag at the end
171
210
  * dropped, `<script>`/`<style>`/`<head>` blocks (whole or cut off) removed, a cut-off entity dropped,
@@ -215,6 +254,11 @@ export interface DefineSandboxOptions {
215
254
  * through Vite; or pass the docs (or a function returning them) yourself.
216
255
  */
217
256
  kit?: boolean | SandboxKitSource;
257
+ /**
258
+ * Which kit `kit: true` finds, when the app builds several (`genuiSandboxKit({ name })`): its name.
259
+ * Default: the unnamed one.
260
+ */
261
+ kitName?: string;
218
262
  }
219
263
  /** How a sandbox draws: theme and kit on or off. */
220
264
  export interface SandboxView {
@@ -239,6 +283,12 @@ export type SandboxDefinition = ComponentDefinition<SandboxProps> & {
239
283
  * ```
240
284
  */
241
285
  export declare function defineSandbox(options?: DefineSandboxOptions): SandboxDefinition;
286
+ /**
287
+ * A minimal, valid call of a sandbox's own tool (`ui__sandbox`), as the model should write it: JSX
288
+ * when the kit draws JSX (a kit `Button` when there is one), HTML otherwise. The JSX is a JSON
289
+ * STRING — quoted, newlines escaped — which is what a model writing code (OpenCode) gets wrong.
290
+ */
291
+ export declare function sandboxCallExample(definition: unknown): string | undefined;
242
292
  /**
243
293
  * Whether a sandbox's props draw as JSX (the kit) or as HTML. A model under strict tool calling
244
294
  * (OpenAI's) fills every property, so it may write a whole view in one field and a stub in the
@@ -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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"}
@@ -12,6 +12,7 @@ import { defineComponent } from './catalog.js';
12
12
  import { kitDocsToModelText, kitHtmlInstructions, kitJsxInstructions, sandboxJsxRuntime, } from './sandbox-kit.js';
13
13
  import { tailwindToModelText, vocabularyToModelText } from './sandbox-styles.js';
14
14
  import { themeTokens, themeToModelText } from './sandbox-theme.js';
15
+ import { formatSandboxIssue, validateSandboxCode } from './sandbox-validate.js';
15
16
  /** The component name the builtin {@link Sandbox} registers under. */
16
17
  export const SANDBOX_COMPONENT = 'Sandbox';
17
18
  /**
@@ -99,6 +100,13 @@ export const SANDBOX_MESSAGE = {
99
100
  theme: 'agora:sandbox:theme',
100
101
  /** host → frame: `{ code, final }` — the JSX so far (`final` once the model is done). */
101
102
  jsx: 'agora:sandbox:jsx',
103
+ /**
104
+ * frame → host: the frame is up and waits for its shared assets (a document built with
105
+ * `sharedAssets`); it says `ready` once they are in.
106
+ */
107
+ load: 'agora:sandbox:load',
108
+ /** host → frame: `{ styles?, tailwind?, kit? }` — the shared assets' text. */
109
+ assets: 'agora:sandbox:assets',
102
110
  };
103
111
  /** `</script` inside generated code would close the element it is inlined in. */
104
112
  function inlineScript(code) {
@@ -121,8 +129,18 @@ function escapeAttribute(value) {
121
129
  * could only ever grow. It re-measures on every resize of the page or of a top-level element, on
122
130
  * every DOM or style change (the Tailwind runtime injecting its CSS, the kit drawing JSX), once
123
131
  * fonts and images load, and twice more shortly after start; the first measure rides `ready`.
132
+ *
133
+ * An open overlay — a dialog, a menu, a popover in a portal (`position: fixed`, `role="dialog"`,
134
+ * `<dialog open>`, `:popover-open`…) — counts too, for as long as it is open: the frame grows to
135
+ * fit it (a viewport-sized overlay, like a modal's backdrop, by what it holds — its content's full
136
+ * height and margins — not by its own height, which is the frame's; a box centered in the frame, by
137
+ * its full height and the room around it) and shrinks back once it closes.
138
+ *
139
+ * `shared`: the document's heavy assets come from the host (`load` → `assets`); the bridge applies
140
+ * them in order — the styles where the document reserved them, then the Tailwind runtime and the
141
+ * kit as inline scripts — runs `window.__agoraAfterAssets` and only then says `ready`.
124
142
  */
125
- function bridgeScript(token, hostOrigin, transport = 'parent') {
143
+ function bridgeScript(token, hostOrigin, transport = 'parent', shared = false) {
126
144
  const t = JSON.stringify(token);
127
145
  const o = JSON.stringify(hostOrigin);
128
146
  const m = JSON.stringify(SANDBOX_MESSAGE);
@@ -130,19 +148,42 @@ function bridgeScript(token, hostOrigin, transport = 'parent') {
130
148
  const deliver = native
131
149
  ? '(R||window.ReactNativeWebView).postMessage(JSON.stringify(msg))'
132
150
  : 'P.postMessage(msg,O)';
151
+ const assets = shared
152
+ ? `var loaded=false;
153
+ function apply(d){if(loaded)return;loaded=true;
154
+ var at=document.getElementById('agora-sandbox-kit-css');if(at&&typeof d.styles==='string')at.textContent=d.styles;
155
+ var order=[['tailwind',d.tailwind],['kit',d.kit]];
156
+ for(var i=0;i<order.length;i++){var v=order[i][1];if(typeof v!=='string')continue;var s=document.createElement('script');s.textContent=v;document.head.appendChild(s)}
157
+ try{if(typeof window.__agoraAfterAssets==='function')window.__agoraAfterAssets()}catch(e){post(M.error,{message:String(e&&e.message||e)})}
158
+ var w=document.getElementById('agora-sandbox-wait');if(w)w.remove();size();post(M.ready,{height:last})}
159
+ `
160
+ : '';
133
161
  return `(function(){var T=${t},O=${o},M=${m},P=window.parent${native ? ',R=window.ReactNativeWebView' : ''};
134
162
  function post(type,data){var msg={type:type,token:T};for(var k in data)msg[k]=data[k];try{${deliver}}catch(e){}}
135
163
  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}});
136
164
  var last=-1,queued=false;
165
+ var OVERLAY='dialog[open],[role="dialog"],[role="alertdialog"],[role="menu"],[role="listbox"],[role="tooltip"],[aria-modal="true"],[data-radix-popper-content-wrapper]';
166
+ function shown(el,cs){return cs.display!=='none'&&cs.visibility!=='hidden'&&el.getClientRects().length>0}
167
+ function overlays(b){var out=[],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.position==='fixed'&&shown(k,cs))out.push(k)}
168
+ var found=[];try{found=document.querySelectorAll(OVERLAY)}catch(e){}for(var j=0;j<found.length;j++){var f=found[j];if(out.indexOf(f)<0&&shown(f,getComputedStyle(f)))out.push(f)}
169
+ try{var pops=document.querySelectorAll('[popover]');for(var p=0;p<pops.length;p++){if(pops[p].matches(':popover-open')&&out.indexOf(pops[p])<0)out.push(pops[p])}}catch(e){}return out}
170
+ function overlayBottom(b){var need=0,vh=window.innerHeight||0,list=overlays(b);
171
+ for(var i=0;i<list.length;i++){var root=list[i],r=root.getBoundingClientRect(),covers=r.top<=1&&r.height>=vh-1;var queue=[root],seen=0;
172
+ while(queue.length>0&&seen<400){var el=queue.shift();seen++;var cs=getComputedStyle(el);if(cs.display==='none')continue;
173
+ var mt=parseFloat(cs.marginTop)||0,mb=parseFloat(cs.marginBottom)||0,er=el.getBoundingClientRect(),h=Math.max(er.height,el.scrollHeight);
174
+ var centered=!covers&&el===root&&er.top>0&&Math.abs(vh-er.bottom-er.top)<=2;var v=covers?(el===root?0:h+mt+mb):centered?h+(vh-er.height):er.top+h+mb;if(covers&&el!==root&&el.scrollHeight>=vh-1&&er.height>=vh-1)v=0;if(v>need)need=v;
175
+ for(var c=0;c<el.children.length;c++)queue.push(el.children[c])}}
176
+ return need}
137
177
  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){}
138
178
  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}
139
- var bs=getComputedStyle(b);bottom+=(parseFloat(bs.paddingBottom)||0)+(parseFloat(bs.borderBottomWidth)||0);return Math.max(0,Math.ceil(bottom+(window.scrollY||0)))}
179
+ var bs=getComputedStyle(b);bottom+=(parseFloat(bs.paddingBottom)||0)+(parseFloat(bs.borderBottomWidth)||0);var content=Math.ceil(bottom+(window.scrollY||0));
180
+ var over=Math.ceil(overlayBottom(b));return Math.max(0,content,over)}
140
181
  function size(){queued=false;var h=measure();if(h!==last){last=h;post(M.resize,{height:h})}}
141
182
  function later(){if(queued)return;queued=true;if(typeof requestAnimationFrame==='function'){requestAnimationFrame(size)}else{setTimeout(size,16)}}
142
- window.addEventListener('error',function(e){if(window.__agoraQuiet)return;post(M.error,{message:String(e&&e.message||'error')})});
183
+ ${assets}window.addEventListener('error',function(e){if(window.__agoraQuiet)return;post(M.error,{message:String(e&&e.message||'error')})});
143
184
  window.addEventListener('unhandledrejection',function(e){post(M.error,{message:String(e&&e.reason&&e.reason.message||e&&e.reason||'unhandled rejection')})});
144
185
  window.addEventListener('message',function(e){if(e.source!==P)return;var d=e.data;if(!d||d.token!==T)return;
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()}
186
+ ${shared ? 'if(d.type===M.assets){apply(d);return}' : ''}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()}
146
187
  else if(d.type===M.run){var el=document.createElement('script');el.textContent=String(d.code||'');document.body.appendChild(el);size()}
147
188
  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
189
  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)}
@@ -152,10 +193,16 @@ var ro=null;if(typeof ResizeObserver==='function'){ro=new ResizeObserver(later);
152
193
  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})}
153
194
  window.addEventListener('load',later);document.addEventListener('load',later,true);
154
195
  if(document.fonts){if(document.fonts.ready)document.fonts.ready.then(later,function(){});if(document.fonts.addEventListener)document.fonts.addEventListener('loadingdone',later)}
155
- setTimeout(later,250);setTimeout(later,1000);post(M.ready,{height:last})}
196
+ setTimeout(later,250);setTimeout(later,1000);${shared ? 'post(M.load,{})' : 'post(M.ready,{height:last})'}}
156
197
  if(document.readyState==='loading'){document.addEventListener('DOMContentLoaded',start)}else{start()}})();`;
157
198
  }
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}';
199
+ /**
200
+ * The frame's base. Its page is see-through whatever the kit's baseline says: the frame sits in the
201
+ * host's chat, and a baseline painting the body (MUI's `CssBaseline`, Bootstrap's reboot — emotion
202
+ * injects after every stylesheet of the document) would draw a box of its own colour around the view,
203
+ * beside a view narrower than the frame. The view's own surfaces (a card) keep theirs.
204
+ */
205
+ const BASE_CSS = 'html,body{margin:0;padding:0;overflow:hidden;background:transparent}html,body{background-color:transparent!important;background-image:none!important}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
206
  /** The frame root's attributes: the host's mode (`class="dark"`, `data-theme`, `data-bs-theme`…). */
160
207
  function rootAttributes(theme) {
161
208
  if (theme === undefined)
@@ -175,6 +222,11 @@ function rootAttributes(theme) {
175
222
  * classic scripts, in that order.
176
223
  */
177
224
  export function buildSandboxDocument(props, options) {
225
+ const shared = options.transport !== 'react-native' && options.sharedAssets !== undefined
226
+ ? options.sharedAssets
227
+ : undefined;
228
+ const sharing = shared !== undefined &&
229
+ (shared.styles === true || shared.tailwind === true || shared.kit === true);
178
230
  const csp = sandboxCsp(options.policy);
179
231
  const live = options.mode === 'live';
180
232
  const html = live ? (props.html ?? '') : previewHtml(props.html ?? '');
@@ -188,7 +240,39 @@ export function buildSandboxDocument(props, options) {
188
240
  scripts.push(expression);
189
241
  }
190
242
  }
191
- const kit = options.kit !== undefined;
243
+ const sharedKit = sharing && shared?.kit === true;
244
+ const kit = options.kit !== undefined || sharedKit;
245
+ const jsxRuntime = kit
246
+ ? sandboxJsxRuntime({
247
+ token: options.token,
248
+ jsxMessage: SANDBOX_MESSAGE.jsx,
249
+ ...(options.initialJsx !== undefined ? { initial: options.initialJsx } : {}),
250
+ })
251
+ : '';
252
+ const styles = sharing && shared?.styles === true
253
+ ? // Where the shared stylesheet goes once it arrives — before the theme and the model's CSS.
254
+ ['<style id="agora-sandbox-kit-css"></style>']
255
+ : options.styles !== undefined && options.styles !== ''
256
+ ? [`<style id="agora-sandbox-kit-css">${inlineStyle(options.styles)}</style>`]
257
+ : [];
258
+ const tailwind = sharing && shared?.tailwind === true
259
+ ? [
260
+ `<style type="text/tailwindcss" id="agora-sandbox-tw">${inlineStyle(options.tailwind?.theme ?? '')}</style>`,
261
+ ]
262
+ : options.tailwind !== undefined
263
+ ? [
264
+ `<style type="text/tailwindcss" id="agora-sandbox-tw">${inlineStyle(options.tailwind.theme ?? '')}</style>`,
265
+ `<script>${inlineScript(options.tailwind.runtime)}</script>`,
266
+ ]
267
+ : [];
268
+ // Shared: the model's scripts and the JSX runtime run once the kit (React) has arrived.
269
+ const afterAssets = sharing
270
+ ? [
271
+ `<script>window.__agoraAfterAssets=function(){window.__agoraAfterAssets=null;${sharedKit ? inlineScript(jsxRuntime) : ''}${scripts
272
+ .map((code) => `var s=document.createElement('script');s.textContent=${inlineScript(JSON.stringify(code))};document.body.appendChild(s);`)
273
+ .join('')}}</script>`,
274
+ ]
275
+ : [];
192
276
  return [
193
277
  `<!doctype html><html${rootAttributes(options.theme)}><head><meta charset="utf-8">`,
194
278
  `<meta http-equiv="Content-Security-Policy" content="${escapeAttribute(csp)}">`,
@@ -196,36 +280,36 @@ export function buildSandboxDocument(props, options) {
196
280
  ...(options.transport === 'react-native'
197
281
  ? ['<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1">']
198
282
  : []),
199
- `<script>${bridgeScript(options.token, options.hostOrigin, options.transport)}</script>`,
283
+ `<script>${bridgeScript(options.token, options.hostOrigin, options.transport, sharing)}</script>`,
200
284
  `<style>${BASE_CSS}</style>`,
201
- ...(options.styles !== undefined && options.styles !== ''
202
- ? [`<style id="agora-sandbox-kit-css">${inlineStyle(options.styles)}</style>`]
203
- : []),
285
+ // Nothing draws unstyled while the shared assets are on their way.
286
+ ...(sharing ? ['<style id="agora-sandbox-wait">body{visibility:hidden}</style>'] : []),
287
+ ...styles,
204
288
  `<style id="agora-sandbox-theme">${inlineStyle(options.theme?.css ?? '')}</style>`,
205
- ...(options.tailwind !== undefined
206
- ? [
207
- `<style type="text/tailwindcss" id="agora-sandbox-tw">${inlineStyle(options.tailwind.theme ?? '')}</style>`,
208
- `<script>${inlineScript(options.tailwind.runtime)}</script>`,
209
- ]
210
- : []),
289
+ ...tailwind,
211
290
  `<style id="agora-sandbox-css">${inlineStyle(props.css ?? '')}</style>`,
212
291
  '</head><body>',
213
292
  html,
214
- ...(kit
293
+ ...(kit ? ['<div id="agora-sandbox-root"></div>'] : []),
294
+ ...(kit && !sharedKit
215
295
  ? [
216
- '<div id="agora-sandbox-root"></div>',
217
296
  `<script>${inlineScript(options.kit)}</script>`,
218
- `<script>${inlineScript(sandboxJsxRuntime({
219
- token: options.token,
220
- jsxMessage: SANDBOX_MESSAGE.jsx,
221
- ...(options.initialJsx !== undefined ? { initial: options.initialJsx } : {}),
222
- }))}</script>`,
297
+ `<script>${inlineScript(jsxRuntime)}</script>`,
223
298
  ]
224
299
  : []),
225
- ...scripts.map((code) => `<script>${inlineScript(code)}</script>`),
300
+ ...(sharing ? afterAssets : scripts.map((code) => `<script>${inlineScript(code)}</script>`)),
226
301
  '</body></html>',
227
302
  ].join('');
228
303
  }
304
+ /** Which shared assets a document built with {@link SandboxDocumentOptions.sharedAssets} asks for. */
305
+ export function sandboxSharedAssetsWanted(options) {
306
+ const shared = options.transport === 'react-native' ? undefined : options.sharedAssets;
307
+ return {
308
+ styles: shared?.styles === true,
309
+ tailwind: shared?.tailwind === true,
310
+ kit: shared?.kit === true,
311
+ };
312
+ }
229
313
  /**
230
314
  * Markup the model is still writing, made safe to draw as a preview: the half-written tag at the end
231
315
  * dropped, `<script>`/`<style>`/`<head>` blocks (whole or cut off) removed, a cut-off entity dropped,
@@ -404,8 +488,26 @@ export function defineSandbox(options = {}) {
404
488
  // With the kit's docs (a server resolving `kit: true`, or docs given), the schema offers `jsx` only
405
489
  // when the kit has a bundle to draw it with: a stylesheet-only kit is written as html.
406
490
  const docsSource = kitOn && options.kit !== true ? options.kit : undefined;
491
+ // JSX is allowed when the schema offers it: a kit whose docs say it has a bundle, or a kit the
492
+ // server has yet to resolve (`kit: true`).
493
+ const jsxAllowed = () => kitOn && (docsSource === undefined || resolveSource(docsSource)?.jsx === true);
407
494
  const definition = defineComponent({
408
495
  name: options.name ?? SANDBOX_COMPONENT,
496
+ // The code, parsed before the call is accepted: a view the frame cannot draw is refused with
497
+ // where and how to fix it (see validateSandboxCode).
498
+ check: async (props) => {
499
+ const docs = docsSource !== undefined ? resolveSource(docsSource) : undefined;
500
+ const issues = await validateSandboxCode(props, {
501
+ jsx: jsxAllowed(),
502
+ ...(docs !== undefined ? { kit: docs } : {}),
503
+ ...(policy.allow?.scripts !== undefined ? { scriptOrigins: policy.allow.scripts } : {}),
504
+ });
505
+ return issues.map((issue) => ({
506
+ severity: issue.severity,
507
+ category: issue.category,
508
+ message: formatSandboxIssue(issue),
509
+ }));
510
+ },
409
511
  title: 'Interactive view',
410
512
  description: '',
411
513
  props,
@@ -443,6 +545,41 @@ export function defineSandbox(options = {}) {
443
545
  }
444
546
  return Object.freeze(result);
445
547
  }
548
+ /**
549
+ * A minimal, valid call of a sandbox's own tool (`ui__sandbox`), as the model should write it: JSX
550
+ * when the kit draws JSX (a kit `Button` when there is one), HTML otherwise. The JSX is a JSON
551
+ * STRING — quoted, newlines escaped — which is what a model writing code (OpenCode) gets wrong.
552
+ */
553
+ export function sandboxCallExample(definition) {
554
+ const options = definition?.sandboxOptions;
555
+ if (sandboxPolicyOf(definition) === undefined)
556
+ return undefined;
557
+ const kit = options?.kit;
558
+ const docs = kit !== undefined && kit !== false && kit !== true
559
+ ? resolveSource(kit)
560
+ : undefined;
561
+ const jsx = kit === true || docs?.jsx === true;
562
+ const button = docs?.components.some((component) => component.name === 'Button')
563
+ ? 'Button'
564
+ : 'button';
565
+ const call = jsx
566
+ ? {
567
+ initialHeight: 120,
568
+ title: 'Counter',
569
+ summary: 'A counter the user clicks.',
570
+ jsx: `function App() {\n const [n, setN] = useState(0);\n return <${button} onClick={() => setN(n + 1)}>Clicked {n}</${button}>;\n}`,
571
+ }
572
+ : {
573
+ initialHeight: 120,
574
+ title: 'Counter',
575
+ summary: 'A counter the user clicks.',
576
+ html: '<button id="b">Clicked 0</button>',
577
+ jsExpressions: [
578
+ "const b = document.getElementById('b'); let n = 0; b.onclick = () => { b.textContent = 'Clicked ' + ++n; };",
579
+ ],
580
+ };
581
+ return `Example call: ${JSON.stringify(call)}`;
582
+ }
446
583
  /**
447
584
  * Whether a sandbox's props draw as JSX (the kit) or as HTML. A model under strict tool calling
448
585
  * (OpenAI's) fills every property, so it may write a whole view in one field and a stub in the
@@ -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":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAA4B,eAAe,EAAmB,MAAM,cAAc,CAAC;AAC1F,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAElB,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACjF,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAGhF,sEAAsE;AACtE,MAAM,CAAC,MAAM,iBAAiB,GAAG,SAAS,CAAC;AA2B3C;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,eAAe;IACf,qBAAqB;IACrB,OAAO;IACP,SAAS;IACT,KAAK;IACL,MAAM;IACN,aAAa;IACb,eAAe;IACf,KAAK;CACG,CAAC;AAiCX,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,aAAa,EAAE,GAAG;IAClB,eAAe,EAAE,IAAI;IACrB,iBAAiB,EAAE,IAAI;IACvB,QAAQ,EAAE,EAAE;IACZ,SAAS,EAAE,IAAI;CACP,CAAC;AAEX,MAAM,MAAM,GAAG,0DAA0D,CAAC;AAE1E,+FAA+F;AAC/F,MAAM,UAAU,mBAAmB,CAAC,MAAqB;IACvD,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;QACjE,KAAK,MAAM,MAAM,IAAI,OAAO,IAAI,EAAE,EAAE,CAAC;YACnC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBACvD,MAAM,IAAI,SAAS,CACjB,wBAAwB,IAAI,WAAW,MAAM,CAAC,MAAM,CAAC,kEAAkE,CACxH,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,CAAC,iBAAiB,EAAE,mBAAmB,EAAE,UAAU,EAAE,WAAW,CAAU,EAAE,CAAC;QAC7F,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;YAClE,MAAM,IAAI,UAAU,CAAC,kBAAkB,GAAG,gCAAgC,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,MAAM,GAAkB,EAAE;IACnD,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;IACjC,MAAM,IAAI,GAAG,CAAC,OAAsC,EAAE,EAAE,CACtD,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7E,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IACxE,OAAO;QACL,oBAAoB;QACpB,6BAA6B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;QAClD,4BAA4B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;QAChD,sBAAsB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;QAC1C,iBAAiB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;QACpC,wBAAwB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;QAC3C,OAAO,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB;QACpE,kBAAkB;QAClB,mBAAmB;QACnB,mBAAmB;QACnB,oBAAoB;QACpB,iBAAiB;KAClB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,0GAA0G;AAC1G,MAAM,CAAC,MAAM,oBAAoB,GAAG,eAAe,CAAC;AAEpD,2EAA2E;AAC3E,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,sCAAsC;IACtC,KAAK,EAAE,qBAAqB;IAC5B,yDAAyD;IACzD,MAAM,EAAE,sBAAsB;IAC9B,2DAA2D;IAC3D,IAAI,EAAE,oBAAoB;IAC1B,6EAA6E;IAC7E,KAAK,EAAE,qBAAqB;IAC5B,2EAA2E;IAC3E,MAAM,EAAE,sBAAsB;IAC9B,8DAA8D;IAC9D,GAAG,EAAE,mBAAmB;IACxB,+FAA+F;IAC/F,KAAK,EAAE,qBAAqB;IAC5B,yFAAyF;IACzF,GAAG,EAAE,mBAAmB;IACxB;;;OAGG;IACH,IAAI,EAAE,oBAAoB;IAC1B,8EAA8E;IAC9E,MAAM,EAAE,sBAAsB;CACtB,CAAC;AAgBX,iFAAiF;AACjF,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,WAAW,CAAC,GAAW;IAC9B,OAAO,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IACpC,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACpF,CAAC;AAsDD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,SAAS,YAAY,CACnB,KAAa,EACb,UAAkB,EAClB,SAAS,GAA8B,QAAQ,EAC/C,MAAM,GAAG,KAAK;IAEd,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAChC,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACrC,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,SAAS,KAAK,cAAc,CAAC;IAC5C,MAAM,OAAO,GAAG,MAAM;QACpB,CAAC,CAAC,iEAAiE;QACnE,CAAC,CAAC,sBAAsB,CAAC;IAC3B,MAAM,MAAM,GAAG,MAAM;QACnB,CAAC,CAAC;;;;;;;CAOL;QACG,CAAC,CAAC,EAAE,CAAC;IACP,OAAO,qBAAqB,CAAC,MAAM,CAAC,MAAM,CAAC,mBAAmB,MAAM,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,EAAE;4FAChB,OAAO;;;;;;;;;;;;;;;;;;;;;EAqBjG,MAAM;;;EAGN,MAAM,CAAC,CAAC,CAAC,wCAAwC,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;+CAUT,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,6BAA6B;2GACE,CAAC;AAC5G,CAAC;AAED;;;;;GAKG;AACH,MAAM,QAAQ,GACZ,iVAAiV,CAAC;AAEpV,qGAAqG;AACrG,SAAS,cAAc,CAAC,KAAsC;IAC5D,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACnC,MAAM,UAAU,GAA2B,EAAE,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAC3F,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC;QACnE,IAAI,sCAAsC,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IAClF,CAAC;IACD,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;SACrE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,KAAK,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC;SAC9D,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAmB,EAAE,OAA+B;IACvF,MAAM,MAAM,GACV,OAAO,CAAC,SAAS,KAAK,cAAc,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS;QACxE,CAAC,CAAC,OAAO,CAAC,YAAY;QACtB,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,OAAO,GACX,MAAM,KAAK,SAAS;QACpB,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,IAAI,MAAM,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC;IAC9E,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC;IACrC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACvE,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,IAAI,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;QACvC,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3E,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAClC,CAAC;QACD,KAAK,MAAM,UAAU,IAAI,KAAK,CAAC,aAAa,IAAI,EAAE,EAAE,CAAC;YACnD,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/F,CAAC;IACH,CAAC;IACD,MAAM,SAAS,GAAG,OAAO,IAAI,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;IAClD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,SAAS,CAAC;IACnD,MAAM,UAAU,GAAG,GAAG;QACpB,CAAC,CAAC,iBAAiB,CAAC;YAChB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,UAAU,EAAE,eAAe,CAAC,GAAG;YAC/B,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7E,CAAC;QACJ,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,MAAM,GACV,OAAO,IAAI,MAAM,EAAE,MAAM,KAAK,IAAI;QAChC,CAAC,CAAC,2FAA2F;YAC3F,CAAC,4CAA4C,CAAC;QAChD,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,EAAE;YACrD,CAAC,CAAC,CAAC,qCAAqC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;YAC9E,CAAC,CAAC,EAAE,CAAC;IACX,MAAM,QAAQ,GACZ,OAAO,IAAI,MAAM,EAAE,QAAQ,KAAK,IAAI;QAClC,CAAC,CAAC;YACE,wDAAwD,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,UAAU;SAC7G;QACH,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS;YAC9B,CAAC,CAAC;gBACE,wDAAwD,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC,UAAU;gBAC3G,WAAW,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW;aAC7D;YACH,CAAC,CAAC,EAAE,CAAC;IACX,wFAAwF;IACxF,MAAM,WAAW,GAAG,OAAO;QACzB,CAAC,CAAC;YACE,+EACE,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EACzC,GAAG,OAAO;iBACP,GAAG,CACF,CAAC,IAAI,EAAE,EAAE,CACP,wDAAwD,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,gCAAgC,CAC7H;iBACA,IAAI,CAAC,EAAE,CAAC,YAAY;SACxB;QACH,CAAC,CAAC,EAAE,CAAC;IACP,OAAO;QACL,uBAAuB,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,+BAA+B;QACnF,uDAAuD,eAAe,CAAC,GAAG,CAAC,IAAI;QAC/E,8CAA8C;QAC9C,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,cAAc;YACtC,CAAC,CAAC,CAAC,qFAAqF,CAAC;YACzF,CAAC,CAAC,EAAE,CAAC;QACP,WAAW,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,WAAW;QACjG,UAAU,QAAQ,UAAU;QAC5B,mEAAmE;QACnE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,gEAAgE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtF,GAAG,MAAM;QACT,mCAAmC,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,IAAI,EAAE,CAAC,UAAU;QAClF,GAAG,QAAQ;QACX,iCAAiC,WAAW,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC,UAAU;QACvE,eAAe;QACf,IAAI;QACJ,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS;YACnB,CAAC,CAAC;gBACE,WAAW,YAAY,CAAC,OAAO,CAAC,GAAa,CAAC,WAAW;gBACzD,WAAW,YAAY,CAAC,UAAU,CAAC,WAAW;aAC/C;YACH,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5F,gBAAgB;KACjB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACb,CAAC;AAED,sGAAsG;AACtG,MAAM,UAAU,yBAAyB,CACvC,OAAmE;IAEnE,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,KAAK,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;IACvF,OAAO;QACL,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI;QAC/B,QAAQ,EAAE,MAAM,EAAE,QAAQ,KAAK,IAAI;QACnC,GAAG,EAAE,MAAM,EAAE,GAAG,KAAK,IAAI;KAC1B,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,IAAI,MAAM,GAAG,IAAI,CAAC;IAClB,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACvC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,8CAA8C,EAAE,EAAE,CAAC,CAAC;IAC5E,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,wCAAwC,EAAE,EAAE,CAAC,CAAC;IACtE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACnD,IAAI,IAAI,KAAK,IAAI;QAAE,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;IAC5E,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CACjC,KAA8B,EAC9B,KAAwF;IAExF,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,aAAa,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACnF,IAAI,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACnE,SAAS;QACX,CAAC;QACD,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;YACpC,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YAChD,SAAS;QACX,CAAC;QACD,IAAI,GAAG,KAAK,eAAe,EAAE,CAAC;YAC5B,IAAI,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,GAAG,CAAC,aAAa,GAAG,KAAK,CAAC;YAC5E,SAAS;QACX,CAAC;QACD,IAAI,GAAG,KAAK,qBAAqB,IAAI,GAAG,KAAK,eAAe,EAAE,CAAC;YAC7D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBAAE,SAAS;YACpC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACjC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1D,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CACrB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,IAAI,GAAG,KAAK,KAAK,CAAC,CACtE,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,aAAa,GAAe;IAChC,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,aAAa,EAAE;YACb,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,IAAI;YACb,WAAW,EAAE,iEAAiE;SAC/E;QACD,mBAAmB,EAAE;YACnB,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE;YACzC,QAAQ,EAAE,CAAC;YACX,WAAW,EAAE,gEAAgE;SAC9E;QACD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,EAAE,0BAA0B,EAAE;QAClF,OAAO,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,GAAG;YACd,WAAW,EAAE,2EAA2E;SACzF;QACD,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,qCAAqC,EAAE;QAC7F,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,MAAM;YACjB,WAAW,EAAE,8EAA8E;SAC5F;QACD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,MAAM;YACjB,WAAW,EAAE,qEAAqE;SACnF;QACD,aAAa,EAAE;YACb,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE;YAC3C,QAAQ,EAAE,EAAE;YACZ,WAAW,EAAE,8EAA8E;SAC5F;KACF;IACD,QAAQ,EAAE,CAAC,MAAM,CAAC;IAClB,oBAAoB,EAAE,KAAK;CAC5B,CAAC;AA6DF,SAAS,aAAa,CAAI,MAA6C;IACrE,OAAO,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAE,MAA8B,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;AACnF,CAAC;AAED,SAAS,QAAQ,CAAC,MAAqB,EAAE,OAA6B;IACpE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;IACjC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;SACjC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;SACpE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,SAAS,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1E,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,KAAK,KAAK,CAAC;IACjE,MAAM,IAAI,GACR,KAAK,IAAI,OAAO,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,GAAuB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7F,iFAAiF;IACjF,MAAM,GAAG,GAAG,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IAC/B,MAAM,UAAU,GAAG,IAAI,EAAE,UAAU,IAAI,EAAE,CAAC;IAC1C,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,KAAK,KAAK,CAAC;IACxC,MAAM,SAAS,GACb,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ;QAC/B,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;QACnC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,SAAS,CAAC,CAAC;IACvC,OAAO;QACL,GAAG;YACD,CAAC,CAAC,mDAAmD,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,EAAE,+DAA+D,IAAI,EAAE,QAAQ,KAAK,SAAS,IAAI,IAAI,EAAE,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,EAAE,GAAG;YACpR,CAAC,CAAC,uGAAuG,IAAI,EAAE,QAAQ,KAAK,SAAS,IAAI,IAAI,EAAE,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,EAAE,GAAG;QAC9M,8NAA8N;QAC9N,GAAG;YACD,CAAC,CAAC,+JAA+J;YACjK,CAAC,CAAC,4HAA4H;QAChI,MAAM,CAAC,MAAM,GAAG,CAAC;YACf,CAAC,CAAC,iBAAiB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,2DAA2D;YAC/F,CAAC,CAAC,qGAAqG;QACzG,oIAAoI;QACpI,8PAA8P;QAC9P,2OAA2O;QAC3O,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,GAAG,CAAC,IAAI,EAAE,QAAQ,KAAK,SAAS;YAC9B,CAAC,CAAC;gBACE,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;oBACxC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO;oBAC9B,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACpE,CAAC;aACH;YACH,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,IAAI,EAAE,QAAQ,KAAK,SAAS;YAChC,IAAI,EAAE,UAAU,KAAK,SAAS;YAC9B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAC/B,CAAC,CAAC,CAAC,KAAK,qBAAqB,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC;YAC5D,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,GAAG;YACL,CAAC,CAAC,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,EAAE,CAAC,CAAC;YAC9F,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,KAAK,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,GAAG,CAAC,GAAG,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,kBAAkB,CAAC,IAAsB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5F,GAAG,CAAC,IAAI,EAAE,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE;YACvD,CAAC,CAAC,CAAC,qCAAqC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;YAC5D,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,OAAO,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KACtE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACd,CAAC;AAED,MAAM,SAAS,GAAe;IAC5B,IAAI,EAAE,QAAQ;IACd,SAAS,EAAE,MAAM;IACjB,WAAW,EACT,0JAA0J;CAC7J,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,UAAU,aAAa,CAAC,OAAO,GAAyB,EAAE;IAC9D,IAAK,OAAkC,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC/D,MAAM,IAAI,SAAS,CACjB,2RAA2R,CAC5R,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;IACpC,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC5B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,KAAK,KAAK,CAAC;IACjE,MAAM,OAAO,GAAe;QAC1B,GAAG,aAAa;QAChB,UAAU,EAAE,EAAE,GAAI,aAAa,CAAC,UAAsC,EAAE,GAAG,EAAE,SAAS,EAAE;QACxF,QAAQ,EAAE,EAAE;KACb,CAAC;IACF,MAAM,KAAK,GAAe,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC;IAC1D,oGAAoG;IACpG,uFAAuF;IACvF,MAAM,UAAU,GAAG,KAAK,IAAI,OAAO,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAE,OAAO,CAAC,GAAwB,CAAC,CAAC,CAAC,SAAS,CAAC;IACjG,+FAA+F;IAC/F,2CAA2C;IAC3C,MAAM,UAAU,GAAG,GAAG,EAAE,CACtB,KAAK,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI,aAAa,CAAC,UAAU,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC,CAAC;IACjF,MAAM,UAAU,GAAG,eAAe,CAAe;QAC/C,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,iBAAiB;QACvC,6FAA6F;QAC7F,qDAAqD;QACrD,KAAK,EAAE,KAAK,EAAE,KAAK,EAAyB,EAAE;YAC5C,MAAM,IAAI,GAAG,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9E,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,KAAgC,EAAE;gBACzE,GAAG,EAAE,UAAU,EAAE;gBACjB,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5C,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACxF,CAAC,CAAC;YACH,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,OAAO,EAAE,kBAAkB,CAAC,KAAK,CAAC;aACnC,CAAC,CAAC,CAAC;QACN,CAAC;QACD,KAAK,EAAE,kBAAkB;QACzB,WAAW,EAAE,EAAE;QACf,KAAK;QACL,SAAS,EAAE,SAAS;QACpB,YAAY,EAAE,mBAAmB;QACjC,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE;YACtB,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3F,MAAM,OAAO,GACX,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;gBAC3D,CAAC,CAAC,KAAK,CAAC,OAAO;gBACf,CAAC,CAAC,qBAAqB,CAAC;YAC5B,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,yCAAyC,CAAC;QAC3F,CAAC;KACF,CAAC,CAAC;IACH,MAAM,WAAW,GAAgB;QAC/B,KAAK,EAAE,OAAO,CAAC,KAAK,KAAK,KAAK;QAC9B,GAAG,EAAE,KAAK;KACX,CAAC;IACF,MAAM,MAAM,GAAG;QACb,GAAG,UAAU;QACb,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC;QACrC,WAAW;QACX,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC;KAC9C,CAAC;IACF,8FAA8F;IAC9F,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE;QAC3C,UAAU,EAAE,IAAI;QAChB,GAAG,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,IAAI,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;KAC5D,CAAC,CAAC;IACH,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE;YACrC,UAAU,EAAE,IAAI;YAChB,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC;SAC/E,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAsB,CAAC;AACpD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAAmB;IACpD,MAAM,OAAO,GAAI,UAAqD,EAAE,cAAc,CAAC;IACvF,IAAI,eAAe,CAAC,UAAU,CAAC,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAChE,MAAM,GAAG,GAAG,OAAO,EAAE,GAAG,CAAC;IACzB,MAAM,IAAI,GACR,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,IAAI;QAChD,CAAC,CAAC,aAAa,CAAC,GAAuB,CAAC;QACxC,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,GAAG,GAAG,GAAG,KAAK,IAAI,IAAI,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IAC/C,MAAM,MAAM,GAAG,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,QAAQ,CAAC;QAC9E,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,QAAQ,CAAC;IACb,MAAM,IAAI,GAAG,GAAG;QACd,CAAC,CAAC;YACE,aAAa,EAAE,GAAG;YAClB,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE,4BAA4B;YACrC,GAAG,EAAE,iEAAiE,MAAM,6CAA6C,MAAM,OAAO;SACvI;QACH,CAAC,CAAC;YACE,aAAa,EAAE,GAAG;YAClB,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE,4BAA4B;YACrC,IAAI,EAAE,mCAAmC;YACzC,aAAa,EAAE;gBACb,6GAA6G;aAC9G;SACF,CAAC;IACN,OAAO,iBAAiB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;AACjD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,KAAyC;IACvE,MAAM,GAAG,GAAG,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAClE,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,KAAK,CAAC;IAC7B,MAAM,IAAI,GAAG,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACrE,OAAO,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC;AACnC,CAAC;AAED,uDAAuD;AACvD,MAAM,CAAC,MAAM,OAAO,GAAsB,aAAa,EAAE,CAAC;AAE1D,4FAA4F;AAC5F,MAAM,UAAU,eAAe,CAAC,UAAmB;IACjD,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5E,MAAM,MAAM,GAAI,UAAoC,CAAC,OAAO,CAAC;IAC7D,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,CAAC,CAAC,CAAE,MAAwB,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/F,CAAC"}
@@ -4,7 +4,7 @@ import type { ToolPresentation } from '../tool-presentation.js';
4
4
  import type { Actor, ToolSpec } from '../types.js';
5
5
  import { type Catalog, type GenuiStreaming } from './catalog.js';
6
6
  import { type GenuiChannels } from './channels.js';
7
- import type { DefineSandboxOptions } from './sandbox.js';
7
+ import { type DefineSandboxOptions } from './sandbox.js';
8
8
  import { type GenuiIssue, type JsonSchema } from './schema.js';
9
9
  import { type TreeLimits, type TreeSchemaMode } from './tree.js';
10
10
  /** A lib tool: register it with `aiTool(tool)` (AdonisJS) or `registry.register(tool.spec, tool.handler)`. */
@@ -18,6 +18,8 @@ export interface GenuiTool {
18
18
  export interface GenuiToolOutput {
19
19
  shown: string;
20
20
  id: string;
21
+ /** What a check found that did not refuse the call (a prop the kit component does not declare). */
22
+ warnings?: string[];
21
23
  }
22
24
  /**
23
25
  * Who a catalog is being resolved for. `tenant` is `actor.tenantRef`. `threadId` is absent only
@@ -128,6 +130,19 @@ export interface GenuiToolsOptions {
128
130
  * Only read with {@link channels}: the sandbox itself is a component of `catalog`.
129
131
  */
130
132
  sandbox?: boolean | DefineSandboxOptions;
133
+ /**
134
+ * Generative-UI telemetry (see `ToolSpec.genui`): every UI call is recorded with its metadata —
135
+ * tool, channel, mode, attempt, validity, error category, tokens and cost, time to first and to
136
+ * complete frame. NEVER the generated HTML/JSX or props, unless `samplePayloads: true` (for
137
+ * debugging; off by default — keep it off where the UI may show personal data). `false` records
138
+ * nothing.
139
+ */
140
+ telemetry?: GenuiTelemetryOptions | false;
141
+ }
142
+ /** {@link GenuiToolsOptions.telemetry}. */
143
+ export interface GenuiTelemetryOptions {
144
+ /** Also store each call's input (the generated code and props). Default `false`. */
145
+ samplePayloads?: boolean;
131
146
  }
132
147
  /** The default name of the generic show tool ({@link GenuiToolsOptions.showTool}). */
133
148
  export declare const GENUI_SHOW_TOOL = "ui__show";
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/genui/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/genui/tools.ts"],"names":[],"mappings":"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"}