@litmers/cursorflow-orchestrator 0.1.18 → 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 +16 -0
- package/README.md +25 -7
- package/dist/cli/clean.js +7 -6
- 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 +7 -6
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/logs.js +50 -42
- package/dist/cli/logs.js.map +1 -1
- package/dist/cli/monitor.js +15 -14
- package/dist/cli/monitor.js.map +1 -1
- package/dist/cli/prepare.js +37 -20
- 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 +48 -91
- package/dist/core/orchestrator.js.map +1 -1
- package/dist/core/runner.js +55 -20
- package/dist/core/runner.js.map +1 -1
- package/dist/utils/config.js +7 -6
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/doctor.js +7 -6
- package/dist/utils/doctor.js.map +1 -1
- package/dist/utils/enhanced-logger.js +14 -11
- 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/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 +1 -0
- package/package.json +1 -1
- package/src/cli/clean.ts +7 -6
- package/src/cli/index.ts +5 -1
- package/src/cli/init.ts +7 -6
- package/src/cli/logs.ts +52 -42
- package/src/cli/monitor.ts +15 -14
- package/src/cli/prepare.ts +39 -20
- 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 +62 -91
- package/src/core/runner.ts +58 -20
- package/src/utils/config.ts +7 -6
- package/src/utils/doctor.ts +7 -6
- package/src/utils/enhanced-logger.ts +14 -11
- 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/state.ts +16 -8
- package/src/utils/template.ts +92 -0
- package/src/utils/types.ts +1 -0
- package/templates/basic.json +21 -0
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,22 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.1.20] - 2025-12-22
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
- **Security**: Resolved potential path traversal vulnerabilities in `Runner` and `Template` utilities by using `safeJoin`.
|
|
12
|
+
- **Logging**: Improved terminal output formatting and log rotation management.
|
|
13
|
+
- **Orchestration**: Refined lane status reporting and error handling.
|
|
14
|
+
|
|
15
|
+
### Added
|
|
16
|
+
- **Log Formatting**: Added `src/utils/log-formatter.ts` for consistent log output across the system.
|
|
17
|
+
|
|
18
|
+
## [0.1.19] - 2025-12-22
|
|
19
|
+
|
|
20
|
+
### Added
|
|
21
|
+
- **CLI Help Improvements**: Added missing `setup` command and updated `clean` command description to include `tasks`.
|
|
22
|
+
- **README Updates**: Synchronized command reference table with CLI help descriptions and added examples for `logs`, `resume`, and `doctor`.
|
|
23
|
+
|
|
8
24
|
## [0.1.16] - 2025-12-22
|
|
9
25
|
|
|
10
26
|
### Fixed
|
package/README.md
CHANGED
|
@@ -70,6 +70,23 @@ CursorFlow provides built-in task templates:
|
|
|
70
70
|
| `--preset merge` | merge → test | Integration lanes (auto-applied with `--depends-on`) |
|
|
71
71
|
| *(none)* | implement | Quick single task |
|
|
72
72
|
|
|
73
|
+
### Using External Templates
|
|
74
|
+
|
|
75
|
+
You can use templates from a local file, a remote URL, or a built-in name:
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
# Using a built-in template name
|
|
79
|
+
cursorflow prepare Feature --template basic
|
|
80
|
+
|
|
81
|
+
# Using a local template file
|
|
82
|
+
cursorflow prepare Custom --template ./my-template.json
|
|
83
|
+
|
|
84
|
+
# Using a remote template URL
|
|
85
|
+
cursorflow prepare Remote --template https://raw.githubusercontent.com/user/repo/main/template.json
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
Templates support `{{featureName}}`, `{{laneNumber}}`, and `{{devPort}}` placeholders.
|
|
89
|
+
|
|
73
90
|
```bash
|
|
74
91
|
# Complex: Creates plan document that subsequent tasks reference
|
|
75
92
|
cursorflow prepare Feature --preset complex --prompt "Build user dashboard"
|
|
@@ -160,13 +177,14 @@ cursorflow doctor --tasks-dir _cursorflow/tasks/my-feature
|
|
|
160
177
|
| Command | Description |
|
|
161
178
|
|---------|-------------|
|
|
162
179
|
| `cursorflow init` | Initialize CursorFlow in project |
|
|
163
|
-
| `cursorflow
|
|
164
|
-
| `cursorflow
|
|
165
|
-
| `cursorflow run` |
|
|
166
|
-
| `cursorflow monitor` | Interactive dashboard |
|
|
167
|
-
| `cursorflow
|
|
168
|
-
| `cursorflow
|
|
169
|
-
| `cursorflow
|
|
180
|
+
| `cursorflow setup` | Install Cursor IDE commands |
|
|
181
|
+
| `cursorflow prepare` | Prepare task directory and JSON files |
|
|
182
|
+
| `cursorflow run` | Run orchestration (DAG-based) |
|
|
183
|
+
| `cursorflow monitor` | Interactive lane dashboard |
|
|
184
|
+
| `cursorflow clean` | Clean branches/worktrees/logs/tasks |
|
|
185
|
+
| `cursorflow resume` | Resume lane(s) - use --all for batch resume |
|
|
186
|
+
| `cursorflow doctor` | Check environment and preflight |
|
|
187
|
+
| `cursorflow signal` | Directly intervene in a running lane |
|
|
170
188
|
| `cursorflow models` | List available AI models |
|
|
171
189
|
| `cursorflow logs` | View, export, and follow logs |
|
|
172
190
|
|
package/dist/cli/clean.js
CHANGED
|
@@ -42,6 +42,7 @@ const path = __importStar(require("path"));
|
|
|
42
42
|
const logger = __importStar(require("../utils/logger"));
|
|
43
43
|
const git = __importStar(require("../utils/git"));
|
|
44
44
|
const config_1 = require("../utils/config");
|
|
45
|
+
const path_1 = require("../utils/path");
|
|
45
46
|
function printHelp() {
|
|
46
47
|
console.log(`
|
|
47
48
|
Usage: cursorflow clean <type> [options]
|
|
@@ -120,7 +121,7 @@ async function clean(args) {
|
|
|
120
121
|
async function cleanWorktrees(config, repoRoot, options) {
|
|
121
122
|
logger.info('\nChecking worktrees...');
|
|
122
123
|
const worktrees = git.listWorktrees(repoRoot);
|
|
123
|
-
const worktreeRoot =
|
|
124
|
+
const worktreeRoot = (0, path_1.safeJoin)(repoRoot, config.worktreeRoot || '_cursorflow/worktrees');
|
|
124
125
|
let toRemove = worktrees.filter(wt => {
|
|
125
126
|
// Skip main worktree
|
|
126
127
|
if (wt.path === repoRoot)
|
|
@@ -232,9 +233,9 @@ async function cleanLogs(config, options) {
|
|
|
232
233
|
const entries = fs.readdirSync(logsDir, { withFileTypes: true });
|
|
233
234
|
let items = entries.map(entry => ({
|
|
234
235
|
name: entry.name,
|
|
235
|
-
path:
|
|
236
|
+
path: (0, path_1.safeJoin)(logsDir, entry.name),
|
|
236
237
|
isDir: entry.isDirectory(),
|
|
237
|
-
mtime: getModTime(
|
|
238
|
+
mtime: getModTime((0, path_1.safeJoin)(logsDir, entry.name))
|
|
238
239
|
}));
|
|
239
240
|
if (items.length <= 1) {
|
|
240
241
|
logger.info(' Only one or no log entries found, nothing to clean.');
|
|
@@ -292,9 +293,9 @@ async function cleanTasks(config, options) {
|
|
|
292
293
|
.filter(entry => entry.name !== 'example')
|
|
293
294
|
.map(entry => ({
|
|
294
295
|
name: entry.name,
|
|
295
|
-
path:
|
|
296
|
+
path: (0, path_1.safeJoin)(tasksDir, entry.name),
|
|
296
297
|
isDir: entry.isDirectory(),
|
|
297
|
-
mtime: getModTime(
|
|
298
|
+
mtime: getModTime((0, path_1.safeJoin)(tasksDir, entry.name))
|
|
298
299
|
}));
|
|
299
300
|
if (items.length <= 1) {
|
|
300
301
|
logger.info(' Only one or no user task entries found, nothing to clean.');
|
|
@@ -330,7 +331,7 @@ async function cleanTasks(config, options) {
|
|
|
330
331
|
for (const entry of entries) {
|
|
331
332
|
if (entry.name === 'example')
|
|
332
333
|
continue;
|
|
333
|
-
const itemPath =
|
|
334
|
+
const itemPath = (0, path_1.safeJoin)(tasksDir, entry.name);
|
|
334
335
|
logger.info(` Removing task: ${entry.name}...`);
|
|
335
336
|
fs.rmSync(itemPath, { recursive: true, force: true });
|
|
336
337
|
}
|
package/dist/cli/clean.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clean.js","sourceRoot":"","sources":["../../src/cli/clean.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"clean.js","sourceRoot":"","sources":["../../src/cli/clean.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/index.js
CHANGED
|
@@ -65,10 +65,11 @@ function printHelp() {
|
|
|
65
65
|
|
|
66
66
|
\x1b[1mCOMMANDS\x1b[0m
|
|
67
67
|
\x1b[33minit\x1b[0m [options] Initialize CursorFlow in project
|
|
68
|
+
\x1b[33msetup\x1b[0m [options] Install Cursor IDE commands
|
|
68
69
|
\x1b[33mprepare\x1b[0m <feature> [opts] Prepare task directory and JSON files
|
|
69
70
|
\x1b[33mrun\x1b[0m <tasks-dir> [options] Run orchestration (DAG-based)
|
|
70
71
|
\x1b[33mmonitor\x1b[0m [run-dir] [options] \x1b[36mInteractive\x1b[0m lane dashboard
|
|
71
|
-
\x1b[33mclean\x1b[0m <type> [options] Clean branches/worktrees/logs
|
|
72
|
+
\x1b[33mclean\x1b[0m <type> [options] Clean branches/worktrees/logs/tasks
|
|
72
73
|
\x1b[33mresume\x1b[0m [lane] [options] Resume lane(s) - use --all for batch resume
|
|
73
74
|
\x1b[33mdoctor\x1b[0m [options] Check environment and preflight
|
|
74
75
|
\x1b[33msignal\x1b[0m <lane> <msg> Directly intervene in a running lane
|
|
@@ -85,6 +86,9 @@ function printHelp() {
|
|
|
85
86
|
$ \x1b[32mcursorflow prepare NewFeature --lanes 3\x1b[0m
|
|
86
87
|
$ \x1b[32mcursorflow run _cursorflow/tasks/MyFeature/\x1b[0m
|
|
87
88
|
$ \x1b[32mcursorflow monitor latest\x1b[0m
|
|
89
|
+
$ \x1b[32mcursorflow logs --all --follow\x1b[0m
|
|
90
|
+
$ \x1b[32mcursorflow resume --all\x1b[0m
|
|
91
|
+
$ \x1b[32mcursorflow doctor\x1b[0m
|
|
88
92
|
$ \x1b[32mcursorflow models\x1b[0m
|
|
89
93
|
|
|
90
94
|
\x1b[1mDOCUMENTATION\x1b[0m
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/init.js
CHANGED
|
@@ -42,6 +42,7 @@ const path = __importStar(require("path"));
|
|
|
42
42
|
const logger = __importStar(require("../utils/logger"));
|
|
43
43
|
const config_1 = require("../utils/config");
|
|
44
44
|
const setup_commands_1 = require("./setup-commands");
|
|
45
|
+
const path_1 = require("../utils/path");
|
|
45
46
|
function parseArgs(args) {
|
|
46
47
|
const options = {
|
|
47
48
|
example: false,
|
|
@@ -103,8 +104,8 @@ Examples:
|
|
|
103
104
|
`);
|
|
104
105
|
}
|
|
105
106
|
function createDirectories(projectRoot, config) {
|
|
106
|
-
const tasksDir =
|
|
107
|
-
const logsDir =
|
|
107
|
+
const tasksDir = (0, path_1.safeJoin)(projectRoot, config.tasksDir);
|
|
108
|
+
const logsDir = (0, path_1.safeJoin)(projectRoot, config.logsDir);
|
|
108
109
|
if (!fs.existsSync(tasksDir)) {
|
|
109
110
|
fs.mkdirSync(tasksDir, { recursive: true });
|
|
110
111
|
logger.success(`Created directory: ${config.tasksDir}`);
|
|
@@ -121,7 +122,7 @@ function createDirectories(projectRoot, config) {
|
|
|
121
122
|
}
|
|
122
123
|
}
|
|
123
124
|
function createExampleTasks(projectRoot, config) {
|
|
124
|
-
const exampleDir =
|
|
125
|
+
const exampleDir = (0, path_1.safeJoin)(projectRoot, config.tasksDir, 'example');
|
|
125
126
|
if (!fs.existsSync(exampleDir)) {
|
|
126
127
|
fs.mkdirSync(exampleDir, { recursive: true });
|
|
127
128
|
}
|
|
@@ -149,11 +150,11 @@ Create a simple hello.txt file with a greeting message.
|
|
|
149
150
|
}
|
|
150
151
|
]
|
|
151
152
|
};
|
|
152
|
-
const taskPath =
|
|
153
|
+
const taskPath = (0, path_1.safeJoin)(exampleDir, '01-hello.json');
|
|
153
154
|
fs.writeFileSync(taskPath, JSON.stringify(exampleTask, null, 2) + '\n', 'utf8');
|
|
154
155
|
logger.success(`Created example task: ${path.relative(projectRoot, taskPath)}`);
|
|
155
156
|
// Create README
|
|
156
|
-
const readmePath =
|
|
157
|
+
const readmePath = (0, path_1.safeJoin)(exampleDir, 'README.md');
|
|
157
158
|
const readme = `# Example Task
|
|
158
159
|
|
|
159
160
|
This is an example CursorFlow task to help you get started.
|
|
@@ -183,7 +184,7 @@ cursorflow run ${config.tasksDir}/example/
|
|
|
183
184
|
* Add _cursorflow to .gitignore
|
|
184
185
|
*/
|
|
185
186
|
function updateGitignore(projectRoot) {
|
|
186
|
-
const gitignorePath =
|
|
187
|
+
const gitignorePath = (0, path_1.safeJoin)(projectRoot, '.gitignore');
|
|
187
188
|
const entry = '_cursorflow/';
|
|
188
189
|
// Try to read existing .gitignore (avoid TOCTOU by reading directly)
|
|
189
190
|
let content;
|
package/dist/cli/init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAyB;AACzB,2CAA6B;AAC7B,wDAA0C;AAC1C,4CAAyF;AACzF,qDAAiD;
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/logs.js
CHANGED
|
@@ -39,7 +39,9 @@ const fs = __importStar(require("fs"));
|
|
|
39
39
|
const path = __importStar(require("path"));
|
|
40
40
|
const logger = __importStar(require("../utils/logger"));
|
|
41
41
|
const config_1 = require("../utils/config");
|
|
42
|
+
const path_1 = require("../utils/path");
|
|
42
43
|
const enhanced_logger_1 = require("../utils/enhanced-logger");
|
|
44
|
+
const log_formatter_1 = require("../utils/log-formatter");
|
|
43
45
|
/**
|
|
44
46
|
* Escape special regex characters to prevent regex injection
|
|
45
47
|
*/
|
|
@@ -120,15 +122,15 @@ function parseArgs(args) {
|
|
|
120
122
|
* Find the latest run directory
|
|
121
123
|
*/
|
|
122
124
|
function findLatestRunDir(logsDir) {
|
|
123
|
-
const runsDir =
|
|
125
|
+
const runsDir = (0, path_1.safeJoin)(logsDir, 'runs');
|
|
124
126
|
if (!fs.existsSync(runsDir))
|
|
125
127
|
return null;
|
|
126
128
|
const runs = fs.readdirSync(runsDir)
|
|
127
129
|
.filter(d => d.startsWith('run-'))
|
|
128
130
|
.map(d => ({
|
|
129
131
|
name: d,
|
|
130
|
-
path:
|
|
131
|
-
mtime: fs.statSync(
|
|
132
|
+
path: (0, path_1.safeJoin)(runsDir, d),
|
|
133
|
+
mtime: fs.statSync((0, path_1.safeJoin)(runsDir, d)).mtime.getTime()
|
|
132
134
|
}))
|
|
133
135
|
.sort((a, b) => b.mtime - a.mtime);
|
|
134
136
|
return runs.length > 0 ? runs[0].path : null;
|
|
@@ -137,20 +139,20 @@ function findLatestRunDir(logsDir) {
|
|
|
137
139
|
* List lanes in a run directory
|
|
138
140
|
*/
|
|
139
141
|
function listLanes(runDir) {
|
|
140
|
-
const lanesDir =
|
|
142
|
+
const lanesDir = (0, path_1.safeJoin)(runDir, 'lanes');
|
|
141
143
|
if (!fs.existsSync(lanesDir))
|
|
142
144
|
return [];
|
|
143
145
|
return fs.readdirSync(lanesDir)
|
|
144
|
-
.filter(d => fs.statSync(
|
|
146
|
+
.filter(d => fs.statSync((0, path_1.safeJoin)(lanesDir, d)).isDirectory());
|
|
145
147
|
}
|
|
146
148
|
/**
|
|
147
149
|
* Read and display text logs
|
|
148
150
|
*/
|
|
149
151
|
function displayTextLogs(laneDir, options) {
|
|
150
152
|
let logFile;
|
|
151
|
-
const readableLog =
|
|
152
|
-
const rawLog =
|
|
153
|
-
const cleanLog =
|
|
153
|
+
const readableLog = (0, path_1.safeJoin)(laneDir, 'terminal-readable.log');
|
|
154
|
+
const rawLog = (0, path_1.safeJoin)(laneDir, 'terminal-raw.log');
|
|
155
|
+
const cleanLog = (0, path_1.safeJoin)(laneDir, 'terminal.log');
|
|
154
156
|
if (options.raw) {
|
|
155
157
|
logFile = rawLog;
|
|
156
158
|
}
|
|
@@ -170,10 +172,10 @@ function displayTextLogs(laneDir, options) {
|
|
|
170
172
|
}
|
|
171
173
|
let content = fs.readFileSync(logFile, 'utf8');
|
|
172
174
|
let lines = content.split('\n');
|
|
173
|
-
// Apply filter (
|
|
175
|
+
// Apply filter (case-insensitive string match to avoid ReDoS)
|
|
174
176
|
if (options.filter) {
|
|
175
|
-
const
|
|
176
|
-
lines = lines.filter(line =>
|
|
177
|
+
const filterLower = options.filter.toLowerCase();
|
|
178
|
+
lines = lines.filter(line => line.toLowerCase().includes(filterLower));
|
|
177
179
|
}
|
|
178
180
|
// Apply tail
|
|
179
181
|
if (options.tail && lines.length > options.tail) {
|
|
@@ -189,7 +191,7 @@ function displayTextLogs(laneDir, options) {
|
|
|
189
191
|
* Read and display JSON logs
|
|
190
192
|
*/
|
|
191
193
|
function displayJsonLogs(laneDir, options) {
|
|
192
|
-
const logFile =
|
|
194
|
+
const logFile = (0, path_1.safeJoin)(laneDir, 'terminal.jsonl');
|
|
193
195
|
if (!fs.existsSync(logFile)) {
|
|
194
196
|
console.log('No JSON log file found.');
|
|
195
197
|
return;
|
|
@@ -199,10 +201,11 @@ function displayJsonLogs(laneDir, options) {
|
|
|
199
201
|
if (options.level) {
|
|
200
202
|
entries = entries.filter(e => e.level === options.level);
|
|
201
203
|
}
|
|
202
|
-
// Apply
|
|
204
|
+
// Apply filter (case-insensitive string match to avoid ReDoS)
|
|
203
205
|
if (options.filter) {
|
|
204
|
-
const
|
|
205
|
-
entries = entries.filter(e =>
|
|
206
|
+
const filterLower = options.filter.toLowerCase();
|
|
207
|
+
entries = entries.filter(e => e.message.toLowerCase().includes(filterLower) ||
|
|
208
|
+
(e.task && e.task.toLowerCase().includes(filterLower)));
|
|
206
209
|
}
|
|
207
210
|
// Apply tail
|
|
208
211
|
if (options.tail && entries.length > options.tail) {
|
|
@@ -216,7 +219,8 @@ function displayJsonLogs(laneDir, options) {
|
|
|
216
219
|
for (const entry of entries) {
|
|
217
220
|
const levelColor = getLevelColor(entry.level);
|
|
218
221
|
const ts = new Date(entry.timestamp).toLocaleTimeString();
|
|
219
|
-
|
|
222
|
+
const formattedMsg = (0, log_formatter_1.formatPotentialJsonMessage)(entry.message);
|
|
223
|
+
console.log(`${levelColor}[${ts}] [${entry.level.toUpperCase().padEnd(6)}]${logger.COLORS.reset} ${formattedMsg}`);
|
|
220
224
|
}
|
|
221
225
|
}
|
|
222
226
|
}
|
|
@@ -264,8 +268,8 @@ function readAllLaneLogs(runDir) {
|
|
|
264
268
|
const lanes = listLanes(runDir);
|
|
265
269
|
const allEntries = [];
|
|
266
270
|
lanes.forEach((laneName, index) => {
|
|
267
|
-
const laneDir =
|
|
268
|
-
const jsonLogPath =
|
|
271
|
+
const laneDir = (0, path_1.safeJoin)(runDir, 'lanes', laneName);
|
|
272
|
+
const jsonLogPath = (0, path_1.safeJoin)(laneDir, 'terminal.jsonl');
|
|
269
273
|
if (fs.existsSync(jsonLogPath)) {
|
|
270
274
|
const entries = (0, enhanced_logger_1.readJsonLog)(jsonLogPath);
|
|
271
275
|
const laneColor = getLaneColor(laneName, index);
|
|
@@ -299,12 +303,12 @@ function displayMergedLogs(runDir, options) {
|
|
|
299
303
|
if (options.level) {
|
|
300
304
|
entries = entries.filter(e => e.level === options.level);
|
|
301
305
|
}
|
|
302
|
-
// Apply
|
|
306
|
+
// Apply filter (case-insensitive string match to avoid ReDoS)
|
|
303
307
|
if (options.filter) {
|
|
304
|
-
const
|
|
305
|
-
entries = entries.filter(e =>
|
|
306
|
-
|
|
307
|
-
|
|
308
|
+
const filterLower = options.filter.toLowerCase();
|
|
309
|
+
entries = entries.filter(e => e.message.toLowerCase().includes(filterLower) ||
|
|
310
|
+
(e.task && e.task.toLowerCase().includes(filterLower)) ||
|
|
311
|
+
e.laneName.toLowerCase().includes(filterLower));
|
|
308
312
|
}
|
|
309
313
|
// Apply tail
|
|
310
314
|
if (options.tail && entries.length > options.tail) {
|
|
@@ -343,7 +347,8 @@ function displayMergedLogs(runDir, options) {
|
|
|
343
347
|
console.log(`${logger.COLORS.gray}[${ts}]${logger.COLORS.reset} ${laneColor}[${lanePad}]${logger.COLORS.reset} ${logger.COLORS.cyan}── Session Ended ──${logger.COLORS.reset}`);
|
|
344
348
|
continue;
|
|
345
349
|
}
|
|
346
|
-
|
|
350
|
+
const formattedMsg = (0, log_formatter_1.formatPotentialJsonMessage)(entry.message);
|
|
351
|
+
console.log(`${logger.COLORS.gray}[${ts}]${logger.COLORS.reset} ${laneColor}[${lanePad}]${logger.COLORS.reset} ${levelColor}[${levelPad}]${logger.COLORS.reset} ${formattedMsg}`);
|
|
347
352
|
}
|
|
348
353
|
console.log(`\n${logger.COLORS.cyan}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${logger.COLORS.reset}`);
|
|
349
354
|
}
|
|
@@ -374,8 +379,8 @@ function followAllLogs(runDir, options) {
|
|
|
374
379
|
const checkInterval = setInterval(() => {
|
|
375
380
|
const newEntries = [];
|
|
376
381
|
for (const lane of lanes) {
|
|
377
|
-
const laneDir =
|
|
378
|
-
const jsonLogPath =
|
|
382
|
+
const laneDir = (0, path_1.safeJoin)(runDir, 'lanes', lane);
|
|
383
|
+
const jsonLogPath = (0, path_1.safeJoin)(laneDir, 'terminal.jsonl');
|
|
379
384
|
try {
|
|
380
385
|
// Use statSync directly to avoid TOCTOU race condition
|
|
381
386
|
const stats = fs.statSync(jsonLogPath);
|
|
@@ -417,10 +422,12 @@ function followAllLogs(runDir, options) {
|
|
|
417
422
|
// Apply level filter
|
|
418
423
|
if (options.level && entry.level !== options.level)
|
|
419
424
|
continue;
|
|
420
|
-
// Apply
|
|
425
|
+
// Apply filter (case-insensitive string match to avoid ReDoS)
|
|
421
426
|
if (options.filter) {
|
|
422
|
-
const
|
|
423
|
-
if (!
|
|
427
|
+
const filterLower = options.filter.toLowerCase();
|
|
428
|
+
if (!entry.message.toLowerCase().includes(filterLower) &&
|
|
429
|
+
!(entry.task && entry.task.toLowerCase().includes(filterLower)) &&
|
|
430
|
+
!entry.laneName.toLowerCase().includes(filterLower)) {
|
|
424
431
|
continue;
|
|
425
432
|
}
|
|
426
433
|
}
|
|
@@ -438,7 +445,8 @@ function followAllLogs(runDir, options) {
|
|
|
438
445
|
}
|
|
439
446
|
continue;
|
|
440
447
|
}
|
|
441
|
-
|
|
448
|
+
const formattedMsg = (0, log_formatter_1.formatPotentialJsonMessage)(entry.message);
|
|
449
|
+
console.log(`${logger.COLORS.gray}[${ts}]${logger.COLORS.reset} ${entry.laneColor}[${lanePad}]${logger.COLORS.reset} ${levelColor}[${levelPad}]${logger.COLORS.reset} ${formattedMsg}`);
|
|
442
450
|
}
|
|
443
451
|
}, 100);
|
|
444
452
|
// Handle Ctrl+C
|
|
@@ -564,9 +572,9 @@ function escapeHtml(text) {
|
|
|
564
572
|
*/
|
|
565
573
|
function followLogs(laneDir, options) {
|
|
566
574
|
let logFile;
|
|
567
|
-
const readableLog =
|
|
568
|
-
const rawLog =
|
|
569
|
-
const cleanLog =
|
|
575
|
+
const readableLog = (0, path_1.safeJoin)(laneDir, 'terminal-readable.log');
|
|
576
|
+
const rawLog = (0, path_1.safeJoin)(laneDir, 'terminal-raw.log');
|
|
577
|
+
const cleanLog = (0, path_1.safeJoin)(laneDir, 'terminal.log');
|
|
570
578
|
if (options.raw) {
|
|
571
579
|
logFile = rawLog;
|
|
572
580
|
}
|
|
@@ -604,11 +612,11 @@ function followLogs(laneDir, options) {
|
|
|
604
612
|
fs.readSync(fd, buffer, 0, buffer.length, lastSize);
|
|
605
613
|
fs.closeSync(fd);
|
|
606
614
|
let content = buffer.toString();
|
|
607
|
-
// Apply filter (
|
|
615
|
+
// Apply filter (case-insensitive string match to avoid ReDoS)
|
|
608
616
|
if (options.filter) {
|
|
609
|
-
const
|
|
617
|
+
const filterLower = options.filter.toLowerCase();
|
|
610
618
|
const lines = content.split('\n');
|
|
611
|
-
content = lines.filter(line =>
|
|
619
|
+
content = lines.filter(line => line.toLowerCase().includes(filterLower)).join('\n');
|
|
612
620
|
}
|
|
613
621
|
// Clean ANSI if needed (unless raw mode)
|
|
614
622
|
if (!options.raw) {
|
|
@@ -644,11 +652,11 @@ function displaySummary(runDir) {
|
|
|
644
652
|
return;
|
|
645
653
|
}
|
|
646
654
|
for (const lane of lanes) {
|
|
647
|
-
const laneDir =
|
|
648
|
-
const cleanLog =
|
|
649
|
-
const rawLog =
|
|
650
|
-
const jsonLog =
|
|
651
|
-
const readableLog =
|
|
655
|
+
const laneDir = (0, path_1.safeJoin)(runDir, 'lanes', lane);
|
|
656
|
+
const cleanLog = (0, path_1.safeJoin)(laneDir, 'terminal.log');
|
|
657
|
+
const rawLog = (0, path_1.safeJoin)(laneDir, 'terminal-raw.log');
|
|
658
|
+
const jsonLog = (0, path_1.safeJoin)(laneDir, 'terminal.jsonl');
|
|
659
|
+
const readableLog = (0, path_1.safeJoin)(laneDir, 'terminal-readable.log');
|
|
652
660
|
console.log(` ${logger.COLORS.green}📁 ${lane}${logger.COLORS.reset}`);
|
|
653
661
|
if (fs.existsSync(cleanLog)) {
|
|
654
662
|
const stats = fs.statSync(cleanLog);
|
|
@@ -736,7 +744,7 @@ async function logs(args) {
|
|
|
736
744
|
return;
|
|
737
745
|
}
|
|
738
746
|
// Find lane directory
|
|
739
|
-
const laneDir =
|
|
747
|
+
const laneDir = (0, path_1.safeJoin)(runDir, 'lanes', options.lane);
|
|
740
748
|
if (!fs.existsSync(laneDir)) {
|
|
741
749
|
const lanes = listLanes(runDir);
|
|
742
750
|
throw new Error(`Lane not found: ${options.lane}\nAvailable lanes: ${lanes.join(', ')}`);
|