@adonis-agora/agent 0.70.0 → 0.71.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 (94) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/providers/agent_provider.d.ts.map +1 -1
  3. package/dist/providers/agent_provider.js +3 -0
  4. package/dist/providers/agent_provider.js.map +1 -1
  5. package/dist/src/a2ui/adapter.d.ts +34 -0
  6. package/dist/src/a2ui/adapter.d.ts.map +1 -0
  7. package/dist/src/a2ui/adapter.js +223 -0
  8. package/dist/src/a2ui/adapter.js.map +1 -0
  9. package/dist/src/a2ui/core.d.ts +181 -0
  10. package/dist/src/a2ui/core.d.ts.map +1 -0
  11. package/dist/src/a2ui/core.js +513 -0
  12. package/dist/src/a2ui/core.js.map +1 -0
  13. package/dist/src/a2ui/index.d.ts +10 -0
  14. package/dist/src/a2ui/index.d.ts.map +1 -0
  15. package/dist/src/a2ui/index.js +10 -0
  16. package/dist/src/a2ui/index.js.map +1 -0
  17. package/dist/src/ag-ui/adapter.d.ts +9 -0
  18. package/dist/src/ag-ui/adapter.d.ts.map +1 -1
  19. package/dist/src/ag-ui/adapter.js +29 -2
  20. package/dist/src/ag-ui/adapter.js.map +1 -1
  21. package/dist/src/ag-ui/core/encoder.d.ts +7 -0
  22. package/dist/src/ag-ui/core/encoder.d.ts.map +1 -1
  23. package/dist/src/ag-ui/core/encoder.js +12 -1
  24. package/dist/src/ag-ui/core/encoder.js.map +1 -1
  25. package/dist/src/ag-ui/core/input.d.ts +7 -0
  26. package/dist/src/ag-ui/core/input.d.ts.map +1 -1
  27. package/dist/src/ag-ui/core/input.js +7 -0
  28. package/dist/src/ag-ui/core/input.js.map +1 -1
  29. package/dist/src/ag-ui/core/types.d.ts +8 -0
  30. package/dist/src/ag-ui/core/types.d.ts.map +1 -1
  31. package/dist/src/ag-ui/core/types.js.map +1 -1
  32. package/dist/src/genui/actions.d.ts +70 -0
  33. package/dist/src/genui/actions.d.ts.map +1 -0
  34. package/dist/src/genui/actions.js +116 -0
  35. package/dist/src/genui/actions.js.map +1 -0
  36. package/dist/src/genui/builtins.d.ts +1 -1
  37. package/dist/src/genui/builtins.d.ts.map +1 -1
  38. package/dist/src/genui/builtins.js +1 -0
  39. package/dist/src/genui/builtins.js.map +1 -1
  40. package/dist/src/genui/catalog.d.ts +9 -0
  41. package/dist/src/genui/catalog.d.ts.map +1 -1
  42. package/dist/src/genui/catalog.js +2 -0
  43. package/dist/src/genui/catalog.js.map +1 -1
  44. package/dist/src/genui/index.d.ts +9 -0
  45. package/dist/src/genui/index.d.ts.map +1 -1
  46. package/dist/src/genui/index.js +6 -2
  47. package/dist/src/genui/index.js.map +1 -1
  48. package/dist/src/genui/progressive.d.ts.map +1 -1
  49. package/dist/src/genui/progressive.js +4 -1
  50. package/dist/src/genui/progressive.js.map +1 -1
  51. package/dist/src/genui/public.d.ts +2 -0
  52. package/dist/src/genui/public.d.ts.map +1 -1
  53. package/dist/src/genui/public.js +2 -0
  54. package/dist/src/genui/public.js.map +1 -1
  55. package/dist/src/genui/sandbox.d.ts +169 -0
  56. package/dist/src/genui/sandbox.d.ts.map +1 -0
  57. package/dist/src/genui/sandbox.js +307 -0
  58. package/dist/src/genui/sandbox.js.map +1 -0
  59. package/dist/src/genui/tools.d.ts.map +1 -1
  60. package/dist/src/genui/tools.js +36 -0
  61. package/dist/src/genui/tools.js.map +1 -1
  62. package/dist/src/index.d.ts +1 -1
  63. package/dist/src/index.js +1 -1
  64. package/dist/src/opencode/client.d.ts +13 -0
  65. package/dist/src/opencode/client.d.ts.map +1 -1
  66. package/dist/src/opencode/turn.d.ts +17 -1
  67. package/dist/src/opencode/turn.d.ts.map +1 -1
  68. package/dist/src/opencode/turn.js +57 -0
  69. package/dist/src/opencode/turn.js.map +1 -1
  70. package/dist/src/opencode/turns.d.ts +2 -0
  71. package/dist/src/opencode/turns.d.ts.map +1 -1
  72. package/dist/src/opencode/turns.js +11 -0
  73. package/dist/src/opencode/turns.js.map +1 -1
  74. package/dist/src/react/core/genui/generative-ui.d.ts +19 -2
  75. package/dist/src/react/core/genui/generative-ui.d.ts.map +1 -1
  76. package/dist/src/react/core/genui/generative-ui.js +14 -3
  77. package/dist/src/react/core/genui/generative-ui.js.map +1 -1
  78. package/dist/src/react/core/genui/index.d.ts +3 -1
  79. package/dist/src/react/core/genui/index.d.ts.map +1 -1
  80. package/dist/src/react/core/genui/index.js +2 -1
  81. package/dist/src/react/core/genui/index.js.map +1 -1
  82. package/dist/src/react/core/genui/sandbox.d.ts +91 -0
  83. package/dist/src/react/core/genui/sandbox.d.ts.map +1 -0
  84. package/dist/src/react/core/genui/sandbox.js +242 -0
  85. package/dist/src/react/core/genui/sandbox.js.map +1 -0
  86. package/dist/src/react/core/genui/types.d.ts +6 -0
  87. package/dist/src/react/core/genui/types.d.ts.map +1 -1
  88. package/dist/src/react/core/use-agent-chat.d.ts +3 -0
  89. package/dist/src/react/core/use-agent-chat.d.ts.map +1 -1
  90. package/dist/src/react/core/use-agent-chat.js +8 -0
  91. package/dist/src/react/core/use-agent-chat.js.map +1 -1
  92. package/dist/src/spi/protocol-adapter.d.ts +3 -0
  93. package/dist/src/spi/protocol-adapter.d.ts.map +1 -1
  94. package/package.json +30 -22
@@ -0,0 +1,169 @@
1
+ /**
2
+ * Sandboxed generated UI: a catalog component whose props are HTML, CSS and JavaScript the model
3
+ * writes for a one-off interactive answer (a calculator, a small simulation, a bespoke chart) when
4
+ * no catalog component fits. Opt-in — add {@link Sandbox} (or {@link defineSandbox}`({ … })`) to a
5
+ * catalog, or pass `sandbox: true` to `genui({ … })`.
6
+ *
7
+ * Everything here is framework-free and isomorphic: the server uses the definition (description,
8
+ * schema, text fallback, streaming trim), the browser renderer uses the same policy to build the
9
+ * iframe document and to check what the frame sends back.
10
+ */
11
+ import { type ComponentDefinition } from './catalog.js';
12
+ /** The component name the builtin {@link Sandbox} registers under. */
13
+ export declare const SANDBOX_COMPONENT = "Sandbox";
14
+ /** The props a model writes, in the order it writes them (see {@link SANDBOX_FIELD_ORDER}). */
15
+ export interface SandboxProps {
16
+ /** Height in CSS pixels to reserve while the code streams. The frame then sizes to its content. */
17
+ initialHeight?: number;
18
+ /** Short lines shown in the placeholder while the code streams ("Setting up the calculator…"). */
19
+ placeholderMessages?: string[];
20
+ /** A short title, for the frame's accessible name and for text-only clients. */
21
+ title?: string;
22
+ /** One or two sentences on what the view shows — what a client that cannot run it prints. */
23
+ summary?: string;
24
+ /** Styles, injected in a `<style>` before the HTML. */
25
+ css?: string;
26
+ /** The body markup. No `<script src>` (no network); inline `<script>` runs once the view is live. */
27
+ html?: string;
28
+ /** Function declarations, run once as one classic script after the HTML. */
29
+ jsFunctions?: string;
30
+ /** Statements run in order after `jsFunctions`, each as its own classic script (no top-level await). */
31
+ jsExpressions?: string[];
32
+ }
33
+ /**
34
+ * The order the fields stream in, and the order the renderer uses them: a placeholder of the right
35
+ * height first, then the styles (so the markup never draws unstyled), the markup, and the behavior
36
+ * last — the same sequence as CopilotKit's Open Generative UI.
37
+ */
38
+ export declare const SANDBOX_FIELD_ORDER: readonly ['initialHeight', 'placeholderMessages', 'title', 'summary', 'css', 'html', 'jsFunctions', 'jsExpressions'];
39
+ /**
40
+ * Who the sandbox may reach and how much it may send back. The DEFAULT IS NO NETWORK AT ALL: no
41
+ * fetch, no external script, style, font, image or media — only inline code and `data:`/`blob:`
42
+ * URLs. List origins (`https://tile.openstreetmap.org`, or `https://*.tile.openstreetmap.org`) per
43
+ * kind to open exactly those.
44
+ */
45
+ export interface SandboxPolicy {
46
+ allow?: {
47
+ /** `img-src` (map tiles, photos). */
48
+ images?: readonly string[];
49
+ /** `connect-src` (`fetch`, `XMLHttpRequest`, `WebSocket`). */
50
+ connect?: readonly string[];
51
+ /** `script-src` (a charting library from a CDN). */
52
+ scripts?: readonly string[];
53
+ /** `style-src`. */
54
+ styles?: readonly string[];
55
+ /** `font-src`. */
56
+ fonts?: readonly string[];
57
+ /** `media-src`. */
58
+ media?: readonly string[];
59
+ };
60
+ /** Largest `agent.send(…)` payload accepted, as JSON, in bytes. Default 8192. */
61
+ maxPayloadBytes?: number;
62
+ /** Least time between two accepted sends from one view, in ms. Default 1000. */
63
+ minSendIntervalMs?: number;
64
+ /** Most sends one view may make. Default 20. */
65
+ maxSends?: number;
66
+ /** Tallest the frame may grow, in CSS pixels. Default 1600. */
67
+ maxHeight?: number;
68
+ }
69
+ export declare const SANDBOX_DEFAULTS: {
70
+ readonly initialHeight: 240;
71
+ readonly maxPayloadBytes: 8192;
72
+ readonly minSendIntervalMs: 1000;
73
+ readonly maxSends: 20;
74
+ readonly maxHeight: 1600;
75
+ };
76
+ /** Throws unless every listed origin is a bare `https://host[:port]` (or `https://*.host`). */
77
+ export declare function assertSandboxPolicy(policy: SandboxPolicy): void;
78
+ /**
79
+ * The Content-Security-Policy every sandbox document carries (as a `<meta>`, first thing in its
80
+ * head). Inline scripts and styles run — they ARE the generated UI — but nothing else loads, no
81
+ * form posts and no navigation of the frame's base, unless the policy lists an origin.
82
+ */
83
+ export declare function sandboxCsp(policy?: SandboxPolicy): string;
84
+ /** The `sandbox` attribute of the frame: scripts, and nothing else — above all no `allow-same-origin`. */
85
+ export declare const SANDBOX_IFRAME_FLAGS = "allow-scripts";
86
+ /** The type tags of the messages a sandbox frame and its host exchange. */
87
+ export declare const SANDBOX_MESSAGE: {
88
+ /** frame → host: the bridge is up. */
89
+ readonly ready: 'agora:sandbox:ready';
90
+ /** frame → host: `{ height }` — the content's height. */
91
+ readonly resize: 'agora:sandbox:resize';
92
+ /** frame → host: `{ payload }` — `agent.send(payload)`. */
93
+ readonly send: 'agora:sandbox:send';
94
+ /** frame → host: `{ message }` — an uncaught error in the generated code. */
95
+ readonly error: 'agora:sandbox:error';
96
+ /** host → frame: `{ css, html }` — redraw the preview (no scripts run). */
97
+ readonly render: 'agora:sandbox:render';
98
+ /** host → frame: `{ code }` — run one more classic script. */
99
+ readonly run: 'agora:sandbox:run';
100
+ };
101
+ export interface SandboxDocumentOptions {
102
+ /** A per-frame value every bridge message carries, so the host can tell this frame's messages apart. */
103
+ token: string;
104
+ /**
105
+ * Where the bridge posts its messages (the host page's origin). The frame's own origin is opaque
106
+ * (`null`): it can address its parent, never be addressed by name.
107
+ */
108
+ hostOrigin: string;
109
+ policy?: SandboxPolicy;
110
+ /**
111
+ * `'preview'`: CSS + markup only, scripts stripped; the host redraws it with `render` messages
112
+ * while the model writes. `'live'`: the whole view, its inline scripts and `jsFunctions` /
113
+ * `jsExpressions` included.
114
+ */
115
+ mode: 'preview' | 'live';
116
+ /** Run the JavaScript fields inline (`live` only). Default true; false when the host streams them in with `run`. */
117
+ inlineJs?: boolean;
118
+ }
119
+ /**
120
+ * The `srcdoc` of a sandbox frame. The CSP `<meta>` comes first, then the bridge, the base styles and
121
+ * the model's CSS, then its markup — and, live, its `jsFunctions` and each `jsExpressions` entry as
122
+ * classic scripts, in that order.
123
+ */
124
+ export declare function buildSandboxDocument(props: SandboxProps, options: SandboxDocumentOptions): string;
125
+ /**
126
+ * Markup the model is still writing, made safe to draw as a preview: the half-written tag at the end
127
+ * dropped, `<script>`/`<style>`/`<head>` blocks (whole or cut off) removed, a cut-off entity dropped,
128
+ * and only what is inside `<body>` kept.
129
+ */
130
+ export declare function previewHtml(html: string): string;
131
+ /**
132
+ * Sandbox props as they are while the model writes them: only what may be shown or run. CSS and
133
+ * `jsFunctions` are held until their string closes, a `jsExpressions` entry until it closes (code is
134
+ * never run half written), a half-written placeholder line is dropped; the markup streams as it is.
135
+ */
136
+ export declare function sandboxPartialProps(props: Record<string, unknown>, input: {
137
+ isOpen(container: object): boolean;
138
+ pendingMember(container: object): unknown;
139
+ }): Record<string, unknown>;
140
+ export interface DefineSandboxOptions {
141
+ /** Component name. Default `Sandbox`. */
142
+ name?: string;
143
+ /** Replaces the model-facing description (keep the "last resort" rule in it). */
144
+ description?: string;
145
+ /** Extra rules appended to the description (house style, what the app wants from it). */
146
+ instructions?: string;
147
+ /** Network allowances and send limits; also what the renderer enforces by default. */
148
+ policy?: SandboxPolicy;
149
+ version?: number;
150
+ }
151
+ /** A sandbox definition: a {@link ComponentDefinition} that carries its {@link SandboxPolicy}. */
152
+ export type SandboxDefinition = ComponentDefinition<SandboxProps> & {
153
+ readonly sandbox: SandboxPolicy;
154
+ };
155
+ /**
156
+ * A sandbox component. `streaming: 'partial'`, so in tree mode it draws while the model writes it:
157
+ * a placeholder of `initialHeight`, then the styled markup, then — once the code has closed — the
158
+ * live view.
159
+ *
160
+ * ```ts
161
+ * const catalog = defineCatalog([...myComponents, defineSandbox({ policy: { allow: { images: ['https://tile.openstreetmap.org'] } } })])
162
+ * ```
163
+ */
164
+ export declare function defineSandbox(options?: DefineSandboxOptions): SandboxDefinition;
165
+ /** The builtin sandbox: no network, default limits. */
166
+ export declare const Sandbox: SandboxDefinition;
167
+ /** The sandbox policy a definition carries (`{}` for a component that is not a sandbox). */
168
+ export declare function sandboxPolicyOf(definition: unknown): SandboxPolicy | undefined;
169
+ //# sourceMappingURL=sandbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../../src/genui/sandbox.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,307 @@
1
+ /**
2
+ * Sandboxed generated UI: a catalog component whose props are HTML, CSS and JavaScript the model
3
+ * writes for a one-off interactive answer (a calculator, a small simulation, a bespoke chart) when
4
+ * no catalog component fits. Opt-in — add {@link Sandbox} (or {@link defineSandbox}`({ … })`) to a
5
+ * catalog, or pass `sandbox: true` to `genui({ … })`.
6
+ *
7
+ * Everything here is framework-free and isomorphic: the server uses the definition (description,
8
+ * schema, text fallback, streaming trim), the browser renderer uses the same policy to build the
9
+ * iframe document and to check what the frame sends back.
10
+ */
11
+ import { defineComponent } from './catalog.js';
12
+ /** The component name the builtin {@link Sandbox} registers under. */
13
+ export const SANDBOX_COMPONENT = 'Sandbox';
14
+ /**
15
+ * The order the fields stream in, and the order the renderer uses them: a placeholder of the right
16
+ * height first, then the styles (so the markup never draws unstyled), the markup, and the behavior
17
+ * last — the same sequence as CopilotKit's Open Generative UI.
18
+ */
19
+ export const SANDBOX_FIELD_ORDER = [
20
+ 'initialHeight',
21
+ 'placeholderMessages',
22
+ 'title',
23
+ 'summary',
24
+ 'css',
25
+ 'html',
26
+ 'jsFunctions',
27
+ 'jsExpressions',
28
+ ];
29
+ export const SANDBOX_DEFAULTS = {
30
+ initialHeight: 240,
31
+ maxPayloadBytes: 8192,
32
+ minSendIntervalMs: 1000,
33
+ maxSends: 20,
34
+ maxHeight: 1600,
35
+ };
36
+ const ORIGIN = /^https:\/\/(\*\.)?[a-z0-9-]+(\.[a-z0-9-]+)*(:\d{1,5})?$/i;
37
+ /** Throws unless every listed origin is a bare `https://host[:port]` (or `https://*.host`). */
38
+ export function assertSandboxPolicy(policy) {
39
+ for (const [kind, origins] of Object.entries(policy.allow ?? {})) {
40
+ for (const origin of origins ?? []) {
41
+ if (typeof origin !== 'string' || !ORIGIN.test(origin)) {
42
+ throw new TypeError(`genui sandbox: allow.${kind} entry "${String(origin)}" is not an https origin (https://host[:port] or https://*.host)`);
43
+ }
44
+ }
45
+ }
46
+ for (const key of ['maxPayloadBytes', 'minSendIntervalMs', 'maxSends', 'maxHeight']) {
47
+ const value = policy[key];
48
+ if (value !== undefined && (!Number.isFinite(value) || value < 0)) {
49
+ throw new RangeError(`genui sandbox: ${key} must be a non-negative number`);
50
+ }
51
+ }
52
+ }
53
+ /**
54
+ * The Content-Security-Policy every sandbox document carries (as a `<meta>`, first thing in its
55
+ * head). Inline scripts and styles run — they ARE the generated UI — but nothing else loads, no
56
+ * form posts and no navigation of the frame's base, unless the policy lists an origin.
57
+ */
58
+ export function sandboxCsp(policy = {}) {
59
+ assertSandboxPolicy(policy);
60
+ const allow = policy.allow ?? {};
61
+ const list = (origins) => origins !== undefined && origins.length > 0 ? ` ${origins.join(' ')}` : '';
62
+ const connect = allow.connect !== undefined && allow.connect.length > 0;
63
+ return [
64
+ "default-src 'none'",
65
+ `script-src 'unsafe-inline'${list(allow.scripts)}`,
66
+ `style-src 'unsafe-inline'${list(allow.styles)}`,
67
+ `img-src data: blob:${list(allow.images)}`,
68
+ `font-src data:${list(allow.fonts)}`,
69
+ `media-src data: blob:${list(allow.media)}`,
70
+ connect ? `connect-src${list(allow.connect)}` : "connect-src 'none'",
71
+ "frame-src 'none'",
72
+ "worker-src 'none'",
73
+ "object-src 'none'",
74
+ "form-action 'none'",
75
+ "base-uri 'none'",
76
+ ].join('; ');
77
+ }
78
+ /** The `sandbox` attribute of the frame: scripts, and nothing else — above all no `allow-same-origin`. */
79
+ export const SANDBOX_IFRAME_FLAGS = 'allow-scripts';
80
+ /** The type tags of the messages a sandbox frame and its host exchange. */
81
+ export const SANDBOX_MESSAGE = {
82
+ /** frame → host: the bridge is up. */
83
+ ready: 'agora:sandbox:ready',
84
+ /** frame → host: `{ height }` — the content's height. */
85
+ resize: 'agora:sandbox:resize',
86
+ /** frame → host: `{ payload }` — `agent.send(payload)`. */
87
+ send: 'agora:sandbox:send',
88
+ /** frame → host: `{ message }` — an uncaught error in the generated code. */
89
+ error: 'agora:sandbox:error',
90
+ /** host → frame: `{ css, html }` — redraw the preview (no scripts run). */
91
+ render: 'agora:sandbox:render',
92
+ /** host → frame: `{ code }` — run one more classic script. */
93
+ run: 'agora:sandbox:run',
94
+ };
95
+ /** `</script` inside generated code would close the element it is inlined in. */
96
+ function inlineScript(code) {
97
+ return code.replace(/<\/(script)/gi, '<\\/$1').replace(/<!--/g, '<\\!--');
98
+ }
99
+ function inlineStyle(css) {
100
+ return css.replace(/<\/(style)/gi, '<\\/$1');
101
+ }
102
+ function escapeAttribute(value) {
103
+ return value.replace(/&/g, '&amp;').replace(/"/g, '&quot;').replace(/</g, '&lt;');
104
+ }
105
+ /**
106
+ * The bridge every sandbox document starts with: `window.agent.send(values)`, content-height
107
+ * reports, uncaught errors, and — from the host only — `render` (preview redraws) and `run` (one more
108
+ * script). It is the only way out of the frame; the host checks everything it says.
109
+ */
110
+ function bridgeScript(token, hostOrigin) {
111
+ const t = JSON.stringify(token);
112
+ const o = JSON.stringify(hostOrigin);
113
+ const m = JSON.stringify(SANDBOX_MESSAGE);
114
+ return `(function(){var T=${t},O=${o},M=${m},P=window.parent;
115
+ 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){}}
116
+ 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}});
117
+ var last=-1;function size(){var b=document.body,d=document.documentElement;var h=Math.ceil(Math.max(b?b.scrollHeight:0,d?d.scrollHeight:0));if(h!==last){last=h;post(M.resize,{height:h})}}
118
+ window.addEventListener('error',function(e){post(M.error,{message:String(e&&e.message||'error')})});
119
+ window.addEventListener('unhandledrejection',function(e){post(M.error,{message:String(e&&e.reason&&e.reason.message||e&&e.reason||'unhandled rejection')})});
120
+ window.addEventListener('message',function(e){if(e.source!==P)return;var d=e.data;if(!d||d.token!==T)return;
121
+ 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()}
122
+ else if(d.type===M.run){var el=document.createElement('script');el.textContent=String(d.code||'');document.body.appendChild(el);size()}});
123
+ function start(){size();if(typeof ResizeObserver==='function'){new ResizeObserver(size).observe(document.documentElement)}window.addEventListener('load',size);post(M.ready,{})}
124
+ if(document.readyState==='loading'){document.addEventListener('DOMContentLoaded',start)}else{start()}})();`;
125
+ }
126
+ const BASE_CSS = 'html,body{margin:0;padding:0;overflow:hidden;background:transparent}body{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:14px;line-height:1.4;color:#1f2328}*,*::before,*::after{box-sizing:border-box}';
127
+ /**
128
+ * The `srcdoc` of a sandbox frame. The CSP `<meta>` comes first, then the bridge, the base styles and
129
+ * the model's CSS, then its markup — and, live, its `jsFunctions` and each `jsExpressions` entry as
130
+ * classic scripts, in that order.
131
+ */
132
+ export function buildSandboxDocument(props, options) {
133
+ const csp = sandboxCsp(options.policy);
134
+ const live = options.mode === 'live';
135
+ const html = live ? (props.html ?? '') : previewHtml(props.html ?? '');
136
+ const scripts = [];
137
+ if (live && options.inlineJs !== false) {
138
+ if (props.jsFunctions !== undefined && props.jsFunctions.trim().length > 0) {
139
+ scripts.push(props.jsFunctions);
140
+ }
141
+ for (const expression of props.jsExpressions ?? []) {
142
+ if (typeof expression === 'string' && expression.trim().length > 0)
143
+ scripts.push(expression);
144
+ }
145
+ }
146
+ return [
147
+ '<!doctype html><html><head><meta charset="utf-8">',
148
+ `<meta http-equiv="Content-Security-Policy" content="${escapeAttribute(csp)}">`,
149
+ '<meta name="referrer" content="no-referrer">',
150
+ `<script>${bridgeScript(options.token, options.hostOrigin)}</script>`,
151
+ `<style>${BASE_CSS}</style>`,
152
+ `<style id="agora-sandbox-css">${inlineStyle(props.css ?? '')}</style>`,
153
+ '</head><body>',
154
+ html,
155
+ ...scripts.map((code) => `<script>${inlineScript(code)}</script>`),
156
+ '</body></html>',
157
+ ].join('');
158
+ }
159
+ /**
160
+ * Markup the model is still writing, made safe to draw as a preview: the half-written tag at the end
161
+ * dropped, `<script>`/`<style>`/`<head>` blocks (whole or cut off) removed, a cut-off entity dropped,
162
+ * and only what is inside `<body>` kept.
163
+ */
164
+ export function previewHtml(html) {
165
+ let result = html;
166
+ result = result.replace(/<[^>]*$/, '');
167
+ result = result.replace(/<(style|script|head)\b[^>]*>[\s\S]*?<\/\1>/gi, '');
168
+ result = result.replace(/<(style|script|head)\b[^>]*>[\s\S]*$/gi, '');
169
+ result = result.replace(/&[a-zA-Z0-9#]*$/, '');
170
+ const body = result.match(/<body[^>]*>([\s\S]*)/i);
171
+ if (body !== null)
172
+ result = (body[1] ?? '').replace(/<\/body>[\s\S]*/i, '');
173
+ return result;
174
+ }
175
+ /**
176
+ * Sandbox props as they are while the model writes them: only what may be shown or run. CSS and
177
+ * `jsFunctions` are held until their string closes, a `jsExpressions` entry until it closes (code is
178
+ * never run half written), a half-written placeholder line is dropped; the markup streams as it is.
179
+ */
180
+ export function sandboxPartialProps(props, input) {
181
+ const pending = input.pendingMember(props);
182
+ const out = {};
183
+ for (const [key, value] of Object.entries(props)) {
184
+ if (key === 'css' || key === 'jsFunctions' || key === 'title' || key === 'summary') {
185
+ if (pending !== key && typeof value === 'string')
186
+ out[key] = value;
187
+ continue;
188
+ }
189
+ if (key === 'html') {
190
+ if (typeof value === 'string')
191
+ out.html = value;
192
+ continue;
193
+ }
194
+ if (key === 'initialHeight') {
195
+ if (pending !== key && typeof value === 'number')
196
+ out.initialHeight = value;
197
+ continue;
198
+ }
199
+ if (key === 'placeholderMessages' || key === 'jsExpressions') {
200
+ if (!Array.isArray(value))
201
+ continue;
202
+ const open = input.isOpen(value);
203
+ const cut = open ? input.pendingMember(value) : undefined;
204
+ out[key] = value.filter((item, index) => typeof item === 'string' && !(open && cut === index));
205
+ }
206
+ }
207
+ return out;
208
+ }
209
+ const sandboxSchema = {
210
+ type: 'object',
211
+ properties: {
212
+ initialHeight: {
213
+ type: 'integer',
214
+ minimum: 40,
215
+ maximum: 2000,
216
+ description: 'Height in px to reserve while the code streams. Write it FIRST.',
217
+ },
218
+ placeholderMessages: {
219
+ type: 'array',
220
+ items: { type: 'string', maxLength: 120 },
221
+ maxItems: 5,
222
+ description: 'One to three short loading lines shown while the code streams.',
223
+ },
224
+ title: { type: 'string', maxLength: 120, description: 'Short title of the view.' },
225
+ summary: {
226
+ type: 'string',
227
+ maxLength: 600,
228
+ description: 'One or two sentences describing the view, for clients that cannot run it.',
229
+ },
230
+ css: { type: 'string', maxLength: 60000, description: 'Styles (no @import of remote URLs).' },
231
+ html: {
232
+ type: 'string',
233
+ maxLength: 120000,
234
+ description: 'Body markup. Inline SVG for graphics. No <form> submission, no <script src>.',
235
+ },
236
+ jsFunctions: {
237
+ type: 'string',
238
+ maxLength: 120000,
239
+ description: 'Function declarations, run once after the HTML as a classic script.',
240
+ },
241
+ jsExpressions: {
242
+ type: 'array',
243
+ items: { type: 'string', maxLength: 20000 },
244
+ maxItems: 50,
245
+ description: 'Statements run in order after jsFunctions (wire up listeners, first render).',
246
+ },
247
+ },
248
+ required: ['html'],
249
+ additionalProperties: false,
250
+ };
251
+ function describe(policy, instructions) {
252
+ const allow = policy.allow ?? {};
253
+ const opened = Object.entries(allow)
254
+ .filter(([, origins]) => origins !== undefined && origins.length > 0)
255
+ .map(([kind, origins]) => `${kind} from ${(origins ?? []).join(', ')}`);
256
+ return [
257
+ 'An interactive mini-app you write yourself in HTML, CSS and JavaScript, drawn in an isolated sandbox.',
258
+ '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.',
259
+ 'Write the fields in this order: initialHeight, placeholderMessages, title, summary, css, html, jsFunctions, jsExpressions.',
260
+ opened.length > 0
261
+ ? `Network: only ${opened.join('; ')}. Everything else (fetch, CDNs, remote fonts) is blocked.`
262
+ : 'No network at all: no fetch, no external scripts, fonts or images — inline SVG and data: URLs only.',
263
+ '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.',
264
+ '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.',
265
+ ...(instructions !== undefined ? [instructions] : []),
266
+ ].join(' ');
267
+ }
268
+ /**
269
+ * A sandbox component. `streaming: 'partial'`, so in tree mode it draws while the model writes it:
270
+ * a placeholder of `initialHeight`, then the styled markup, then — once the code has closed — the
271
+ * live view.
272
+ *
273
+ * ```ts
274
+ * const catalog = defineCatalog([...myComponents, defineSandbox({ policy: { allow: { images: ['https://tile.openstreetmap.org'] } } })])
275
+ * ```
276
+ */
277
+ export function defineSandbox(options = {}) {
278
+ const policy = options.policy ?? {};
279
+ assertSandboxPolicy(policy);
280
+ const definition = defineComponent({
281
+ name: options.name ?? SANDBOX_COMPONENT,
282
+ title: 'Interactive view',
283
+ description: options.description ?? describe(policy, options.instructions),
284
+ props: sandboxSchema,
285
+ streaming: 'partial',
286
+ partialProps: sandboxPartialProps,
287
+ ...(options.version !== undefined ? { version: options.version } : {}),
288
+ fallbackText: (props) => {
289
+ const title = typeof props.title === 'string' && props.title.length > 0 ? props.title : '';
290
+ const summary = typeof props.summary === 'string' && props.summary.length > 0
291
+ ? props.summary
292
+ : 'An interactive view';
293
+ return `${title ? `*${title}*\n` : ''}${summary} (interactive — open the app to use it)`;
294
+ },
295
+ });
296
+ return Object.freeze({ ...definition, sandbox: Object.freeze({ ...policy }) });
297
+ }
298
+ /** The builtin sandbox: no network, default limits. */
299
+ export const Sandbox = defineSandbox();
300
+ /** The sandbox policy a definition carries (`{}` for a component that is not a sandbox). */
301
+ export function sandboxPolicyOf(definition) {
302
+ if (typeof definition !== 'object' || definition === null)
303
+ return undefined;
304
+ const policy = definition.sandbox;
305
+ return typeof policy === 'object' && policy !== null ? policy : undefined;
306
+ }
307
+ //# sourceMappingURL=sandbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../../../src/genui/sandbox.ts"],"names":[],"mappings":"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"}
@@ -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;AAEtB,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;CACpB;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,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;CACtC;AAED,sFAAsF;AACtF,eAAO,MAAM,eAAe,aAAa,CAAC;AAE1C;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,GAAE,iBAAsB,GAAG,SAAS,EAAE,CASzF;AA2MD,oFAAoF;AACpF,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU,CAgB/D;AAqHD,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":"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;AAEtB,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;CACpB;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,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;CACtC;AAED,sFAAsF;AACtF,eAAO,MAAM,eAAe,aAAa,CAAC;AAE1C;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,GAAE,iBAAsB,GAAG,SAAS,EAAE,CASzF;AAkPD,oFAAoF;AACpF,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU,CAgB/D;AAqHD,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"}
@@ -84,6 +84,42 @@ function componentTool(catalog, component, options) {
84
84
  inputSchema: permissiveSchema(toJsonSchema(definition.props) ?? { type: 'object' }),
85
85
  };
86
86
  };
87
+ if (component.partialProps !== undefined) {
88
+ // A component that says what of its half-written props may be shown (the sandbox) is drawn
89
+ // while the model writes the call: as a one-node tree, the shape every partial frame takes.
90
+ handler.previewInput = async (scope) => {
91
+ const resolved = negotiateCatalog(await catalogFor(catalog, options, scopeOf(scope)), scope.uiCapabilities);
92
+ const definition = modelComponent(resolved, component.name);
93
+ if (definition?.partialProps === undefined)
94
+ return undefined;
95
+ const trim = definition.partialProps;
96
+ return {
97
+ ...(options.streamingThrottleMs !== undefined
98
+ ? { throttleMs: options.streamingThrottleMs }
99
+ : {}),
100
+ render(input) {
101
+ const value = input.value;
102
+ if (typeof value !== 'object' || value === null || Array.isArray(value))
103
+ return undefined;
104
+ const props = input.done
105
+ ? value
106
+ : trim(value, input);
107
+ return {
108
+ component: GENUI_TREE_COMPONENT,
109
+ props: {
110
+ root: {
111
+ id: 'root',
112
+ type: component.name,
113
+ props,
114
+ ...(input.done ? {} : { incomplete: true }),
115
+ },
116
+ },
117
+ version: 1,
118
+ };
119
+ },
120
+ };
121
+ };
122
+ }
87
123
  return {
88
124
  spec: {
89
125
  name: toolNameFor(component.name, options.namePrefix),
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/genui/tools.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAIL,oBAAoB,EACpB,WAAW,GACZ,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EACL,YAAY,EAEZ,gBAAgB,EAEhB,YAAY,EACZ,aAAa,GACd,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EACL,oBAAoB,EAIpB,cAAc,EACd,YAAY,GACb,MAAM,WAAW,CAAC;AA6FnB,sFAAsF;AACtF,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CAAC;AAE1C;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,OAAgB,EAAE,OAAO,GAAsB,EAAE;IAC1E,MAAM,KAAK,GACT,OAAO,CAAC,IAAI,KAAK,eAAe;QAC9B,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAC9F,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IACnC,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;QACjE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,OAAO,CAAC,KAIhB;IACC,OAAO;QACL,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjF,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACzE,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CACjB,OAAgB,EAChB,OAA0B,EAC1B,KAAwB;IAExB,OAAO,OAAO,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AACxF,CAAC;AAED,SAAS,MAAM,CAAC,OAA0B;IACxC,OAAO;QACL,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACzD,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CACpB,OAAgB,EAChB,SAAuC,EACvC,OAA0B;IAE1B,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI;QAC7D,KAAK,EAAE,SAAS,CAAC,KAAK;QACtB,OAAO,EAAE,WAAW,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;QACjD,IAAI,EAAE,UAAU,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;QAC7C,MAAM,EAAE,EAAE,IAAI,EAAE,WAAoB,EAAE;KACvC,CAAC;IACF,MAAM,WAAW,GAAG,CAAC,UAAwC,EAAE,EAAE,CAC/D,mBAAmB,UAAU,CAAC,KAAK,KAAK,UAAU,CAAC,IAAI,MAAM,UAAU,CAAC,WAAW,EAAE,CAAC;IACxF,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,KAAK,SAAS,CAAC;IACrD,+FAA+F;IAC/F,gGAAgG;IAChG,MAAM,WAAW,GAAqB,OAAO;QAC3C,CAAC,CAAC,gBAAgB,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QACvE,CAAC,CAAC,gBAAgB,CAAC,SAAS,CAAC,KAAK,CAAC;YACjC,CAAC,CAAC,SAAS,CAAC,KAAK;YACjB,CAAC,CAAC,kBAAkB,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAC5C,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAmB,EAAE,KAAK,CAAC,CACjE,CAAC;IACR,MAAM,OAAO,GAAgB;QAC3B,KAAK,CAAC,OAAO,CAAC,KAAc,EAAE,GAAc;YAC1C,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YAClE,MAAM,UAAU,GAAG,cAAc,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;YAC5D,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CAAC,cAAc,SAAS,CAAC,IAAI,yBAAyB,CAAC,CAAC;YACzE,CAAC;YACD,mFAAmF;YACnF,qFAAqF;YACrF,MAAM,SAAS,GAAG,MAAM,aAAa,CACnC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,IAAI,UAAU,CAAC,KAAK,CAAC,EACzE,KAAK,EACL,QAAQ,CAAC,SAAS,CACnB,CAAC;YACF,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CAAC,WAAW,SAAS,CAAC,IAAI,WAAW,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACxF,CAAC;YACD,OAAO,IAAI,CACT,GAAG,EACH,SAAS,CAAC,IAAI,EACd,SAAS,CAAC,KAAgC,EAC1C,UAAU,CAAC,OAAO,CACnB,CAAC;QACJ,CAAC;KACF,CAAC;IACF,OAAO,CAAC,QAAQ,GAAG,KAAK,EAAE,KAAwB,EAA4B,EAAE;QAC9E,MAAM,QAAQ,GAAG,gBAAgB,CAC/B,MAAM,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAClD,KAAK,CAAC,cAAc,CACrB,CAAC;QACF,MAAM,UAAU,GAAG,cAAc,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QAC5D,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO;gBACL,SAAS,EAAE,KAAK;gBAChB,WAAW,EAAE,gEAAgE,SAAS,CAAC,IAAI,GAAG;aAC/F,CAAC;QACJ,CAAC;QACD,OAAO;YACL,WAAW,EAAE,WAAW,CAAC,UAAU,CAAC;YACpC,WAAW,EAAE,gBAAgB,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;SACpF,CAAC;IACJ,CAAC,CAAC;IACF,OAAO;QACL,IAAI,EAAE;YACJ,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC;YACrD,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,WAAW,CAAC,SAAS,CAAC;YACnC,WAAW;YACX,YAAY;YACZ,GAAG,MAAM,CAAC,OAAO,CAAC;SACnB;QACD,OAAO;KACR,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,OAAgB,EAAE,OAA0B;IAC5D,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,IAAI,YAAY,CAAC;IAClD,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,IAAI;QACnD,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,uBAAuB;QAChC,IAAI,EAAE,qBAAqB;QAC3B,MAAM,EAAE,EAAE,IAAI,EAAE,WAAoB,EAAE;KACvC,CAAC;IACF,MAAM,WAAW,GAAG,CAAC,QAAiB,EAAE,EAAE,CACxC;QACE,OAAO,CAAC,gBAAgB,IAAI,qDAAqD;QACjF,kBAAkB,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;KAC/C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,KAAK,SAAS,CAAC;IACrD,MAAM,iBAAiB,GAAG,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACjG,MAAM,OAAO,GAAgB;QAC3B,KAAK,CAAC,OAAO,CAAC,KAAc,EAAE,GAAc;YAC1C,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YAClE,MAAM,MAAM,GAAG,MAAM,YAAY,CAC/B,QAAQ,EACR,KAAK,EACL,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAC7B,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,oBAAoB,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACrE,CAAC;YACD,MAAM,IAAI,GAAiB,MAAM,CAAC,KAAK,CAAC;YACxC,wFAAwF;YACxF,oFAAoF;YACpF,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvC,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACpF,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;YAC1D,CAAC;YACD,OAAO,IAAI,CAAC,GAAG,EAAE,oBAAoB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;KACF,CAAC;IACF,OAAO,CAAC,QAAQ,GAAG,KAAK,EAAE,KAAwB,EAA4B,EAAE;QAC9E,MAAM,QAAQ,GAAG,gBAAgB,CAC/B,MAAM,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAClD,KAAK,CAAC,cAAc,CACrB,CAAC;QACF,OAAO;YACL,SAAS,EAAE,QAAQ,CAAC,eAAe,EAAE,CAAC,MAAM,GAAG,CAAC;YAChD,WAAW,EAAE,WAAW,CAAC,QAAQ,CAAC;YAClC,WAAW,EAAE,gBAAgB,CAAC,cAAc,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;SAC3E,CAAC;IACJ,CAAC,CAAC;IACF,OAAO,CAAC,YAAY,GAAG,KAAK,EAC1B,KAA4B,EACW,EAAE;QACzC,6FAA6F;QAC7F,6EAA6E;QAC7E,MAAM,QAAQ,GAAG,gBAAgB,CAC/B,MAAM,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAClD,KAAK,CAAC,cAAc,CACrB,CAAC;QACF,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,UAAU,CAAC;QAClD,qFAAqF;QACrF,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,KAAK,SAAS,CAAC,EAAE,CAAC;YAC5F,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO;YACL,GAAG,CAAC,OAAO,CAAC,mBAAmB,KAAK,SAAS;gBAC3C,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,mBAAmB,EAAE;gBAC7C,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,CAAC,KAAK;gBACV,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE;oBACxC,SAAS;oBACT,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC5E,CAAC,CAAC;gBACH,IAAI,IAAI,KAAK,IAAI;oBAAE,OAAO,IAAI,CAAC;gBAC/B,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI;oBAAE,OAAO,SAAS,CAAC;gBACzC,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;YACrF,CAAC;SACF,CAAC;IACJ,CAAC,CAAC;IACF,OAAO;QACL,IAAI,EAAE;YACJ,IAAI;YACJ,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,WAAW,CAAC,OAAO,CAAC;YACjC,WAAW,EAAE,OAAO;gBAClB,CAAC,CAAC,gBAAgB,CAAC,cAAc,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;gBAC9D,CAAC,CAAC,uBAAuB,CAAC,cAAc,CAAC,OAAO,EAAE,iBAAiB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;oBAClF,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;oBAC/E,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;gBACzE,CAAC,CAAC;YACN,YAAY;YACZ,GAAG,MAAM,CAAC,OAAO,CAAC;SACnB;QACD,OAAO;KACR,CAAC;AACJ,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,kBAAkB,CAAC,OAAgB;IACjD,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC;gBACtE,WAAW,EAAE,iCAAiC;aAC/C;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,sDAAsD;aACpE;SACF;QACD,QAAQ,EAAE,CAAC,WAAW,EAAE,OAAO,CAAC;KACjC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,YAAY,CACzB,OAAgB,EAChB,KAAc,EACd,KAAK,GAAuB,OAAO;IAKnC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC,EAAE,CAAC;IACxF,CAAC;IACD,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,KAAiD,CAAC;IAC/E,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC,EAAE,CAAC;IAC/F,CAAC;IACD,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACtD,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC7D,MAAM,OAAO,GAAG,oBAAoB,CAAC,OAAO,CAAC;aAC1C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;aACxB,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EAAE;gBACN,EAAE,IAAI,EAAE,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,sBAAsB,SAAS,eAAe,OAAO,GAAG,EAAE;aAC3F;SACF,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,aAAa,CACnC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,IAAI,UAAU,CAAC,KAAK,CAAC,EACnF,KAAK,IAAI,EAAE,EACX,OAAO,CAAC,SAAS,CAClB,CAAC;IACF,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;QAClB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACxF,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,CAAC,KAAgC,EAAE,CAAC;AACrF,CAAC;AAED,SAAS,QAAQ,CAAC,OAAgB,EAAE,OAA0B;IAC5D,MAAM,IAAI,GAAG,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC;IACvF,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,IAAI;QACnD,KAAK,EAAE,MAAM;QACb,OAAO,EAAE,kBAAkB;QAC3B,IAAI,EAAE,eAAe;QACrB,MAAM,EAAE,EAAE,IAAI,EAAE,WAAoB,EAAE;KACvC,CAAC;IACF,MAAM,WAAW,GAAG,CAAC,QAAiB,EAAE,EAAE,CACxC;QACE,OAAO,CAAC,gBAAgB,IAAI,+CAA+C;QAC3E,kBAAkB,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;KAC/C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,KAAK,SAAS,CAAC;IACrD,MAAM,OAAO,GAAgB;QAC3B,KAAK,CAAC,OAAO,CAAC,KAAc,EAAE,GAAc;YAC1C,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YAClE,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YACjF,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,UAAU,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC1E,CAAC;YACD,OAAO,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACpF,CAAC;KACF,CAAC;IACF,OAAO,CAAC,QAAQ,GAAG,KAAK,EAAE,KAAwB,EAA4B,EAAE;QAC9E,MAAM,QAAQ,GAAG,gBAAgB,CAC/B,MAAM,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAClD,KAAK,CAAC,cAAc,CACrB,CAAC;QACF,OAAO;YACL,SAAS,EAAE,oBAAoB,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC;YACpD,WAAW,EAAE,WAAW,CAAC,QAAQ,CAAC;YAClC,WAAW,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;SAC5D,CAAC;IACJ,CAAC,CAAC;IACF,OAAO;QACL,IAAI,EAAE;YACJ,IAAI;YACJ,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,WAAW,CAAC,OAAO,CAAC;YACjC,WAAW,EAAE,OAAO;gBAClB,CAAC,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;gBAC/C,CAAC,CAAC,uBAAuB,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;oBACnE,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;oBAClD,OAAO,MAAM,CAAC,EAAE;wBACd,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE;wBACvE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;gBAChC,CAAC,CAAC;YACN,YAAY;YACZ,GAAG,MAAM,CAAC,OAAO,CAAC;SACnB;QACD,OAAO;KACR,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,OAAgB,EAAE,IAAY;IACpD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACrC,OAAO,UAAU,KAAK,SAAS,IAAI,UAAU,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;AAC3F,CAAC;AAED,KAAK,UAAU,IAAI,CACjB,GAAc,EACd,SAAiB,EACjB,KAA8B,EAC9B,OAAgB;IAEhB,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5F,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;AAClC,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9E,CAAC;AAID;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAChC,MAAkB,EAClB,QAA0C;IAE1C,OAAO,uBAAuB,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;QAC/C,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC/B,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;IACpD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,iGAAiG;AACjG,SAAS,gBAAgB,CAAC,MAAkB;IAC1C,OAAO,uBAAuB,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,uBAAuB,CAC9B,MAAkB,EAClB,QAK8E;IAE9E,MAAM,QAAQ,GAAG,CACf,OAA0E,EACxC,EAAE,CACpC,OAAO,CAAC,MAAM,KAAK,SAAS;QAC1B,CAAC,CAAC;YACE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;SACtF;QACH,CAAC,CAAC,EAAE,KAAK,EAAG,OAA8B,CAAC,KAAK,EAAE,CAAC;IACvD,OAAO;QACL,WAAW,EAAE;YACX,OAAO,EAAE,CAAC;YACV,MAAM,EAAE,0BAA0B;YAClC,QAAQ,CAAC,KAAK;gBACZ,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAChC,OAAO,OAAO,YAAY,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACjF,CAAC;YACD,UAAU,EAAE;gBACV,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM;gBACnB,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM;aACrB;SACF;KACoB,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/genui/tools.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ export * from './action-proposal-text.js';
7
7
  export * from './action-proposal-worker.js';
8
8
  export * from './spi/action-proposal-outcome-store.js';
9
9
  export * from './spi/background-actor-resolver.js';
10
- export declare const VERSION = "0.70.0";
10
+ export declare const VERSION = "0.71.0";
11
11
  export { configure } from '../configure.js';
12
12
  export * from './action-proposal-discovery.js';
13
13
  export { prepareActionProposal } from './action-proposal-preparation.js';