deepclause-sdk 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +83 -12
- package/dist/agent.d.ts +14 -1
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +117 -9
- package/dist/agent.js.map +1 -1
- package/dist/cli/config.d.ts +86 -26
- package/dist/cli/config.d.ts.map +1 -1
- package/dist/cli/config.js +15 -0
- package/dist/cli/config.js.map +1 -1
- package/dist/cli/index.js +38 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/repl.d.ts +27 -0
- package/dist/cli/repl.d.ts.map +1 -1
- package/dist/cli/repl.js +191 -5
- package/dist/cli/repl.js.map +1 -1
- package/dist/cli/run.d.ts.map +1 -1
- package/dist/cli/run.js +16 -0
- package/dist/cli/run.js.map +1 -1
- package/dist/cli/visualize.d.ts +4 -0
- package/dist/cli/visualize.d.ts.map +1 -1
- package/dist/cli/visualize.js +29 -4
- package/dist/cli/visualize.js.map +1 -1
- package/dist/prolog/bridge.d.ts +3 -1
- package/dist/prolog/bridge.d.ts.map +1 -1
- package/dist/prolog/bridge.js +2 -0
- package/dist/prolog/bridge.js.map +1 -1
- package/dist/prolog/loader.d.ts +32 -0
- package/dist/prolog/loader.d.ts.map +1 -1
- package/dist/prolog/loader.js +87 -0
- package/dist/prolog/loader.js.map +1 -1
- package/dist/prolog-src/deepclause_mi.pl +1217 -120
- package/dist/repl/agent.d.ts +33 -1
- package/dist/repl/agent.d.ts.map +1 -1
- package/dist/repl/agent.js +91 -8
- package/dist/repl/agent.js.map +1 -1
- package/dist/repl/backend.d.ts +31 -0
- package/dist/repl/backend.d.ts.map +1 -1
- package/dist/repl/backend.js +122 -77
- package/dist/repl/backend.js.map +1 -1
- package/dist/repl/harness-tools.d.ts +49 -2
- package/dist/repl/harness-tools.d.ts.map +1 -1
- package/dist/repl/harness-tools.js +87 -7
- package/dist/repl/harness-tools.js.map +1 -1
- package/dist/repl/imagegen.d.ts +29 -0
- package/dist/repl/imagegen.d.ts.map +1 -0
- package/dist/repl/imagegen.js +84 -0
- package/dist/repl/imagegen.js.map +1 -0
- package/dist/repl/index.d.ts +20 -2
- package/dist/repl/index.d.ts.map +1 -1
- package/dist/repl/index.js +6 -0
- package/dist/repl/index.js.map +1 -1
- package/dist/repl/model-resolver.d.ts +59 -0
- package/dist/repl/model-resolver.d.ts.map +1 -0
- package/dist/repl/model-resolver.js +156 -0
- package/dist/repl/model-resolver.js.map +1 -0
- package/dist/repl/render.d.ts +36 -2
- package/dist/repl/render.d.ts.map +1 -1
- package/dist/repl/render.js +175 -17
- package/dist/repl/render.js.map +1 -1
- package/dist/repl/session.d.ts +129 -4
- package/dist/repl/session.d.ts.map +1 -1
- package/dist/repl/session.js +380 -17
- package/dist/repl/session.js.map +1 -1
- package/dist/repl/tool-arguments.d.ts +36 -0
- package/dist/repl/tool-arguments.d.ts.map +1 -0
- package/dist/repl/tool-arguments.js +123 -0
- package/dist/repl/tool-arguments.js.map +1 -0
- package/dist/repl/toolset.d.ts +28 -1
- package/dist/repl/toolset.d.ts.map +1 -1
- package/dist/repl/toolset.js +52 -4
- package/dist/repl/toolset.js.map +1 -1
- package/dist/repl/tui/transcript.d.ts +2 -0
- package/dist/repl/tui/transcript.d.ts.map +1 -1
- package/dist/repl/tui/transcript.js +16 -0
- package/dist/repl/tui/transcript.js.map +1 -1
- package/dist/runner.d.ts +44 -2
- package/dist/runner.d.ts.map +1 -1
- package/dist/runner.js +293 -33
- package/dist/runner.js.map +1 -1
- package/dist/system/assets/docs/AGENT_PROMPT.md +1000 -44
- package/dist/system/assets/docs/DML_AUTHORING.md +96 -17
- package/dist/system/assets/docs/DML_REFERENCE.md +652 -39
- package/dist/system/assets/docs/PROLOG_SNIPPETS.md +45 -1
- package/dist/system/assets/docs/TASK_PROMPT.md +2 -0
- package/dist/system/environment.d.ts +36 -0
- package/dist/system/environment.d.ts.map +1 -0
- package/dist/system/environment.js +81 -0
- package/dist/system/environment.js.map +1 -0
- package/dist/system/runtime/shell-manager.d.ts +40 -2
- package/dist/system/runtime/shell-manager.d.ts.map +1 -1
- package/dist/system/runtime/shell-manager.js +82 -16
- package/dist/system/runtime/shell-manager.js.map +1 -1
- package/dist/system/runtime/shell-tool-events.js +25 -1
- package/dist/system/runtime/shell-tool-events.js.map +1 -1
- package/dist/types.d.ts +76 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/visualize/ascii.d.ts +55 -0
- package/dist/visualize/ascii.d.ts.map +1 -0
- package/dist/visualize/ascii.js +242 -0
- package/dist/visualize/ascii.js.map +1 -0
- package/dist/visualize/display.d.ts +24 -0
- package/dist/visualize/display.d.ts.map +1 -0
- package/dist/visualize/display.js +29 -0
- package/dist/visualize/display.js.map +1 -0
- package/dist/visualize/graphics.d.ts +35 -0
- package/dist/visualize/graphics.d.ts.map +1 -0
- package/dist/visualize/graphics.js +96 -0
- package/dist/visualize/graphics.js.map +1 -0
- package/dist/visualize/image.d.ts +38 -0
- package/dist/visualize/image.d.ts.map +1 -0
- package/dist/visualize/image.js +95 -0
- package/dist/visualize/image.js.map +1 -0
- package/dist/visualize/index.d.ts +7 -0
- package/dist/visualize/index.d.ts.map +1 -1
- package/dist/visualize/index.js +9 -0
- package/dist/visualize/index.js.map +1 -1
- package/dist/visualize/raster.d.ts +23 -0
- package/dist/visualize/raster.d.ts.map +1 -0
- package/dist/visualize/raster.js +47 -0
- package/dist/visualize/raster.js.map +1 -0
- package/dist/visualize/svg.d.ts +39 -0
- package/dist/visualize/svg.d.ts.map +1 -0
- package/dist/visualize/svg.js +148 -0
- package/dist/visualize/svg.js.map +1 -0
- package/dist/visualize/transcode.d.ts +13 -0
- package/dist/visualize/transcode.d.ts.map +1 -0
- package/dist/visualize/transcode.js +40 -0
- package/dist/visualize/transcode.js.map +1 -0
- package/docs/images/repl.png +0 -0
- package/package.json +10 -6
- package/src/prolog-src/deepclause_mi.pl +1217 -120
- package/dist/compaction.d.ts +0 -98
- package/dist/compaction.d.ts.map +0 -1
- package/dist/compaction.js +0 -471
- package/dist/compaction.js.map +0 -1
- package/dist/repl/tools.d.ts +0 -53
- package/dist/repl/tools.d.ts.map +0 -1
- package/dist/repl/tools.js +0 -307
- package/dist/repl/tools.js.map +0 -1
- package/dist/system/assets/compactors/default-loop-compactor.dml +0 -43
- package/dist/system/assets/compactors/default-session-compactor.dml +0 -30
- package/dist/system/assets/docs/META_PROMPT.md +0 -68
package/dist/repl/render.js
CHANGED
|
@@ -9,6 +9,10 @@
|
|
|
9
9
|
* This is the M1 surface (solutions, output, answer, errors). Live streaming
|
|
10
10
|
* of model text/tool calls is added in M3.
|
|
11
11
|
*/
|
|
12
|
+
import { spawn } from 'child_process';
|
|
13
|
+
import * as path from 'path';
|
|
14
|
+
import { hyperlink } from '@earendil-works/pi-tui';
|
|
15
|
+
import { renderTerminalImage, resolveGraphicsProtocol } from '../visualize/index.js';
|
|
12
16
|
import { formatListing } from './highlight.js';
|
|
13
17
|
import { MarkdownStream } from './markdown.js';
|
|
14
18
|
/** Activity events hidden by `--no-events` (output/answer/input/error stay). */
|
|
@@ -54,14 +58,27 @@ function boundOutput(text, max = OUTPUT_LINES) {
|
|
|
54
58
|
...lines.slice(lines.length - tail),
|
|
55
59
|
];
|
|
56
60
|
}
|
|
57
|
-
/**
|
|
58
|
-
function
|
|
61
|
+
/** Captured output of a tool result (bash stdout, else stderr). */
|
|
62
|
+
function toolResultText(result) {
|
|
59
63
|
if (!result || typeof result !== 'object')
|
|
60
|
-
return
|
|
64
|
+
return '';
|
|
61
65
|
const r = result;
|
|
62
|
-
const
|
|
63
|
-
|
|
64
|
-
|
|
66
|
+
const stdout = typeof r.stdout === 'string' ? r.stdout : '';
|
|
67
|
+
const stderr = typeof r.stderr === 'string' ? r.stderr : '';
|
|
68
|
+
return stdout.trim() ? stdout : stderr;
|
|
69
|
+
}
|
|
70
|
+
/** True when the result has no usable stdout, so the text shown is stderr. */
|
|
71
|
+
function isStderrOnly(result) {
|
|
72
|
+
if (!result || typeof result !== 'object')
|
|
73
|
+
return false;
|
|
74
|
+
const r = result;
|
|
75
|
+
const stdout = typeof r.stdout === 'string' ? r.stdout : '';
|
|
76
|
+
const stderr = typeof r.stderr === 'string' ? r.stderr : '';
|
|
77
|
+
return !stdout.trim() && Boolean(stderr.trim());
|
|
78
|
+
}
|
|
79
|
+
/** The lines of a tool result, normalised for display. */
|
|
80
|
+
function extractToolOutput(result) {
|
|
81
|
+
const text = toolResultText(result);
|
|
65
82
|
if (!text.trim())
|
|
66
83
|
return [];
|
|
67
84
|
return text
|
|
@@ -70,6 +87,31 @@ function extractToolOutput(result) {
|
|
|
70
87
|
.map((line) => line.replace(/\t/g, ' ').trimEnd())
|
|
71
88
|
.filter((line) => line.trim() !== '');
|
|
72
89
|
}
|
|
90
|
+
/**
|
|
91
|
+
* A one-line description of captured output: how much there is, and whether it
|
|
92
|
+
* looks like structured data. Prefer this over dumping raw lines, whose only
|
|
93
|
+
* readable part would be an arbitrary tail of a JSON payload.
|
|
94
|
+
*/
|
|
95
|
+
function describeToolOutput(result) {
|
|
96
|
+
const text = toolResultText(result);
|
|
97
|
+
if (!text.trim())
|
|
98
|
+
return undefined;
|
|
99
|
+
const lines = extractToolOutput(result);
|
|
100
|
+
const bytes = Buffer.byteLength(text, 'utf8');
|
|
101
|
+
const head = text.trimStart();
|
|
102
|
+
const shape = head.startsWith('{') || head.startsWith('[')
|
|
103
|
+
? 'JSON'
|
|
104
|
+
: /^<[!a-zA-Z]/.test(head)
|
|
105
|
+
? 'HTML'
|
|
106
|
+
: undefined;
|
|
107
|
+
const parts = [
|
|
108
|
+
`${lines.length} line${lines.length === 1 ? '' : 's'}`,
|
|
109
|
+
bytes < 1024 ? `${bytes} B` : `${(bytes / 1024).toFixed(1)} kB`,
|
|
110
|
+
];
|
|
111
|
+
if (shape)
|
|
112
|
+
parts.push(shape);
|
|
113
|
+
return parts.join(' · ');
|
|
114
|
+
}
|
|
73
115
|
/** Word-wrap a single line to `width`, hard-breaking tokens that are longer. */
|
|
74
116
|
function wrapLine(text, width) {
|
|
75
117
|
if (width <= 0 || text.length <= width) {
|
|
@@ -182,7 +224,10 @@ export class ReplRenderer {
|
|
|
182
224
|
width;
|
|
183
225
|
sink;
|
|
184
226
|
errorSink;
|
|
227
|
+
imageSink;
|
|
185
228
|
eventSink;
|
|
229
|
+
workspace;
|
|
230
|
+
openImages;
|
|
186
231
|
/** Frame key of the currently open streamed-text region, or null. */
|
|
187
232
|
lastStreamFrame = null;
|
|
188
233
|
/** Reasoning region key and characters shown so far (for `summary` mode). */
|
|
@@ -210,6 +255,8 @@ export class ReplRenderer {
|
|
|
210
255
|
this.sink = options.sink ?? ((text) => process.stdout.write(text));
|
|
211
256
|
this.errorSink = options.errorSink ?? ((text) => process.stderr.write(text));
|
|
212
257
|
this.eventSink = options.onEvent;
|
|
258
|
+
this.workspace = options.workspace;
|
|
259
|
+
this.openImages = options.openImages ?? true;
|
|
213
260
|
}
|
|
214
261
|
/** Replace the output sinks (used when moving into a TUI transcript). */
|
|
215
262
|
setSink(sink, errorSink) {
|
|
@@ -217,6 +264,17 @@ export class ReplRenderer {
|
|
|
217
264
|
if (errorSink)
|
|
218
265
|
this.errorSink = errorSink;
|
|
219
266
|
}
|
|
267
|
+
/**
|
|
268
|
+
* Route terminal-image blocks (from `image()`) into a TUI transcript. When no
|
|
269
|
+
* sink is set, `image()` writes the escape sequence to stdout directly.
|
|
270
|
+
*/
|
|
271
|
+
setImageSink(sink) {
|
|
272
|
+
this.imageSink = sink;
|
|
273
|
+
}
|
|
274
|
+
/** Current rendering width in cells. */
|
|
275
|
+
getWidth() {
|
|
276
|
+
return this.width;
|
|
277
|
+
}
|
|
220
278
|
/** Update the rendering width (TUI resize). */
|
|
221
279
|
setWidth(width) {
|
|
222
280
|
if (width > 0)
|
|
@@ -258,7 +316,66 @@ export class ReplRenderer {
|
|
|
258
316
|
this.lastStreamFrame = null;
|
|
259
317
|
this.atLineStart = true;
|
|
260
318
|
}
|
|
261
|
-
/**
|
|
319
|
+
/**
|
|
320
|
+
* Write a terminal-image block (the escape sequence plus reserved blank rows).
|
|
321
|
+
* In a TUI this goes to the image sink; otherwise it is written raw.
|
|
322
|
+
*/
|
|
323
|
+
image(lines) {
|
|
324
|
+
if (lines.length === 0) {
|
|
325
|
+
return;
|
|
326
|
+
}
|
|
327
|
+
this.stopSpinner();
|
|
328
|
+
this.flushStream();
|
|
329
|
+
if (this.imageSink) {
|
|
330
|
+
this.imageSink(lines);
|
|
331
|
+
}
|
|
332
|
+
else {
|
|
333
|
+
this.sink(`${lines.join('\n')}\n`);
|
|
334
|
+
}
|
|
335
|
+
this.lastStreamFrame = null;
|
|
336
|
+
this.atLineStart = true;
|
|
337
|
+
}
|
|
338
|
+
/**
|
|
339
|
+
* Render a `media` event (from `output(media(...))`): an inline terminal image
|
|
340
|
+
* when supported, otherwise an OSC-8 hyperlinked path (optionally opened).
|
|
341
|
+
*/
|
|
342
|
+
renderMedia(event) {
|
|
343
|
+
const media = event.media;
|
|
344
|
+
if (!media) {
|
|
345
|
+
return;
|
|
346
|
+
}
|
|
347
|
+
if (media.data) {
|
|
348
|
+
const protocol = resolveGraphicsProtocol('auto');
|
|
349
|
+
if (protocol) {
|
|
350
|
+
const image = renderTerminalImage(Buffer.from(media.data, 'base64'), {
|
|
351
|
+
protocol,
|
|
352
|
+
maxWidthCells: Math.max(20, this.width - 2),
|
|
353
|
+
maxHeightCells: Math.max(8, (process.stdout.rows ?? 40) - 8),
|
|
354
|
+
});
|
|
355
|
+
if (image) {
|
|
356
|
+
this.image(image.lines);
|
|
357
|
+
return;
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
const rel = media.path;
|
|
362
|
+
const abs = rel ? (this.workspace ? path.resolve(this.workspace, rel) : rel) : undefined;
|
|
363
|
+
const label = abs ? `${media.mimeType} ${abs}` : `[image ${media.mimeType}]`;
|
|
364
|
+
this.writeLine(abs ? hyperlink(label, `file://${abs}`) : label);
|
|
365
|
+
if (abs && rel && this.openImages) {
|
|
366
|
+
this.openExternal(abs);
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
/** Hand a file to the OS viewer (best effort, never blocks). */
|
|
370
|
+
openExternal(abs) {
|
|
371
|
+
const command = process.platform === 'darwin' ? 'open' : process.platform === 'win32' ? 'start' : 'xdg-open';
|
|
372
|
+
try {
|
|
373
|
+
spawn(command, [abs], { detached: true, stdio: 'ignore' }).unref();
|
|
374
|
+
}
|
|
375
|
+
catch {
|
|
376
|
+
// Ignore: the path line above is the guaranteed fallback.
|
|
377
|
+
}
|
|
378
|
+
}
|
|
262
379
|
flush() {
|
|
263
380
|
this.flushStream();
|
|
264
381
|
}
|
|
@@ -323,6 +440,10 @@ export class ReplRenderer {
|
|
|
323
440
|
this.sink(`${JSON.stringify(event)}\n`);
|
|
324
441
|
return;
|
|
325
442
|
}
|
|
443
|
+
if (event.type === 'media') {
|
|
444
|
+
this.renderMedia(event);
|
|
445
|
+
return;
|
|
446
|
+
}
|
|
326
447
|
// The top-level prompt task and the meta frame simply echo work that is
|
|
327
448
|
// already shown by the user message and the streamed authoring text, and
|
|
328
449
|
// skipped compactions are noise. Hide them unless verbose; the status
|
|
@@ -384,11 +505,20 @@ export class ReplRenderer {
|
|
|
384
505
|
}
|
|
385
506
|
}
|
|
386
507
|
break;
|
|
387
|
-
case 'log':
|
|
388
|
-
|
|
389
|
-
|
|
508
|
+
case 'log': {
|
|
509
|
+
// `log` is the low-level channel and stays behind `--verbose`, with one
|
|
510
|
+
// exception: a warning or an error from Prolog itself is a real problem
|
|
511
|
+
// in the code being written, not noise. Showing it by default is the
|
|
512
|
+
// whole point of capturing it — it used to go straight to the terminal.
|
|
513
|
+
const severity = event.level ?? 'info';
|
|
514
|
+
const loud = severity === 'warning' || severity === 'error';
|
|
515
|
+
if (this.verbose || loud) {
|
|
516
|
+
const label = severity === 'info' ? '[log]' : `[${severity}]`;
|
|
517
|
+
const colour = severity === 'error' ? ANSI.red : loud ? ANSI.cyan : ANSI.dim;
|
|
518
|
+
this.writeLine(this.paint(`${prefix}${label} ${event.content ?? ''}`, colour));
|
|
390
519
|
}
|
|
391
520
|
break;
|
|
521
|
+
}
|
|
392
522
|
case 'task_activity':
|
|
393
523
|
this.renderTaskActivity(event, prefix);
|
|
394
524
|
break;
|
|
@@ -435,6 +565,7 @@ export class ReplRenderer {
|
|
|
435
565
|
renderToolCall(event, prefix) {
|
|
436
566
|
const name = event.toolName ?? 'tool';
|
|
437
567
|
const state = event.toolState;
|
|
568
|
+
const pidSuffix = typeof event.toolPid === 'number' ? ` [${event.toolPid}]` : '';
|
|
438
569
|
// Some tools have a long literal argument (a shell script, a DML goal) that
|
|
439
570
|
// is shown in full, wrapped and indented, rather than truncated inline.
|
|
440
571
|
const spec = TOOL_DETAIL[name];
|
|
@@ -444,10 +575,13 @@ export class ReplRenderer {
|
|
|
444
575
|
const args = detail === undefined ? formatArgs(event.toolArgs) : '';
|
|
445
576
|
if (state === 'completed') {
|
|
446
577
|
const duration = typeof event.toolDurationMs === 'number' ? ` · ${formatDuration(event.toolDurationMs)}` : '';
|
|
578
|
+
const exit = typeof event.toolExitCode === 'number' && event.toolExitCode !== 0 ? ` · exit ${event.toolExitCode}` : '';
|
|
447
579
|
const summary = event.toolSummary ? ` — ${truncate(event.toolSummary, 80)}` : '';
|
|
448
580
|
this.lastToolDetail = undefined;
|
|
449
|
-
this.writeLine(this.toolPanel(`${prefix} ✔ ${name}${args}${duration}${summary}`, tone));
|
|
450
|
-
//
|
|
581
|
+
this.writeLine(this.toolPanel(`${prefix} ✔ ${name}${args}${duration}${exit}${summary}`, tone));
|
|
582
|
+
// The output size, not a raw tail: the last few lines of a JSON payload are
|
|
583
|
+
// never the useful part. `--verbose` prints the full output, and a DML
|
|
584
|
+
// `execute` result already shows what the goal bound.
|
|
451
585
|
if (!this.verbose) {
|
|
452
586
|
for (const line of this.toolOutputLines(prefix, tone, event.toolResult)) {
|
|
453
587
|
this.writeLine(line);
|
|
@@ -478,11 +612,20 @@ export class ReplRenderer {
|
|
|
478
612
|
}
|
|
479
613
|
}
|
|
480
614
|
}
|
|
615
|
+
this.ensureToolSpinner(prefix, `${name}${pidSuffix} running…`);
|
|
481
616
|
return;
|
|
482
617
|
}
|
|
483
618
|
this.writeLine(this.toolPanel(`${prefix} ⚙ ${name}${args}`, tone));
|
|
619
|
+
this.ensureToolSpinner(prefix, `${name}${pidSuffix} running…`);
|
|
484
620
|
}
|
|
485
|
-
/**
|
|
621
|
+
/**
|
|
622
|
+
* A summary line for the captured output, plus a few of its lines.
|
|
623
|
+
*
|
|
624
|
+
* Which lines depends on where the useful end is: stdout is shown from the
|
|
625
|
+
* *head* (for structured output the head carries the shape — `{`, a first
|
|
626
|
+
* record — while the tail is arbitrary fragments), and stderr from the *tail*,
|
|
627
|
+
* where the diagnostic normally is. Full output is `--verbose`.
|
|
628
|
+
*/
|
|
486
629
|
toolOutputLines(prefix, tone, result) {
|
|
487
630
|
const lines = extractToolOutput(result);
|
|
488
631
|
if (lines.length === 0) {
|
|
@@ -490,15 +633,23 @@ export class ReplRenderer {
|
|
|
490
633
|
}
|
|
491
634
|
const indent = ' ';
|
|
492
635
|
const avail = Math.max(20, this.width - stripAnsi(prefix).length - indent.length);
|
|
493
|
-
const shown = lines.slice(-TOOL_OUTPUT_LINES);
|
|
494
|
-
const omitted = lines.length - shown.length;
|
|
495
636
|
const out = [];
|
|
496
|
-
|
|
497
|
-
|
|
637
|
+
const description = describeToolOutput(result);
|
|
638
|
+
if (description && lines.length > TOOL_OUTPUT_LINES) {
|
|
639
|
+
out.push(this.toolPanel(`${prefix}${indent}${description} — --verbose for all`, tone));
|
|
640
|
+
}
|
|
641
|
+
const fromTail = !toolResultText(result).trim().startsWith('{') && isStderrOnly(result);
|
|
642
|
+
const shown = fromTail ? lines.slice(-TOOL_OUTPUT_LINES) : lines.slice(0, TOOL_OUTPUT_LINES);
|
|
643
|
+
const omitted = lines.length - shown.length;
|
|
644
|
+
if (fromTail && omitted > 0) {
|
|
645
|
+
out.push(this.toolPanel(`${prefix}${indent}… (+${omitted} earlier line${omitted === 1 ? '' : 's'})`, tone));
|
|
498
646
|
}
|
|
499
647
|
for (const line of shown) {
|
|
500
648
|
out.push(this.toolPanel(`${prefix}${indent}${line.length > avail ? `${line.slice(0, avail - 1)}…` : line}`, tone));
|
|
501
649
|
}
|
|
650
|
+
if (!fromTail && omitted > 0) {
|
|
651
|
+
out.push(this.toolPanel(`${prefix}${indent}… (+${omitted} more line${omitted === 1 ? '' : 's'})`, tone));
|
|
652
|
+
}
|
|
502
653
|
return out;
|
|
503
654
|
}
|
|
504
655
|
/** Show/hide the live model-call indicator. */
|
|
@@ -616,6 +767,13 @@ export class ReplRenderer {
|
|
|
616
767
|
}
|
|
617
768
|
this.startSpinner(prefix, 'thinking…');
|
|
618
769
|
}
|
|
770
|
+
/** Keep a live indicator on screen while a tool (e.g. bash) is running. */
|
|
771
|
+
ensureToolSpinner(prefix, label) {
|
|
772
|
+
if (this.spinnerTimer && this.spinnerLabel === label) {
|
|
773
|
+
return;
|
|
774
|
+
}
|
|
775
|
+
this.startSpinner(prefix, label);
|
|
776
|
+
}
|
|
619
777
|
announceReasoningTruncated(event) {
|
|
620
778
|
if (this.reasoningTruncated) {
|
|
621
779
|
return;
|
package/dist/repl/render.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/repl/render.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/repl/render.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAgC/C,gFAAgF;AAChF,MAAM,eAAe,GAAG,IAAI,GAAG,CAAmB;IAChD,eAAe;IACf,WAAW;IACX,YAAY;IACZ,OAAO;IACP,KAAK;IACL,mBAAmB;IACnB,aAAa;CACd,CAAC,CAAC;AAEH,SAAS,UAAU,CAAC,IAAyC;IAC3D,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5C,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QACtD,MAAM,IAAI,GAAG,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACrG,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QAClE,OAAO,GAAG,GAAG,IAAI,OAAO,EAAE,CAAC;IAC7B,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AACjC,CAAC;AAED,uEAAuE;AACvE,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAE5B,4EAA4E;AAC5E,MAAM,YAAY,GAAG,EAAE,CAAC;AAExB;;;GAGG;AACH,SAAS,WAAW,CAAC,IAAY,EAAE,GAAG,GAAG,YAAY;IACnD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvD,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC;IAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAC3C,OAAO;QACL,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;QACvB,OAAO,OAAO,aAAa,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG;QACtD,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;KACpC,CAAC;AACJ,CAAC;AAED,mEAAmE;AACnE,SAAS,cAAc,CAAC,MAAe;IACrC,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACrD,MAAM,CAAC,GAAG,MAAiC,CAAC;IAC5C,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5D,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5D,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;AACzC,CAAC;AAED,8EAA8E;AAC9E,SAAS,YAAY,CAAC,MAAe;IACnC,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACxD,MAAM,CAAC,GAAG,MAAiC,CAAC;IAC5C,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5D,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5D,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,0DAA0D;AAC1D,SAAS,iBAAiB,CAAC,MAAe;IACxC,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACpC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,CAAC;IAC5B,OAAO,IAAI;SACR,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC;SACvB,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;SACpD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AAC1C,CAAC;AAED;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,MAAe;IACzC,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACpC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;QAAE,OAAO,SAAS,CAAC;IACnC,MAAM,KAAK,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QACxD,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;YACxB,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,KAAK,GAAG;QACZ,GAAG,KAAK,CAAC,MAAM,QAAQ,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE;QACtD,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;KAChE,CAAC;IACF,IAAI,KAAK;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7B,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,gFAAgF;AAChF,SAAS,QAAQ,CAAC,IAAY,EAAE,KAAa;IAC3C,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;QACvC,OAAO,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IACD,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,IAAI,SAAS,GAAG,IAAI,CAAC;IACrB,OAAO,SAAS,CAAC,MAAM,GAAG,KAAK,EAAE,CAAC;QAChC,IAAI,OAAO,GAAG,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAChD,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;YACjB,OAAO,GAAG,KAAK,CAAC,CAAC,sDAAsD;QACzE,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QACtC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC1D,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACpB,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY,EAAE,GAAW;IACzC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACpD,OAAO,UAAU,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC;AACnF,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,cAAc,CAAC,EAAU;IACvC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;QACnC,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC;QACd,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC;IAC/B,CAAC;IACD,MAAM,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC;IAC1B,IAAI,OAAO,GAAG,EAAE,EAAE,CAAC;QACjB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACrD,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACzC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IAC3C,OAAO,GAAG,OAAO,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC;AAC7D,CAAC;AAED,MAAM,IAAI,GAAG;IACX,KAAK,EAAE,WAAW;IAClB,IAAI,EAAE,WAAW;IACjB,GAAG,EAAE,WAAW;IAChB,IAAI,EAAE,YAAY;IAClB,KAAK,EAAE,YAAY;IACnB,GAAG,EAAE,YAAY;IACjB,6DAA6D;IAC7D,QAAQ,EAAE,oBAAoB;IAC9B,2CAA2C;IAC3C,MAAM,EAAE,kBAAkB;IAC1B,4BAA4B;IAC5B,MAAM,EAAE,oBAAoB;CACpB,CAAC;AAEX,mEAAmE;AACnE,MAAM,SAAS,GAAG,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;AAE3E;;;;GAIG;AACH,MAAM,mBAAmB,GAAG,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,iBAAiB,CAAC;AACpF,6DAA6D;AAC7D,MAAM,kBAAkB,GAAG,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,iBAAiB,CAAC;AACnF,MAAM,aAAa,GAAG,kBAAkB,CAAC;AACzC,MAAM,mBAAmB,GAAG,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,iBAAiB,CAAC;AACpF,MAAM,mBAAmB,GAAG,kBAAkB,CAAC;AAI/C;;;GAGG;AACH,MAAM,WAAW,GAAoD;IACnE,IAAI,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE;IACvC,OAAO,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE;CACvC,CAAC;AAEF,gFAAgF;AAChF,SAAS,OAAO,CAAC,IAAyC,EAAE,GAAW;IACrE,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,MAAM,IAAI,GAA4B,EAAE,CAAC;IACzC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,IAAI,CAAC,KAAK,GAAG;YAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,wDAAwD;AACxD,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAU,CAAC;AAEnF,8DAA8D;AAC9D,SAAS,SAAS,CAAC,IAAY;IAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,cAAc,CAAC,QAAsB;IACnD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpF,CAAC;AAED,2DAA2D;AAC3D,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAEpC,MAAM,OAAO,YAAY;IACd,IAAI,CAAa;IACT,KAAK,CAAU;IACf,OAAO,CAAU;IACjB,UAAU,CAAU;IACpB,UAAU,CAAU;IACpB,aAAa,CAA6B;IAC1C,eAAe,CAAU;IACzB,QAAQ,GAAG,IAAI,cAAc,EAAE,CAAC;IACzC,gBAAgB,CAAY;IAC5B,KAAK,CAAS;IACd,IAAI,CAAyB;IAC7B,SAAS,CAAyB;IAClC,SAAS,CAA6B;IACtC,SAAS,CAA6B;IACtC,SAAS,CAAU;IACnB,UAAU,CAAU;IAC5B,qEAAqE;IAC7D,eAAe,GAAkB,IAAI,CAAC;IAC9C,6EAA6E;IACrE,eAAe,GAAG,EAAE,CAAC;IACrB,cAAc,GAAG,CAAC,CAAC;IACnB,kBAAkB,GAAG,KAAK,CAAC;IAC3B,WAAW,GAAG,IAAI,CAAC;IAC3B,2EAA2E;IACnE,cAAc,CAAU;IAChC,uCAAuC;IAC/B,YAAY,CAAkC;IAC9C,YAAY,GAAG,CAAC,CAAC;IACjB,aAAa,GAAG,EAAE,CAAC;IACnB,YAAY,GAAG,EAAE,CAAC;IAClB,cAAc,GAAG,KAAK,CAAC;IAE/B,YAAY,UAA+B,EAAE;QAC3C,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC;QACpC,IAAI,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;QAC7D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC;QACxC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC;QACzC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC;QACzC,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC;QACjD,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC;QAChD,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAC7D,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7E,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC;IAC/C,CAAC;IAED,yEAAyE;IACzE,OAAO,CAAC,IAA4B,EAAE,SAAkC;QACtE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,SAAS;YAAE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC5C,CAAC;IAED;;;OAGG;IACH,YAAY,CAAC,IAAgC;QAC3C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACxB,CAAC;IAED,wCAAwC;IACxC,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,+CAA+C;IAC/C,QAAQ,CAAC,KAAa;QACpB,IAAI,KAAK,GAAG,CAAC;YAAE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACpC,CAAC;IAED,kEAAkE;IAClE,OAAO,CAAC,IAAY;QAClB,OAAO,aAAa,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED;;;OAGG;IACH,sBAAsB,CAAC,QAAiB;QACtC,IAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAC;IACtC,CAAC;IAED,4EAA4E;IAC5E,OAAO;QACL,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,2EAA2E;IACnE,YAAY,GAAkB,IAAI,CAAC;IACnC,gBAAgB,GAAG,CAAC,CAAC;IACrB,gBAAgB,GAAkB,IAAI,CAAC;IACvC,gBAAgB,GAAG,CAAC,CAAC;IACrB,gBAAgB,GAAkB,IAAI,CAAC;IAC/C,+EAA+E;IACvE,mBAAmB,GAAG,KAAK,CAAC;IAEpC,4CAA4C;IAC5C,KAAK,CAAC,IAAY;QAChB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;IAED,uCAAuC;IACvC,SAAS,CAAC,IAAI,GAAG,EAAE;QACjB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;QACvB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,KAAe;QACnB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACK,WAAW,CAAC,KAAe;QACjC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO;QACT,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;YACjD,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,KAAK,GAAG,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE;oBACnE,QAAQ;oBACR,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;oBAC3C,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;iBAC7D,CAAC,CAAC;gBACH,IAAI,KAAK,EAAE,CAAC;oBACV,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACxB,OAAO;gBACT,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC;QACvB,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACzF,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,QAAQ,GAAG,CAAC;QAC9E,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAChE,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,gEAAgE;IACxD,YAAY,CAAC,GAAW;QAC9B,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC;QAC7G,IAAI,CAAC;YACH,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;QACrE,CAAC;QAAC,MAAM,CAAC;YACP,0DAA0D;QAC5D,CAAC;IACH,CAAC;IACD,KAAK;QACH,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,cAAc,CAAC,IAAY;QACzB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACK,WAAW,CAAC,KAAe;QACjC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,QAAQ;gBACX,OAAO,QAAQ,KAAK,CAAC,SAAS,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;YAChE,KAAK,WAAW;gBACd,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,KAAK,CAAC,SAAS,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAC5F,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,IAAI,KAAK,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;oBACrE,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC;oBAC3B,IAAI,CAAC,gBAAgB,GAAG,QAAQ,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC1D,CAAC;gBACD,OAAO,IAAI,CAAC,gBAAgB,CAAC;YAC/B,CAAC;YACD,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;oBACpE,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC;oBAC3B,IAAI,CAAC,gBAAgB,GAAG,QAAQ,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC1D,CAAC;gBACD,OAAO,IAAI,CAAC,gBAAgB,CAAC;YAC/B,CAAC;YACD,KAAK,QAAQ,CAAC;YACd,KAAK,QAAQ,CAAC;YACd,KAAK,OAAO;gBACV,OAAO,QAAQ,CAAC;YAClB,KAAK,mBAAmB;gBACtB,OAAO,YAAY,CAAC;YACtB;gBACE,OAAO,IAAI,CAAC;QAChB,CAAC;IACH,CAAC;IAED,6DAA6D;IACrD,UAAU,CAAC,GAAkB;QACnC,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,IAAI,CAAC,YAAY,KAAK,GAAG,EAAE,CAAC;YAC5D,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACrB,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;IAC1B,CAAC;IAED,gCAAgC;IAChC,MAAM,CAAC,KAAe;QAAa,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC;QACzD,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,EAAE,CAAC;YAChF,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACxD,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACxC,OAAO;QACT,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC3B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACxB,OAAO;QACT,CAAC;QAED,wEAAwE;QACxE,yEAAyE;QACzE,sEAAsE;QACtE,sDAAsD;QACtD,IACE,KAAK,CAAC,IAAI,KAAK,eAAe;eAC3B,CAAC,KAAK,CAAC,SAAS,EACnB,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,IAAI,KAAK,CAAC,gBAAgB,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAChG,OAAO;QACT,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC1D,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAEtC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,UAAU;gBACb,IAAI,CAAC,QAAQ,CACX,KAAK,CAAC,QAAQ,EAAE,QAAQ,IAAI,EAAE,EAC9B,SAAS,EACT,MAAM;gBACN,qEAAqE;gBACrE,mDAAmD;gBACnD,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAC/C,CAAC;gBACF,MAAM;YACR,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,oEAAoE;gBACpE,uEAAuE;gBACvE,uEAAuE;gBACvE,kEAAkE;gBAClE,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;gBAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO;oBAC1B,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;oBACvB,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACrD,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC;gBAChF,MAAM;YACR,CAAC;YACD,KAAK,QAAQ;gBACX,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBACrE,MAAM;YACR,KAAK,YAAY;gBACf,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBACpC,MAAM;YACR,KAAK,QAAQ;gBACX,uDAAuD;gBACvD,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;gBACrD,MAAM;YACR,KAAK,WAAW;gBACd,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;oBAClB,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;wBAC9C,IAAI,CAAC,WAAW,EAAE,CAAC;oBACrB,CAAC;yBAAM,CAAC;wBACN,mEAAmE;wBACnE,oEAAoE;wBACpE,iBAAiB;wBACjB,IAAI,CAAC,WAAW,EAAE,CAAC;wBACnB,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;oBACrC,CAAC;gBACH,CAAC;gBACD,MAAM;YACR,KAAK,KAAK,CAAC,CAAC,CAAC;gBACX,wEAAwE;gBACxE,wEAAwE;gBACxE,qEAAqE;gBACrE,wEAAwE;gBACxE,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,IAAI,MAAM,CAAC;gBACvC,MAAM,IAAI,GAAG,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,OAAO,CAAC;gBAC5D,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;oBACzB,MAAM,KAAK,GAAG,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,QAAQ,GAAG,CAAC;oBAC9D,MAAM,MAAM,GAAG,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;oBAC7E,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,GAAG,KAAK,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;gBACjF,CAAC;gBACD,MAAM;YACR,CAAC;YACD,KAAK,eAAe;gBAClB,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBACvC,MAAM;YACR,KAAK,WAAW;gBACd,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBACnC,MAAM;YACR,KAAK,gBAAgB;gBACnB,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;oBAC9B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,KAAK,KAAK,CAAC,MAAM,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC5E,CAAC;gBACD,MAAM;YACR,KAAK,OAAO;gBACV,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,UAAU,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBACpF,MAAM;YACR,KAAK,OAAO;gBACV,IAAI,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;oBAChC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CACvB,GAAG,MAAM,cAAc,KAAK,CAAC,KAAK,CAAC,WAAW,QAAQ,KAAK,CAAC,KAAK,CAAC,YAAY,UAAU,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,EACjH,IAAI,CAAC,GAAG,CACT,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM;YACR,KAAK,mBAAmB;gBACtB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC,OAAO,IAAI,kBAAkB,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBACxF,MAAM;YACR,KAAK,UAAU,CAAC;YAChB,KAAK,aAAa,CAAC;YACnB;gBACE,MAAM;QACV,CAAC;IACH,CAAC;IAEO,kBAAkB,CAAC,KAAe,EAAE,MAAc;QACxD,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,IAAI,SAAS,CAAC;QAC3C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,WAAW,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACrF,OAAO;QACT,CAAC;QACD,MAAM,EAAE,GAAG,KAAK,KAAK,WAAW,CAAC;QACjC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACrH,CAAC;IAEO,YAAY,CAAC,KAAe;QAClC,MAAM,WAAW,GAAG,CAAC,KAAK,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9E,IAAI,CAAC,WAAW;YAAE,OAAO,MAAM,CAAC;QAChC,OAAO,WAAW,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC;IAChF,CAAC;IAEO,cAAc,CAAC,KAAe,EAAE,MAAc;QACpD,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,IAAI,MAAM,CAAC;QACtC,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC;QAC9B,MAAM,SAAS,GAAG,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACjF,4EAA4E;QAC5E,wEAAwE;QACxE,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAChE,MAAM,MAAM,GAAG,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;QACrE,MAAM,IAAI,GAAa,IAAI,EAAE,IAAI,IAAI,OAAO,CAAC;QAC7C,MAAM,IAAI,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAEpE,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;YAC1B,MAAM,QAAQ,GAAG,OAAO,KAAK,CAAC,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,cAAc,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9G,MAAM,IAAI,GAAG,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ,IAAI,KAAK,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvH,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjF,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;YAChC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,MAAM,OAAO,IAAI,GAAG,IAAI,GAAG,QAAQ,GAAG,IAAI,GAAG,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;YAChG,4EAA4E;YAC5E,uEAAuE;YACvE,sDAAsD;YACtD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;oBACxE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,OAAO,KAAK,CAAC,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,cAAc,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9G,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,WAAW,IAAI,QAAQ,CAAC;YAChE,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;YAChC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,MAAM,OAAO,IAAI,GAAG,IAAI,GAAG,QAAQ,MAAM,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;YAC7G,OAAO;QACT,CAAC;QAED,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,+DAA+D;YAC/D,IAAI,MAAM,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;gBACnC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;gBAC7B,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAK,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC9D,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,MAAM,OAAO,IAAI,GAAG,MAAM,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;gBACtE,qEAAqE;gBACrE,gEAAgE;gBAChE,MAAM,MAAM,GAAG,MAAM,CAAC;gBACtB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;gBAClF,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBACjE,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;wBAC/C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;oBACvE,CAAC;gBACH,CAAC;YACH,CAAC;YACD,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,GAAG,IAAI,GAAG,SAAS,WAAW,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,MAAM,OAAO,IAAI,GAAG,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;QACpE,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,GAAG,IAAI,GAAG,SAAS,WAAW,CAAC,CAAC;IACjE,CAAC;IAED;;;;;;;OAOG;IACK,eAAe,CAAC,MAAc,EAAE,IAAc,EAAE,MAAe;QACrE,MAAM,KAAK,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,CAAC;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAClF,MAAM,GAAG,GAAa,EAAE,CAAC;QACzB,MAAM,WAAW,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,WAAW,IAAI,KAAK,CAAC,MAAM,GAAG,iBAAiB,EAAE,CAAC;YACpD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,MAAM,GAAG,MAAM,GAAG,WAAW,sBAAsB,EAAE,IAAI,CAAC,CAAC,CAAC;QACzF,CAAC;QACD,MAAM,QAAQ,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;QACxF,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC;QAC7F,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC5C,IAAI,QAAQ,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAC5B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,MAAM,GAAG,MAAM,OAAO,OAAO,gBAAgB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;QAC9G,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;QACrH,CAAC;QACD,IAAI,CAAC,QAAQ,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAC7B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,MAAM,GAAG,MAAM,OAAO,OAAO,aAAa,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;QAC3G,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,+CAA+C;IACvC,eAAe,CAAC,KAAe,EAAE,MAAc;QACrD,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACvC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YACtC,OAAO;QACT,CAAC;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,sEAAsE;IAC9D,YAAY,CAAC,MAAc,EAAE,KAAa;QAChD,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACxC,OAAO;QACT,CAAC;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;QAC5B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE;YACnC,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC;YACvB,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC,EAAE,EAAE,CAAC,CAAC;IACT,CAAC;IAEO,YAAY;QAClB,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QACxE,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC7B,CAAC;IAED,uEAAuE;IAC/D,WAAW;QACjB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACjC,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAChC,CAAC;QACD,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACxB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC9B,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,SAAS,CAAC,IAAY,EAAE,IAAc;QAC5C,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,EAAE,GAAG,IAAI,KAAK,OAAO;YACzB,CAAC,CAAC,mBAAmB;YACrB,CAAC,CAAC,IAAI,KAAK,MAAM;gBACf,CAAC,CAAC,kBAAkB;gBACpB,CAAC,CAAC,mBAAmB,CAAC;QAC1B,MAAM,EAAE,GAAG,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,aAAa,CAAC;QAClE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;QAClD,MAAM,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,OAAO,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;IAChD,CAAC;IAED;;;OAGG;IACK,cAAc,CAAC,MAAc,EAAE,IAAY,EAAE,IAAY,EAAE,QAAiB;QAClF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;QAClE,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACvE,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7C,MAAM,QAAQ,GAAG,QAAQ;gBACvB,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;gBACxE,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC7B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,IAAI,CAAC,SAAS,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IACH;;;;;OAKG;IACK,cAAc,CAAC,KAAe,EAAE,KAAa;QACnD,IAAI,IAAI,CAAC,aAAa,KAAK,KAAK,EAAE,CAAC;YACjC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,IAAI,OAAO,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;QACnE,IAAI,MAAM,KAAK,IAAI,CAAC,eAAe,EAAE,CAAC;YACpC,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC;YAC9B,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;YACxB,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAClC,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,QAAQ,CAAC;QACpF,IAAI,IAAI,CAAC,cAAc,IAAI,KAAK,EAAE,CAAC;YACjC,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;YACvC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,SAAS,GAAG,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC;QAC9C,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC1E,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC;QACnC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC,CAAC;QACtE,IAAI,IAAI,CAAC,cAAc,IAAI,KAAK,EAAE,CAAC;YACjC,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,8EAA8E;IACtE,qBAAqB,CAAC,MAAc;QAC1C,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE,CAAC;YAC3D,OAAO;QACT,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACzC,CAAC;IAED,2EAA2E;IACnE,iBAAiB,CAAC,MAAc,EAAE,KAAa;QACrD,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,KAAK,KAAK,EAAE,CAAC;YACrD,OAAO;QACT,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;IAEO,0BAA0B,CAAC,KAAe;QAChD,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,OAAO;QACT,CAAC;QACD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,WAAW,CACd,KAAK,EACL,IAAI,CAAC,KAAK,CAAC,gEAAgE,EAAE,IAAI,CAAC,GAAG,CAAC,EACtF,WAAW,CACZ,CAAC;IACJ,CAAC;IAED,8EAA8E;IACtE,WAAW,CAAC,KAAe,EAAE,KAAa,EAAE,IAA0B;QAC5E,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC5C,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7C,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,GAAG,IAAI,IAAI,EAAE,IAAI,CAAC,CAAC;YAClD,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC;IAEO,gBAAgB,CAAC,KAAe,EAAE,KAAa,EAAE,IAA0B;QACjF,0EAA0E;QAC1E,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,SAAS,IAAI,OAAO,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QACxE,IAAI,GAAG,KAAK,IAAI,CAAC,eAAe,EAAE,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACtB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACtC,IAAI,MAAM;gBAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9B,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC;YAC3B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,gEAAgE;IACxD,WAAW;QACjB,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAClD,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC;YACpC,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;YAClC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC;gBACzC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,GAAG,IAAI,IAAI,EAAE,MAAM,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,EAAE,CAAC;YAClC,IAAI,CAAC,IAAI,CAAC,WAAW;gBAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,2FAA2F;IACnF,UAAU,CAAC,KAAe;QAChC,8EAA8E;QAC9E,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,SAAS;YAAE,OAAO,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;QAC/B,0EAA0E;QAC1E,uEAAuE;QACvE,IAAI,KAAK,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YACjC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC;QACvC,CAAC;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;QACrE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAClC,OAAO,GAAG,MAAM,GAAG,KAAK,KAAK,CAAC;IAChC,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,QAAsB,EAAE,UAAmB,EAAE,MAAM,GAAG,EAAE,EAAE,QAAiB;QAClF,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;YACrG,OAAO;QACT,CAAC;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,SAAS,CAAC,GAAG,MAAM,OAAO,UAAU,IAAI,GAAG,EAAE,CAAC,CAAC;YACpD,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YACrC,MAAM,KAAK,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;YACzF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACjD,OAAO,GAAG,MAAM,GAAG,IAAI,MAAM,KAAK,EAAE,CAAC;QACvC,CAAC,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAC9B,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC5B,IAAI,CAAC,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,UAAU,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,IAAY,EAAE,IAAY;QACtC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;IACvC,CAAC;CACF"}
|
package/dist/repl/session.d.ts
CHANGED
|
@@ -5,12 +5,28 @@
|
|
|
5
5
|
* and the harness memory slot. Goal-mode queries create a `query_start/5`
|
|
6
6
|
* frame, register it with the runner, and drive it with `runFrame`.
|
|
7
7
|
*/
|
|
8
|
+
import { type PrologMessage } from '../prolog/loader.js';
|
|
9
|
+
import { type ExecutionBackendKind, type ExecutionEnvironment } from '../system/runtime/shell-manager.js';
|
|
8
10
|
import { type Frame, type RunnerOptions } from '../runner.js';
|
|
9
11
|
import { type CompactionSettings } from './compaction.js';
|
|
10
|
-
import type { HarnessCommitResult, HarnessExecuteResult } from './harness-tools.js';
|
|
12
|
+
import type { BindingMode, HarnessCommitResult, HarnessExecuteResult } from './harness-tools.js';
|
|
11
13
|
import type { DMLEvent, FrameKind, MemoryMessage, ToolDefinition, ToolPolicy } from '../types.js';
|
|
12
14
|
import { type HarnessExportOptions, type HarnessExportResult } from './export.js';
|
|
13
15
|
import { type HistoryOptions } from './history.js';
|
|
16
|
+
import { type DiagramMode } from '../visualize/index.js';
|
|
17
|
+
/** A generated diagram of one harness entry predicate. */
|
|
18
|
+
export interface DiagramResult {
|
|
19
|
+
entry: string;
|
|
20
|
+
mode: DiagramMode;
|
|
21
|
+
mermaid: string;
|
|
22
|
+
/** Unicode tree (always available, terminal-safe). */
|
|
23
|
+
ascii: string;
|
|
24
|
+
/** Self-contained SVG (input to the PNG rasterizer). */
|
|
25
|
+
svg: string;
|
|
26
|
+
width: number;
|
|
27
|
+
height: number;
|
|
28
|
+
warnings: string[];
|
|
29
|
+
}
|
|
14
30
|
export interface DMLSessionOptions {
|
|
15
31
|
/** Optional explicit session id; generated when omitted. */
|
|
16
32
|
sessionId?: string;
|
|
@@ -35,6 +51,15 @@ export interface DMLSessionOptions {
|
|
|
35
51
|
maxModelCalls?: number;
|
|
36
52
|
/** Host tool catalog text injected into the meta prompt (M5). */
|
|
37
53
|
hostToolsCatalog?: string;
|
|
54
|
+
/**
|
|
55
|
+
* The effective shell backend for this session (`agentvm`, `bwrap`,
|
|
56
|
+
* `sandbox-exec`, or `clean-room`). Injected into the Prolog session so the
|
|
57
|
+
* harness `require_sandbox` directive can refuse to load when the backend
|
|
58
|
+
* would run unsandboxed, and reported to the model in its environment block.
|
|
59
|
+
* Callers that build a toolset should pass `toolset.environment.kind` so the
|
|
60
|
+
* check and the toolset cannot disagree.
|
|
61
|
+
*/
|
|
62
|
+
executionBackend?: ExecutionBackendKind;
|
|
38
63
|
/** Human-in-the-loop channel for DML `input/2` / `exec(ask_user(...))`. */
|
|
39
64
|
askUser?: (prompt: string, options?: string[]) => Promise<{
|
|
40
65
|
answer: string;
|
|
@@ -99,6 +124,8 @@ export declare class DMLSession {
|
|
|
99
124
|
private compactionAuto;
|
|
100
125
|
private contextWindow?;
|
|
101
126
|
private llmBackend?;
|
|
127
|
+
private imageBackend?;
|
|
128
|
+
private modelResolver?;
|
|
102
129
|
private temperature;
|
|
103
130
|
private maxTokens;
|
|
104
131
|
/** Persisted authoring-agent conversation (agent mode). */
|
|
@@ -129,6 +156,10 @@ export declare class DMLSession {
|
|
|
129
156
|
private resume;
|
|
130
157
|
/** Harness this session edits. */
|
|
131
158
|
private readonly harnessName;
|
|
159
|
+
/** Effective shell backend; see DMLSessionOptions.executionBackend. */
|
|
160
|
+
readonly executionBackend: ExecutionBackendKind;
|
|
161
|
+
/** Full resolution for the backend, for the agent's environment block. */
|
|
162
|
+
readonly executionEnvironment: ExecutionEnvironment;
|
|
132
163
|
private readonly autoLoadHarness;
|
|
133
164
|
/** Monotonic per-session turn counter used by history records. */
|
|
134
165
|
private turnCounter;
|
|
@@ -136,10 +167,25 @@ export declare class DMLSession {
|
|
|
136
167
|
private constructor();
|
|
137
168
|
static open(options: DMLSessionOptions): Promise<DMLSession>;
|
|
138
169
|
getSessionId(): string;
|
|
170
|
+
/**
|
|
171
|
+
* Prolog output captured since the last drain.
|
|
172
|
+
*
|
|
173
|
+
* The step loop surfaces this while a goal runs; this accessor is for messages
|
|
174
|
+
* produced by paths that are not the step loop — a load, a host query — so a
|
|
175
|
+
* host can render them rather than have them vanish into a queue.
|
|
176
|
+
*/
|
|
177
|
+
takePrologMessages(): PrologMessage[];
|
|
139
178
|
/** Parse and load DML source into the living module. */
|
|
140
179
|
loadCode(code: string): Promise<{
|
|
141
180
|
error?: string;
|
|
181
|
+
warnings?: string[];
|
|
142
182
|
}>;
|
|
183
|
+
/**
|
|
184
|
+
* Directives the loader recorded because it does not handle them. They did
|
|
185
|
+
* nothing, which is worth saying: `:- repl_delete(f/1).` silently discarded was
|
|
186
|
+
* a predicate the author believed they had removed.
|
|
187
|
+
*/
|
|
188
|
+
private unhandledDirectives;
|
|
143
189
|
/**
|
|
144
190
|
* Load a DML file (or a `.zip` bundle) into the living module.
|
|
145
191
|
*
|
|
@@ -149,6 +195,7 @@ export declare class DMLSession {
|
|
|
149
195
|
*/
|
|
150
196
|
load(file: string): Promise<{
|
|
151
197
|
error?: string;
|
|
198
|
+
warnings?: string[];
|
|
152
199
|
}>;
|
|
153
200
|
/**
|
|
154
201
|
* Establish a fresh harness's baseline from its current module (called after
|
|
@@ -212,6 +259,8 @@ export declare class DMLSession {
|
|
|
212
259
|
predicateArities(name: string): number[];
|
|
213
260
|
/** True when the living module has no user predicates (nothing worth saving). */
|
|
214
261
|
isEmpty(): boolean;
|
|
262
|
+
/** Number of user predicates (`Name/Arity`) currently in the harness. */
|
|
263
|
+
predicateCount(): number;
|
|
215
264
|
saveCurrentHarness(reason: string, header?: string): Promise<string | null>;
|
|
216
265
|
/** Clear the living module and memories (the `reset.` command). */
|
|
217
266
|
reset(): Promise<void>;
|
|
@@ -250,7 +299,7 @@ export declare class DMLSession {
|
|
|
250
299
|
* The child frame uses the living scratch module and may itself call task()
|
|
251
300
|
* (RLM-style recursion); its harness-memory writes are discarded afterward.
|
|
252
301
|
*/
|
|
253
|
-
executeGoal(goal: string, limit?: number, onEvent?: (event: DMLEvent) => void, signal?: AbortSignal): Promise<HarnessExecuteResult>;
|
|
302
|
+
executeGoal(goal: string, limit?: number, onEvent?: (event: DMLEvent) => void, signal?: AbortSignal, bindingMode?: BindingMode): Promise<HarnessExecuteResult>;
|
|
254
303
|
/**
|
|
255
304
|
* The TypeScript authoring agent: a normal `LLMBackend` agent with harness
|
|
256
305
|
* tools. It runs one or more committed turns in a loop until the model calls
|
|
@@ -265,8 +314,69 @@ export declare class DMLSession {
|
|
|
265
314
|
private getHarnessAgent;
|
|
266
315
|
/** Read the current harness manifest for the agent system prompt. */
|
|
267
316
|
manifest(): Promise<string>;
|
|
268
|
-
|
|
317
|
+
/** The models available in this session (agent `models` tool). */
|
|
318
|
+
listModels(): Promise<string>;
|
|
319
|
+
/**
|
|
320
|
+
* Generate a diagram of one entry predicate: ask the active model for Mermaid,
|
|
321
|
+
* then render it deterministically to a Unicode tree (always) and an SVG (for
|
|
322
|
+
* the terminal-image path). One model call.
|
|
323
|
+
*/
|
|
324
|
+
diagram(entry?: string, mode?: DiagramMode, options?: {
|
|
325
|
+
signal?: AbortSignal;
|
|
326
|
+
}): Promise<DiagramResult>;
|
|
327
|
+
/** Diagram of a skill for the authoring agent's `visualize` tool. */
|
|
328
|
+
visualize(entry?: string, mode?: DiagramMode): Promise<{
|
|
329
|
+
message: string;
|
|
330
|
+
event?: DMLEvent;
|
|
331
|
+
}>;
|
|
332
|
+
/** Display a workspace image (agent `show_image` tool). */
|
|
333
|
+
showImage(relPath: string): Promise<{
|
|
334
|
+
message: string;
|
|
335
|
+
event?: DMLEvent;
|
|
336
|
+
}>;
|
|
337
|
+
/** Generate an image and display it (agent `generate_image` tool). */
|
|
338
|
+
generateImage(prompt: string): Promise<{
|
|
339
|
+
message: string;
|
|
340
|
+
event?: DMLEvent;
|
|
341
|
+
}>;
|
|
342
|
+
/** Write a workspace file (agent `write_file` tool); creates parent dirs. */
|
|
343
|
+
writeFile(relPath: string, content: string): Promise<{
|
|
344
|
+
ok: boolean;
|
|
345
|
+
error?: string;
|
|
346
|
+
}>;
|
|
347
|
+
/**
|
|
348
|
+
* Build a `media` event for a workspace image (resolved to a PNG for inline
|
|
349
|
+
* display). Returning an event lets any host render it through its normal
|
|
350
|
+
* event pipeline — no session-specific image channel needed.
|
|
351
|
+
*/
|
|
352
|
+
private mediaEventFor;
|
|
353
|
+
/** Pick a default diagram entry: `agent_main/N`, else the first predicate. */
|
|
354
|
+
private defaultDiagramEntry;
|
|
355
|
+
beginTurn(): Promise<{
|
|
356
|
+
ok: boolean;
|
|
357
|
+
error?: string;
|
|
358
|
+
}>;
|
|
269
359
|
endTurn(): Promise<HarnessCommitResult>;
|
|
360
|
+
/**
|
|
361
|
+
* Check every registered `tool/2` annotation: the nested agent inside `task/N`
|
|
362
|
+
* calls the tool body, so it must reach real logic with the same name and
|
|
363
|
+
* arity. Violations only surface when a nested agent calls the tool, which may
|
|
364
|
+
* be long after the commit — report them here instead.
|
|
365
|
+
*/
|
|
366
|
+
private probeToolContracts;
|
|
367
|
+
/**
|
|
368
|
+
* Warn about `doc/2` facts that document a predicate with no clauses. Such a
|
|
369
|
+
* predicate fails silently when called, and its name still appears in the
|
|
370
|
+
* manifest, so the harness looks fine and returns empty results.
|
|
371
|
+
*/
|
|
372
|
+
private probeDocContracts;
|
|
373
|
+
/**
|
|
374
|
+
* Probe changed predicates for accidental nondeterminism: a pure predicate
|
|
375
|
+
* that yields more than `threshold` solutions on fresh variables is very likely
|
|
376
|
+
* missing an `once/1`/`!` and would flood an `execute`. Fact tables and
|
|
377
|
+
* side-effecting predicates are skipped by the Prolog probe.
|
|
378
|
+
*/
|
|
379
|
+
private probeNondeterminism;
|
|
270
380
|
/** Predicates touched by edit tools in the current transaction. */
|
|
271
381
|
private editTouched;
|
|
272
382
|
rollbackTurn(): Promise<void>;
|
|
@@ -295,7 +405,7 @@ export declare class DMLSession {
|
|
|
295
405
|
error?: string;
|
|
296
406
|
}>;
|
|
297
407
|
reference(topic: string): Promise<string>;
|
|
298
|
-
execute(goal: string, limit?: number, signal?: AbortSignal, onEvent?: (event: DMLEvent) => void): Promise<HarnessExecuteResult>;
|
|
408
|
+
execute(goal: string, limit?: number, signal?: AbortSignal, onEvent?: (event: DMLEvent) => void, bindingMode?: BindingMode): Promise<HarnessExecuteResult>;
|
|
299
409
|
/**
|
|
300
410
|
* Prompt mode: English request -> meta task -> DML -> commit -> entry run.
|
|
301
411
|
*
|
|
@@ -338,6 +448,11 @@ export declare class DMLSession {
|
|
|
338
448
|
* second interface on the same stdin.
|
|
339
449
|
*/
|
|
340
450
|
setInputHandler(handler: ((prompt: string, options?: string[]) => Promise<string | undefined>) | undefined): void;
|
|
451
|
+
/**
|
|
452
|
+
* @deprecated Terminal images now flow as `media` events (rendered by the
|
|
453
|
+
* host), so this is a no-op kept for backwards compatibility.
|
|
454
|
+
*/
|
|
455
|
+
setImageHandler(_handler?: (lines: string[]) => void): void;
|
|
341
456
|
/** Resolve a human answer, or undefined when no channel is configured. */
|
|
342
457
|
private requireInput;
|
|
343
458
|
/**
|
|
@@ -350,6 +465,16 @@ export declare class DMLSession {
|
|
|
350
465
|
private prologQuery;
|
|
351
466
|
private serializeMemory;
|
|
352
467
|
}
|
|
468
|
+
/**
|
|
469
|
+
* Qualify a goal with the session module unless it already names one.
|
|
470
|
+
*
|
|
471
|
+
* DML code resolves unqualified goals in the session module, which is where the
|
|
472
|
+
* harness and the workspace predicates live. A host query would otherwise
|
|
473
|
+
* resolve them in `user`, so `read_file("f.txt", C)` failed from here while
|
|
474
|
+
* working from `execute` or `/goal`. Goals that already carry a qualifier
|
|
475
|
+
* (`deepclause_mi:…`) are left alone.
|
|
476
|
+
*/
|
|
477
|
+
export declare function qualifyWithSession(goal: string, sessionId: string): string;
|
|
353
478
|
/** Quote a JS string as a Prolog double-quoted string. */
|
|
354
479
|
export declare function quoteString(value: string): string;
|
|
355
480
|
export type { Frame };
|