fixo-cli 1.0.1 → 1.0.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/dist/agent/command-parser.d.ts.map +1 -1
- package/dist/agent/command-parser.js +28 -5
- package/dist/agent/command-parser.js.map +1 -1
- package/dist/agent/single-agent.d.ts.map +1 -1
- package/dist/agent/single-agent.js +41 -4
- package/dist/agent/single-agent.js.map +1 -1
- package/dist/agent/tool-executor.d.ts.map +1 -1
- package/dist/agent/tool-executor.js +65 -31
- package/dist/agent/tool-executor.js.map +1 -1
- package/dist/config.d.ts +18 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +10 -0
- package/dist/config.js.map +1 -1
- package/dist/ui/render-primitives.d.ts +19 -0
- package/dist/ui/render-primitives.d.ts.map +1 -1
- package/dist/ui/render-primitives.js +53 -0
- package/dist/ui/render-primitives.js.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-parser.d.ts","sourceRoot":"","sources":["../../src/agent/command-parser.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAExE,OAAO,EAAE,aAAa,EAAE,CAAC;AACzB,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAGjF;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;
|
|
1
|
+
{"version":3,"file":"command-parser.d.ts","sourceRoot":"","sources":["../../src/agent/command-parser.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAExE,OAAO,EAAE,aAAa,EAAE,CAAC;AACzB,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAGjF;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAoCD;;;GAGG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAmFxG;AAID;;;;;;GAMG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAEpD"}
|
|
@@ -23,6 +23,21 @@ const DANGEROUS_MODIFIERS = new Set([
|
|
|
23
23
|
const DANGEROUS_READERS = new Set([
|
|
24
24
|
'cat', 'less', 'more', 'grep', 'head', 'tail'
|
|
25
25
|
]);
|
|
26
|
+
/**
|
|
27
|
+
* System binaries that the agent is permitted to invoke even when
|
|
28
|
+
* referenced via an absolute or workspace-relative path that resolves
|
|
29
|
+
* outside the workspace root (e.g. `/usr/bin/git`, `/opt/homebrew/bin/node`).
|
|
30
|
+
*
|
|
31
|
+
* The per-argument safety checks below (workspace containment for
|
|
32
|
+
* `DANGEROUS_MODIFIERS`, sensitive-file detection for reads and writes)
|
|
33
|
+
* still apply — only the "binary lives outside the workspace" rejection
|
|
34
|
+
* is bypassed. This unblocks the common case of the agent running its
|
|
35
|
+
* own toolchain (git, node, npm, ...) without weakening the file
|
|
36
|
+
* containment guarantees.
|
|
37
|
+
*/
|
|
38
|
+
const ALLOWED_GLOBAL_BINARIES = new Set([
|
|
39
|
+
'git', 'node', 'npm', 'npx', 'bash', 'sh', 'cat', 'grep', 'mkdir', 'rm'
|
|
40
|
+
]);
|
|
26
41
|
function unquote(str) {
|
|
27
42
|
if (str.length < 2)
|
|
28
43
|
return str;
|
|
@@ -42,10 +57,18 @@ export async function isCommandSafe(command, workspaceRoot) {
|
|
|
42
57
|
const guard = new WorkspaceGuard(workspaceRoot);
|
|
43
58
|
for (const cmd of parsed) {
|
|
44
59
|
const binaryLower = cmd.binary.toLowerCase();
|
|
45
|
-
//
|
|
60
|
+
// Compare per-arg safety checks against the basename so a binary
|
|
61
|
+
// invoked by absolute or relative path (`/bin/rm`, `./scripts/rm`)
|
|
62
|
+
// is still recognised as a dangerous modifier / reader.
|
|
63
|
+
const binBasename = path.basename(unquote(binaryLower)).toLowerCase();
|
|
64
|
+
// Check if the binary itself is a path outside the workspace.
|
|
65
|
+
// Trusted system binaries (git/node/npm/...) bypass this rejection
|
|
66
|
+
// because the agent legitimately needs to invoke its own toolchain,
|
|
67
|
+
// which lives outside the project root. Per-argument file containment
|
|
68
|
+
// is still enforced below.
|
|
46
69
|
if (binaryLower.startsWith('/') || binaryLower.startsWith('.')) {
|
|
47
70
|
const resolvedBin = path.resolve(workspaceRoot, unquote(binaryLower));
|
|
48
|
-
if (!guard.isInside(resolvedBin)) {
|
|
71
|
+
if (!guard.isInside(resolvedBin) && !ALLOWED_GLOBAL_BINARIES.has(binBasename)) {
|
|
49
72
|
return {
|
|
50
73
|
safe: false,
|
|
51
74
|
reason: `Attempt to execute an external binary located outside the workspace: ${cmd.binary}`,
|
|
@@ -70,7 +93,7 @@ export async function isCommandSafe(command, workspaceRoot) {
|
|
|
70
93
|
}
|
|
71
94
|
const resolved = path.resolve(workspaceRoot, targetPath);
|
|
72
95
|
// Check for workspace escaping
|
|
73
|
-
if (DANGEROUS_MODIFIERS.has(
|
|
96
|
+
if (DANGEROUS_MODIFIERS.has(binBasename)) {
|
|
74
97
|
if (!guard.isInside(resolved)) {
|
|
75
98
|
return {
|
|
76
99
|
safe: false,
|
|
@@ -87,14 +110,14 @@ export async function isCommandSafe(command, workspaceRoot) {
|
|
|
87
110
|
filename === 'credentials' ||
|
|
88
111
|
(filename === 'config' && resolved.includes('.aws'));
|
|
89
112
|
if (isSensitive) {
|
|
90
|
-
if (DANGEROUS_MODIFIERS.has(
|
|
113
|
+
if (DANGEROUS_MODIFIERS.has(binBasename)) {
|
|
91
114
|
return {
|
|
92
115
|
safe: false,
|
|
93
116
|
reason: `Command '${cmd.binary}' attempts to modify a sensitive credentials file: ${filename}`,
|
|
94
117
|
affectedPath: resolved
|
|
95
118
|
};
|
|
96
119
|
}
|
|
97
|
-
if (DANGEROUS_READERS.has(
|
|
120
|
+
if (DANGEROUS_READERS.has(binBasename) || binBasename === 'grep') {
|
|
98
121
|
return {
|
|
99
122
|
safe: false,
|
|
100
123
|
reason: `Command '${cmd.binary}' attempts to read a sensitive credentials file: ${filename}`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-parser.js","sourceRoot":"","sources":["../../src/agent/command-parser.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAsB,MAAM,qBAAqB,CAAC;AAExE,OAAO,EAAE,aAAa,EAAE,CAAC;AAGzB;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAAe;IACrD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,SAAS,EAAE,CAAC;IAC/C,OAAO,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC3E,CAAC;AAQD,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC;IAClC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO;CAC1E,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC;IAChC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAC9C,CAAC,CAAC;AAEH,SAAS,OAAO,CAAC,GAAW;IAC1B,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IAC/B,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACrB,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACjC,IAAI,CAAC,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG,CAAC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACvD,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAAe,EAAE,aAAqB;IACxE,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,IAAI,cAAc,CAAC,aAAa,CAAC,CAAC;IAEhD,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"command-parser.js","sourceRoot":"","sources":["../../src/agent/command-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"single-agent.d.ts","sourceRoot":"","sources":["../../src/agent/single-agent.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,WAAW,EAAqC,MAAM,mBAAmB,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAIxD,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAmB7D,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,eAAO,MAAM,cAAc;;;;
|
|
1
|
+
{"version":3,"file":"single-agent.d.ts","sourceRoot":"","sources":["../../src/agent/single-agent.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,WAAW,EAAqC,MAAM,mBAAmB,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAIxD,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAmB7D,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,eAAO,MAAM,cAAc;;;;mBAoDc,CAAC;kBAAiC,CAAC,cAAc,CAAC;qBAIzF,CADF;;;CAlDC,CAAC;AACF,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AA0BrC,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,UAAU,CAiC1E;AAkJD,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,QAAQ,CAAS;gBAEb,OAAO,UAAQ;IAM3B,2EAA2E;IAC3E,SAAS,IAAI,WAAW;IAIlB,YAAY,CAChB,OAAO,EAAE,YAAY,EACrB,YAAY,EAAE,mBAAmB,EACjC,EAAE,CAAC,EAAE,QAAQ,CAAC,SAAS,GACtB,OAAO,CAAC,WAAW,CAAC;IA8ZvB;;;;;;;;OAQG;YACW,aAAa;IAuD3B;;;;;;;OAOG;YACW,cAAc;YA4Dd,qBAAqB;IAqCnC;;;OAGG;YACW,mBAAmB;IA2BjC;;;;;;;;;;;;;;;;;OAiBG;IACG,oBAAoB,CACxB,YAAY,EAAE,mBAAmB,EACjC,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,SAAS,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAyCzE,sCAAsC;IAChC,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;CAG/B"}
|
|
@@ -22,7 +22,6 @@ import { TaskSession } from '../runtime/task-session.js';
|
|
|
22
22
|
import { BackgroundAwareness } from './background-awareness.js';
|
|
23
23
|
import { FixoMdWatcher } from '../context/fixo-md-watcher.js';
|
|
24
24
|
/* ──────────────────────── Constants ──────────────────────── */
|
|
25
|
-
const MAX_TOOL_CALLS = 25;
|
|
26
25
|
const MAX_TOOL_RESULT_LENGTH = 30_000;
|
|
27
26
|
const colors = {
|
|
28
27
|
reset: C.RESET,
|
|
@@ -259,6 +258,13 @@ export class SingleAgent {
|
|
|
259
258
|
console.log(`${colors.dim}🛡 Read-only role — mutation tools hidden.${colors.reset}`);
|
|
260
259
|
}
|
|
261
260
|
const safety = loadConfig().preferences.safety;
|
|
261
|
+
// Tool-call budget. The agent loop runs at most `softLimit` calls
|
|
262
|
+
// by default; when `autoExtend` is on and the semantic loop
|
|
263
|
+
// detector is not warning, the budget silently lifts to
|
|
264
|
+
// `hardLimit`. The hard limit is the absolute ceiling.
|
|
265
|
+
const budget = safety.toolCalls;
|
|
266
|
+
let toolCallLimit = Math.max(1, budget.softLimit);
|
|
267
|
+
const toolCallHardLimit = Math.max(toolCallLimit, budget.hardLimit);
|
|
262
268
|
// Pillar 2 — semantic loop detector. Tracks per-file frequency so
|
|
263
269
|
// an LLM which varies its search arguments but keeps hammering
|
|
264
270
|
// the same file still trips. The composite LoopTrapDetector is
|
|
@@ -281,7 +287,20 @@ export class SingleAgent {
|
|
|
281
287
|
const fixoMdWatcher = new FixoMdWatcher(context.cwd);
|
|
282
288
|
console.log(`\n${colors.cyan}${colors.bold}🤖 Agent working...${colors.reset}`);
|
|
283
289
|
try {
|
|
284
|
-
while (toolCallCount <
|
|
290
|
+
while (toolCallCount < toolCallLimit) {
|
|
291
|
+
// Auto-extend the budget when the agent is at the soft limit
|
|
292
|
+
// but the semantic loop detector is quiet — i.e. the work is
|
|
293
|
+
// still progressing, not thrashing. Capped at hardLimit.
|
|
294
|
+
if (budget.autoExtend &&
|
|
295
|
+
toolCallCount + 1 >= toolCallLimit &&
|
|
296
|
+
toolCallLimit < toolCallHardLimit &&
|
|
297
|
+
pendingSafetyDirective === null) {
|
|
298
|
+
const previous = toolCallLimit;
|
|
299
|
+
toolCallLimit = Math.min(toolCallHardLimit, toolCallLimit * 2);
|
|
300
|
+
if (toolCallLimit > previous) {
|
|
301
|
+
console.log(`${colors.dim}↳ tool-call budget extended ${previous} → ${toolCallLimit} (no loop detected)${colors.reset}`);
|
|
302
|
+
}
|
|
303
|
+
}
|
|
285
304
|
// Background-job awareness: surface newly-finished and
|
|
286
305
|
// still-running jobs as a directive before each chat() call.
|
|
287
306
|
// Skipped on the first iteration because no async tools have
|
|
@@ -305,7 +324,7 @@ export class SingleAgent {
|
|
|
305
324
|
}
|
|
306
325
|
}
|
|
307
326
|
const spinner = promptsWrapper.spinner();
|
|
308
|
-
spinner.start(
|
|
327
|
+
spinner.start(`⚡ Agent is analyzing context paths… (turn ${toolCallCount + 1})`);
|
|
309
328
|
dashboard.emit({
|
|
310
329
|
type: 'turn-start',
|
|
311
330
|
turnIndex: toolCallCount + 1,
|
|
@@ -476,7 +495,7 @@ export class SingleAgent {
|
|
|
476
495
|
toolCallCount++;
|
|
477
496
|
}
|
|
478
497
|
}
|
|
479
|
-
console.log(`${colors.yellow}⚠ Tool call limit reached (${
|
|
498
|
+
console.log(`${colors.yellow}⚠ Tool call limit reached (${toolCallLimit}).${colors.reset}`);
|
|
480
499
|
conversation.addTurn(context.task, `Task processed with ${toolCallCount} tool calls.`);
|
|
481
500
|
const limitResponse = `Completed with ${toolCallCount} tool calls (limit reached).`;
|
|
482
501
|
taskSession.finish('success', limitResponse);
|
|
@@ -569,11 +588,29 @@ export class SingleAgent {
|
|
|
569
588
|
? this.client.chatStreamWithResume(messages, model, {}, maxResumeAttempts)
|
|
570
589
|
: this.client.chatStream(messages, model);
|
|
571
590
|
const renderer = new MarkdownStreamRenderer();
|
|
591
|
+
// Reasoning / chain-of-thought is suppressed by default. Models
|
|
592
|
+
// that emit `<think>` blocks or `reasoning_content` deltas are
|
|
593
|
+
// routed through here; the user only sees a short status line.
|
|
594
|
+
// Set DEBUG=1 or pass --verbose to render the raw thinking dim
|
|
595
|
+
// inline so developers can still inspect it.
|
|
596
|
+
const showThinking = !!process.env.DEBUG || !!process.env.VERBOSE || process.argv.includes('--verbose');
|
|
597
|
+
let thinkingAnnounced = false;
|
|
572
598
|
for await (const chunk of stream) {
|
|
573
599
|
if (chunk.type === 'content' && chunk.content) {
|
|
574
600
|
renderer.write(chunk.content);
|
|
575
601
|
fullText += chunk.content;
|
|
576
602
|
}
|
|
603
|
+
if (chunk.type === 'thinking' && chunk.thinking) {
|
|
604
|
+
if (showThinking) {
|
|
605
|
+
// Dim secondary colour so the thought stream is visually
|
|
606
|
+
// subordinate to the actual response.
|
|
607
|
+
process.stdout.write(`${colors.dim}${chunk.thinking}${colors.reset}`);
|
|
608
|
+
}
|
|
609
|
+
else if (!thinkingAnnounced) {
|
|
610
|
+
process.stdout.write(` ${colors.dim}⚡ Agent is reasoning…${colors.reset}\n`);
|
|
611
|
+
thinkingAnnounced = true;
|
|
612
|
+
}
|
|
613
|
+
}
|
|
577
614
|
if (chunk.type === 'done') {
|
|
578
615
|
if (chunk.usage) {
|
|
579
616
|
usage.prompt_tokens += chunk.usage.prompt_tokens;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"single-agent.js","sourceRoot":"","sources":["../../src/agent/single-agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"single-agent.js","sourceRoot":"","sources":["../../src/agent/single-agent.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,WAAW,EAAqC,MAAM,mBAAmB,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAoB,WAAW,EAAE,qBAAqB,EAAsB,MAAM,oBAAoB,CAAC;AAC9H,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EACL,6BAA6B,EAC7B,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,YAAY,EACZ,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,CAAC,EAAE,MAAM,iBAAiB,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAClF,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,MAAM,EAAE,CAAC,CAAC,MAAM;IAChB,OAAO,EAAE,CAAC,CAAC,OAAO;IAClB,OAAO,EAAE,CAAC,CAAC,OAAO;IAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ;CACrB,CAAC;AAEF,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAMzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,iEAAiE;AAEjE,MAAM,sBAAsB,GAAG,MAAM,CAAC;AAEtC,MAAM,MAAM,GAAG;IACb,KAAK,EAAE,CAAC,CAAC,KAAK;IACd,IAAI,EAAE,CAAC,CAAC,IAAI;IACZ,GAAG,EAAE,CAAC,CAAC,KAAK;IACZ,KAAK,EAAE,CAAC,CAAC,KAAK;IACd,MAAM,EAAE,CAAC,CAAC,MAAM;IAChB,IAAI,EAAE,CAAC,CAAC,IAAI;IACZ,GAAG,EAAE,CAAC,CAAC,GAAG;IACV,IAAI,EAAE,CAAC,CAAC,KAAK;IACb,OAAO,EAAE,CAAC,CAAC,MAAM;CAClB,CAAC;AAEF,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;IAE5C,6FAA6F;IAC7F,MAAM,gBAAgB,GAAG;QACvB,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,YAAY;QAClE,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU;KACjF,CAAC;IACF,IAAI,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QAC9D,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,6DAA6D;IAC7D,MAAM,gBAAgB,GAAG;QACvB,cAAc,EAAE,UAAU,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,UAAU;QAC3E,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW;QAClE,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW;KAClE,CAAC;IACF,MAAM,cAAc,GAAG,wHAAwH,CAAC;IAEhJ,IAAI,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAChG,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,MAAM,YAAY,GAAG;QACnB,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU;QAC/D,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc;KAC1E,CAAC;IAEF,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QAC1D,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,0EAA0E;AAE1E,SAAS,sBAAsB,CAC7B,IAAY,EACZ,IAA4B;IAE5B,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,YAAY;YACf,OAAO,kBAAkB,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,cAAc,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC;QACrG,KAAK,aAAa;YAChB,OAAO,4BAA4B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,IAAI,iBAAiB,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC;QACvH,KAAK,aAAa;YAChB,OAAO,oCAAoC,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,UAAU,CAAC;QACjF,KAAK,eAAe;YAClB,OAAO,0BAA0B,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,OAAO,GAAG,CAAC;QACtH,KAAK,cAAc;YACjB,OAAO,yBAAyB,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC;QAC5E,KAAK,aAAa;YAChB,OAAO,gBAAgB,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,MAAM,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC;QAC7G,KAAK,aAAa;YAChB,OAAO,SAAS,MAAM,CAAC,GAAG,SAAS,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC;QAC/F,KAAK,eAAe;YAClB,OAAO,4BAA4B,IAAI,CAAC,UAAU,IAAI,CAAC;QACzD,KAAK,gBAAgB;YACnB,OAAO,sBAAsB,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC;QACrE,KAAK,aAAa;YAChB,OAAO,qBAAqB,IAAI,CAAC,MAAM,IAAI,QAAQ,GAAG,CAAC;QACzD,KAAK,qBAAqB;YACxB,OAAO,oCAAoC,IAAI,CAAC,UAAU,IAAI,MAAM,IAAI,CAAC;QAC3E;YACE,OAAO,SAAS,IAAI,GAAG,CAAC;IAC5B,CAAC;AACH,CAAC;AAED,qEAAqE;AAErE;;;;;;;GAOG;AACH,SAAS,gBAAgB,CAAC,OAAqB;IAC7C,MAAM,WAAW,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAC/C,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7C,OAAO,OAAO,CAAC,IAAI,CAAC;IACtB,CAAC;IACD,MAAM,MAAM,GAAuB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1E,KAAK,MAAM,CAAC,IAAI,WAAW;QAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5C,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,iBAAiB,CACxB,OAAe,EACf,OAAqB,EACrB,WAAW,GAAG,IAAI;IAElB,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,WAAW,EAAE,CAAC;QAChB,KAAK,CAAC,IAAI,CACR,wIAAwI,EACxI,EAAE,EACF,iBAAiB,EACjB,iCAAiC,EACjC,gDAAgD,EAChD,8DAA8D,EAC9D,mFAAmF,EACnF,gEAAgE,EAChE,gDAAgD,EAChD,EAAE,EACF,eAAe,EACf,iFAAiF,EACjF,sKAAsK,EACtK,6EAA6E,EAC7E,qEAAqE,EACrE,6EAA6E,EAC7E,gFAAgF,EAChF,EAAE,EACF,uBAAuB,EACvB,kLAAkL,EAClL,qOAAqO,EACrO,8LAA8L,EAC9L,iLAAiL,EACjL,gLAAgL,CACjL,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CACR,8JAA8J,EAC9J,EAAE,EACF,eAAe,EACf,wDAAwD,EACxD,6CAA6C,EAC7C,uHAAuH,CACxH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CACR,EAAE,EACF,cAAc,EACd,sBAAsB,OAAO,CAAC,GAAG,EAAE,CACpC,CAAC;IAEF,wBAAwB;IACxB,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,iBAAiB,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,2BAA2B;IAC3B,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,2BAA2B,OAAO,CAAC,YAAY,IAAI,CAAC,CAAC;IAClE,CAAC;IAED,qCAAqC;IACrC,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,yBAAyB,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC1E,CAAC;IAED,yDAAyD;IACzD,sDAAsD;IACtD,qDAAqD;IACrD,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,6BAA6B,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5F,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtB,KAAK,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAED,eAAe;IACf,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAExB,yDAAyD;IACzD,kDAAkD;IAClD,2BAA2B;IAC3B,MAAM,WAAW,GAAG,iBAAiB,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IACjE,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,mEAAmE;AAEnE,MAAM,OAAO,WAAW;IACd,MAAM,CAAc;IACpB,OAAO,CAAU;IACjB,QAAQ,GAAG,KAAK,CAAC;IAEzB,YAAY,OAAO,GAAG,KAAK;QACzB,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,kBAAkB,IAAI,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACvF,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,2EAA2E;IAC3E,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,OAAqB,EACrB,YAAiC,EACjC,EAAuB;QAEvB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAe,EAAE,aAAa,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;QAC3F,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,MAAM,aAAa,GAAa,EAAE,CAAC;QACnC,IAAI,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC;QAElC,0DAA0D;QAC1D,YAAY,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAE5C,4CAA4C;QAC5C,IAAI,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,MAAM,aAAa,GAAG,kFAAkF,CAAC;YAEzG,2CAA2C;YAC3C,MAAM,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,aAAa,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YACzF,0CAA0C;YAC1C,MAAM,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,aAAa,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YAE1F,MAAM,QAAQ,GAAkB;gBAC9B,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE;gBAC1C,GAAG,YAAY,CAAC,WAAW,EAAE;gBAC7B,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE;aACrD,CAAC;YAEF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;YACjF,MAAM,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC;YAC5C,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YAEjD,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,YAAY;gBACtB,aAAa,EAAE,EAAE;gBACjB,UAAU,EAAE,UAAU;gBACtB,aAAa,EAAE,CAAC;gBAChB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;gBAClC,KAAK,EAAE,SAAS,CAAC,aAAa;aAC/B,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;YAC3B,OAAO,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;QAC/E,CAAC;QAED,qCAAqC;QACrC,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC1C,MAAM,YAAY,GAAG,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAEzD,iEAAiE;QACjE,MAAM,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,YAAY,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACxF,0CAA0C;QAC1C,MAAM,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,YAAY,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAEzF,MAAM,QAAQ,GAAkB;YAC9B,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE;YACzC,GAAG,YAAY,CAAC,WAAW,EAAE;YAC7B,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE;SACrD,CAAC;QAEF;;;;;;WAMG;QACH,MAAM,qBAAqB,GAAG,CAAC,SAAiB,EAAQ,EAAE;YACxD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC5D,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;gBACzD,OAAO;YACT,CAAC;YACD,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC;YAC3B,QAAQ,CAAC,CAAC,CAAC,GAAG;gBACZ,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,GAAG,SAAS,OAAO,KAAK,CAAC,OAAO,EAAE;aAC5C,CAAC;QACJ,CAAC,CAAC;QAEF,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC;YAClC,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;QAEH,2DAA2D;QAC3D,wDAAwD;QACxD,0DAA0D;QAC1D,oDAAoD;QACpD,IAAI,CAAC;YACH,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;YACvE,oBAAoB,CAAC,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACtD,CAAC;QAAC,MAAM,CAAC;YACP,uDAAuD;QACzD,CAAC;QAED,uDAAuD;QACvD,0DAA0D;QAC1D,4DAA4D;QAC5D,MAAM,IAAI,GAAG,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtF,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,8CAA8C,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QACzF,CAAC;QACD,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC;QAC/C,kEAAkE;QAClE,4DAA4D;QAC5D,wDAAwD;QACxD,uDAAuD;QACvD,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC;QAChC,IAAI,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QAClD,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QAEpE,kEAAkE;QAClE,+DAA+D;QAC/D,+DAA+D;QAC/D,+DAA+D;QAC/D,8DAA8D;QAC9D,sDAAsD;QACtD,MAAM,oBAAoB,GAAG,IAAI,oBAAoB,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAC/E,IAAI,sBAAsB,GAAkB,IAAI,CAAC;QAEjD,wDAAwD;QACxD,gEAAgE;QAChE,gEAAgE;QAChE,2DAA2D;QAC3D,4DAA4D;QAC5D,MAAM,mBAAmB,GAAG,IAAI,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEjE,gEAAgE;QAChE,+DAA+D;QAC/D,yDAAyD;QACzD,sDAAsD;QACtD,8CAA8C;QAC9C,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAErD,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,sBAAsB,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QAEhF,IAAI,CAAC;YACH,OAAO,aAAa,GAAG,aAAa,EAAE,CAAC;gBACrC,6DAA6D;gBAC7D,6DAA6D;gBAC7D,yDAAyD;gBACzD,IACE,MAAM,CAAC,UAAU;oBACjB,aAAa,GAAG,CAAC,IAAI,aAAa;oBAClC,aAAa,GAAG,iBAAiB;oBACjC,sBAAsB,KAAK,IAAI,EAC/B,CAAC;oBACD,MAAM,QAAQ,GAAG,aAAa,CAAC;oBAC/B,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,aAAa,GAAG,CAAC,CAAC,CAAC;oBAC/D,IAAI,aAAa,GAAG,QAAQ,EAAE,CAAC;wBAC7B,OAAO,CAAC,GAAG,CACT,GAAG,MAAM,CAAC,GAAG,+BAA+B,QAAQ,MAAM,aAAa,sBAAsB,MAAM,CAAC,KAAK,EAAE,CAC5G,CAAC;oBACJ,CAAC;gBACH,CAAC;gBACD,uDAAuD;gBACvD,6DAA6D;gBAC7D,6DAA6D;gBAC7D,sDAAsD;gBACtD,kCAAkC;gBAClC,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;oBACtB,MAAM,MAAM,GAAG,mBAAmB,CAAC,QAAQ,EAAE,CAAC;oBAC9C,MAAM,WAAW,GAAG,mBAAmB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;oBAChE,IAAI,WAAW,EAAE,CAAC;wBAChB,qBAAqB,CAAC,WAAW,CAAC,CAAC;wBACnC,mBAAmB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;oBAC5C,CAAC;oBAED,0DAA0D;oBAC1D,wDAAwD;oBACxD,yDAAyD;oBACzD,yDAAyD;oBACzD,MAAM,WAAW,GAAG,aAAa,CAAC,KAAK,EAAE,CAAC;oBAC1C,MAAM,aAAa,GAAG,aAAa,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;oBACjE,IAAI,aAAa,EAAE,CAAC;wBAClB,qBAAqB,CAAC,aAAa,CAAC,CAAC;oBACvC,CAAC;gBACH,CAAC;gBAED,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,EAAE,CAAC;gBACzC,OAAO,CAAC,KAAK,CAAC,6CAA6C,aAAa,GAAG,CAAC,GAAG,CAAC,CAAC;gBACjF,SAAS,CAAC,IAAI,CAAC;oBACb,IAAI,EAAE,YAAY;oBAClB,SAAS,EAAE,aAAa,GAAG,CAAC;oBAC5B,IAAI,EAAE,OAAO,CAAC,IAAI;iBACnB,CAAC,CAAC;gBACH,IAAI,MAAM,CAAC;gBACX,IAAI,CAAC;oBACH,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,EAAE;wBACvD,KAAK,EAAE,WAAW;wBAClB,WAAW,EAAE,MAAM;qBACpB,CAAC,CAAC;oBACH,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC;gBAC/B,CAAC;gBAAC,OAAO,GAAQ,EAAE,CAAC;oBAClB,wDAAwD;oBACxD,IAAI,mBAAmB,CAAC,sBAAsB,CAAC,GAAG,CAAC,EAAE,CAAC;wBACpD,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;wBAC7C,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,8CAA8C,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;wBAC1F,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;wBACzE,IAAI,SAAS,EAAE,CAAC;4BACd,MAAM,IAAI,GAAG,YAAY,CAAC,qBAAqB,EAAE,CAAC;4BAClD,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,gBAAgB,IAAI,EAAE,cAAc,IAAI,GAAG,yBAAyB,YAAY,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC,IAAI,EAAE,WAAW,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;4BACxN,0CAA0C;4BAC1C,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;4BACpB,QAAQ,CAAC,IAAI,CACX,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,EACzC,GAAG,YAAY,CAAC,WAAW,EAAE,EAC7B,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE,CACrD,CAAC;4BACF,SAAS,CAAC,qBAAqB;wBACjC,CAAC;oBACH,CAAC;oBACD,MAAM,GAAG,CAAC;gBACZ,CAAC;wBAAS,CAAC;oBACT,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;oBACrC,SAAS,CAAC,IAAI,CAAC;wBACb,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,QAAQ,aAAa,GAAG,CAAC,WAAW;qBAC9C,CAAC,CAAC;gBACL,CAAC;gBAED,UAAU,CAAC,aAAa,IAAI,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC;gBACvD,UAAU,CAAC,iBAAiB,IAAI,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC;gBAC/D,UAAU,CAAC,YAAY,IAAI,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC;gBAErD,wCAAwC;gBACxC,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACzD,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;oBAEtC,8DAA8D;oBAC9D,IAAI,QAAQ,EAAE,CAAC;wBACb,cAAc,CAAC,QAAQ,CAAC,CAAC;oBAC3B,CAAC;oBAED,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;oBAC7C,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;oBAExC,OAAO;wBACL,OAAO,EAAE,IAAI;wBACb,QAAQ;wBACR,aAAa;wBACb,UAAU,EAAE,UAAU;wBACtB,aAAa;wBACb,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;wBAClC,KAAK,EAAE,aAAa;qBACrB,CAAC;gBACJ,CAAC;gBAED,6CAA6C;gBAC7C,MAAM,YAAY,GAAgB;oBAChC,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,UAAU,EAAE,MAAM,CAAC,UAAU;iBAC9B,CAAC;gBACF,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAE5B,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnB,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC/D,CAAC;gBAED,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;oBACzC,IAAI,UAAkC,CAAC;oBACvC,IAAI,CAAC;wBACH,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;oBACvD,CAAC;oBAAC,MAAM,CAAC;wBACP,UAAU,GAAG,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC;oBAC3D,CAAC;oBAED,uDAAuD;oBACvD,sDAAsD;oBACtD,yDAAyD;oBACzD,yDAAyD;oBACzD,oDAAoD;oBACpD,IAAI,oBAAoB,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;wBAC5C,MAAM,OAAO,GAAG,oBAAoB,CAAC,MAAM,CACzC,aAAa,EACb,QAAQ,CAAC,QAAQ,CAAC,IAAI,EACtB,UAAU,EACV,OAAO,CAAC,GAAG,CACZ,CAAC;wBACF,IAAI,OAAO,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;4BAC7B,sBAAsB,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;4BACzD,OAAO,CAAC,GAAG,CACT,GAAG,MAAM,CAAC,MAAM,6BAA6B,OAAO,CAAC,MAAM,GAAG;gCAC9D,YAAY,OAAO,CAAC,KAAK,iBAAiB,OAAO,CAAC,UAAU,UAAU,MAAM,CAAC,KAAK,EAAE,CACrF,CAAC;wBACJ,CAAC;6BAAM,IAAI,OAAO,CAAC,KAAK,KAAK,YAAY,EAAE,CAAC;4BAC1C,kDAAkD;4BAClD,+CAA+C;4BAC/C,gCAAgC;4BAChC,IAAI,CAAC;gCACH,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;gCACvE,oBAAoB,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC;4BAChE,CAAC;4BAAC,MAAM,CAAC;gCACP,0CAA0C;4BAC5C,CAAC;4BACD,MAAM,IAAI,wBAAwB,CAChC,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,UAAU,CACnB,CAAC;wBACJ,CAAC;oBACH,CAAC;oBAED,wDAAwD;oBACxD,yDAAyD;oBACzD,0DAA0D;oBAC1D,6BAA6B;oBAC7B,IAAI,sBAAsB,EAAE,CAAC;wBAC3B,qBAAqB,CAAC,sBAAsB,CAAC,CAAC;wBAC9C,sBAAsB,GAAG,IAAI,CAAC;oBAChC,CAAC;oBAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;oBAE9F,IAAI,KAAoB,CAAC;oBACzB,IAAI,CAAC,OAAO,EAAE,CAAC;wBACb,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,GAAG,2BAA2B,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;wBAC/F,SAAS,CAAC,IAAI,CAAC;4BACb,IAAI,EAAE,aAAa;4BACnB,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI;4BAC5B,MAAM,EAAE,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI,IAAI,EAAE;4BAChD,KAAK,EAAE,QAAQ;4BACf,UAAU,EAAE,CAAC;yBACd,CAAC,CAAC;wBACH,KAAK,GAAG;4BACN,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI;4BAC5B,IAAI,EAAE,UAAU;4BAChB,MAAM,EAAE,4CAA4C,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG;4BAC7E,OAAO,EAAE,KAAK;yBACf,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;wBAC7B,SAAS,CAAC,IAAI,CAAC;4BACb,IAAI,EAAE,YAAY;4BAClB,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI;4BAC5B,MAAM,EAAE,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI,IAAI,EAAE;4BAChD,SAAS,EAAE,aAAa,GAAG,CAAC;yBAC7B,CAAC,CAAC;wBACH,KAAK,GAAG,MAAM,WAAW,CACvB,QAAQ,CAAC,QAAQ,CAAC,IAAI,EACtB,UAAU,EACV,OAAO,CAAC,GAAG,EACX,IAAI,CAAC,OAAO,EACZ;4BACE,OAAO,EAAE,WAAW;4BACpB,MAAM,EAAE,OAAO,CAAC,MAAM;4BACtB,kBAAkB,EAAE,OAAO,CAAC,GAAG;4BAC/B,MAAM;yBACP,CACF,CAAC;wBACF,SAAS,CAAC,IAAI,CAAC;4BACb,IAAI,EAAE,aAAa;4BACnB,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI;4BAC5B,MAAM,EAAE,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI,IAAI,EAAE;4BAChD,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW;4BACjE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;yBACnC,CAAC,CAAC;oBACL,CAAC;oBAED,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;wBACxC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;4BAChD,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;wBACzC,CAAC;oBACH,CAAC;oBAED,IAAI,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;oBAC9B,IAAI,UAAU,CAAC,MAAM,GAAG,sBAAsB,EAAE,CAAC;wBAC/C,UAAU;4BACR,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,sBAAsB,CAAC;gCAC3C,uBAAuB,UAAU,CAAC,MAAM,oBAAoB,CAAC;oBACjE,CAAC;oBAED,QAAQ,CAAC,IAAI,CAAC;wBACZ,IAAI,EAAE,MAAM;wBACZ,YAAY,EAAE,QAAQ,CAAC,EAAE;wBACzB,OAAO,EAAE,UAAU;qBACpB,CAAC,CAAC;oBAEH,aAAa,EAAE,CAAC;gBAClB,CAAC;YACH,CAAC;YAED,OAAO,CAAC,GAAG,CACT,GAAG,MAAM,CAAC,MAAM,+BAA+B,aAAa,KAAK,MAAM,CAAC,KAAK,EAAE,CAChF,CAAC;YAEF,YAAY,CAAC,OAAO,CAClB,OAAO,CAAC,IAAI,EACZ,uBAAuB,aAAa,cAAc,CACnD,CAAC;YAEF,MAAM,aAAa,GAAG,kBAAkB,aAAa,8BAA8B,CAAC;YACpF,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;YAE7C,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,aAAa;gBACvB,aAAa;gBACb,UAAU,EAAE,UAAU;gBACtB,aAAa;gBACb,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;gBAClC,KAAK,EAAE,aAAa;aACrB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACxE,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACtC,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACK,KAAK,CAAC,aAAa,CACzB,IAAY,EACZ,IAA4B,EAC5B,EAAuB,EACvB,kBAA4B;QAE5B,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;YAC7B,YAAY;YACZ,aAAa;YACb,aAAa;YACb,eAAe;YACf,cAAc;YACd,aAAa;YACb,aAAa;YACb,eAAe;YACf,gBAAgB;YAChB,aAAa;YACb,qBAAqB;SACtB,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,kBAAkB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,EAAE;YAAE,EAAE,CAAC,KAAK,EAAE,CAAC;QAEnB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAEnD,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC;gBACzC,OAAO;gBACP,OAAO,EAAE;oBACP,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE;oBACrC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE;oBAClC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,4BAA4B,EAAE;iBACtD;gBACD,YAAY,EAAE,KAAK;aACpB,CAAC,CAAC;YAEH,IAAI,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACvD,OAAO,KAAK,CAAC;YACf,CAAC;YACD,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;gBACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACrB,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,MAAM,KAAK,KAAK,CAAC;QAC1B,CAAC;gBAAS,CAAC;YACT,IAAI,EAAE;gBAAE,EAAE,CAAC,MAAM,EAAE,CAAC;QACtB,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,cAAc,CAC1B,QAAuB,EACvB,KAAa,EACb,KAAiB;QAEjB,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC,WAAW,CAAC,UAAU,EAAE,YAAY,IAAI,MAAM,CAAC;QAC3E,MAAM,iBAAiB,GACrB,UAAU,EAAE,CAAC,WAAW,CAAC,UAAU,EAAE,iBAAiB,IAAI,CAAC,CAAC;QAE9D,MAAM,MAAM,GAAG,MAAM,KAAK,MAAM;YAC9B,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,iBAAiB,CAAC;YAC1E,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAE5C,MAAM,QAAQ,GAAG,IAAI,sBAAsB,EAAE,CAAC;QAC9C,gEAAgE;QAChE,+DAA+D;QAC/D,+DAA+D;QAC/D,+DAA+D;QAC/D,6CAA6C;QAC7C,MAAM,YAAY,GAChB,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACrF,IAAI,iBAAiB,GAAG,KAAK,CAAC;QAE9B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACjC,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAC9C,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC9B,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC;YAC5B,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAChD,IAAI,YAAY,EAAE,CAAC;oBACjB,yDAAyD;oBACzD,sCAAsC;oBACtC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,GAAG,GAAG,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBACxE,CAAC;qBAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBAC9B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,GAAG,wBAAwB,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;oBAC9E,iBAAiB,GAAG,IAAI,CAAC;gBAC3B,CAAC;YACH,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC1B,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;oBAChB,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC;oBACjD,KAAK,CAAC,iBAAiB,IAAI,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC;oBACzD,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC;gBACjD,CAAC;gBACD,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;oBAChB,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC;gBAC9B,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACnD,QAAQ,CAAC,KAAK,EAAE,CAAC;QACnB,CAAC;QAED,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;IACnD,CAAC;IAEO,KAAK,CAAC,qBAAqB,CACjC,IAAY,EACZ,YAAiC,EACjC,OAAqB;QAErB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAe,EAAE,aAAa,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;QAE3F,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC1C,MAAM,YAAY,GAAG,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAEhE,oDAAoD;QACpD,MAAM,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAChF,0CAA0C;QAC1C,MAAM,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAEjF,MAAM,QAAQ,GAAkB;YAC9B,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE;YACzC,GAAG,YAAY,CAAC,WAAW,EAAE;YAC7B,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;SAChC,CAAC;QAEF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QACjF,MAAM,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC;QAC5C,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAEzC,OAAO;YACL,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,YAAY;YACtB,aAAa,EAAE,EAAE;YACjB,UAAU,EAAE,UAAU;YACtB,aAAa,EAAE,CAAC;YAChB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;YAClC,KAAK,EAAE,SAAS,CAAC,aAAa;SAC/B,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,mBAAmB,CAC/B,YAAiC,EACjC,YAAoB,EACpB,WAAmB,EACnB,KAAa;QAEb,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,YAAY,EAAE,WAAW,CAAC,EAAE,CAAC;YAC3D,OAAO;QACT,CAAC;QAED,MAAM,eAAe,GAAG,YAAY,CAAC,yBAAyB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QAC1F,MAAM,KAAK,GAAG,YAAY,CAAC,eAAe,EAAE,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,MAAM,iCAAiC,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,iCAAiC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QAEnL,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC/D,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,YAAY,CAAC,qBAAqB,EAAE,CAAC;YAClD,MAAM,WAAW,GAAG,YAAY,CAAC,yBAAyB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;YACtF,OAAO,CAAC,GAAG,CACT,GAAG,MAAM,CAAC,KAAK,gBAAgB,IAAI,EAAE,cAAc,IAAI,GAAG,yBAAyB,YAAY,CAAC,eAAe,EAAE,oBAAoB;gBACrI,IAAI,CAAC,CAAC,IAAI,EAAE,WAAW,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,MAAM,CAAC,KAAK,EAAE,CAC3J,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,wEAAwE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QACnH,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAAC,oBAAoB,CACxB,YAAiC,EACjC,YAAoB,EACpB,WAAmB,EACnB,KAAa;QAEb,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,UAAU,EAAE,aAAa,IAAI,MAAM,CAAC;QACtE,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YACvB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;QAC9D,CAAC;QAED,MAAM,KAAK,GAAG,YAAY,CAAC,eAAe,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,UAAU,EAAE,kBAAkB,IAAI,GAAG,CAAC;QACvE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC;QAEzD,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACzE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC;QAC/E,CAAC;QAED,OAAO,CAAC,GAAG,CACT,GAAG,MAAM,CAAC,GAAG,mBAAmB,MAAM,CAAC,WAAW,gBAAgB;YAClE,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,MAAM,CAAC,YAAY,KAAK,MAAM,CAAC,KAAK,EAAE,CAC7E,CAAC;QAEF,eAAe,CACb,SAAS,CAAC,aAAa,CAAC;YACtB,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,OAAO,EAAE,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC;YAC5B,mBAAmB,EAAE,MAAM,CAAC,iBAAiB;SAC9C,CAAC,CACH,CAAC;QAEF,IAAI,MAAM,CAAC,iBAAiB,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YAClD,8DAA8D;YAC9D,oCAAoC;YACpC,MAAM,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;YAC/E,MAAM,WAAW,GAAG,YAAY,CAAC,yBAAyB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;YACtF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;QACtE,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC;IAC9E,CAAC;IAED,sCAAsC;IACtC,KAAK,CAAC,IAAI;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC5B,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-executor.d.ts","sourceRoot":"","sources":["../../src/agent/tool-executor.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"tool-executor.d.ts","sourceRoot":"","sources":["../../src/agent/tool-executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import fs from 'fs';
|
|
|
6
6
|
import path from 'path';
|
|
7
7
|
import { spawnSync } from 'child_process';
|
|
8
8
|
import { colors } from '../ui/colors.js';
|
|
9
|
-
import { renderToolCall } from '../ui/render-primitives.js';
|
|
9
|
+
import { renderToolCall, startInlineToolSpinner, } from '../ui/render-primitives.js';
|
|
10
10
|
import { WorkspaceGuard } from '../workspace-guard.js';
|
|
11
11
|
import { classifyCommand } from '../runtime/policy.js';
|
|
12
12
|
import { checkPermission } from './permissions.js';
|
|
@@ -884,6 +884,17 @@ export async function executeTool(name, args, cwd, verbose = false, options = {}
|
|
|
884
884
|
result: '',
|
|
885
885
|
isWrite: false,
|
|
886
886
|
};
|
|
887
|
+
// Single inline spinner shared across the whole tool invocation —
|
|
888
|
+
// each case under the switch below calls `setSpinner` exactly once,
|
|
889
|
+
// and the outer try/finally converts the spinner into a ✔ or ✗
|
|
890
|
+
// summary line when the tool completes (or throws).
|
|
891
|
+
let inlineSpinner = null;
|
|
892
|
+
const toolStartedAt = Date.now();
|
|
893
|
+
const setSpinner = (tool) => {
|
|
894
|
+
if (inlineSpinner)
|
|
895
|
+
inlineSpinner.clear();
|
|
896
|
+
inlineSpinner = startInlineToolSpinner(tool);
|
|
897
|
+
};
|
|
887
898
|
try {
|
|
888
899
|
const policy = options.policy ?? options.session?.policy ?? 'shell-confirm';
|
|
889
900
|
// ──── PreToolUse hooks (§3.4) ────
|
|
@@ -1005,6 +1016,7 @@ export async function executeTool(name, args, cwd, verbose = false, options = {}
|
|
|
1005
1016
|
case 'read_file': {
|
|
1006
1017
|
const guard = new WorkspaceGuard(cwd);
|
|
1007
1018
|
const resolved = guard.resolve(args.path, 'file');
|
|
1019
|
+
setSpinner({ kind: 'read', name: 'Read', detail: shortenPath(args.path, cwd) });
|
|
1008
1020
|
const budgetPct = options.safety?.predictiveBudgetPct ?? DEFAULT_PREDICTIVE_BUDGET_PCT;
|
|
1009
1021
|
// Skip the predictive gate when it is explicitly disabled
|
|
1010
1022
|
// (>=1.0) or when no model is configured (we cannot map
|
|
@@ -1016,7 +1028,7 @@ export async function executeTool(name, args, cwd, verbose = false, options = {}
|
|
|
1016
1028
|
if (deferDecision.defer) {
|
|
1017
1029
|
event.result = formatPredictiveGateDirective(args.path, estimate, deferDecision);
|
|
1018
1030
|
event.affectedPath = resolved;
|
|
1019
|
-
|
|
1031
|
+
setSpinner({ kind: 'read', name: 'Read', detail: `${shortenPath(args.path, cwd)} (deferred — predictive gate)` });
|
|
1020
1032
|
options.session?.record('predictive_gate_fired', {
|
|
1021
1033
|
path: args.path,
|
|
1022
1034
|
projectedTokens: estimate.projectedTokens,
|
|
@@ -1028,27 +1040,26 @@ export async function executeTool(name, args, cwd, verbose = false, options = {}
|
|
|
1028
1040
|
}
|
|
1029
1041
|
event.result = executeReadFile(args.path, cwd, options.session, options.safety?.largeFileGateBytes, options.safety?.largeFileGateLines);
|
|
1030
1042
|
event.affectedPath = resolved;
|
|
1031
|
-
renderToolCall({ kind: 'read', name: 'Read', detail: shortenPath(args.path, cwd) });
|
|
1032
1043
|
break;
|
|
1033
1044
|
}
|
|
1034
1045
|
case 'extract_symbols':
|
|
1046
|
+
setSpinner({ kind: 'read', name: 'Symbols', detail: shortenPath(args.path, cwd) });
|
|
1035
1047
|
event.result = await executeExtractSymbols(args.path, cwd, options.session);
|
|
1036
1048
|
event.affectedPath = new WorkspaceGuard(cwd).resolve(args.path, 'file');
|
|
1037
|
-
renderToolCall({ kind: 'read', name: 'Symbols', detail: shortenPath(args.path, cwd) });
|
|
1038
1049
|
break;
|
|
1039
1050
|
case 'extract_imports':
|
|
1051
|
+
setSpinner({ kind: 'read', name: 'Imports', detail: shortenPath(args.path, cwd) });
|
|
1040
1052
|
event.result = await executeExtractImports(args.path, cwd, options.session);
|
|
1041
1053
|
event.affectedPath = new WorkspaceGuard(cwd).resolve(args.path, 'file');
|
|
1042
|
-
renderToolCall({ kind: 'read', name: 'Imports', detail: shortenPath(args.path, cwd) });
|
|
1043
1054
|
break;
|
|
1044
1055
|
case 'write_file':
|
|
1056
|
+
setSpinner({ kind: 'write', name: 'Write', detail: shortenPath(args.path, cwd) });
|
|
1045
1057
|
event.result = await executeWriteFile(args.path, args.content, cwd, options);
|
|
1046
1058
|
event.isWrite = true;
|
|
1047
1059
|
event.affectedPath = new WorkspaceGuard(cwd).resolve(args.path, 'file');
|
|
1048
|
-
renderToolCall({ kind: 'write', name: 'Write', detail: shortenPath(args.path, cwd) });
|
|
1049
1060
|
break;
|
|
1050
1061
|
case 'run_command':
|
|
1051
|
-
|
|
1062
|
+
setSpinner({ kind: 'bash', name: 'Run', detail: truncate(args.command, 60) });
|
|
1052
1063
|
let safetyResult = { safe: true, reason: '' };
|
|
1053
1064
|
try {
|
|
1054
1065
|
const { isCommandSafe } = await import('./command-parser.js');
|
|
@@ -1083,59 +1094,59 @@ export async function executeTool(name, args, cwd, verbose = false, options = {}
|
|
|
1083
1094
|
event.result = executeRunCommand(args.command, args.cwd || cwd, cwd, options.session);
|
|
1084
1095
|
break;
|
|
1085
1096
|
case 'search_code':
|
|
1086
|
-
|
|
1097
|
+
setSpinner({ kind: 'search', name: 'Search', detail: `"${truncate(args.query, 40)}" in ${args.path ?? '.'}` });
|
|
1087
1098
|
event.result = executeSearchCode(args.query, args.path, args.file_pattern, cwd);
|
|
1088
1099
|
break;
|
|
1089
1100
|
case 'list_dir':
|
|
1090
|
-
|
|
1101
|
+
setSpinner({ kind: 'read', name: 'List', detail: args.path ?? '.' });
|
|
1091
1102
|
event.result = executeListDir(args.path, cwd);
|
|
1092
1103
|
break;
|
|
1093
1104
|
case 'delete_file':
|
|
1094
|
-
|
|
1105
|
+
setSpinner({ kind: 'write', name: 'Delete', detail: shortenPath(args.path, cwd) });
|
|
1095
1106
|
event.result = executeDeleteFile(args.path, cwd, options.session);
|
|
1096
1107
|
event.isWrite = true;
|
|
1097
1108
|
event.affectedPath = new WorkspaceGuard(cwd).resolve(args.path, 'file');
|
|
1098
1109
|
break;
|
|
1099
1110
|
case 'apply_patch':
|
|
1100
|
-
|
|
1111
|
+
setSpinner({ kind: 'write', name: 'Patch', detail: 'unified diff' });
|
|
1101
1112
|
event.result = await executeApplyPatch(args.patch, cwd, options);
|
|
1102
1113
|
event.isWrite = true;
|
|
1103
1114
|
break;
|
|
1104
1115
|
case 'replace_range':
|
|
1105
|
-
|
|
1116
|
+
setSpinner({ kind: 'write', name: 'Replace', detail: shortenPath(args.path, cwd) });
|
|
1106
1117
|
event.result = await executeReplaceRange(args.path, Number(args.startLine), Number(args.endLine), args.content, cwd, options);
|
|
1107
1118
|
event.isWrite = true;
|
|
1108
1119
|
event.affectedPath = new WorkspaceGuard(cwd).resolve(args.path, 'file');
|
|
1109
1120
|
break;
|
|
1110
1121
|
case 'insert_after':
|
|
1111
|
-
|
|
1122
|
+
setSpinner({ kind: 'write', name: 'Insert', detail: shortenPath(args.path, cwd) });
|
|
1112
1123
|
event.result = await executeInsertAfter(args.path, args.anchor, args.content, cwd, options);
|
|
1113
1124
|
event.isWrite = true;
|
|
1114
1125
|
event.affectedPath = new WorkspaceGuard(cwd).resolve(args.path, 'file');
|
|
1115
1126
|
break;
|
|
1116
1127
|
case 'rename_file':
|
|
1117
|
-
|
|
1128
|
+
setSpinner({ kind: 'write', name: 'Rename', detail: `${args.from} -> ${args.to}` });
|
|
1118
1129
|
event.result = await executeRenameFile(args.from, args.to, cwd, options);
|
|
1119
1130
|
event.isWrite = true;
|
|
1120
1131
|
event.affectedPath = new WorkspaceGuard(cwd).resolve(args.to, 'file');
|
|
1121
1132
|
break;
|
|
1122
1133
|
case 'create_branch':
|
|
1123
|
-
|
|
1134
|
+
setSpinner({ kind: 'write', name: 'Branch', detail: args.branchName });
|
|
1124
1135
|
event.result = createBranch(cwd, args.branchName);
|
|
1125
1136
|
event.isWrite = true;
|
|
1126
1137
|
break;
|
|
1127
1138
|
case 'commit_changes':
|
|
1128
|
-
|
|
1139
|
+
setSpinner({ kind: 'write', name: 'Commit', detail: truncate(args.message, 60) });
|
|
1129
1140
|
event.result = commitChanges(cwd, args.message);
|
|
1130
1141
|
event.isWrite = true;
|
|
1131
1142
|
break;
|
|
1132
1143
|
case 'push_branch':
|
|
1133
|
-
|
|
1144
|
+
setSpinner({ kind: 'write', name: 'Push', detail: args.remote || 'origin' });
|
|
1134
1145
|
event.result = pushBranch(cwd, args.remote || 'origin');
|
|
1135
1146
|
event.isWrite = true;
|
|
1136
1147
|
break;
|
|
1137
1148
|
case 'create_pull_request':
|
|
1138
|
-
|
|
1149
|
+
setSpinner({ kind: 'write', name: 'PR', detail: `base: ${args.baseBranch || 'main'}` });
|
|
1139
1150
|
if (!options.client) {
|
|
1140
1151
|
throw new Error('Agent client is required to generate pull request description');
|
|
1141
1152
|
}
|
|
@@ -1146,7 +1157,7 @@ export async function executeTool(name, args, cwd, verbose = false, options = {}
|
|
|
1146
1157
|
const line = Number(args.line);
|
|
1147
1158
|
const char = Number(args.character);
|
|
1148
1159
|
const fileBasename = path.basename(args.path);
|
|
1149
|
-
|
|
1160
|
+
setSpinner({ kind: 'read', name: 'Definition', detail: `${fileBasename}:${line}:${char}` });
|
|
1150
1161
|
const manager = getLspManager(cwd);
|
|
1151
1162
|
const resolvedPath = new WorkspaceGuard(cwd).resolve(args.path, 'file');
|
|
1152
1163
|
const def = await manager.gotoDefinition(resolvedPath, line, char);
|
|
@@ -1157,7 +1168,7 @@ export async function executeTool(name, args, cwd, verbose = false, options = {}
|
|
|
1157
1168
|
const line = Number(args.line);
|
|
1158
1169
|
const char = Number(args.character);
|
|
1159
1170
|
const fileBasename = path.basename(args.path);
|
|
1160
|
-
|
|
1171
|
+
setSpinner({ kind: 'read', name: 'References', detail: `${fileBasename}:${line}:${char}` });
|
|
1161
1172
|
const manager = getLspManager(cwd);
|
|
1162
1173
|
const resolvedPath = new WorkspaceGuard(cwd).resolve(args.path, 'file');
|
|
1163
1174
|
const refs = await manager.findReferences(resolvedPath, line, char);
|
|
@@ -1168,7 +1179,7 @@ export async function executeTool(name, args, cwd, verbose = false, options = {}
|
|
|
1168
1179
|
const line = Number(args.line);
|
|
1169
1180
|
const char = Number(args.character);
|
|
1170
1181
|
const fileBasename = path.basename(args.path);
|
|
1171
|
-
|
|
1182
|
+
setSpinner({ kind: 'read', name: 'Hover', detail: `${fileBasename}:${line}:${char}` });
|
|
1172
1183
|
const manager = getLspManager(cwd);
|
|
1173
1184
|
const resolvedPath = new WorkspaceGuard(cwd).resolve(args.path, 'file');
|
|
1174
1185
|
const hoverRes = await manager.hover(resolvedPath, line, char);
|
|
@@ -1176,42 +1187,42 @@ export async function executeTool(name, args, cwd, verbose = false, options = {}
|
|
|
1176
1187
|
break;
|
|
1177
1188
|
}
|
|
1178
1189
|
case 'web_fetch':
|
|
1179
|
-
|
|
1190
|
+
setSpinner({ kind: 'search', name: 'Fetch', detail: args.url });
|
|
1180
1191
|
event.result = await webFetch(args.url);
|
|
1181
1192
|
break;
|
|
1182
1193
|
case 'web_search':
|
|
1183
|
-
|
|
1194
|
+
setSpinner({ kind: 'search', name: 'Search', detail: truncate(args.query, 40) });
|
|
1184
1195
|
event.result = await webSearch(args.query);
|
|
1185
1196
|
break;
|
|
1186
1197
|
case 'str_replace':
|
|
1187
|
-
|
|
1198
|
+
setSpinner({ kind: 'write', name: 'Surgical', detail: shortenPath(args.path, cwd) });
|
|
1188
1199
|
event.result = await executeStrReplace(args, cwd, options);
|
|
1189
1200
|
event.isWrite = true;
|
|
1190
1201
|
event.affectedPath = new WorkspaceGuard(cwd).resolve(args.path, 'file');
|
|
1191
1202
|
break;
|
|
1192
1203
|
case 'glob_files':
|
|
1193
|
-
|
|
1204
|
+
setSpinner({ kind: 'search', name: 'Glob', detail: truncate(args.pattern, 60) });
|
|
1194
1205
|
event.result = await executeGlobFiles(args, cwd, options);
|
|
1195
1206
|
break;
|
|
1196
1207
|
case 'todo_read':
|
|
1197
|
-
|
|
1208
|
+
setSpinner({ kind: 'search', name: 'Todo', detail: 'read' });
|
|
1198
1209
|
event.result = executeTodoRead(cwd);
|
|
1199
1210
|
break;
|
|
1200
1211
|
case 'todo_write':
|
|
1201
|
-
|
|
1212
|
+
setSpinner({ kind: 'write', name: 'Todo', detail: String(args.op ?? 'add') });
|
|
1202
1213
|
event.result = await executeTodoWrite(args, cwd, options);
|
|
1203
1214
|
event.isWrite = true;
|
|
1204
1215
|
break;
|
|
1205
1216
|
case 'run_command_async':
|
|
1206
|
-
|
|
1217
|
+
setSpinner({ kind: 'bash', name: 'Async', detail: truncate(args.cmd, 30) });
|
|
1207
1218
|
event.result = await executeRunCommandAsync(args, cwd, options);
|
|
1208
1219
|
break;
|
|
1209
1220
|
case 'poll_command_status':
|
|
1210
|
-
|
|
1221
|
+
setSpinner({ kind: 'bash', name: 'Poll', detail: String(args.jobId ?? '?') });
|
|
1211
1222
|
event.result = executePollCommandStatus(args, cwd);
|
|
1212
1223
|
break;
|
|
1213
1224
|
case 'kill_command':
|
|
1214
|
-
|
|
1225
|
+
setSpinner({ kind: 'bash', name: 'Kill', detail: String(args.jobId ?? '?') });
|
|
1215
1226
|
event.result = executeKillCommand(args, cwd);
|
|
1216
1227
|
break;
|
|
1217
1228
|
default:
|
|
@@ -1221,7 +1232,30 @@ export async function executeTool(name, args, cwd, verbose = false, options = {}
|
|
|
1221
1232
|
catch (error) {
|
|
1222
1233
|
const msg = error instanceof Error ? error.message : String(error);
|
|
1223
1234
|
event.result = `Error: ${msg}`;
|
|
1224
|
-
|
|
1235
|
+
if (inlineSpinner) {
|
|
1236
|
+
inlineSpinner.fail(truncate(msg, 80));
|
|
1237
|
+
inlineSpinner = null;
|
|
1238
|
+
}
|
|
1239
|
+
else {
|
|
1240
|
+
renderToolCall({ kind: 'error', name, detail: truncate(msg, 80) });
|
|
1241
|
+
}
|
|
1242
|
+
}
|
|
1243
|
+
// Finalise the inline spinner — convert it to a ✔ or ✗ summary line
|
|
1244
|
+
// based on whether the tool result starts with `Error:`. The brief
|
|
1245
|
+
// summary is the original detail plus an elapsed-time suffix so the
|
|
1246
|
+
// user sees roughly how long the call took.
|
|
1247
|
+
if (inlineSpinner) {
|
|
1248
|
+
const handle = inlineSpinner;
|
|
1249
|
+
const elapsedMs = Date.now() - toolStartedAt;
|
|
1250
|
+
const elapsedStr = elapsedMs < 1000 ? `${elapsedMs}ms` : `${(elapsedMs / 1000).toFixed(1)}s`;
|
|
1251
|
+
const failed = typeof event.result === 'string' && event.result.startsWith('Error:');
|
|
1252
|
+
if (failed) {
|
|
1253
|
+
handle.fail(`${truncate(event.result.replace(/^Error:\s*/, ''), 60)} (${elapsedStr})`);
|
|
1254
|
+
}
|
|
1255
|
+
else {
|
|
1256
|
+
handle.succeed(`done (${elapsedStr})`);
|
|
1257
|
+
}
|
|
1258
|
+
inlineSpinner = null;
|
|
1225
1259
|
}
|
|
1226
1260
|
options.session?.record('tool_finished', { tool: name, result: truncate(event.result, 2000), isWrite: event.isWrite });
|
|
1227
1261
|
// ──── PostToolUse hooks (§3.4) ────
|