@nexus-cortex/executors 4.61.1 → 4.63.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.
|
@@ -64,8 +64,10 @@ export interface ShellToolParams {
|
|
|
64
64
|
export declare class ShellTool extends BaseTool<ShellToolParams, ToolResult> {
|
|
65
65
|
private config;
|
|
66
66
|
private static readonly DEFAULT_TIMEOUT_MS;
|
|
67
|
+
private static readonly MAX_TIMEOUT_MS;
|
|
67
68
|
private static readonly OUTPUT_UPDATE_INTERVAL_MS;
|
|
68
69
|
private static readonly MAX_OUTPUT_LENGTH;
|
|
70
|
+
private static readonly PERSISTENT_POLL_INTERVAL_MS;
|
|
69
71
|
private tmux;
|
|
70
72
|
private persistence;
|
|
71
73
|
constructor(config: ExecutorConfig);
|
|
@@ -87,9 +89,41 @@ export declare class ShellTool extends BaseTool<ShellToolParams, ToolResult> {
|
|
|
87
89
|
* @private
|
|
88
90
|
*/
|
|
89
91
|
private executeInPersistentSession;
|
|
92
|
+
/**
|
|
93
|
+
* Mirror of core ToolProfile.resolveToolProfile (env tier, resolved FRESH per
|
|
94
|
+
* call so it stays hot-toggleable like the core resolver). Deliberately NOT
|
|
95
|
+
* imported from @nexus-cortex/core: this file compiles in the executors
|
|
96
|
+
* Pass-1 build stage before core's dist exists, and the profile contract is
|
|
97
|
+
* tiny and stable (CORTEX_TOOL_PROFILE=full|lean|bash-only, unknown → full).
|
|
98
|
+
* @private
|
|
99
|
+
*/
|
|
100
|
+
private resolveActiveToolProfile;
|
|
101
|
+
/**
|
|
102
|
+
* Are the redirect target tools (Read/Edit/Write/Grep/Glob) present on the
|
|
103
|
+
* active tool surface? Under bash-only they do NOT exist — redirecting to
|
|
104
|
+
* them wedges the model (canon defect 2026-08-13: bash-only graduates were
|
|
105
|
+
* told to use tools their profile hides). Under lean/full all five targets
|
|
106
|
+
* are essential-tier and therefore present.
|
|
107
|
+
* @private
|
|
108
|
+
*/
|
|
109
|
+
private redirectTargetsAvailable;
|
|
110
|
+
/**
|
|
111
|
+
* Resolve the effective timeout: requested (or default), clamped to the max.
|
|
112
|
+
* @private
|
|
113
|
+
*/
|
|
114
|
+
private resolveTimeoutMs;
|
|
90
115
|
/**
|
|
91
116
|
* Checks if a command should be routed to a dedicated tool instead of Bash.
|
|
92
117
|
* Returns an error message with guidance if redirected, or null if allowed.
|
|
118
|
+
*
|
|
119
|
+
* Redirects fire ONLY where the dedicated tool is genuinely equivalent — the
|
|
120
|
+
* bare, flag-free forms (`cat FILE`, `grep pattern file`, literal
|
|
121
|
+
* `echo "text" > file`, plain `find -name`). Flagged, piped, redirected,
|
|
122
|
+
* multi-file, or variable-expanding invocations have no dedicated-tool
|
|
123
|
+
* equivalent (`cat -A`, `head -c 5`, `grep -c`, `echo $VAR > f`, `>>`
|
|
124
|
+
* append) and pass through. Canon defect 2026-08-13: the old flag-blind
|
|
125
|
+
* matcher blocked `cat -A probe.txt` and suggested the corrupt
|
|
126
|
+
* `Read({ file_path: "-A probe.txt" })`.
|
|
93
127
|
* @private
|
|
94
128
|
*/
|
|
95
129
|
private checkToolRedirect;
|
|
@@ -99,6 +133,21 @@ export declare class ShellTool extends BaseTool<ShellToolParams, ToolResult> {
|
|
|
99
133
|
* @private
|
|
100
134
|
*/
|
|
101
135
|
private executeInBackground;
|
|
136
|
+
/**
|
|
137
|
+
* Parse a tmux pane capture for the completion sentinel.
|
|
138
|
+
* The echoed command line contains `<sentinel>_%d` (literal printf format —
|
|
139
|
+
* no digits), so only the actual printf OUTPUT (`<sentinel>_<code>`) matches.
|
|
140
|
+
* Static + pure so it is unit-testable without tmux.
|
|
141
|
+
*/
|
|
142
|
+
static parseSentinel(paneOutput: string, sentinel: string): {
|
|
143
|
+
done: boolean;
|
|
144
|
+
exitCode: number | null;
|
|
145
|
+
};
|
|
146
|
+
/**
|
|
147
|
+
* Remove sentinel artifacts (both the echoed command line and the printed
|
|
148
|
+
* completion marker) from captured pane output. Static + pure for tests.
|
|
149
|
+
*/
|
|
150
|
+
static stripSentinelLines(paneOutput: string, sentinel: string): string;
|
|
102
151
|
/**
|
|
103
152
|
* Removes ANSI escape codes from string
|
|
104
153
|
* @private
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShellTool.d.ts","sourceRoot":"","sources":["../../../src/implementations/execution/ShellTool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAOH,OAAO,EAAE,QAAQ,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAIhE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,SAAU,SAAQ,QAAQ,CAAC,eAAe,EAAE,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"ShellTool.d.ts","sourceRoot":"","sources":["../../../src/implementations/execution/ShellTool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAOH,OAAO,EAAE,QAAQ,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAIhE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,SAAU,SAAQ,QAAQ,CAAC,eAAe,EAAE,UAAU,CAAC;IAUtD,OAAO,CAAC,MAAM;IAT1B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAU;IACpD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAU;IAChD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAAQ;IACzD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAClD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,2BAA2B,CAAO;IAE1D,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,WAAW,CAAqB;gBAEpB,MAAM,EAAE,cAAc;IAwD1C,kBAAkB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,GAAG,IAAI;IA0D1D,cAAc,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM;IAYzC,OAAO,CACX,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,WAAW,EACnB,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GACtC,OAAO,CAAC,UAAU,CAAC;IAsDtB;;;OAGG;YACW,cAAc;IA6N5B;;;OAGG;YACW,WAAW;IA2BzB;;;OAGG;YACW,0BAA0B;IA2GxC;;;;;;;OAOG;IACH,OAAO,CAAC,wBAAwB;IAMhC;;;;;;;OAOG;IACH,OAAO,CAAC,wBAAwB;IAIhC;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAIxB;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,iBAAiB;IA2GzB;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IA2D3B;;;;;OAKG;IACH,MAAM,CAAC,aAAa,CAClB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE;IAQ7C;;;OAGG;IACH,MAAM,CAAC,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAOvE;;;OAGG;IACH,OAAO,CAAC,SAAS;CAOlB"}
|
|
@@ -37,8 +37,10 @@ import { BackgroundProcessRegistry } from './BackgroundProcessRegistry.js';
|
|
|
37
37
|
export class ShellTool extends BaseTool {
|
|
38
38
|
config;
|
|
39
39
|
static DEFAULT_TIMEOUT_MS = 120000; // 2 minutes
|
|
40
|
+
static MAX_TIMEOUT_MS = 600000; // 10 minutes — hard ceiling, requested timeouts are clamped
|
|
40
41
|
static OUTPUT_UPDATE_INTERVAL_MS = 1000; // 1 second
|
|
41
42
|
static MAX_OUTPUT_LENGTH = 30000; // ~30KB max to prevent context overflow
|
|
43
|
+
static PERSISTENT_POLL_INTERVAL_MS = 400; // sentinel poll cadence for tmux sessions
|
|
42
44
|
tmux;
|
|
43
45
|
persistence;
|
|
44
46
|
constructor(config) {
|
|
@@ -55,7 +57,27 @@ export class ShellTool extends BaseTool {
|
|
|
55
57
|
},
|
|
56
58
|
timeout: {
|
|
57
59
|
type: 'number',
|
|
58
|
-
description: 'Optional: Timeout in milliseconds (default: 120000ms = 2 minutes).',
|
|
60
|
+
description: 'Optional: Timeout in milliseconds (default: 120000ms = 2 minutes, max: 600000ms = 10 minutes).',
|
|
61
|
+
},
|
|
62
|
+
description: {
|
|
63
|
+
type: 'string',
|
|
64
|
+
description: 'Optional: Clear description of what this command does.',
|
|
65
|
+
},
|
|
66
|
+
run_in_background: {
|
|
67
|
+
type: 'boolean',
|
|
68
|
+
description: 'Optional: Run command in background and return immediately with a bash_id. Use BashOutput to poll output, KillShell to stop.',
|
|
69
|
+
},
|
|
70
|
+
persistentSession: {
|
|
71
|
+
type: 'boolean',
|
|
72
|
+
description: 'Optional: Run command in a persistent tmux session (state, cwd, and env persist across calls). Requires tmux.',
|
|
73
|
+
},
|
|
74
|
+
sessionId: {
|
|
75
|
+
type: 'string',
|
|
76
|
+
description: 'Optional: ID of the persistent session to use or create (auto-generated if not provided). Only used when persistentSession=true.',
|
|
77
|
+
},
|
|
78
|
+
captureHistory: {
|
|
79
|
+
type: 'boolean',
|
|
80
|
+
description: 'Optional: Capture entire scrollback history for persistent sessions (default: false).',
|
|
59
81
|
},
|
|
60
82
|
},
|
|
61
83
|
required: ['command'],
|
|
@@ -157,6 +179,7 @@ export class ShellTool extends BaseTool {
|
|
|
157
179
|
backgroundPIDs: result.backgroundPIDs,
|
|
158
180
|
processGroupPGID: result.pgid,
|
|
159
181
|
truncated: result.truncated,
|
|
182
|
+
timedOut: result.timedOut,
|
|
160
183
|
});
|
|
161
184
|
}
|
|
162
185
|
catch (error) {
|
|
@@ -172,7 +195,7 @@ export class ShellTool extends BaseTool {
|
|
|
172
195
|
*/
|
|
173
196
|
async executeCommand(params, signal, updateOutput) {
|
|
174
197
|
const isWindows = os.platform() === 'win32';
|
|
175
|
-
const timeout = params
|
|
198
|
+
const timeout = this.resolveTimeoutMs(params);
|
|
176
199
|
// Create temp file for background PID detection (Unix only)
|
|
177
200
|
const tempFileName = `shell_pgrep_${crypto.randomBytes(6).toString('hex')}.tmp`;
|
|
178
201
|
const tempFilePath = path.join(os.tmpdir(), tempFileName);
|
|
@@ -252,8 +275,10 @@ export class ShellTool extends BaseTool {
|
|
|
252
275
|
};
|
|
253
276
|
signal.addEventListener('abort', abortHandler);
|
|
254
277
|
// Timeout handler
|
|
278
|
+
let timedOut = false;
|
|
255
279
|
const timeoutId = setTimeout(async () => {
|
|
256
280
|
if (!exited && shell.pid) {
|
|
281
|
+
timedOut = true;
|
|
257
282
|
await this.killProcess(shell.pid, isWindows);
|
|
258
283
|
}
|
|
259
284
|
}, timeout);
|
|
@@ -312,24 +337,43 @@ export class ShellTool extends BaseTool {
|
|
|
312
337
|
llmContent += ' No output was produced before cancellation.';
|
|
313
338
|
}
|
|
314
339
|
}
|
|
340
|
+
else if (timedOut) {
|
|
341
|
+
// Timeout: explicit, actionable message (was: opaque "exit code null")
|
|
342
|
+
llmContent = `Command timed out after ${timeout}ms and was killed.`;
|
|
343
|
+
if (output.trim()) {
|
|
344
|
+
llmContent += `\n\nOutput before timeout:\n${truncateIfNeeded(output)}`;
|
|
345
|
+
}
|
|
346
|
+
else {
|
|
347
|
+
llmContent += ' No output was produced before the timeout.';
|
|
348
|
+
}
|
|
349
|
+
llmContent += `\n\nFor long-running commands, set run_in_background: true and poll with BashOutput, or raise timeout (max ${ShellTool.MAX_TIMEOUT_MS}ms).`;
|
|
350
|
+
}
|
|
315
351
|
else {
|
|
316
352
|
// Concise output format
|
|
317
353
|
if (exitCode === 0) {
|
|
318
|
-
// Success:
|
|
354
|
+
// Success: stdout, plus labeled stderr when present (warnings matter —
|
|
355
|
+
// deprecations, npm/compiler warnings surface on stderr with exit 0)
|
|
319
356
|
llmContent = truncateIfNeeded(stdout) || '(command completed successfully)';
|
|
357
|
+
if (stderr.trim()) {
|
|
358
|
+
llmContent += `\nStderr: ${truncateIfNeeded(stderr)}`;
|
|
359
|
+
}
|
|
320
360
|
}
|
|
321
361
|
else {
|
|
322
|
-
// Failure:
|
|
362
|
+
// Failure: show stdout too (test runners and build tools print the
|
|
363
|
+
// failure detail to stdout), then error/stderr, then the exit code
|
|
323
364
|
const parts = [];
|
|
365
|
+
if (stdout.trim()) {
|
|
366
|
+
parts.push(truncateIfNeeded(stdout));
|
|
367
|
+
}
|
|
324
368
|
if (errorMessage) {
|
|
325
369
|
parts.push(`Error: ${errorMessage}`);
|
|
326
370
|
}
|
|
327
|
-
if (stderr) {
|
|
371
|
+
if (stderr.trim()) {
|
|
328
372
|
parts.push(`Stderr: ${truncateIfNeeded(stderr)}`);
|
|
329
373
|
}
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
374
|
+
parts.push(processSignal
|
|
375
|
+
? `Command failed with exit code ${exitCode} (signal: ${processSignal})`
|
|
376
|
+
: `Command failed with exit code ${exitCode}`);
|
|
333
377
|
llmContent = parts.join('\n');
|
|
334
378
|
}
|
|
335
379
|
}
|
|
@@ -340,6 +384,7 @@ export class ShellTool extends BaseTool {
|
|
|
340
384
|
backgroundPIDs,
|
|
341
385
|
pgid: shell.pid ?? null,
|
|
342
386
|
truncated,
|
|
387
|
+
timedOut,
|
|
343
388
|
};
|
|
344
389
|
}
|
|
345
390
|
/**
|
|
@@ -417,18 +462,38 @@ export class ShellTool extends BaseTool {
|
|
|
417
462
|
// Touch existing session
|
|
418
463
|
await this.persistence.touchSession(sessionId);
|
|
419
464
|
}
|
|
420
|
-
// Send command to session
|
|
465
|
+
// Send command to session with a completion sentinel appended so we can
|
|
466
|
+
// detect ACTUAL completion + exit code instead of the old fixed 5s sleep
|
|
467
|
+
// (which silently returned mid-run for any command longer than 5s).
|
|
468
|
+
// The `\$?` keeps the host shell (execAsync in sendKeys wraps the keys in
|
|
469
|
+
// double quotes) from expanding $? — the session shell must expand it.
|
|
421
470
|
updateOutput?.(`Sending command: ${params.command}\n`);
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
updateOutput?.(`Capturing output...\n`);
|
|
471
|
+
const sentinel = `__CORTEX_DONE_${crypto.randomBytes(4).toString('hex')}`;
|
|
472
|
+
await this.tmux.sendKeys(sessionId, `${params.command}; printf '${sentinel}_%d\\n' \\$?`);
|
|
473
|
+
// Poll pane until the sentinel appears or the timeout elapses
|
|
474
|
+
const timeout = this.resolveTimeoutMs(params);
|
|
475
|
+
const deadline = Date.now() + timeout;
|
|
428
476
|
const startLine = params.captureHistory ? -3000 : undefined;
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
477
|
+
let output = '';
|
|
478
|
+
let completed = false;
|
|
479
|
+
let sessionExitCode = null;
|
|
480
|
+
while (Date.now() < deadline && !signal.aborted) {
|
|
481
|
+
await new Promise((resolve) => setTimeout(resolve, ShellTool.PERSISTENT_POLL_INTERVAL_MS));
|
|
482
|
+
output = await this.tmux.capturePane(sessionId, startLine);
|
|
483
|
+
const parsed = ShellTool.parseSentinel(output, sentinel);
|
|
484
|
+
if (parsed.done) {
|
|
485
|
+
completed = true;
|
|
486
|
+
sessionExitCode = parsed.exitCode;
|
|
487
|
+
break;
|
|
488
|
+
}
|
|
489
|
+
}
|
|
490
|
+
const cleanedOutput = ShellTool.stripSentinelLines(output, sentinel);
|
|
491
|
+
const statusLine = completed
|
|
492
|
+
? `Command completed with exit code ${sessionExitCode}.`
|
|
493
|
+
: `Command did NOT complete within ${timeout}ms — it may still be running in the session. ` +
|
|
494
|
+
`Re-check with persistentSession=true, sessionId='${sessionId}' (e.g. run \`true\` to recapture the pane).`;
|
|
495
|
+
const result = `Command executed in persistent tmux session '${sessionId}'. ${statusLine}\n\n` +
|
|
496
|
+
`Output:\n${'='.repeat(60)}\n${cleanedOutput}\n${'='.repeat(60)}\n\n` +
|
|
432
497
|
`Session persists after this command completes. You can:\n` +
|
|
433
498
|
`- Send more commands: persistentSession=true, sessionId='${sessionId}'\n` +
|
|
434
499
|
`- Inspect session: TmuxSession tool with action='capture', sessionId='${sessionId}'\n` +
|
|
@@ -437,7 +502,9 @@ export class ShellTool extends BaseTool {
|
|
|
437
502
|
executionTime: Date.now() - startTime,
|
|
438
503
|
sessionId,
|
|
439
504
|
persistent: true,
|
|
440
|
-
sessionCwd: cwd
|
|
505
|
+
sessionCwd: cwd,
|
|
506
|
+
exitCode: sessionExitCode,
|
|
507
|
+
completed
|
|
441
508
|
});
|
|
442
509
|
}
|
|
443
510
|
catch (error) {
|
|
@@ -447,37 +514,133 @@ export class ShellTool extends BaseTool {
|
|
|
447
514
|
return this.createErrorResult(`Failed to execute in persistent session: ${error.message}`);
|
|
448
515
|
}
|
|
449
516
|
}
|
|
517
|
+
/**
|
|
518
|
+
* Mirror of core ToolProfile.resolveToolProfile (env tier, resolved FRESH per
|
|
519
|
+
* call so it stays hot-toggleable like the core resolver). Deliberately NOT
|
|
520
|
+
* imported from @nexus-cortex/core: this file compiles in the executors
|
|
521
|
+
* Pass-1 build stage before core's dist exists, and the profile contract is
|
|
522
|
+
* tiny and stable (CORTEX_TOOL_PROFILE=full|lean|bash-only, unknown → full).
|
|
523
|
+
* @private
|
|
524
|
+
*/
|
|
525
|
+
resolveActiveToolProfile() {
|
|
526
|
+
const raw = (process.env.CORTEX_TOOL_PROFILE ?? 'full').trim().toLowerCase();
|
|
527
|
+
if (raw === 'lean' || raw === 'bash-only')
|
|
528
|
+
return raw;
|
|
529
|
+
return 'full';
|
|
530
|
+
}
|
|
531
|
+
/**
|
|
532
|
+
* Are the redirect target tools (Read/Edit/Write/Grep/Glob) present on the
|
|
533
|
+
* active tool surface? Under bash-only they do NOT exist — redirecting to
|
|
534
|
+
* them wedges the model (canon defect 2026-08-13: bash-only graduates were
|
|
535
|
+
* told to use tools their profile hides). Under lean/full all five targets
|
|
536
|
+
* are essential-tier and therefore present.
|
|
537
|
+
* @private
|
|
538
|
+
*/
|
|
539
|
+
redirectTargetsAvailable() {
|
|
540
|
+
return this.resolveActiveToolProfile() !== 'bash-only';
|
|
541
|
+
}
|
|
542
|
+
/**
|
|
543
|
+
* Resolve the effective timeout: requested (or default), clamped to the max.
|
|
544
|
+
* @private
|
|
545
|
+
*/
|
|
546
|
+
resolveTimeoutMs(params) {
|
|
547
|
+
return Math.min(params.timeout || ShellTool.DEFAULT_TIMEOUT_MS, ShellTool.MAX_TIMEOUT_MS);
|
|
548
|
+
}
|
|
450
549
|
/**
|
|
451
550
|
* Checks if a command should be routed to a dedicated tool instead of Bash.
|
|
452
551
|
* Returns an error message with guidance if redirected, or null if allowed.
|
|
552
|
+
*
|
|
553
|
+
* Redirects fire ONLY where the dedicated tool is genuinely equivalent — the
|
|
554
|
+
* bare, flag-free forms (`cat FILE`, `grep pattern file`, literal
|
|
555
|
+
* `echo "text" > file`, plain `find -name`). Flagged, piped, redirected,
|
|
556
|
+
* multi-file, or variable-expanding invocations have no dedicated-tool
|
|
557
|
+
* equivalent (`cat -A`, `head -c 5`, `grep -c`, `echo $VAR > f`, `>>`
|
|
558
|
+
* append) and pass through. Canon defect 2026-08-13: the old flag-blind
|
|
559
|
+
* matcher blocked `cat -A probe.txt` and suggested the corrupt
|
|
560
|
+
* `Read({ file_path: "-A probe.txt" })`.
|
|
453
561
|
* @private
|
|
454
562
|
*/
|
|
455
563
|
checkToolRedirect(command) {
|
|
564
|
+
// Profile gate: never redirect to tools the active profile hides.
|
|
565
|
+
if (!this.redirectTargetsAvailable()) {
|
|
566
|
+
return null;
|
|
567
|
+
}
|
|
456
568
|
const trimmed = command.trim();
|
|
457
|
-
//
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
569
|
+
// Any shell operator means composition Bash exists for — let it through.
|
|
570
|
+
const hasOperators = /[|;&<>`]/.test(trimmed);
|
|
571
|
+
const tokens = trimmed.split(/\s+/);
|
|
572
|
+
const cmd = tokens[0] ?? '';
|
|
573
|
+
const args = tokens.slice(1);
|
|
574
|
+
const flags = args.filter((a) => a.startsWith('-'));
|
|
575
|
+
const positional = args.filter((a) => !a.startsWith('-'));
|
|
576
|
+
const stripQuotes = (s) => s.replace(/^["']|["']$/g, '');
|
|
577
|
+
// File reading: bare single-file cat/head/tail → Read tool.
|
|
578
|
+
if ((cmd === 'cat' || cmd === 'head' || cmd === 'tail') &&
|
|
579
|
+
!hasOperators &&
|
|
580
|
+
flags.length === 0 &&
|
|
581
|
+
positional.length === 1) {
|
|
582
|
+
return (`Use the Read tool instead of \`${cmd}\` for reading files. ` +
|
|
583
|
+
`Example: Read({ file_path: ${JSON.stringify(stripQuotes(positional[0] ?? ''))} })`);
|
|
461
584
|
}
|
|
462
|
-
// File editing: sed -i
|
|
585
|
+
// File editing: sed -i / perl -i in-place edits → Edit tool.
|
|
463
586
|
if (/^sed\s+(-i|--in-place)\b/.test(trimmed) || /^perl\s+-[pn]?i\b/.test(trimmed)) {
|
|
464
|
-
return `Use the Edit tool instead of \`${
|
|
465
|
-
`Read the file first, then use Edit({ file_path, old_string, new_string })
|
|
587
|
+
return (`Use the Edit tool instead of \`${cmd}\` for editing files. ` +
|
|
588
|
+
`Read the file first, then use Edit({ file_path, old_string, new_string }).`);
|
|
466
589
|
}
|
|
467
|
-
// File writing: echo > file
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
590
|
+
// File writing: LITERAL echo/printf > file → Write tool. Variable
|
|
591
|
+
// expansion ($VAR — shell-state capture), append (>>), and command
|
|
592
|
+
// composition have no Write equivalent and pass through.
|
|
593
|
+
const writeMatch = trimmed.match(/^(?:echo|printf)\s+([^>]*)>\s*(\S+)\s*$/);
|
|
594
|
+
const writeContent = writeMatch?.[1] ?? '';
|
|
595
|
+
const writeTarget = writeMatch?.[2] ?? '';
|
|
596
|
+
if (writeMatch &&
|
|
597
|
+
!trimmed.includes('>>') &&
|
|
598
|
+
!writeContent.includes('$') &&
|
|
599
|
+
!/[|;&`]/.test(writeContent)) {
|
|
600
|
+
return (`Use the Write tool instead of shell redirection for creating/writing files. ` +
|
|
601
|
+
`Example: Write({ file_path: ${JSON.stringify(stripQuotes(writeTarget))}, content: "..." })`);
|
|
471
602
|
}
|
|
472
|
-
// File searching: grep
|
|
473
|
-
if (
|
|
474
|
-
|
|
475
|
-
|
|
603
|
+
// File searching: bare flag-free grep/rg/ag/ack → Grep tool.
|
|
604
|
+
if ((cmd === 'grep' || cmd === 'rg' || cmd === 'ag' || cmd === 'ack') &&
|
|
605
|
+
!hasOperators &&
|
|
606
|
+
flags.length === 0 &&
|
|
607
|
+
positional.length >= 1 &&
|
|
608
|
+
positional.length <= 2) {
|
|
609
|
+
const grepPath = positional[1];
|
|
610
|
+
const pathArg = grepPath
|
|
611
|
+
? `, path: ${JSON.stringify(stripQuotes(grepPath))}`
|
|
612
|
+
: '';
|
|
613
|
+
return (`Use the Grep tool instead of \`${cmd}\` for searching file contents. ` +
|
|
614
|
+
`Example: Grep({ pattern: ${JSON.stringify(stripQuotes(positional[0] ?? ''))}${pathArg} })`);
|
|
476
615
|
}
|
|
477
|
-
// File finding: find → Glob tool
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
616
|
+
// File finding: PLAIN find -name (optional path + -type) → Glob tool.
|
|
617
|
+
// Any other predicate/action (-exec, -delete, -mtime, …) passes through.
|
|
618
|
+
if (cmd === 'find' && !hasOperators && args.includes('-name')) {
|
|
619
|
+
const allowedPredicates = new Set(['-name', '-iname', '-type']);
|
|
620
|
+
let simple = true;
|
|
621
|
+
let pattern;
|
|
622
|
+
for (let i = 0; i < args.length; i++) {
|
|
623
|
+
const a = args[i] ?? '';
|
|
624
|
+
if (a.startsWith('-')) {
|
|
625
|
+
if (!allowedPredicates.has(a)) {
|
|
626
|
+
simple = false;
|
|
627
|
+
break;
|
|
628
|
+
}
|
|
629
|
+
const value = args[++i];
|
|
630
|
+
if ((a === '-name' || a === '-iname') && value !== undefined) {
|
|
631
|
+
pattern = stripQuotes(value);
|
|
632
|
+
}
|
|
633
|
+
}
|
|
634
|
+
else if (i !== 0) {
|
|
635
|
+
// Only a single leading path operand keeps it Glob-equivalent.
|
|
636
|
+
simple = false;
|
|
637
|
+
break;
|
|
638
|
+
}
|
|
639
|
+
}
|
|
640
|
+
if (simple && pattern) {
|
|
641
|
+
return (`Use the Glob tool instead of \`find\` for finding files. ` +
|
|
642
|
+
`Example: Glob({ pattern: ${JSON.stringify(pattern)} })`);
|
|
643
|
+
}
|
|
481
644
|
}
|
|
482
645
|
return null;
|
|
483
646
|
}
|
|
@@ -534,6 +697,29 @@ export class ShellTool extends BaseTool {
|
|
|
534
697
|
return this.createErrorResult(`Failed to start background process: ${error.message}`);
|
|
535
698
|
}
|
|
536
699
|
}
|
|
700
|
+
/**
|
|
701
|
+
* Parse a tmux pane capture for the completion sentinel.
|
|
702
|
+
* The echoed command line contains `<sentinel>_%d` (literal printf format —
|
|
703
|
+
* no digits), so only the actual printf OUTPUT (`<sentinel>_<code>`) matches.
|
|
704
|
+
* Static + pure so it is unit-testable without tmux.
|
|
705
|
+
*/
|
|
706
|
+
static parseSentinel(paneOutput, sentinel) {
|
|
707
|
+
const match = paneOutput.match(new RegExp(`${sentinel}_(\\d+)`));
|
|
708
|
+
if (!match) {
|
|
709
|
+
return { done: false, exitCode: null };
|
|
710
|
+
}
|
|
711
|
+
return { done: true, exitCode: Number(match[1]) };
|
|
712
|
+
}
|
|
713
|
+
/**
|
|
714
|
+
* Remove sentinel artifacts (both the echoed command line and the printed
|
|
715
|
+
* completion marker) from captured pane output. Static + pure for tests.
|
|
716
|
+
*/
|
|
717
|
+
static stripSentinelLines(paneOutput, sentinel) {
|
|
718
|
+
return paneOutput
|
|
719
|
+
.split('\n')
|
|
720
|
+
.filter((line) => !line.includes(sentinel))
|
|
721
|
+
.join('\n');
|
|
722
|
+
}
|
|
537
723
|
/**
|
|
538
724
|
* Removes ANSI escape codes from string
|
|
539
725
|
* @private
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShellTool.js","sourceRoot":"","sources":["../../../src/implementations/execution/ShellTool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ShellTool.js","sourceRoot":"","sources":["../../../src/implementations/execution/ShellTool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAmB,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AA4C3E;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,SAAU,SAAQ,QAAqC;IAU9C;IATZ,MAAM,CAAU,kBAAkB,GAAG,MAAM,CAAC,CAAC,YAAY;IACzD,MAAM,CAAU,cAAc,GAAG,MAAM,CAAC,CAAC,4DAA4D;IACrG,MAAM,CAAU,yBAAyB,GAAG,IAAI,CAAC,CAAC,WAAW;IAC7D,MAAM,CAAU,iBAAiB,GAAG,KAAK,CAAC,CAAC,wCAAwC;IACnF,MAAM,CAAU,2BAA2B,GAAG,GAAG,CAAC,CAAC,0CAA0C;IAE7F,IAAI,CAAc;IAClB,WAAW,CAAqB;IAExC,YAAoB,MAAsB;QACxC,KAAK,CACH,MAAM,EACN,SAAS,EACT,sUAAsU,EACtU;YACE,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,6MAA6M;iBAChN;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,wEAAwE;iBAC3E;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,gGAAgG;iBACnG;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,wDAAwD;iBACtE;gBACD,iBAAiB,EAAE;oBACjB,IAAI,EAAE,SAAS;oBACf,WAAW,EACT,8HAA8H;iBACjI;gBACD,iBAAiB,EAAE;oBACjB,IAAI,EAAE,SAAS;oBACf,WAAW,EACT,+GAA+G;iBAClH;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,kIAAkI;iBACrI;gBACD,cAAc,EAAE;oBACd,IAAI,EAAE,SAAS;oBACf,WAAW,EACT,uFAAuF;iBAC1F;aACF;YACD,QAAQ,EAAE,CAAC,SAAS,CAAC;SACtB,CACF,CAAC;QAlDgB,WAAM,GAAN,MAAM,CAAgB;QAoDxC,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;QACtC,IAAI,CAAC,WAAW,GAAG,IAAI,kBAAkB,CAAC,MAAM,CAAC,gBAAgB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACtF,CAAC;IAED,kBAAkB,CAAC,MAAuB;QACxC,oBAAoB;QACpB,MAAM,WAAW,GAAG,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;QAC3E,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,WAAW,CAAC;QACrB,CAAC;QAED,gCAAgC;QAChC,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;YAC9C,OAAO,0BAA0B,CAAC;QACpC,CAAC;QAED,gDAAgD;QAChD,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,OAAO,qEAAqE,CAAC;QAC/E,CAAC;QAED,iCAAiC;QACjC,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;gBACtC,OAAO,gEAAgE,CAAC;YAC1E,CAAC;YAED,qCAAqC;YACrC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAC9B,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAC5B,MAAM,CAAC,SAAS,CACjB,CAAC;YAEF,8EAA8E;YAC9E,4EAA4E;YAC5E,6EAA6E;YAC7E,gCAAgC;YAEhC,yBAAyB;YACzB,IAAI,CAAC;gBACH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;oBAChC,OAAO,6BAA6B,MAAM,CAAC,SAAS,EAAE,CAAC;gBACzD,CAAC;gBACD,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBACvC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;oBACzB,OAAO,4BAA4B,MAAM,CAAC,SAAS,EAAE,CAAC;gBACxD,CAAC;YACH,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,OAAO,8BAA8B,KAAK,CAAC,OAAO,EAAE,CAAC;YACvD,CAAC;QACH,CAAC;QAED,+BAA+B;QAC/B,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACjC,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC;gBAC9D,OAAO,oCAAoC,CAAC;YAC9C,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,cAAc,CAAC,MAAuB;QACpC,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC/B,OAAO,uBAAuB,CAAC;QACjC,CAAC;QAED,IAAI,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;QACjC,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,WAAW,IAAI,QAAQ,MAAM,CAAC,SAAS,GAAG,CAAC;QAC7C,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,OAAO,CACX,MAAuB,EACvB,MAAmB,EACnB,YAAuC;QAEvC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,sBAAsB;QACtB,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACxD,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC,iBAAiB,CAAC,8CAA8C,CAAC,CAAC;QAChF,CAAC;QAED,2DAA2D;QAC3D,MAAM,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC/D,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;QACjD,CAAC;QAED,0CAA0C;QAC1C,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAClD,CAAC;QAED,wCAAwC;QACxC,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,0BAA0B,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;QACvE,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;YAEvE,gDAAgD;YAChD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,OAAO,IAAI,CAAC,iBAAiB,CAAC,gCAAgC,CAAC,CAAC;YAClE,CAAC;YAED,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,UAAU,EAAE;gBACjD,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;gBACrC,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,MAAM,EAAE,MAAM,CAAC,aAAa;gBAC5B,cAAc,EAAE,MAAM,CAAC,cAAc;gBACrC,gBAAgB,EAAE,MAAM,CAAC,IAAI;gBAC7B,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;aAC1B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBAClD,OAAO,IAAI,CAAC,iBAAiB,CAAC,gCAAgC,CAAC,CAAC;YAClE,CAAC;YACD,OAAO,IAAI,CAAC,iBAAiB,CAAC,8BAA8B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,cAAc,CAC1B,MAAuB,EACvB,MAAmB,EACnB,YAAuC;QAUvC,MAAM,SAAS,GAAG,EAAE,CAAC,QAAQ,EAAE,KAAK,OAAO,CAAC;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAE9C,4DAA4D;QAC5D,MAAM,YAAY,GAAG,eAAe,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;QAChF,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,YAAY,CAAC,CAAC;QAE1D,sDAAsD;QACtD,MAAM,OAAO,GAAG,SAAS;YACvB,CAAC,CAAC,MAAM,CAAC,OAAO;YAChB,CAAC,CAAC,CAAC,GAAG,EAAE;gBACJ,IAAI,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBAChC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;oBAAE,GAAG,IAAI,GAAG,CAAC;gBACnC,OAAO,KAAK,GAAG,8BAA8B,YAAY,sBAAsB,CAAC;YAClF,CAAC,CAAC,EAAE,CAAC;QAET,8BAA8B;QAC9B,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS;YAC1B,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,SAAS,CAAC;YAC9D,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC;QAEjC,gBAAgB;QAChB,MAAM,KAAK,GAAG,SAAS;YACrB,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE;gBACvC,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;gBACjC,GAAG;aACJ,CAAC;YACJ,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE;gBAC7B,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;gBACjC,QAAQ,EAAE,IAAI,EAAE,uBAAuB;gBACvC,GAAG;aACJ,CAAC,CAAC;QAEP,kBAAkB;QAClB,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEhC,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,EAAE;YACnC,MAAM,IAAI,GAAG,CAAC;YACd,IACE,YAAY;gBACZ,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,GAAG,SAAS,CAAC,yBAAyB,EACjE,CAAC;gBACD,YAAY,CAAC,MAAM,CAAC,CAAC;gBACrB,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC9B,CAAC;QACH,CAAC,CAAC;QAEF,iBAAiB;QACjB,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;YACxC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC5C,MAAM,IAAI,GAAG,CAAC;gBACd,YAAY,CAAC,GAAG,CAAC,CAAC;YACpB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,iBAAiB;QACjB,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;YACxC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC5C,MAAM,IAAI,GAAG,CAAC;gBACd,YAAY,CAAC,GAAG,CAAC,CAAC;YACpB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,iBAAiB;QACjB,IAAI,YAAY,GAAkB,IAAI,CAAC;QACvC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;YAC/B,oCAAoC;YACpC,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;QAEH,gBAAgB;QAChB,IAAI,QAAQ,GAAkB,IAAI,CAAC;QACnC,IAAI,aAAa,GAA0B,IAAI,CAAC;QAChD,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAmB,EAAE,GAA0B,EAAE,EAAE;YACnE,MAAM,GAAG,IAAI,CAAC;YACd,QAAQ,GAAG,IAAI,CAAC;YAChB,aAAa,GAAG,GAAG,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,gBAAgB;QAChB,MAAM,YAAY,GAAG,KAAK,IAAI,EAAE;YAC9B,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;gBACzB,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC,CAAC;QACF,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAE/C,kBAAkB;QAClB,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,IAAI,EAAE;YACtC,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;gBACzB,QAAQ,GAAG,IAAI,CAAC;gBAChB,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC,EAAE,OAAO,CAAC,CAAC;QAEZ,IAAI,CAAC;YACH,2BAA2B;YAC3B,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBAClC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;YACpC,CAAC,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,SAAS,CAAC,CAAC;YACxB,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACpD,CAAC;QAED,oCAAoC;QACpC,MAAM,cAAc,GAAa,EAAE,CAAC;QACpC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9C,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,EAAE;qBAClB,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC;qBAClC,KAAK,CAAC,IAAI,CAAC;qBACX,MAAM,CAAC,OAAO,CAAC,CAAC;gBACnB,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;oBAC9B,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;wBACvB,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;wBACzB,IAAI,GAAG,KAAK,KAAK,CAAC,GAAG,EAAE,CAAC;4BACtB,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAC3B,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YAC9B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,qCAAqC;YACvC,CAAC;QACH,CAAC;QAED,4DAA4D;QAC5D,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,MAAM,gBAAgB,GAAG,CAAC,OAAe,EAAU,EAAE;YACnD,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,iBAAiB,EAAE,CAAC;gBACjD,SAAS,GAAG,IAAI,CAAC;gBACjB,4CAA4C;gBAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,iBAAiB,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;gBACnE,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;gBAClD,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;gBAC/D,OAAO,GAAG,SAAS,YAAY,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,iBAAiB,wDAAwD,QAAQ,EAAE,CAAC;YAChJ,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC;QAEF,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,UAAU,GAAG,yDAAyD,CAAC;YACvE,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;gBAClB,UAAU,IAAI,oCAAoC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/E,CAAC;iBAAM,CAAC;gBACN,UAAU,IAAI,8CAA8C,CAAC;YAC/D,CAAC;QACH,CAAC;aAAM,IAAI,QAAQ,EAAE,CAAC;YACpB,uEAAuE;YACvE,UAAU,GAAG,2BAA2B,OAAO,oBAAoB,CAAC;YACpE,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;gBAClB,UAAU,IAAI,+BAA+B,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1E,CAAC;iBAAM,CAAC;gBACN,UAAU,IAAI,6CAA6C,CAAC;YAC9D,CAAC;YACD,UAAU,IAAI,8GAA8G,SAAS,CAAC,cAAc,MAAM,CAAC;QAC7J,CAAC;aAAM,CAAC;YACN,wBAAwB;YACxB,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;gBACnB,uEAAuE;gBACvE,qEAAqE;gBACrE,UAAU,GAAG,gBAAgB,CAAC,MAAM,CAAC,IAAI,kCAAkC,CAAC;gBAC5E,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;oBAClB,UAAU,IAAI,aAAa,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;gBACxD,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,mEAAmE;gBACnE,mEAAmE;gBACnE,MAAM,KAAK,GAAa,EAAE,CAAC;gBAC3B,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;oBAClB,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;gBACvC,CAAC;gBACD,IAAI,YAAY,EAAE,CAAC;oBACjB,KAAK,CAAC,IAAI,CAAC,UAAU,YAAY,EAAE,CAAC,CAAC;gBACvC,CAAC;gBACD,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;oBAClB,KAAK,CAAC,IAAI,CAAC,WAAW,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACpD,CAAC;gBACD,KAAK,CAAC,IAAI,CACR,aAAa;oBACX,CAAC,CAAC,iCAAiC,QAAQ,aAAa,aAAa,GAAG;oBACxE,CAAC,CAAC,iCAAiC,QAAQ,EAAE,CAChD,CAAC;gBACF,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QAED,OAAO;YACL,UAAU;YACV,QAAQ;YACR,aAAa;YACb,cAAc;YACd,IAAI,EAAE,KAAK,CAAC,GAAG,IAAI,IAAI;YACvB,SAAS;YACT,QAAQ;SACT,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,WAAW,CAAC,GAAW,EAAE,SAAkB;QACvD,IAAI,SAAS,EAAE,CAAC;YACd,6CAA6C;YAC7C,KAAK,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,2BAA2B;YAC3B,IAAI,CAAC;gBACH,oBAAoB;gBACpB,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;gBAC9B,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;gBACzD,wCAAwC;gBACxC,IAAI,CAAC;oBACH,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;gBAChC,CAAC;gBAAC,MAAM,CAAC;oBACP,yBAAyB;gBAC3B,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,oDAAoD;gBACpD,IAAI,CAAC;oBACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;gBAC/B,CAAC;gBAAC,MAAM,CAAC;oBACP,yBAAyB;gBAC3B,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,0BAA0B,CACtC,MAAuB,EACvB,MAAmB,EACnB,YAAuC;QAEvC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,0BAA0B;QAC1B,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC,iBAAiB,CAC3B,8EAA8E;gBAC9E,iBAAiB;gBACjB,0CAA0C;gBAC1C,+BAA+B;gBAC/B,6CAA6C;gBAC7C,uEAAuE;gBACvE,6BAA6B;gBAC7B,4DAA4D,CAC7D,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,sCAAsC;YACtC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,QAAQ,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAEtF,YAAY,EAAE,CAAC,6BAA6B,SAAS,IAAI,CAAC,CAAC;YAE3D,8BAA8B;YAC9B,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS;gBAC1B,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,SAAS,CAAC;gBAC9D,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC;YAEjC,kCAAkC;YAClC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;gBAChD,YAAY,EAAE,CAAC,gCAAgC,CAAC,CAAC;gBACjD,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;gBAE9C,wBAAwB;gBACxB,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC;oBACjC,SAAS;oBACT,OAAO,EAAE,IAAI,IAAI,EAAE;oBACnB,QAAQ,EAAE,IAAI,IAAI,EAAE;oBACpB,GAAG;iBACJ,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,yBAAyB;gBACzB,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YACjD,CAAC;YAED,wEAAwE;YACxE,yEAAyE;YACzE,oEAAoE;YACpE,0EAA0E;YAC1E,uEAAuE;YACvE,YAAY,EAAE,CAAC,oBAAoB,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;YACvD,MAAM,QAAQ,GAAG,iBAAiB,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1E,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,MAAM,CAAC,OAAO,aAAa,QAAQ,cAAc,CAAC,CAAC;YAE1F,8DAA8D;YAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;YACtC,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5D,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,SAAS,GAAG,KAAK,CAAC;YACtB,IAAI,eAAe,GAAkB,IAAI,CAAC;YAC1C,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAChD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAC5B,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,2BAA2B,CAAC,CAC3D,CAAC;gBACF,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;gBAC3D,MAAM,MAAM,GAAG,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;gBACzD,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;oBAChB,SAAS,GAAG,IAAI,CAAC;oBACjB,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC;oBAClC,MAAM;gBACR,CAAC;YACH,CAAC;YACD,MAAM,aAAa,GAAG,SAAS,CAAC,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAErE,MAAM,UAAU,GAAG,SAAS;gBAC1B,CAAC,CAAC,oCAAoC,eAAe,GAAG;gBACxD,CAAC,CAAC,mCAAmC,OAAO,+CAA+C;oBACzF,oDAAoD,SAAS,8CAA8C,CAAC;YAEhH,MAAM,MAAM,GAAG,gDAAgD,SAAS,MAAM,UAAU,MAAM;gBAC5F,YAAY,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,aAAa,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM;gBACrE,2DAA2D;gBAC3D,4DAA4D,SAAS,KAAK;gBAC1E,yEAAyE,SAAS,KAAK;gBACvF,mEAAmE,SAAS,GAAG,CAAC;YAElF,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE;gBACtC,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;gBACrC,SAAS;gBACT,UAAU,EAAE,IAAI;gBAChB,UAAU,EAAE,GAAG;gBACf,QAAQ,EAAE,eAAe;gBACzB,SAAS;aACV,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,OAAO,IAAI,CAAC,iBAAiB,CAAC,gCAAgC,CAAC,CAAC;YAClE,CAAC;YACD,OAAO,IAAI,CAAC,iBAAiB,CAAC,4CAA4C,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7F,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,wBAAwB;QAC9B,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC7E,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,WAAW;YAAE,OAAO,GAAG,CAAC;QACtD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;OAOG;IACK,wBAAwB;QAC9B,OAAO,IAAI,CAAC,wBAAwB,EAAE,KAAK,WAAW,CAAC;IACzD,CAAC;IAED;;;OAGG;IACK,gBAAgB,CAAC,MAAuB;QAC9C,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,SAAS,CAAC,kBAAkB,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;IAC5F,CAAC;IAED;;;;;;;;;;;;;OAaG;IACK,iBAAiB,CAAC,OAAe;QACvC,kEAAkE;QAClE,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAC/B,yEAAyE;QACzE,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;QACpD,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1D,MAAM,WAAW,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QAEjE,4DAA4D;QAC5D,IACE,CAAC,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,MAAM,CAAC;YACnD,CAAC,YAAY;YACb,KAAK,CAAC,MAAM,KAAK,CAAC;YAClB,UAAU,CAAC,MAAM,KAAK,CAAC,EACvB,CAAC;YACD,OAAO,CACL,kCAAkC,GAAG,wBAAwB;gBAC7D,8BAA8B,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CACpF,CAAC;QACJ,CAAC;QAED,6DAA6D;QAC7D,IAAI,0BAA0B,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAClF,OAAO,CACL,kCAAkC,GAAG,wBAAwB;gBAC7D,4EAA4E,CAC7E,CAAC;QACJ,CAAC;QAED,kEAAkE;QAClE,mEAAmE;QACnE,yDAAyD;QACzD,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC5E,MAAM,YAAY,GAAG,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3C,MAAM,WAAW,GAAG,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1C,IACE,UAAU;YACV,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;YACvB,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC;YAC3B,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,EAC5B,CAAC;YACD,OAAO,CACL,8EAA8E;gBAC9E,+BAA+B,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,qBAAqB,CAC7F,CAAC;QACJ,CAAC;QAED,6DAA6D;QAC7D,IACE,CAAC,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,KAAK,CAAC;YACjE,CAAC,YAAY;YACb,KAAK,CAAC,MAAM,KAAK,CAAC;YAClB,UAAU,CAAC,MAAM,IAAI,CAAC;YACtB,UAAU,CAAC,MAAM,IAAI,CAAC,EACtB,CAAC;YACD,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,OAAO,GAAG,QAAQ;gBACtB,CAAC,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,EAAE;gBACpD,CAAC,CAAC,EAAE,CAAC;YACP,OAAO,CACL,kCAAkC,GAAG,kCAAkC;gBACvE,4BAA4B,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,OAAO,KAAK,CAC5F,CAAC;QACJ,CAAC;QAED,sEAAsE;QACtE,yEAAyE;QACzE,IAAI,GAAG,KAAK,MAAM,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9D,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;YAChE,IAAI,MAAM,GAAG,IAAI,CAAC;YAClB,IAAI,OAA2B,CAAC;YAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACxB,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBACtB,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC9B,MAAM,GAAG,KAAK,CAAC;wBACf,MAAM;oBACR,CAAC;oBACD,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;oBACxB,IAAI,CAAC,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,QAAQ,CAAC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;wBAC7D,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;oBAC/B,CAAC;gBACH,CAAC;qBAAM,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBACnB,+DAA+D;oBAC/D,MAAM,GAAG,KAAK,CAAC;oBACf,MAAM;gBACR,CAAC;YACH,CAAC;YACD,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;gBACtB,OAAO,CACL,2DAA2D;oBAC3D,4BAA4B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CACzD,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACK,mBAAmB,CACzB,MAAuB,EACvB,MAAmB;QAEnB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,EAAE,CAAC,QAAQ,EAAE,KAAK,OAAO,CAAC;QAE5C,8BAA8B;QAC9B,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS;YAC1B,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,SAAS,CAAC;YAC9D,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC;QAEjC,6BAA6B;QAC7B,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAE9D,IAAI,CAAC;YACH,6CAA6C;YAC7C,MAAM,KAAK,GAAG,SAAS;gBACrB,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE;oBACvC,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;oBACjC,GAAG;iBACJ,CAAC;gBACJ,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE;oBACpC,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;oBACjC,QAAQ,EAAE,IAAI;oBACd,GAAG;iBACJ,CAAC,CAAC;YAEP,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;gBACf,OAAO,IAAI,CAAC,iBAAiB,CAAC,qCAAqC,CAAC,CAAC;YACvE,CAAC;YAED,0FAA0F;YAC1F,MAAM,QAAQ,GAAG,yBAAyB,CAAC,WAAW,EAAE,CAAC;YACzD,QAAQ,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAEpE,+DAA+D;YAC/D,KAAK,CAAC,KAAK,EAAE,CAAC;YAEd,MAAM,MAAM,GAAG,uCAAuC,OAAO,IAAI;gBAC/D,QAAQ,KAAK,CAAC,GAAG,IAAI;gBACrB,YAAY,MAAM,CAAC,OAAO,MAAM;gBAChC,8BAA8B,OAAO,yBAAyB;gBAC9D,8BAA8B,OAAO,eAAe,CAAC;YAEvD,OAAO;gBACL,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC;gBACnC,QAAQ,EAAE;oBACR,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;oBACrC,OAAO,EAAE,OAAO;oBAChB,GAAG,EAAE,KAAK,CAAC,GAAG;oBACd,iBAAiB,EAAE,IAAI;iBACxB;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,iBAAiB,CAAC,uCAAuC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACxF,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,aAAa,CAClB,UAAkB,EAClB,QAAgB;QAEhB,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,GAAG,QAAQ,SAAS,CAAC,CAAC,CAAC;QACjE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACzC,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACpD,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,kBAAkB,CAAC,UAAkB,EAAE,QAAgB;QAC5D,OAAO,UAAU;aACd,KAAK,CAAC,IAAI,CAAC;aACX,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;aAC1C,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IAED;;;OAGG;IACK,SAAS,CAAC,GAAW;QAC3B,4CAA4C;QAC5C,OAAO,GAAG,CAAC,OAAO,CAChB,6EAA6E,EAC7E,EAAE,CACH,CAAC;IACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nexus-cortex/executors",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.63.0",
|
|
4
4
|
"description": "Tool execution layer for Nexus Cortex",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -30,8 +30,8 @@
|
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"@google/genai": "^1.27.0",
|
|
32
32
|
"@modelcontextprotocol/sdk": "^1.20.2",
|
|
33
|
-
"@nexus-cortex/core": "4.
|
|
34
|
-
"@nexus-cortex/types": "4.
|
|
33
|
+
"@nexus-cortex/core": "4.63.0",
|
|
34
|
+
"@nexus-cortex/types": "4.63.0",
|
|
35
35
|
"@types/diff": "^7.0.2",
|
|
36
36
|
"ajv": "^8.12.0",
|
|
37
37
|
"diff": "^8.0.2",
|