@litmers/cursorflow-orchestrator 0.1.15 → 0.1.20
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/CHANGELOG.md +23 -1
- package/README.md +26 -7
- package/commands/cursorflow-run.md +2 -0
- package/commands/cursorflow-triggers.md +250 -0
- package/dist/cli/clean.js +8 -7
- package/dist/cli/clean.js.map +1 -1
- package/dist/cli/index.js +5 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init.js +20 -14
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/logs.js +64 -47
- package/dist/cli/logs.js.map +1 -1
- package/dist/cli/monitor.js +27 -17
- package/dist/cli/monitor.js.map +1 -1
- package/dist/cli/prepare.js +73 -33
- package/dist/cli/prepare.js.map +1 -1
- package/dist/cli/resume.js +193 -40
- package/dist/cli/resume.js.map +1 -1
- package/dist/cli/run.js +3 -2
- package/dist/cli/run.js.map +1 -1
- package/dist/cli/signal.js +7 -7
- package/dist/cli/signal.js.map +1 -1
- package/dist/core/orchestrator.d.ts +2 -1
- package/dist/core/orchestrator.js +54 -93
- package/dist/core/orchestrator.js.map +1 -1
- package/dist/core/reviewer.d.ts +6 -4
- package/dist/core/reviewer.js +7 -5
- package/dist/core/reviewer.js.map +1 -1
- package/dist/core/runner.d.ts +8 -0
- package/dist/core/runner.js +219 -32
- package/dist/core/runner.js.map +1 -1
- package/dist/utils/config.js +20 -10
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/doctor.js +35 -7
- package/dist/utils/doctor.js.map +1 -1
- package/dist/utils/enhanced-logger.d.ts +2 -2
- package/dist/utils/enhanced-logger.js +114 -43
- package/dist/utils/enhanced-logger.js.map +1 -1
- package/dist/utils/git.js +163 -10
- package/dist/utils/git.js.map +1 -1
- package/dist/utils/log-formatter.d.ts +16 -0
- package/dist/utils/log-formatter.js +194 -0
- package/dist/utils/log-formatter.js.map +1 -0
- package/dist/utils/path.d.ts +19 -0
- package/dist/utils/path.js +77 -0
- package/dist/utils/path.js.map +1 -0
- package/dist/utils/repro-thinking-logs.d.ts +1 -0
- package/dist/utils/repro-thinking-logs.js +80 -0
- package/dist/utils/repro-thinking-logs.js.map +1 -0
- package/dist/utils/state.d.ts +4 -1
- package/dist/utils/state.js +11 -8
- package/dist/utils/state.js.map +1 -1
- package/dist/utils/template.d.ts +14 -0
- package/dist/utils/template.js +122 -0
- package/dist/utils/template.js.map +1 -0
- package/dist/utils/types.d.ts +13 -0
- package/dist/utils/webhook.js +3 -0
- package/dist/utils/webhook.js.map +1 -1
- package/package.json +4 -2
- package/scripts/ai-security-check.js +3 -0
- package/scripts/local-security-gate.sh +9 -1
- package/scripts/verify-and-fix.sh +37 -0
- package/src/cli/clean.ts +8 -7
- package/src/cli/index.ts +5 -1
- package/src/cli/init.ts +19 -15
- package/src/cli/logs.ts +67 -47
- package/src/cli/monitor.ts +28 -18
- package/src/cli/prepare.ts +75 -35
- package/src/cli/resume.ts +810 -626
- package/src/cli/run.ts +3 -2
- package/src/cli/signal.ts +7 -6
- package/src/core/orchestrator.ts +68 -93
- package/src/core/reviewer.ts +14 -9
- package/src/core/runner.ts +229 -33
- package/src/utils/config.ts +19 -11
- package/src/utils/doctor.ts +38 -7
- package/src/utils/enhanced-logger.ts +117 -49
- package/src/utils/git.ts +145 -11
- package/src/utils/log-formatter.ts +162 -0
- package/src/utils/path.ts +45 -0
- package/src/utils/repro-thinking-logs.ts +54 -0
- package/src/utils/state.ts +16 -8
- package/src/utils/template.ts +92 -0
- package/src/utils/types.ts +13 -0
- package/src/utils/webhook.ts +3 -0
- package/templates/basic.json +21 -0
- package/scripts/simple-logging-test.sh +0 -97
- package/scripts/test-real-cursor-lifecycle.sh +0 -289
- package/scripts/test-real-logging.sh +0 -289
- package/scripts/test-streaming-multi-task.sh +0 -247
package/dist/utils/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWH,0CAcC;AAKD,gCA6EC;AAKD,kCAEC;AAKD,gCAEC;AAKD,wCAwBC;AAKD,kDA2EC;AApOD,2CAA6B;AAC7B,uCAAyB;AAEzB,iCAAkC;AAGlC;;GAEG;AACH,SAAgB,eAAe,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;IACjD,IAAI,OAAO,GAAG,GAAG,CAAC;IAElB,OAAO,OAAO,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5C,MAAM,WAAW,GAAG,IAAA,eAAQ,EAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QACtD,MAAM,UAAU,GAAG,IAAA,eAAQ,EAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;QAE7D,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5D,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;AAChE,CAAC;AAED;;GAEG;AACH,SAAgB,UAAU,CAAC,cAA6B,IAAI;IAC1D,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,WAAW,GAAG,eAAe,EAAE,CAAC;IAClC,CAAC;IAED,MAAM,UAAU,GAAG,IAAA,eAAQ,EAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC;IAEjE,wBAAwB;IACxB,MAAM,QAAQ,GAAqB;QACjC,cAAc;QACd,QAAQ,EAAE,mBAAmB;QAC7B,OAAO,EAAE,kBAAkB;QAE3B,MAAM;QACN,UAAU,EAAE,MAAM;QAClB,YAAY,EAAE,UAAU;QAExB,YAAY;QACZ,QAAQ,EAAE,cAAc;QACxB,YAAY,EAAE,EAAE;QAEhB,eAAe;QACf,qBAAqB,EAAE,KAAK;QAC5B,gBAAgB,EAAE,IAAI;QAEtB,SAAS;QACT,YAAY,EAAE,KAAK;QACnB,WAAW,EAAE,qBAAqB;QAClC,cAAc,EAAE,KAAK;QACrB,mBAAmB,EAAE,CAAC;QAEtB,gBAAgB;QAChB,iBAAiB,EAAE;YACjB,OAAO,EAAE,IAAI;YACb,YAAY,EAAE,KAAK;SACpB;QAED,UAAU;QACV,QAAQ,EAAE,MAAM;QAChB,UAAU,EAAE,KAAK;QAEjB,WAAW;QACX,cAAc,EAAE,aAAa;QAC7B,kBAAkB,EAAE,EAAE;QACtB,iBAAiB,EAAE,aAAa;QAEhC,WAAW;QACX,QAAQ,EAAE,EAAE;QAEZ,mBAAmB;QACnB,eAAe,EAAE;YACf,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,IAAI;YACf,aAAa,EAAE,IAAI;YACnB,WAAW,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,OAAO;YACtC,QAAQ,EAAE,CAAC;YACX,WAAW,EAAE,IAAI;YACjB,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;SACvB;QAED,WAAW;QACX,WAAW;KACZ,CAAC;IAEF,0BAA0B;IAC1B,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;YACvC,OAAO,EAAE,GAAG,QAAQ,EAAE,GAAG,UAAU,EAAE,WAAW,EAAE,CAAC;QACrD,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,uCAAuC,UAAU,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACpF,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,SAAgB,WAAW,CAAC,MAAwB;IAClD,OAAO,IAAA,eAAQ,EAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;AACvD,CAAC;AAED;;GAEG;AACH,SAAgB,UAAU,CAAC,MAAwB;IACjD,OAAO,IAAA,eAAQ,EAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;AACtD,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,MAAwB;IACrD,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,CAAC,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzD,MAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,MAAM,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,qCAAqC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,WAAmB,EAAE,KAAK,GAAG,KAAK;IACpE,MAAM,UAAU,GAAG,IAAA,eAAQ,EAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC;IAEjE,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2DlB,CAAC;IAEA,qFAAqF;IACrF,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QACrC,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;IAChF,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,+BAA+B,UAAU,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC"}
|
package/dist/utils/doctor.js
CHANGED
|
@@ -54,6 +54,7 @@ const path = __importStar(require("path"));
|
|
|
54
54
|
const git = __importStar(require("./git"));
|
|
55
55
|
const cursor_agent_1 = require("./cursor-agent");
|
|
56
56
|
const setup_commands_1 = require("../cli/setup-commands");
|
|
57
|
+
const path_1 = require("./path");
|
|
57
58
|
function addIssue(issues, issue) {
|
|
58
59
|
issues.push(issue);
|
|
59
60
|
}
|
|
@@ -129,7 +130,7 @@ function readLaneJsonFiles(tasksDir) {
|
|
|
129
130
|
.readdirSync(tasksDir)
|
|
130
131
|
.filter(f => f.endsWith('.json'))
|
|
131
132
|
.sort()
|
|
132
|
-
.map(f =>
|
|
133
|
+
.map(f => (0, path_1.safeJoin)(tasksDir, f));
|
|
133
134
|
return files.map(p => {
|
|
134
135
|
const raw = fs.readFileSync(p, 'utf8');
|
|
135
136
|
const json = JSON.parse(raw);
|
|
@@ -385,7 +386,7 @@ function checkDiskSpace(dir) {
|
|
|
385
386
|
const { spawnSync } = require('child_process');
|
|
386
387
|
try {
|
|
387
388
|
// Validate and normalize the directory path to prevent command injection
|
|
388
|
-
const safePath = path.resolve(dir);
|
|
389
|
+
const safePath = path.resolve(dir); // nosemgrep
|
|
389
390
|
// Use spawnSync instead of execSync to avoid shell interpolation vulnerabilities
|
|
390
391
|
// df -B1 returns bytes. We look for the line corresponding to our directory.
|
|
391
392
|
const result = spawnSync('df', ['-B1', safePath], { encoding: 'utf8' });
|
|
@@ -435,13 +436,40 @@ function validateBranchNames(issues, lanes, repoRoot) {
|
|
|
435
436
|
const localBranches = getAllLocalBranches(repoRoot);
|
|
436
437
|
const remoteBranches = getAllRemoteBranches(repoRoot);
|
|
437
438
|
const allExistingBranches = new Set([...localBranches, ...remoteBranches]);
|
|
438
|
-
// Collect branch prefixes from lanes
|
|
439
|
+
// Collect branch prefixes and pipeline branches from lanes
|
|
439
440
|
const branchPrefixes = [];
|
|
441
|
+
const pipelineBranches = [];
|
|
440
442
|
for (const lane of lanes) {
|
|
441
443
|
const branchPrefix = lane.json?.branchPrefix;
|
|
442
444
|
if (branchPrefix) {
|
|
443
445
|
branchPrefixes.push({ laneName: lane.fileName, prefix: branchPrefix });
|
|
444
446
|
}
|
|
447
|
+
const pipelineBranch = lane.json?.pipelineBranch;
|
|
448
|
+
if (pipelineBranch) {
|
|
449
|
+
pipelineBranches.push({ laneName: lane.fileName, branch: pipelineBranch });
|
|
450
|
+
}
|
|
451
|
+
}
|
|
452
|
+
// Check for pipeline branch collisions
|
|
453
|
+
const pipeMap = new Map();
|
|
454
|
+
for (const { laneName, branch } of pipelineBranches) {
|
|
455
|
+
const existing = pipeMap.get(branch) || [];
|
|
456
|
+
existing.push(laneName);
|
|
457
|
+
pipeMap.set(branch, existing);
|
|
458
|
+
}
|
|
459
|
+
for (const [branch, laneNames] of pipeMap) {
|
|
460
|
+
if (laneNames.length > 1) {
|
|
461
|
+
addIssue(issues, {
|
|
462
|
+
id: 'branch.pipeline_collision',
|
|
463
|
+
severity: 'error',
|
|
464
|
+
title: 'Pipeline branch collision',
|
|
465
|
+
message: `Multiple lanes use the same pipelineBranch "${branch}": ${laneNames.join(', ')}`,
|
|
466
|
+
details: 'Each lane should have a unique pipelineBranch to avoid worktree conflicts during parallel execution.',
|
|
467
|
+
fixes: [
|
|
468
|
+
'Update the pipelineBranch in each lane JSON file to be unique',
|
|
469
|
+
'Or remove pipelineBranch to let CursorFlow generate unique ones',
|
|
470
|
+
],
|
|
471
|
+
});
|
|
472
|
+
}
|
|
445
473
|
}
|
|
446
474
|
// Check for branch prefix collisions between lanes
|
|
447
475
|
const prefixMap = new Map();
|
|
@@ -520,7 +548,7 @@ function validateBranchNames(issues, lanes, repoRoot) {
|
|
|
520
548
|
*/
|
|
521
549
|
const DOCTOR_STATUS_FILE = '.cursorflow/doctor-status.json';
|
|
522
550
|
function saveDoctorStatus(repoRoot, report) {
|
|
523
|
-
const statusPath =
|
|
551
|
+
const statusPath = (0, path_1.safeJoin)(repoRoot, DOCTOR_STATUS_FILE);
|
|
524
552
|
const statusDir = path.dirname(statusPath);
|
|
525
553
|
if (!fs.existsSync(statusDir)) {
|
|
526
554
|
fs.mkdirSync(statusDir, { recursive: true });
|
|
@@ -534,7 +562,7 @@ function saveDoctorStatus(repoRoot, report) {
|
|
|
534
562
|
fs.writeFileSync(statusPath, JSON.stringify(status, null, 2), 'utf8');
|
|
535
563
|
}
|
|
536
564
|
function getDoctorStatus(repoRoot) {
|
|
537
|
-
const statusPath =
|
|
565
|
+
const statusPath = (0, path_1.safeJoin)(repoRoot, DOCTOR_STATUS_FILE);
|
|
538
566
|
if (!fs.existsSync(statusPath))
|
|
539
567
|
return null;
|
|
540
568
|
try {
|
|
@@ -722,7 +750,7 @@ function runDoctor(options = {}) {
|
|
|
722
750
|
}
|
|
723
751
|
else {
|
|
724
752
|
// Advanced check: .gitignore check for worktrees
|
|
725
|
-
const gitignorePath =
|
|
753
|
+
const gitignorePath = (0, path_1.safeJoin)(gitCwd, '.gitignore');
|
|
726
754
|
const worktreeDirName = '_cursorflow'; // Default directory name
|
|
727
755
|
if (fs.existsSync(gitignorePath)) {
|
|
728
756
|
const content = fs.readFileSync(gitignorePath, 'utf8');
|
|
@@ -744,7 +772,7 @@ function runDoctor(options = {}) {
|
|
|
744
772
|
if (options.tasksDir) {
|
|
745
773
|
const tasksDirAbs = path.isAbsolute(options.tasksDir)
|
|
746
774
|
? options.tasksDir
|
|
747
|
-
:
|
|
775
|
+
: (0, path_1.safeJoin)(cwd, options.tasksDir);
|
|
748
776
|
context.tasksDir = tasksDirAbs;
|
|
749
777
|
if (!fs.existsSync(tasksDirAbs)) {
|
|
750
778
|
addIssue(issues, {
|
package/dist/utils/doctor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/utils/doctor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/utils/doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,7 +36,7 @@ export declare class StreamingMessageParser {
|
|
|
36
36
|
private emitMessage;
|
|
37
37
|
}
|
|
38
38
|
export interface ParsedMessage {
|
|
39
|
-
type: 'system' | 'user' | 'assistant' | 'tool' | 'tool_result' | 'result';
|
|
39
|
+
type: 'system' | 'user' | 'assistant' | 'tool' | 'tool_result' | 'result' | 'thinking';
|
|
40
40
|
role: string;
|
|
41
41
|
content: string;
|
|
42
42
|
timestamp: number;
|
|
@@ -148,7 +148,7 @@ export declare class EnhancedLogManager {
|
|
|
148
148
|
*/
|
|
149
149
|
writeStdout(data: Buffer | string): void;
|
|
150
150
|
/**
|
|
151
|
-
* Parse streaming JSON data for readable log
|
|
151
|
+
* Parse streaming JSON data for readable log - legacy, integrated into writeStdout
|
|
152
152
|
*/
|
|
153
153
|
private parseStreamingData;
|
|
154
154
|
/**
|
|
@@ -54,6 +54,7 @@ exports.exportLogs = exportLogs;
|
|
|
54
54
|
const fs = __importStar(require("fs"));
|
|
55
55
|
const path = __importStar(require("path"));
|
|
56
56
|
const stream_1 = require("stream");
|
|
57
|
+
const path_1 = require("./path");
|
|
57
58
|
exports.DEFAULT_LOG_CONFIG = {
|
|
58
59
|
enabled: true,
|
|
59
60
|
stripAnsi: true,
|
|
@@ -183,6 +184,23 @@ class StreamingMessageParser {
|
|
|
183
184
|
},
|
|
184
185
|
});
|
|
185
186
|
break;
|
|
187
|
+
case 'thinking':
|
|
188
|
+
// Thinking message (Claude 3.7+ etc.)
|
|
189
|
+
if (json.subtype === 'delta' && json.text) {
|
|
190
|
+
// Check if this is a new message or continuation
|
|
191
|
+
if (this.currentRole !== 'thinking') {
|
|
192
|
+
// Flush previous message if any
|
|
193
|
+
this.flush();
|
|
194
|
+
this.currentRole = 'thinking';
|
|
195
|
+
this.messageStartTime = json.timestamp_ms || Date.now();
|
|
196
|
+
}
|
|
197
|
+
this.currentMessage += json.text;
|
|
198
|
+
}
|
|
199
|
+
else if (json.subtype === 'completed') {
|
|
200
|
+
// Thinking completed - flush immediately
|
|
201
|
+
this.flush();
|
|
202
|
+
}
|
|
203
|
+
break;
|
|
186
204
|
}
|
|
187
205
|
}
|
|
188
206
|
/**
|
|
@@ -353,10 +371,10 @@ class EnhancedLogManager {
|
|
|
353
371
|
// Ensure log directory exists
|
|
354
372
|
fs.mkdirSync(logDir, { recursive: true });
|
|
355
373
|
// Set up log file paths
|
|
356
|
-
this.cleanLogPath =
|
|
357
|
-
this.rawLogPath =
|
|
358
|
-
this.jsonLogPath =
|
|
359
|
-
this.readableLogPath =
|
|
374
|
+
this.cleanLogPath = (0, path_1.safeJoin)(logDir, 'terminal.log');
|
|
375
|
+
this.rawLogPath = (0, path_1.safeJoin)(logDir, 'terminal-raw.log');
|
|
376
|
+
this.jsonLogPath = (0, path_1.safeJoin)(logDir, 'terminal.jsonl');
|
|
377
|
+
this.readableLogPath = (0, path_1.safeJoin)(logDir, 'terminal-readable.log');
|
|
360
378
|
// Initialize log files
|
|
361
379
|
this.initLogFiles();
|
|
362
380
|
}
|
|
@@ -445,6 +463,19 @@ class EnhancedLogManager {
|
|
|
445
463
|
const toolResultLines = msg.metadata?.lines ? ` (${msg.metadata.lines} lines)` : '';
|
|
446
464
|
formatted = `[${ts}] 📄 RESL: ${msg.metadata?.toolName || 'Tool'}${toolResultLines}\n`;
|
|
447
465
|
break;
|
|
466
|
+
case 'thinking':
|
|
467
|
+
// Format thinking block
|
|
468
|
+
const thinkLabel = `[ 🤔 THINKING ] `;
|
|
469
|
+
const thinkWidth = 80;
|
|
470
|
+
const thinkTop = `┌─${thinkLabel}${'─'.repeat(Math.max(0, thinkWidth - thinkLabel.length - 2))}`;
|
|
471
|
+
const thinkBottom = `└─${'─'.repeat(thinkWidth - 2)}`;
|
|
472
|
+
const thinkLines = msg.content.trim().split('\n');
|
|
473
|
+
formatted = `[${ts}] ${thinkTop}\n`;
|
|
474
|
+
for (const line of thinkLines) {
|
|
475
|
+
formatted += `[${ts}] │ ${line}\n`;
|
|
476
|
+
}
|
|
477
|
+
formatted += `[${ts}] ${thinkBottom}\n`;
|
|
478
|
+
break;
|
|
448
479
|
default:
|
|
449
480
|
formatted = `[${ts}] ${msg.content}\n`;
|
|
450
481
|
}
|
|
@@ -521,8 +552,8 @@ class EnhancedLogManager {
|
|
|
521
552
|
const base = path.basename(logPath, ext);
|
|
522
553
|
// Shift existing rotated files
|
|
523
554
|
for (let i = this.config.maxFiles - 1; i >= 1; i--) {
|
|
524
|
-
const oldPath =
|
|
525
|
-
const newPath =
|
|
555
|
+
const oldPath = (0, path_1.safeJoin)(dir, `${base}.${i}${ext}`);
|
|
556
|
+
const newPath = (0, path_1.safeJoin)(dir, `${base}.${i + 1}${ext}`);
|
|
526
557
|
if (fs.existsSync(oldPath)) {
|
|
527
558
|
if (i === this.config.maxFiles - 1) {
|
|
528
559
|
fs.unlinkSync(oldPath); // Delete oldest
|
|
@@ -533,7 +564,7 @@ class EnhancedLogManager {
|
|
|
533
564
|
}
|
|
534
565
|
}
|
|
535
566
|
// Rotate current to .1
|
|
536
|
-
const rotatedPath =
|
|
567
|
+
const rotatedPath = (0, path_1.safeJoin)(dir, `${base}.1${ext}`);
|
|
537
568
|
fs.renameSync(logPath, rotatedPath);
|
|
538
569
|
}
|
|
539
570
|
/**
|
|
@@ -592,18 +623,74 @@ class EnhancedLogManager {
|
|
|
592
623
|
if (this.cleanTransform) {
|
|
593
624
|
this.cleanTransform.write(data);
|
|
594
625
|
}
|
|
595
|
-
//
|
|
596
|
-
this.
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
626
|
+
// Process lines for readable log and JSON entries
|
|
627
|
+
this.lineBuffer += text;
|
|
628
|
+
const lines = this.lineBuffer.split('\n');
|
|
629
|
+
this.lineBuffer = lines.pop() || '';
|
|
630
|
+
for (const line of lines) {
|
|
631
|
+
const cleanLine = stripAnsi(line).trim();
|
|
632
|
+
if (!cleanLine)
|
|
633
|
+
continue;
|
|
634
|
+
// Handle streaming JSON messages (for boxes, etc. in readable log)
|
|
635
|
+
if (cleanLine.startsWith('{')) {
|
|
636
|
+
if (this.streamingParser) {
|
|
637
|
+
this.streamingParser.parseLine(cleanLine);
|
|
638
|
+
}
|
|
639
|
+
// Special handling for terminal.jsonl entries for AI messages
|
|
640
|
+
if (this.config.writeJsonLog) {
|
|
641
|
+
try {
|
|
642
|
+
const json = JSON.parse(cleanLine);
|
|
643
|
+
let displayMsg = cleanLine;
|
|
644
|
+
let metadata = { ...json };
|
|
645
|
+
// Extract cleaner text for significant AI message types
|
|
646
|
+
if ((json.type === 'thinking' || json.type === 'thought') && (json.text || json.thought)) {
|
|
647
|
+
displayMsg = json.text || json.thought;
|
|
648
|
+
// Clean up any double newlines at the end of deltas
|
|
649
|
+
displayMsg = displayMsg.replace(/\n+$/, '\n');
|
|
650
|
+
}
|
|
651
|
+
else if (json.type === 'assistant' && json.message?.content) {
|
|
652
|
+
displayMsg = json.message.content
|
|
653
|
+
.filter((c) => c.type === 'text')
|
|
654
|
+
.map((c) => c.text)
|
|
655
|
+
.join('');
|
|
656
|
+
}
|
|
657
|
+
else if (json.type === 'user' && json.message?.content) {
|
|
658
|
+
displayMsg = json.message.content
|
|
659
|
+
.filter((c) => c.type === 'text')
|
|
660
|
+
.map((c) => c.text)
|
|
661
|
+
.join('');
|
|
662
|
+
}
|
|
663
|
+
else if (json.type === 'tool_call' && json.subtype === 'started') {
|
|
664
|
+
const toolName = Object.keys(json.tool_call)[0] || 'unknown';
|
|
665
|
+
const args = json.tool_call[toolName]?.args || {};
|
|
666
|
+
displayMsg = `🔧 CALL: ${toolName}(${JSON.stringify(args)})`;
|
|
667
|
+
}
|
|
668
|
+
else if (json.type === 'tool_call' && json.subtype === 'completed') {
|
|
669
|
+
const toolName = Object.keys(json.tool_call)[0] || 'unknown';
|
|
670
|
+
displayMsg = `📄 RESL: ${toolName}`;
|
|
671
|
+
}
|
|
672
|
+
else if (json.type === 'result') {
|
|
673
|
+
displayMsg = json.result || 'Task completed';
|
|
674
|
+
}
|
|
675
|
+
this.writeJsonEntry({
|
|
676
|
+
timestamp: new Date().toISOString(),
|
|
677
|
+
level: 'stdout',
|
|
678
|
+
lane: this.session.laneName,
|
|
679
|
+
task: this.session.taskName,
|
|
680
|
+
message: displayMsg.substring(0, 2000), // Larger limit for AI text
|
|
681
|
+
metadata,
|
|
682
|
+
});
|
|
683
|
+
continue; // Already logged this JSON line
|
|
684
|
+
}
|
|
685
|
+
catch {
|
|
686
|
+
// Not valid JSON or error, fall through to regular logging
|
|
687
|
+
}
|
|
688
|
+
}
|
|
689
|
+
}
|
|
690
|
+
// Also include significant info/status lines in readable log (compact)
|
|
691
|
+
if (this.readableLogFd !== null) {
|
|
602
692
|
// Look for log lines: [ISO_DATE] [LEVEL] ...
|
|
603
|
-
if (cleanLine &&
|
|
604
|
-
!cleanLine.startsWith('{') &&
|
|
605
|
-
!this.isNoiseLog(cleanLine) &&
|
|
606
|
-
/\[\d{4}-\d{2}-\d{2}T/.test(cleanLine)) {
|
|
693
|
+
if (!this.isNoiseLog(cleanLine) && /\[\d{4}-\d{2}-\d{2}T/.test(cleanLine)) {
|
|
607
694
|
try {
|
|
608
695
|
// Check if it has a level marker
|
|
609
696
|
if (/\[(INFO|WARN|ERROR|SUCCESS|DEBUG)\]/.test(cleanLine)) {
|
|
@@ -621,40 +708,24 @@ class EnhancedLogManager {
|
|
|
621
708
|
catch { }
|
|
622
709
|
}
|
|
623
710
|
}
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
if (this.config.writeJsonLog) {
|
|
627
|
-
const cleanText = stripAnsi(text).trim();
|
|
628
|
-
if (cleanText && !this.isNoiseLog(cleanText)) {
|
|
711
|
+
// Write regular non-JSON lines to terminal.jsonl
|
|
712
|
+
if (this.config.writeJsonLog && !this.isNoiseLog(cleanLine)) {
|
|
629
713
|
this.writeJsonEntry({
|
|
630
714
|
timestamp: new Date().toISOString(),
|
|
631
715
|
level: 'stdout',
|
|
632
716
|
lane: this.session.laneName,
|
|
633
717
|
task: this.session.taskName,
|
|
634
|
-
message:
|
|
635
|
-
raw: this.config.keepRawLogs ? undefined :
|
|
718
|
+
message: cleanLine.substring(0, 1000),
|
|
719
|
+
raw: this.config.keepRawLogs ? undefined : line.substring(0, 1000),
|
|
636
720
|
});
|
|
637
721
|
}
|
|
638
722
|
}
|
|
639
723
|
}
|
|
640
724
|
/**
|
|
641
|
-
* Parse streaming JSON data for readable log
|
|
725
|
+
* Parse streaming JSON data for readable log - legacy, integrated into writeStdout
|
|
642
726
|
*/
|
|
643
727
|
parseStreamingData(text) {
|
|
644
|
-
if
|
|
645
|
-
return;
|
|
646
|
-
// Buffer incomplete lines
|
|
647
|
-
this.lineBuffer += text;
|
|
648
|
-
const lines = this.lineBuffer.split('\n');
|
|
649
|
-
// Keep the last incomplete line in buffer
|
|
650
|
-
this.lineBuffer = lines.pop() || '';
|
|
651
|
-
// Parse complete lines
|
|
652
|
-
for (const line of lines) {
|
|
653
|
-
const trimmed = line.trim();
|
|
654
|
-
if (trimmed.startsWith('{')) {
|
|
655
|
-
this.streamingParser.parseLine(trimmed);
|
|
656
|
-
}
|
|
657
|
-
}
|
|
728
|
+
// Legacy method, no longer used but kept for internal references if any
|
|
658
729
|
}
|
|
659
730
|
/**
|
|
660
731
|
* Write stderr data
|
|
@@ -778,7 +849,7 @@ class EnhancedLogManager {
|
|
|
778
849
|
return true;
|
|
779
850
|
// Skip common progress/spinner patterns
|
|
780
851
|
const noisePatterns = [
|
|
781
|
-
/^[\s
|
|
852
|
+
/^[\s│├└─┌┐┘┴┬┤]+$/, // Box drawing only (removed duplicate ├)
|
|
782
853
|
/^[.\s]+$/, // Dots only
|
|
783
854
|
/^[=>\s-]+$/, // Progress bar characters
|
|
784
855
|
/^\d+%$/, // Percentage only
|
|
@@ -919,8 +990,8 @@ function readJsonLog(logPath) {
|
|
|
919
990
|
* Export logs to various formats
|
|
920
991
|
*/
|
|
921
992
|
function exportLogs(laneRunDir, format, outputPath) {
|
|
922
|
-
const cleanLogPath =
|
|
923
|
-
const jsonLogPath =
|
|
993
|
+
const cleanLogPath = (0, path_1.safeJoin)(laneRunDir, 'terminal.log');
|
|
994
|
+
const jsonLogPath = (0, path_1.safeJoin)(laneRunDir, 'terminal.jsonl');
|
|
924
995
|
let output = '';
|
|
925
996
|
switch (format) {
|
|
926
997
|
case 'text':
|