@ob1-sg/horizon 0.1.11 → 0.1.12
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/index.d.ts.map +1 -1
- package/dist/index.js +69 -63
- package/dist/index.js.map +1 -1
- package/dist/lib/claude.d.ts.map +1 -1
- package/dist/lib/claude.js +133 -32
- package/dist/lib/claude.js.map +1 -1
- package/dist/lib/codex.d.ts.map +1 -1
- package/dist/lib/codex.js +75 -40
- package/dist/lib/codex.js.map +1 -1
- package/dist/lib/setup.d.ts +4 -1
- package/dist/lib/setup.d.ts.map +1 -1
- package/dist/lib/setup.js +2 -12
- package/dist/lib/setup.js.map +1 -1
- package/dist/lib/ui.d.ts +38 -0
- package/dist/lib/ui.d.ts.map +1 -0
- package/dist/lib/ui.js +69 -0
- package/dist/lib/ui.js.map +1 -0
- package/dist/lib/update-checker.d.ts.map +1 -1
- package/dist/lib/update-checker.js +3 -5
- package/dist/lib/update-checker.js.map +1 -1
- package/package.json +5 -2
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA0CA,OAAO,iBAAiB,CAAC;AACzB,OAAO,gBAAgB,CAAC;AAqkBxB,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAqI1C"}
|
package/dist/index.js
CHANGED
|
@@ -12,6 +12,7 @@ import { isRunningOnGcp, stopGcpInstance } from './lib/gcp.js';
|
|
|
12
12
|
import { checkForUncompletedTickets } from './lib/linear-quick-check.js';
|
|
13
13
|
import { getVersion } from './lib/version.js';
|
|
14
14
|
import { checkForUpdates, displayUpdateNotification } from './lib/update-checker.js';
|
|
15
|
+
import { box, BOLD, CYAN, YELLOW, RESET } from './lib/ui.js';
|
|
15
16
|
import { ensureHorizonDir, ensureHorizonDocsDir, ensureGitignore, loadExistingConfig, saveEnvConfig, saveMcpConfig, copyPromptsToProject, checkAndDisplayCliAvailability, autoSelectProvider, validateLinearKey, fetchLinearTeams, checkLinearStatuses, createLinearStatuses, checkCodexLinearMcp, createPromptInterface, promptSecret, promptSelect, } from './lib/setup.js';
|
|
16
17
|
// Import providers to register them
|
|
17
18
|
import './lib/claude.js';
|
|
@@ -45,22 +46,12 @@ async function runLoop(podName, iteration) {
|
|
|
45
46
|
initLoopLogger(podName, iteration);
|
|
46
47
|
// Initialize stats tracking for this loop iteration
|
|
47
48
|
initLoopStats(podName, iteration);
|
|
48
|
-
console.log(
|
|
49
|
-
console.log(`Pod: ${podName}`);
|
|
50
|
-
console.log(`Provider: ${config.provider}`);
|
|
51
|
-
if (config.provider === 'codex') {
|
|
52
|
-
console.log(`Codex Model: ${config.codexModel}`);
|
|
53
|
-
console.log(`Agent Reasoning: A1=${config.codexAgentReasoning.agent1}, A2=${config.codexAgentReasoning.agent2}, A3=${config.codexAgentReasoning.agent3}`);
|
|
54
|
-
}
|
|
55
|
-
else {
|
|
56
|
-
console.log(`Claude Model: ${config.claudeModel}`);
|
|
57
|
-
}
|
|
58
|
-
console.log(`Output Dir: ${getCurrentOutputDir()}\n`);
|
|
49
|
+
console.log('\n' + box([` Log Directory: ${getCurrentOutputDir()} `], { title: `Loop ${iteration}`, color: CYAN, width: 60 }));
|
|
59
50
|
const loopStart = Date.now();
|
|
60
51
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
61
52
|
// AGENT 1: Linear Reader (uses configured provider)
|
|
62
53
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
63
|
-
console.log(
|
|
54
|
+
console.log(`\n${BOLD}▸ Agent 1: Linear Reader${RESET}`);
|
|
64
55
|
const agent1Provider = createProvider(config.provider);
|
|
65
56
|
const agent1BasePrompt = await loadPrompt('agent1-linear-reader');
|
|
66
57
|
const agent1Prompt = `## Agent Instance
|
|
@@ -111,7 +102,27 @@ ${agent1BasePrompt}`;
|
|
|
111
102
|
const agent1Output = agent1Result.finalOutput;
|
|
112
103
|
// Check if there's no work (look for the signal in the output)
|
|
113
104
|
if (agent1Output.includes('no_work: true') || agent1Output.includes('NO_WORK')) {
|
|
114
|
-
|
|
105
|
+
// Extract reason from agent output (format: "NO_WORK\n\nReason: ...")
|
|
106
|
+
const reasonMatch = agent1Output.match(/Reason:\s*([\s\S]*)/i);
|
|
107
|
+
const reason = reasonMatch?.[1]?.trim() || 'No actionable issues found.';
|
|
108
|
+
// Wrap reason text to fit box width, then display
|
|
109
|
+
const boxWidth = 64;
|
|
110
|
+
const innerWidth = boxWidth - 4; // borders + padding
|
|
111
|
+
const words = reason.split(/\s+/);
|
|
112
|
+
const wrappedLines = [];
|
|
113
|
+
let currentLine = '';
|
|
114
|
+
for (const word of words) {
|
|
115
|
+
if (currentLine && (currentLine.length + 1 + word.length) > innerWidth) {
|
|
116
|
+
wrappedLines.push(` ${currentLine}`);
|
|
117
|
+
currentLine = word;
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
currentLine = currentLine ? `${currentLine} ${word}` : word;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
if (currentLine)
|
|
124
|
+
wrappedLines.push(` ${currentLine}`);
|
|
125
|
+
console.log('\n' + box([` ${YELLOW}Create tickets in Linear to give Horizon work.${RESET}`, '', ...wrappedLines], { title: 'No Work', color: YELLOW, width: boxWidth }));
|
|
115
126
|
// If GCP auto-stop is enabled, check if we're on GCP and stop the instance
|
|
116
127
|
if (config.gcpAutoStop) {
|
|
117
128
|
console.log('GCP auto-stop is enabled. Checking if running on GCP...');
|
|
@@ -205,7 +216,7 @@ ${agent1BasePrompt}`;
|
|
|
205
216
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
206
217
|
// AGENT 2: Worker (uses configured provider - Claude or Codex)
|
|
207
218
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
208
|
-
console.log(
|
|
219
|
+
console.log(`\n${BOLD}▸ Agent 2: Worker${RESET}`);
|
|
209
220
|
// Use configured provider for Agent 2
|
|
210
221
|
const agent2Provider = createProvider(config.provider);
|
|
211
222
|
// Build attachment context section if we have downloaded files
|
|
@@ -280,7 +291,7 @@ ${workerBasePrompt}`;
|
|
|
280
291
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
281
292
|
// AGENT 3: Linear Writer (uses configured provider)
|
|
282
293
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
283
|
-
console.log(
|
|
294
|
+
console.log(`\n${BOLD}▸ Agent 3: Linear Writer${RESET}`);
|
|
284
295
|
const agent3Provider = createProvider(config.provider);
|
|
285
296
|
const writerBasePrompt = await loadPrompt('agent3-linear-writer');
|
|
286
297
|
// Format cost strings with estimated marker for Codex
|
|
@@ -393,7 +404,7 @@ function displayBanner() {
|
|
|
393
404
|
██║ ██║╚██████╔╝██║ ██║██║███████╗╚██████╔╝██║ ╚████║
|
|
394
405
|
╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝╚══════╝ ╚═════╝ ╚═╝ ╚═══╝
|
|
395
406
|
|
|
396
|
-
⚡
|
|
407
|
+
⚡ Complete Linear Tickets with Long-Running Agents ⚡ v${version}
|
|
397
408
|
════════════════════════════════════════════════════════════════`;
|
|
398
409
|
console.log(banner);
|
|
399
410
|
}
|
|
@@ -401,21 +412,17 @@ function displayBanner() {
|
|
|
401
412
|
* Displays a safety warning about AI coding agents.
|
|
402
413
|
*/
|
|
403
414
|
function displaySafetyWarning() {
|
|
404
|
-
console.log(
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
│ We recommend running Horizon in a sandboxed environment or │
|
|
416
|
-
│ virtual machine for added safety. │
|
|
417
|
-
└─────────────────────────────────────────────────────────────────┘
|
|
418
|
-
`);
|
|
415
|
+
console.log('\n' + box([
|
|
416
|
+
' Horizon uses AI coding agents (Claude Code, Codex) that are ',
|
|
417
|
+
' granted permissions to read, write, and execute code. ',
|
|
418
|
+
' ',
|
|
419
|
+
' * Coding agents may make mistakes ',
|
|
420
|
+
' * They may take actions that could be harmful to your system ',
|
|
421
|
+
' * Always review changes before merging to production ',
|
|
422
|
+
' ',
|
|
423
|
+
' We recommend running Horizon in a sandboxed environment or ',
|
|
424
|
+
' virtual machine for added safety. ',
|
|
425
|
+
], { title: 'Safety Warning', width: 65 }) + '\n');
|
|
419
426
|
}
|
|
420
427
|
/**
|
|
421
428
|
* Runs minimal first-run setup if credentials are missing.
|
|
@@ -538,7 +545,7 @@ export async function main() {
|
|
|
538
545
|
process.exit(1);
|
|
539
546
|
}
|
|
540
547
|
// Sync prompts from package to .horizon/prompts/ (ensures they're always up-to-date)
|
|
541
|
-
copyPromptsToProject();
|
|
548
|
+
const promptSync = copyPromptsToProject();
|
|
542
549
|
let config = getConfig();
|
|
543
550
|
// Check if Linear credentials are configured
|
|
544
551
|
if (!config.linearApiKey || !config.linearTeamId) {
|
|
@@ -551,29 +558,9 @@ export async function main() {
|
|
|
551
558
|
// Reload config after setup (rebuild from updated process.env)
|
|
552
559
|
config = getConfig(true);
|
|
553
560
|
}
|
|
554
|
-
// Display config summary
|
|
555
|
-
console.log(` Working directory: ${config.workingDirectory}`);
|
|
556
|
-
console.log(` Branch: ${getCurrentBranch()}`);
|
|
557
|
-
console.log(` Provider: ${config.provider}`);
|
|
558
|
-
if (config.provider === 'codex') {
|
|
559
|
-
console.log(` Codex Model: ${config.codexModel}`);
|
|
560
|
-
console.log(` Reasoning Effort (default): ${config.codexReasoningEffort}`);
|
|
561
|
-
console.log(` Agent Reasoning: A1=${config.codexAgentReasoning.agent1}, A2=${config.codexAgentReasoning.agent2}, A3=${config.codexAgentReasoning.agent3}`);
|
|
562
|
-
}
|
|
563
|
-
else {
|
|
564
|
-
console.log(` Claude Model: ${config.claudeModel}`);
|
|
565
|
-
}
|
|
566
|
-
if (config.maxIterations > 0) {
|
|
567
|
-
console.log(` Max Iterations: ${config.maxIterations}`);
|
|
568
|
-
}
|
|
569
|
-
if (config.gcpAutoStop) {
|
|
570
|
-
console.log(` GCP Auto-Stop: enabled`);
|
|
571
|
-
}
|
|
572
|
-
console.log(` Merge Mode: ${config.mergeMode}`);
|
|
573
561
|
// Check if ∞ statuses exist in Linear, create if needed
|
|
574
562
|
const statusesExist = await checkLinearStatuses(config.linearApiKey, config.linearTeamId);
|
|
575
563
|
if (!statusesExist) {
|
|
576
|
-
console.log('\n Creating ∞ workflow statuses in Linear...');
|
|
577
564
|
const result = await createLinearStatuses(config.linearApiKey, config.linearTeamId);
|
|
578
565
|
if (!result.success) {
|
|
579
566
|
console.log('\n❌ Failed to create ∞ statuses. Please check Linear permissions.');
|
|
@@ -582,16 +569,7 @@ export async function main() {
|
|
|
582
569
|
}
|
|
583
570
|
process.exit(1);
|
|
584
571
|
}
|
|
585
|
-
// Show status creation summary
|
|
586
|
-
if (result.created.length > 0) {
|
|
587
|
-
console.log(` Created ${result.created.length} status(es)`);
|
|
588
|
-
}
|
|
589
|
-
if (result.existing.length > 0) {
|
|
590
|
-
console.log(` Found ${result.existing.length} existing status(es)`);
|
|
591
|
-
}
|
|
592
572
|
}
|
|
593
|
-
console.log(' Linear Team: ' + config.linearTeamId);
|
|
594
|
-
console.log(' ∞ Statuses: ✓ configured');
|
|
595
573
|
// Check Codex Linear MCP if using Codex provider
|
|
596
574
|
if (config.provider === 'codex') {
|
|
597
575
|
const hasLinearMcp = checkCodexLinearMcp();
|
|
@@ -600,11 +578,39 @@ export async function main() {
|
|
|
600
578
|
console.log(' Run: horizon config');
|
|
601
579
|
process.exit(1);
|
|
602
580
|
}
|
|
603
|
-
console.log(' Codex Linear MCP: ✓ configured');
|
|
604
581
|
}
|
|
605
582
|
// Generate pod name once at startup - persists for entire Horizon session
|
|
606
583
|
const podName = generatePodName();
|
|
607
|
-
|
|
584
|
+
// Build provider display string
|
|
585
|
+
const providerDisplay = config.provider === 'codex'
|
|
586
|
+
? `Codex (${config.codexModel})`
|
|
587
|
+
: `Claude (${config.claudeModel.charAt(0).toUpperCase() + config.claudeModel.slice(1)})`;
|
|
588
|
+
// Build CLI availability display
|
|
589
|
+
const cliParts = [];
|
|
590
|
+
if (cliAvailability.claude)
|
|
591
|
+
cliParts.push('Claude ✓');
|
|
592
|
+
if (cliAvailability.codex)
|
|
593
|
+
cliParts.push('Codex ✓');
|
|
594
|
+
// Build init box lines
|
|
595
|
+
const detectionLines = [
|
|
596
|
+
` CLIs Available ${cliParts.join(' ')} `,
|
|
597
|
+
` Agent Prompts ${promptSync.copied} files synced `,
|
|
598
|
+
];
|
|
599
|
+
const configLines = [
|
|
600
|
+
` Working Directory ${config.workingDirectory} `,
|
|
601
|
+
` Agent Branch ${getCurrentBranch()} `,
|
|
602
|
+
` Provider ${providerDisplay} `,
|
|
603
|
+
` Merge Mode ${promptSync.mergeMode} `,
|
|
604
|
+
` Linear Team ${config.linearTeamId} ∞ prefixed statuses `,
|
|
605
|
+
` Current Pod ${podName} `,
|
|
606
|
+
];
|
|
607
|
+
if (config.maxIterations > 0) {
|
|
608
|
+
configLines.push(` Max Iterations ${config.maxIterations} `);
|
|
609
|
+
}
|
|
610
|
+
if (config.gcpAutoStop) {
|
|
611
|
+
configLines.push(` GCP Auto-Stop enabled `);
|
|
612
|
+
}
|
|
613
|
+
console.log('\n' + box([...detectionLines, ...configLines], { title: 'Horizon', width: 60, dividerAfter: [detectionLines.length - 1] }));
|
|
608
614
|
let iteration = 0;
|
|
609
615
|
while (config.maxIterations === 0 || iteration < config.maxIterations) {
|
|
610
616
|
try {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAe,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,KAAK,EAAE,yBAAyB,EAAwB,MAAM,qBAAqB,CAAC;AAC7F,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACxF,OAAO,EAAE,cAAc,EAAkB,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAC7F,OAAO,EAAE,gCAAgC,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC5F,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACrF,OAAO,EAAE,GAAG,EAAE,IAAI,EAAO,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,aAAa,EACb,oBAAoB,EACpB,8BAA8B,EAC9B,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,YAAY,EACZ,YAAY,GAMb,MAAM,gBAAgB,CAAC;AAGxB,oCAAoC;AACpC,OAAO,iBAAiB,CAAC;AACzB,OAAO,gBAAgB,CAAC;AAExB;;;GAGG;AACH,SAAS,sBAAsB,CAAC,YAAoB;IAClD,yCAAyC;IACzC,MAAM,QAAQ,GAAG;QACf,qCAAqC;QACrC,2CAA2C;QAC3C,mEAAmE;QACnE,6BAA6B;QAC7B,kCAAkC;QAClC,kBAAkB,EAAG,oCAAoC;KAC1D,CAAC;IAEF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,OAAe,EAAE,SAAiB;IACvD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,mDAAmD;IACnD,6DAA6D;IAC7D,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAEnC,oDAAoD;IACpD,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAElC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CACpB,CAAC,oBAAoB,mBAAmB,EAAE,IAAI,CAAC,EAC/C,EAAE,KAAK,EAAE,QAAQ,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CACvD,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,8EAA8E;IAC9E,oDAAoD;IACpD,8EAA8E;IAC9E,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,2BAA2B,KAAK,EAAE,CAAC,CAAC;IAEzD,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACvD,MAAM,gBAAgB,GAAG,MAAM,UAAU,CAAC,sBAAsB,CAAC,CAAC;IAClE,MAAM,YAAY,GAAG;;yBAEE,OAAO,aAAa,SAAS;;;kBAGpC,OAAO;qBACJ,SAAS;;;;;gBAKd,MAAM,CAAC,YAAY;;;;;;EAMjC,gBAAgB,EAAE,CAAC;IAEnB,iCAAiC;IACjC,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;IAE7E,wDAAwD;IACxD,MAAM,WAAW,GAAyB,EAAE,UAAU,EAAE,MAAM,CAAC,mBAAmB,EAAE,CAAC;IAErF,gCAAgC;IAChC,MAAM,YAAY,GAAG,MAAM,yBAAyB,CAClD,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC;QACzB,MAAM,EAAE,YAAY;QACpB,KAAK,EAAE,WAAW;QAClB,YAAY,EAAE,CAAC,gBAAgB,CAAC;QAChC,eAAe,EAAE,MAAM,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;KAC7F,EAAE,CAAC,CAAC,EACL,WAAW,EACX,yBAAyB,CAC1B,CAAC;IAEF,+DAA+D;IAC/D,IAAI,YAAY,CAAC,WAAW,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,mEAAmE,CAAC,CAAC;QACjF,OAAO;IACT,CAAC;IAED,oBAAoB;IACpB,MAAM,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE;QACnD,UAAU,EAAE,YAAY,CAAC,UAAU;QACnC,IAAI,EAAE,YAAY,CAAC,IAAI;QACvB,aAAa,EAAE,YAAY,CAAC,aAAa;QACzC,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAC/B,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAC/B,WAAW,EAAE,YAAY,CAAC,WAAW;QACrC,MAAM,EAAE,YAAY,CAAC,MAAM;KAC5B,CAAC,CAAC;IAEH,uCAAuC;IACvC,MAAM,YAAY,GAAG,YAAY,CAAC,WAAW,CAAC;IAE9C,+DAA+D;IAC/D,IAAI,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/E,sEAAsE;QACtE,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC/D,MAAM,MAAM,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,6BAA6B,CAAC;QAEzE,kDAAkD;QAClD,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,MAAM,UAAU,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,oBAAoB;QACrD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,WAAW,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,UAAU,EAAE,CAAC;gBACvE,YAAY,CAAC,IAAI,CAAC,KAAK,WAAW,EAAE,CAAC,CAAC;gBACtC,WAAW,GAAG,IAAI,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAC9D,CAAC;QACH,CAAC;QACD,IAAI,WAAW;YAAE,YAAY,CAAC,IAAI,CAAC,KAAK,WAAW,EAAE,CAAC,CAAC;QAEvD,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CACpB,CAAC,KAAK,MAAM,iDAAiD,KAAK,EAAE,EAAE,EAAE,EAAE,GAAG,YAAY,CAAC,EAC1F,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,CACrD,CAAC,CAAC;QAEH,2EAA2E;QAC3E,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;YACvE,MAAM,KAAK,GAAG,MAAM,cAAc,EAAE,CAAC;YACrC,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;gBAC9D,MAAM,OAAO,GAAG,MAAM,eAAe,EAAE,CAAC;gBACxC,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;oBACxE,4CAA4C;oBAC5C,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC;oBACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;gBAC3E,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;QAED,mDAAmD;QACnD,MAAM,mBAAmB,GAAG,MAAM,CAAC,wBAAwB,GAAG,EAAE,GAAG,IAAI,CAAC;QACxE,MAAM,oBAAoB,GAAG,MAAM,CAAC,yBAAyB,GAAG,EAAE,GAAG,IAAI,CAAC;QAC1E,IAAI,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,mBAAmB;QAEnD,OAAO,IAAI,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,4BAA4B,MAAM,CAAC,yBAAyB,aAAa,CAAC,CAAC;YACvF,MAAM,KAAK,CAAC,oBAAoB,CAAC,CAAC;YAElC,2BAA2B;YAC3B,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,CAAC;YACtD,MAAM,WAAW,GAAG,kBAAkB,IAAI,mBAAmB,CAAC;YAE9D,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO,CAAC,GAAG,CAAC,wEAAwE,CAAC,CAAC;gBACtF,OAAO,CAAC,oCAAoC;YAC9C,CAAC;YAED,sBAAsB;YACtB,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;gBACjD,OAAO,CAAC,GAAG,CAAC,oEAAoE,CAAC,CAAC;gBAClF,OAAO;YACT,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;YACnE,MAAM,MAAM,GAAG,MAAM,0BAA0B,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;YAE1F,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,wBAAwB,MAAM,CAAC,KAAK,4BAA4B,CAAC,CAAC;gBAC9E,OAAO,CAAC,gCAAgC;YAC1C,CAAC;YAED,gCAAgC;YAChC,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC;YAChC,MAAM,SAAS,GAAG,yBAAyB,YAAY,CAAC,SAAS,UAAU,YAAY,CAAC,OAAO,iBAAiB,YAAY,CAAC,SAAS,UAAU,YAAY,CAAC,OAAO,aAAa,YAAY,CAAC,QAAQ,WAAW,CAAC;YAClN,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAEvB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,OAAO,CAAC,GAAG,CAAC,uBAAuB,MAAM,CAAC,WAAW,iDAAiD,CAAC,CAAC;gBACxG,OAAO,CAAC,2BAA2B;YACrC,CAAC;YAED,4CAA4C;YAC5C,MAAM,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,mBAAmB,GAAG,kBAAkB,CAAC,GAAG,KAAK,CAAC,CAAC;YAC5F,OAAO,CAAC,GAAG,CAAC,6DAA6D,MAAM,CAAC,yBAAyB,2BAA2B,oBAAoB,YAAY,CAAC,CAAC;QACxK,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,gFAAgF;IAChF,8EAA8E;IAC9E,IAAI,eAAe,GAAa,EAAE,CAAC;IACnC,MAAM,eAAe,GAAG,sBAAsB,CAAC,YAAY,CAAC,CAAC;IAE7D,IAAI,eAAe,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QACxD,IAAI,CAAC;YACH,2DAA2D;YAC3D,4FAA4F;YAC5F,MAAM,YAAY,GAAG,gCAAgC,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;YACjF,MAAM,gBAAgB,GAAG,MAAM,mBAAmB,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;YAElF,IAAI,gBAAgB,EAAE,CAAC;gBACrB,iEAAiE;gBACjE,MAAM,WAAW,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;gBACxD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC3B,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAAC,MAAM,CAAC,YAAY,EAAE,eAAe,EAAE,WAAW,CAAC,CAAC;oBACjG,eAAe,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gBAC7D,CAAC;YACH,CAAC;YAED,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,cAAc,eAAe,CAAC,MAAM,gBAAgB,CAAC,CAAC;YACpE,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,2DAA2D,EAAE,KAAK,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,+DAA+D;IAC/D,8EAA8E;IAC9E,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,oBAAoB,KAAK,EAAE,CAAC,CAAC;IAElD,sCAAsC;IACtC,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAEvD,+DAA+D;IAC/D,MAAM,iBAAiB,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC;QAClD,CAAC,CAAC;;;;;;EAMJ,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;CAE9C;QACG,CAAC,CAAC,EAAE,CAAC;IAEP,yEAAyE;IACzE,MAAM,gBAAgB,GAAG,MAAM,UAAU,CAAC,eAAe,CAAC,CAAC;IAC3D,MAAM,YAAY,GAAG;;yBAEE,OAAO,aAAa,SAAS;;;kBAGpC,OAAO;qBACJ,SAAS;;;;;gBAKd,MAAM,CAAC,YAAY;;;;;;;;EAQjC,YAAY;EACZ,iBAAiB;;;EAGjB,gBAAgB,EAAE,CAAC;IAEnB,gCAAgC;IAChC,IAAI,YAA4B,CAAC;IACjC,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAChC,YAAY,GAAG,MAAM,yBAAyB,CAC5C,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC;YACzB,MAAM,EAAE,YAAY;YACpB,KAAK,EAAE,MAAM,CAAC,UAAU;YACxB,eAAe,EAAE,MAAM,CAAC,oBAAoB;SAC7C,EAAE,CAAC,CAAC,EACL,WAAW,EACX,kBAAkB,CACnB,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,YAAY,GAAG,MAAM,yBAAyB,CAC5C,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC;YACzB,MAAM,EAAE,YAAY;YACpB,KAAK,EAAE,MAAM,CAAC,WAAW;SAC1B,EAAE,CAAC,CAAC,EACL,WAAW,EACX,kBAAkB,CACnB,CAAC;IACJ,CAAC;IAED,6EAA6E;IAC7E,IAAI,YAAY,CAAC,WAAW,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,oFAAoF,CAAC,CAAC;IACpG,CAAC;IAED,oBAAoB;IACpB,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;IACzF,MAAM,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE;QACnD,UAAU,EAAE,YAAY,CAAC,UAAU;QACnC,IAAI,EAAE,YAAY,CAAC,IAAI;QACvB,aAAa,EAAE,YAAY,CAAC,aAAa;QACzC,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAC/B,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAC/B,WAAW,EAAE,YAAY,CAAC,WAAW;QACrC,MAAM,EAAE,YAAY,CAAC,MAAM;KAC5B,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,YAAY,CAAC,WAAW,CAAC;IAE9C,8EAA8E;IAC9E,oDAAoD;IACpD,8EAA8E;IAC9E,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,2BAA2B,KAAK,EAAE,CAAC,CAAC;IAEzD,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACvD,MAAM,gBAAgB,GAAG,MAAM,UAAU,CAAC,sBAAsB,CAAC,CAAC;IAElE,sDAAsD;IACtD,MAAM,aAAa,GAAG,YAAY,CAAC,aAAa;QAC9C,CAAC,CAAC,KAAK,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc;QACjD,CAAC,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACvC,MAAM,aAAa,GAAG,YAAY,CAAC,aAAa;QAC9C,CAAC,CAAC,KAAK,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc;QACjD,CAAC,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAEvC,MAAM,YAAY,GAAG;;yBAEE,OAAO,aAAa,SAAS;;;kBAGpC,OAAO;qBACJ,SAAS;;;uCAGS,OAAO;;;;gBAI9B,MAAM,CAAC,YAAY;;;;;;;;EAQjC,YAAY;;;;;;EAMZ,YAAY;;;;;;SAML,OAAO;UACN,SAAS;;;cAGL,MAAM,CAAC,QAAQ;WAClB,WAAW;UACZ,aAAa;cACT,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,GAAG,IAAI,CAAC;eACvC,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,cAAc,EAAE,QAAQ,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,WAAW,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE;;;cAGhK,MAAM,CAAC,QAAQ;WAClB,WAAW;UACZ,aAAa;cACT,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,GAAG,IAAI,CAAC;eACvC,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,cAAc,EAAE,QAAQ,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,WAAW,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE;eAC/J,YAAY,CAAC,QAAQ;kBAClB,YAAY,CAAC,WAAW;;;iBAGzB,CAAC,YAAY,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,aAAa,IAAI,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE;oBAC1I,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;qBACjE,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,GAAG,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,cAAc,EAAE,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,MAAM,GAAG,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,cAAc,EAAE,WAAW,CAAC,YAAY,CAAC,UAAU,CAAC,MAAM,GAAG,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,cAAc,EAAE;;;;EAI1R,gBAAgB,EAAE,CAAC;IAEnB,gCAAgC;IAChC,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC/E,MAAM,YAAY,GAAG,MAAM,yBAAyB,CAClD,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC;QACzB,MAAM,EAAE,YAAY;QACpB,KAAK,EAAE,WAAW;QAClB,YAAY,EAAE,CAAC,gBAAgB,CAAC;QAChC,eAAe,EAAE,MAAM,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;KAC7F,EAAE,CAAC,CAAC,EACL,WAAW,EACX,yBAAyB,CAC1B,CAAC;IAEF,IAAI,YAAY,CAAC,WAAW,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;IAC/D,CAAC;IAED,oBAAoB;IACpB,MAAM,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE;QACnD,UAAU,EAAE,YAAY,CAAC,UAAU;QACnC,IAAI,EAAE,YAAY,CAAC,IAAI;QACvB,aAAa,EAAE,YAAY,CAAC,aAAa;QACzC,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAC/B,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAC/B,WAAW,EAAE,YAAY,CAAC,WAAW;QACrC,MAAM,EAAE,YAAY,CAAC,MAAM;KAC5B,CAAC,CAAC;IAEH,sBAAsB;IACtB,MAAM,iBAAiB,EAAE,CAAC;IAE1B,aAAa;IACb,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,QAAQ,GAAG,EAAE,CAAC;IAC9B,OAAO,CAAC,GAAG,CAAC,UAAU,SAAS,gBAAgB,OAAO,KAAK,OAAO,GAAG,CAAC,CAAC;AACzE,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa;IACpB,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAG;;;;;;;;8DAQ6C,OAAO;iEACJ,CAAC;IAChE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB;IAC3B,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC;QACrB,iEAAiE;QACjE,iEAAiE;QACjE,iEAAiE;QACjE,iEAAiE;QACjE,iEAAiE;QACjE,iEAAiE;QACjE,iEAAiE;QACjE,iEAAiE;QACjE,iEAAiE;KAClE,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;AACrD,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,eAAe,CAAC,eAAgC;IAC7D,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;IAE1D,MAAM,EAAE,GAAG,qBAAqB,EAAE,CAAC;IAEnC,IAAI,CAAC;QACH,2BAA2B;QAC3B,MAAM,cAAc,GAAG,kBAAkB,EAAE,CAAC;QAE5C,kBAAkB;QAClB,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,uEAAuE,CAAC,CAAC;QACrF,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,IAAI,MAAM,GAAG,MAAM,YAAY,CAAC,EAAE,EAAE,2BAA2B,CAAC,CAAC;QACjE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;YAC7C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,mBAAmB;QACnB,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC7B,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;YAC5D,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAEzB,yBAAyB;QACzB,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACjC,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAE7C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;YACxD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,OAAe,CAAC;QACpB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;YAC9D,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAC5B,MAAM,WAAW,GAA2B,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC/D,KAAK,EAAE,IAAI,CAAC,GAAG;gBACf,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,GAAG,GAAG;aACpC,CAAC,CAAC,CAAC;YAEJ,OAAO,GAAG,MAAM,YAAY,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;YACjD,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,CAAE,CAAC;YAC3D,OAAO,CAAC,GAAG,CAAC,aAAa,YAAY,CAAC,IAAI,IAAI,CAAC,CAAC;QAClD,CAAC;QAED,iDAAiD;QACjD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,mBAAmB,QAAQ,IAAI,CAAC,CAAC;QAE7C,qBAAqB;QACrB,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACpC,MAAM,gBAAgB,GAA8B;YAClD,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,0DAA0D,EAAE;YACzG,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,wBAAwB,EAAE;YACzE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,sBAAsB,EAAE;SAClE,CAAC;QAEF,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,EAAE,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC;QAE9D,qBAAqB;QACrB,MAAM,SAAS,GAAiB;YAC9B,YAAY,EAAE,MAAM;YACpB,aAAa,EAAE,OAAO;YACtB,QAAQ;YACR,WAAW,EAAE,cAAc,CAAC,WAAW,IAAI,MAAM;YACjD,UAAU,EAAE,cAAc,CAAC,UAAU,IAAI,SAAS;YAClD,oBAAoB,EAAE,cAAc,CAAC,oBAAoB,IAAI,MAAM;YACnE,aAAa,EAAE,cAAc,CAAC,aAAa,IAAI,CAAC;YAChD,SAAS;SACV,CAAC;QAEF,aAAa,CAAC,SAAS,CAAC,CAAC;QACzB,aAAa,CAAC,MAAM,CAAC,CAAC;QACtB,eAAe,EAAE,CAAC;QAElB,mDAAmD;QACnD,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,MAAM,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,OAAO,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,QAAQ,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,SAAS,CAAC;QAE3C,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI;IACxB,aAAa,EAAE,CAAC;IAChB,oBAAoB,EAAE,CAAC;IAEvB,wDAAwD;IACxD,MAAM,YAAY,GAAG,MAAM,eAAe,EAAE,CAAC;IAC7C,yBAAyB,CAAC,YAAY,CAAC,CAAC;IAExC,wDAAwD;IACxD,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,mEAAmE,CAAC,CAAC;QACjF,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,oCAAoC;IACpC,gBAAgB,EAAE,CAAC;IACnB,oBAAoB,EAAE,CAAC;IACvB,eAAe,EAAE,CAAC;IAElB,qEAAqE;IACrE,MAAM,eAAe,GAAG,8BAA8B,EAAE,CAAC;IACzD,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,oEAAoE;QACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,qFAAqF;IACrF,MAAM,UAAU,GAAG,oBAAoB,EAAE,CAAC;IAE1C,IAAI,MAAM,GAAG,SAAS,EAAE,CAAC;IAEzB,6CAA6C;IAC7C,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QACjD,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,eAAe,CAAC,CAAC;QAC5D,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;YACpE,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;YACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,+DAA+D;QAC/D,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,wDAAwD;IACxD,MAAM,aAAa,GAAG,MAAM,mBAAmB,CAAC,MAAM,CAAC,YAAa,EAAE,MAAM,CAAC,YAAa,CAAC,CAAC;IAC5F,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,MAAM,CAAC,YAAa,EAAE,MAAM,CAAC,YAAa,CAAC,CAAC;QAEtF,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,mEAAmE,CAAC,CAAC;YACjF,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC;YAC7D,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,iDAAiD;IACjD,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAChC,MAAM,YAAY,GAAG,mBAAmB,EAAE,CAAC;QAC3C,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;YAC1D,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;YACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,0EAA0E;IAC1E,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;IAElC,gCAAgC;IAChC,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ,KAAK,OAAO;QACjD,CAAC,CAAC,UAAU,MAAM,CAAC,UAAU,GAAG;QAChC,CAAC,CAAC,WAAW,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;IAE3F,iCAAiC;IACjC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,eAAe,CAAC,MAAM;QAAE,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACtD,IAAI,eAAe,CAAC,KAAK;QAAE,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAEpD,uBAAuB;IACvB,MAAM,cAAc,GAAG;QACrB,uBAAuB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;QAC9C,uBAAuB,UAAU,CAAC,MAAM,iBAAiB;KAC1D,CAAC;IAEF,MAAM,WAAW,GAAG;QAClB,uBAAuB,MAAM,CAAC,gBAAgB,IAAI;QAClD,uBAAuB,gBAAgB,EAAE,IAAI;QAC7C,uBAAuB,eAAe,IAAI;QAC1C,uBAAuB,UAAU,CAAC,SAAS,IAAI;QAC/C,uBAAuB,MAAM,CAAC,YAAY,wBAAwB;QAClE,uBAAuB,OAAO,IAAI;KACnC,CAAC;IAEF,IAAI,MAAM,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;QAC7B,WAAW,CAAC,IAAI,CAAC,uBAAuB,MAAM,CAAC,aAAa,IAAI,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACvB,WAAW,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CACpB,CAAC,GAAG,cAAc,EAAE,GAAG,WAAW,CAAC,EACnC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAC3E,CAAC,CAAC;IAEH,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,OAAO,MAAM,CAAC,aAAa,KAAK,CAAC,IAAI,SAAS,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;QACtE,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAClC,SAAS,EAAE,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,UAAU,SAAS,SAAS,EAAE,KAAK,CAAC,CAAC;YACnD,OAAO,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,iBAAiB,4BAA4B,CAAC,CAAC;YAC9E,MAAM,KAAK,CAAC,MAAM,CAAC,iBAAiB,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,6BAA6B,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;IACnE,CAAC;AACH,CAAC;AAED,kCAAkC;AAClC,mEAAmE;AACnE,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,UAAU,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACpD,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC"}
|
package/dist/lib/claude.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../src/lib/claude.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAe,MAAM,aAAa,CAAC;AAIvE,OAAO,EAAE,WAAW,EAA2D,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../src/lib/claude.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAe,MAAM,aAAa,CAAC;AAIvE,OAAO,EAAE,WAAW,EAA2D,MAAM,eAAe,CAAC;AA8RrG,wBAAsB,WAAW,CAAC,OAAO,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAiIrG;AAGD,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAgC/D;AAqDD,wBAAgB,oBAAoB,IAAI,WAAW,CAElD"}
|
package/dist/lib/claude.js
CHANGED
|
@@ -5,14 +5,20 @@ import { parseRateLimitReset, isRateLimitError } from './rate-limit.js';
|
|
|
5
5
|
import { getConfig, getRepoRoot } from '../config.js';
|
|
6
6
|
import { logAgentOutput, logTerminalOutput } from './output-logger.js';
|
|
7
7
|
import { registerClaudeProvider } from './provider.js';
|
|
8
|
-
|
|
9
|
-
const BOLD = '\x1b[1m';
|
|
10
|
-
const DIM = '\x1b[2m';
|
|
11
|
-
const YELLOW = '\x1b[33m';
|
|
12
|
-
const GREEN = '\x1b[32m';
|
|
13
|
-
const RESET = '\x1b[0m';
|
|
8
|
+
import { BOLD, DIM, YELLOW, GREEN, BLUE, RESET, box, renderMarkdown } from './ui.js';
|
|
14
9
|
// Track subagent ID -> description mapping
|
|
15
10
|
const subagentMap = new Map();
|
|
11
|
+
// Track the last main-agent tool_use ID for correlating tool results
|
|
12
|
+
let lastMainToolUseId = null;
|
|
13
|
+
// MCP tool call collapsing state
|
|
14
|
+
let mcpConsecutiveCount = 0;
|
|
15
|
+
const MCP_SHOW_LIMIT = 3;
|
|
16
|
+
// Dimmed compact format for MCP calls beyond the show limit
|
|
17
|
+
function formatMcpCompact(name, input) {
|
|
18
|
+
const short = name.replace(/^mcp__/, '').replace(/__/, ':');
|
|
19
|
+
const sig = input ? formatToolSignature(short, input) : short;
|
|
20
|
+
return `${DIM} ○ ${sig}${RESET}`;
|
|
21
|
+
}
|
|
16
22
|
// Helper: Extract short model name
|
|
17
23
|
function modelName(model) {
|
|
18
24
|
if (!model)
|
|
@@ -58,26 +64,101 @@ function extractToolValue(input) {
|
|
|
58
64
|
function formatNumber(num) {
|
|
59
65
|
return num.toLocaleString();
|
|
60
66
|
}
|
|
67
|
+
// Truncate string to max length
|
|
68
|
+
function truncate(str, maxLen = 120) {
|
|
69
|
+
if (str.length <= maxLen)
|
|
70
|
+
return str;
|
|
71
|
+
return str.substring(0, maxLen) + '...';
|
|
72
|
+
}
|
|
73
|
+
// Format tool calls as function signatures: Read(file_path="src/file.ts", offset=1)
|
|
74
|
+
function formatToolSignature(name, input) {
|
|
75
|
+
const params = Object.entries(input)
|
|
76
|
+
.filter(([, v]) => v !== undefined && v !== null)
|
|
77
|
+
.map(([k, v]) => {
|
|
78
|
+
if (typeof v === 'string')
|
|
79
|
+
return `${k}="${truncate(cleanPath(v), 60)}"`;
|
|
80
|
+
if (typeof v === 'object')
|
|
81
|
+
return `${k}={...}`;
|
|
82
|
+
return `${k}=${v}`;
|
|
83
|
+
})
|
|
84
|
+
.join(', ');
|
|
85
|
+
return `${name}(${truncate(params, 120)})`;
|
|
86
|
+
}
|
|
87
|
+
// Format tool results with tree connector, capped at 3 lines
|
|
88
|
+
function formatToolResult(toolUseResult) {
|
|
89
|
+
let text = '';
|
|
90
|
+
if (toolUseResult.file && typeof toolUseResult.file.content === 'string') {
|
|
91
|
+
text = toolUseResult.file.content;
|
|
92
|
+
}
|
|
93
|
+
else if (typeof toolUseResult.stdout === 'string') {
|
|
94
|
+
text = toolUseResult.stdout;
|
|
95
|
+
}
|
|
96
|
+
else if (typeof toolUseResult.content === 'string') {
|
|
97
|
+
text = toolUseResult.content;
|
|
98
|
+
}
|
|
99
|
+
if (!text.trim())
|
|
100
|
+
return null;
|
|
101
|
+
const lines = text.split('\n').filter(l => l.trim());
|
|
102
|
+
const preview = lines.slice(0, 3);
|
|
103
|
+
const more = lines.length > 3;
|
|
104
|
+
return preview.map((line, i) => {
|
|
105
|
+
const prefix = i === 0 ? '└ ' : ' ';
|
|
106
|
+
return `${DIM} ${prefix}${truncate(line, 100)}${RESET}`;
|
|
107
|
+
}).join('\n') + (more ? `\n${DIM} ...${RESET}` : '');
|
|
108
|
+
}
|
|
61
109
|
// Process a single JSON line and return formatted output
|
|
62
110
|
function processJsonLine(json) {
|
|
63
111
|
// System init
|
|
64
112
|
if (json.type === 'system' && json.subtype === 'init') {
|
|
65
113
|
const tools = Array.isArray(json.tools) ? json.tools.length : 0;
|
|
66
|
-
return
|
|
114
|
+
return '\n' + box([` Model: ${json.model} | Tools: ${tools} available `], { title: 'SESSION START', color: BLUE, width: 60 });
|
|
67
115
|
}
|
|
68
116
|
// System status
|
|
69
117
|
if (json.type === 'system' && json.subtype === 'status') {
|
|
70
|
-
return `${
|
|
118
|
+
return `${BLUE}${DIM}≡ Working...${RESET}`;
|
|
71
119
|
}
|
|
72
120
|
// Context compaction
|
|
73
121
|
if (json.type === 'system' && json.subtype === 'compact_boundary') {
|
|
74
122
|
const metadata = json.compact_metadata;
|
|
75
123
|
const preTokens = metadata?.pre_tokens ? Math.floor(metadata.pre_tokens / 1000) : '?';
|
|
76
|
-
return `${DIM}
|
|
124
|
+
return `${DIM}~ Context compacted (was ${preTokens}k tokens)${RESET}`;
|
|
77
125
|
}
|
|
78
126
|
// Task notification
|
|
79
127
|
if (json.type === 'system' && json.subtype === 'task_notification') {
|
|
80
|
-
return `${GREEN}
|
|
128
|
+
return `${GREEN}✓ Done: ${json.summary}${RESET}`;
|
|
129
|
+
}
|
|
130
|
+
// Tool results (type: "user" with tool_use_result)
|
|
131
|
+
if (json.type === 'user') {
|
|
132
|
+
const message = json.message;
|
|
133
|
+
const content = message?.content;
|
|
134
|
+
if (Array.isArray(content)) {
|
|
135
|
+
const lines = [];
|
|
136
|
+
for (const item of content) {
|
|
137
|
+
if (item.type === 'tool_result' && item.tool_use_id === lastMainToolUseId) {
|
|
138
|
+
const resultContent = item.content;
|
|
139
|
+
if (item.is_error && typeof resultContent === 'string') {
|
|
140
|
+
lines.push(`${YELLOW} └ Error: ${truncate(resultContent, 100)}${RESET}`);
|
|
141
|
+
}
|
|
142
|
+
else if (Array.isArray(resultContent)) {
|
|
143
|
+
// tool_result content can be an array of content blocks
|
|
144
|
+
for (const block of resultContent) {
|
|
145
|
+
if (typeof block === 'object' && block !== null) {
|
|
146
|
+
const result = formatToolResult(block);
|
|
147
|
+
if (result)
|
|
148
|
+
lines.push(result);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
else if (typeof resultContent === 'object' && resultContent !== null) {
|
|
153
|
+
const result = formatToolResult(resultContent);
|
|
154
|
+
if (result)
|
|
155
|
+
lines.push(result);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
return lines.length > 0 ? lines.join('\n') : null;
|
|
160
|
+
}
|
|
161
|
+
return null;
|
|
81
162
|
}
|
|
82
163
|
// Result (session end)
|
|
83
164
|
if (json.type === 'result') {
|
|
@@ -103,12 +184,12 @@ function processJsonLine(json) {
|
|
|
103
184
|
const durationSec = Math.floor((json.duration_ms || 0) / 1000);
|
|
104
185
|
const totalCost = (json.total_cost_usd || 0).toFixed(2);
|
|
105
186
|
const numTurns = json.num_turns || 0;
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
187
|
+
const endLines = [
|
|
188
|
+
` Duration: ${durationSec}s | Cost: $${totalCost} | Turns: ${numTurns} `,
|
|
189
|
+
...modelBreakdown.map(l => ` ${l} `),
|
|
190
|
+
` TOTAL: in=${formatNumber(totalIn)} out=${formatNumber(totalOut)} cache_read=${formatNumber(totalCacheRead)} cache_write=${formatNumber(totalCacheWrite)} `,
|
|
191
|
+
];
|
|
192
|
+
return '\n' + box(endLines, { title: 'SESSION END', color: BLUE, width: 80, dividerAfter: [0] });
|
|
112
193
|
}
|
|
113
194
|
// Assistant messages
|
|
114
195
|
if (json.type === 'assistant') {
|
|
@@ -117,39 +198,61 @@ function processJsonLine(json) {
|
|
|
117
198
|
const pct = message?.usage ? contextPct(message.usage) : 0;
|
|
118
199
|
const parentId = json.parent_tool_use_id;
|
|
119
200
|
const content = message?.content || [];
|
|
201
|
+
const tag = `${DIM}[${model}/${pct}%]${RESET}`;
|
|
202
|
+
// Detect if all tool_use items at top level are MCP calls
|
|
203
|
+
const toolUseItems = content.filter(i => i.type === 'tool_use' && parentId === null);
|
|
204
|
+
const allMcp = toolUseItems.length > 0 && toolUseItems.every(i => (i.name || '').startsWith('mcp__'));
|
|
205
|
+
if (allMcp) {
|
|
206
|
+
mcpConsecutiveCount++;
|
|
207
|
+
if (mcpConsecutiveCount > MCP_SHOW_LIMIT) {
|
|
208
|
+
// Show dimmed compact line instead of full green-dot format
|
|
209
|
+
const compactLines = toolUseItems.map(i => formatMcpCompact(i.name || 'unknown', i.input || {}));
|
|
210
|
+
return compactLines.join('\n');
|
|
211
|
+
}
|
|
212
|
+
}
|
|
120
213
|
const lines = [];
|
|
214
|
+
// Reset MCP count when a non-MCP message arrives
|
|
215
|
+
if (!allMcp) {
|
|
216
|
+
mcpConsecutiveCount = 0;
|
|
217
|
+
}
|
|
121
218
|
for (const item of content) {
|
|
122
219
|
if (item.name === 'Task') {
|
|
123
220
|
// Main agent spawning a subagent
|
|
124
221
|
const input = item.input;
|
|
125
222
|
const desc = input?.description || 'unknown';
|
|
126
|
-
const agentType = input?.subagent_type || 'unknown';
|
|
127
223
|
// Store mapping for later
|
|
128
224
|
if (item.id) {
|
|
129
225
|
subagentMap.set(item.id, desc);
|
|
130
226
|
}
|
|
131
|
-
lines.push(`${YELLOW}
|
|
227
|
+
lines.push(`${YELLOW}▸ Spawn: ${desc} ${tag}${RESET}`);
|
|
132
228
|
}
|
|
133
229
|
else if (item.name === 'TaskOutput') {
|
|
134
|
-
// Skip TaskOutput messages
|
|
135
230
|
continue;
|
|
136
231
|
}
|
|
137
232
|
else if (item.type === 'tool_use') {
|
|
138
|
-
const value = item.input ? extractToolValue(item.input) : '';
|
|
139
233
|
if (parentId === null) {
|
|
140
|
-
// Main agent tool call
|
|
141
|
-
|
|
234
|
+
// Main agent tool call - green dot + function signature
|
|
235
|
+
const sig = item.input ? formatToolSignature(item.name || 'unknown', item.input) : (item.name || 'unknown');
|
|
236
|
+
lines.push(`${GREEN}${BOLD}●${RESET} ${sig} ${tag}`);
|
|
237
|
+
// Track for tool result correlation
|
|
238
|
+
if (item.id)
|
|
239
|
+
lastMainToolUseId = item.id;
|
|
142
240
|
}
|
|
143
241
|
else {
|
|
144
|
-
// Subagent tool call -
|
|
242
|
+
// Subagent tool call - indented with arrow
|
|
145
243
|
const parentDesc = subagentMap.get(parentId) || parentId;
|
|
146
|
-
|
|
244
|
+
const value = item.input ? extractToolValue(item.input) : '';
|
|
245
|
+
lines.push(`${DIM} ${parentDesc} ▸ ${item.name}: ${value}${RESET}`);
|
|
147
246
|
}
|
|
148
247
|
}
|
|
248
|
+
else if (item.type === 'thinking') {
|
|
249
|
+
// Thinking indicator
|
|
250
|
+
lines.push(`${DIM}* Thinking...${RESET}`);
|
|
251
|
+
}
|
|
149
252
|
else if (item.type === 'text' && item.text) {
|
|
150
253
|
if (parentId === null) {
|
|
151
|
-
// Main agent text -
|
|
152
|
-
lines.push(
|
|
254
|
+
// Main agent text - clean without emoji prefix
|
|
255
|
+
lines.push(`${renderMarkdown(item.text)} ${tag}`);
|
|
153
256
|
}
|
|
154
257
|
// Skip subagent text to reduce noise
|
|
155
258
|
}
|
|
@@ -160,8 +263,10 @@ function processJsonLine(json) {
|
|
|
160
263
|
}
|
|
161
264
|
// Legacy function for backwards compatibility
|
|
162
265
|
export async function spawnClaude(options, agentNumber) {
|
|
163
|
-
// Clear
|
|
266
|
+
// Clear state for new session
|
|
164
267
|
subagentMap.clear();
|
|
268
|
+
lastMainToolUseId = null;
|
|
269
|
+
mcpConsecutiveCount = 0;
|
|
165
270
|
return new Promise((resolve, reject) => {
|
|
166
271
|
const config = getConfig();
|
|
167
272
|
const args = [
|
|
@@ -180,14 +285,10 @@ export async function spawnClaude(options, agentNumber) {
|
|
|
180
285
|
if (options.allowedTools && options.allowedTools.length > 0) {
|
|
181
286
|
args.push('--allowedTools', options.allowedTools.join(','));
|
|
182
287
|
}
|
|
183
|
-
const spawnMsg = `${
|
|
184
|
-
const cwdMsg = `${DIM} Working directory: ${config.workingDirectory}${RESET}`;
|
|
288
|
+
const spawnMsg = `${DIM} spawning claude --model ${options.model} --verbose ...${RESET}`;
|
|
185
289
|
console.log(spawnMsg);
|
|
186
|
-
console.log(cwdMsg);
|
|
187
|
-
// Log spawn info to terminal log
|
|
188
290
|
if (agentNumber !== undefined) {
|
|
189
291
|
logTerminalOutput(agentNumber, spawnMsg).catch(() => { });
|
|
190
|
-
logTerminalOutput(agentNumber, cwdMsg).catch(() => { });
|
|
191
292
|
}
|
|
192
293
|
const proc = spawn('claude', args, {
|
|
193
294
|
stdio: ['pipe', 'pipe', 'pipe'],
|