@litmers/cursorflow-orchestrator 0.1.12 → 0.1.14

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.
Files changed (71) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/README.md +83 -2
  3. package/commands/cursorflow-clean.md +20 -6
  4. package/commands/cursorflow-prepare.md +1 -1
  5. package/commands/cursorflow-resume.md +127 -6
  6. package/commands/cursorflow-run.md +2 -2
  7. package/commands/cursorflow-signal.md +11 -4
  8. package/dist/cli/clean.js +164 -12
  9. package/dist/cli/clean.js.map +1 -1
  10. package/dist/cli/index.d.ts +1 -0
  11. package/dist/cli/index.js +6 -1
  12. package/dist/cli/index.js.map +1 -1
  13. package/dist/cli/logs.d.ts +8 -0
  14. package/dist/cli/logs.js +746 -0
  15. package/dist/cli/logs.js.map +1 -0
  16. package/dist/cli/monitor.js +113 -30
  17. package/dist/cli/monitor.js.map +1 -1
  18. package/dist/cli/prepare.js +1 -1
  19. package/dist/cli/resume.js +367 -18
  20. package/dist/cli/resume.js.map +1 -1
  21. package/dist/cli/run.js +2 -0
  22. package/dist/cli/run.js.map +1 -1
  23. package/dist/cli/signal.js +34 -20
  24. package/dist/cli/signal.js.map +1 -1
  25. package/dist/core/orchestrator.d.ts +11 -1
  26. package/dist/core/orchestrator.js +257 -35
  27. package/dist/core/orchestrator.js.map +1 -1
  28. package/dist/core/reviewer.js +20 -0
  29. package/dist/core/reviewer.js.map +1 -1
  30. package/dist/core/runner.js +113 -13
  31. package/dist/core/runner.js.map +1 -1
  32. package/dist/utils/config.js +34 -0
  33. package/dist/utils/config.js.map +1 -1
  34. package/dist/utils/doctor.js +9 -2
  35. package/dist/utils/doctor.js.map +1 -1
  36. package/dist/utils/enhanced-logger.d.ts +209 -0
  37. package/dist/utils/enhanced-logger.js +963 -0
  38. package/dist/utils/enhanced-logger.js.map +1 -0
  39. package/dist/utils/events.d.ts +59 -0
  40. package/dist/utils/events.js +37 -0
  41. package/dist/utils/events.js.map +1 -0
  42. package/dist/utils/git.d.ts +5 -0
  43. package/dist/utils/git.js +25 -0
  44. package/dist/utils/git.js.map +1 -1
  45. package/dist/utils/types.d.ts +122 -1
  46. package/dist/utils/webhook.d.ts +5 -0
  47. package/dist/utils/webhook.js +109 -0
  48. package/dist/utils/webhook.js.map +1 -0
  49. package/examples/README.md +1 -1
  50. package/package.json +1 -1
  51. package/scripts/simple-logging-test.sh +97 -0
  52. package/scripts/test-real-logging.sh +289 -0
  53. package/scripts/test-streaming-multi-task.sh +247 -0
  54. package/src/cli/clean.ts +170 -13
  55. package/src/cli/index.ts +4 -1
  56. package/src/cli/logs.ts +848 -0
  57. package/src/cli/monitor.ts +123 -30
  58. package/src/cli/prepare.ts +1 -1
  59. package/src/cli/resume.ts +463 -22
  60. package/src/cli/run.ts +2 -0
  61. package/src/cli/signal.ts +43 -27
  62. package/src/core/orchestrator.ts +303 -37
  63. package/src/core/reviewer.ts +22 -0
  64. package/src/core/runner.ts +128 -12
  65. package/src/utils/config.ts +36 -0
  66. package/src/utils/doctor.ts +12 -2
  67. package/src/utils/enhanced-logger.ts +1097 -0
  68. package/src/utils/events.ts +117 -0
  69. package/src/utils/git.ts +25 -0
  70. package/src/utils/types.ts +150 -1
  71. package/src/utils/webhook.ts +85 -0
@@ -4,23 +4,30 @@
4
4
  * Adapted from admin-domains-orchestrator.js
5
5
  */
6
6
  import { ChildProcess } from 'child_process';
7
+ import { WebhookConfig, EnhancedLogConfig } from '../utils/types';
8
+ import { EnhancedLogManager } from '../utils/enhanced-logger';
7
9
  export interface LaneInfo {
8
10
  name: string;
9
11
  path: string;
10
12
  dependsOn: string[];
13
+ startIndex?: number;
11
14
  }
12
15
  export interface SpawnLaneResult {
13
16
  child: ChildProcess;
14
17
  logPath: string;
18
+ logManager?: EnhancedLogManager;
15
19
  }
16
20
  /**
17
21
  * Spawn a lane process
18
22
  */
19
- export declare function spawnLane({ tasksFile, laneRunDir, executor }: {
23
+ export declare function spawnLane({ laneName, tasksFile, laneRunDir, executor, startIndex, pipelineBranch, enhancedLogConfig, }: {
20
24
  laneName: string;
21
25
  tasksFile: string;
22
26
  laneRunDir: string;
23
27
  executor: string;
28
+ startIndex?: number;
29
+ pipelineBranch?: string;
30
+ enhancedLogConfig?: Partial<EnhancedLogConfig>;
24
31
  }): SpawnLaneResult;
25
32
  /**
26
33
  * Wait for child process to exit
@@ -42,6 +49,9 @@ export declare function orchestrate(tasksDir: string, options?: {
42
49
  executor?: string;
43
50
  pollInterval?: number;
44
51
  maxConcurrentLanes?: number;
52
+ webhooks?: WebhookConfig[];
53
+ autoResolveDependencies?: boolean;
54
+ enhancedLogging?: Partial<EnhancedLogConfig>;
45
55
  }): Promise<{
46
56
  lanes: LaneInfo[];
47
57
  exitCodes: Record<string, number>;
@@ -48,13 +48,16 @@ const path = __importStar(require("path"));
48
48
  const child_process_1 = require("child_process");
49
49
  const logger = __importStar(require("../utils/logger"));
50
50
  const state_1 = require("../utils/state");
51
+ const events_1 = require("../utils/events");
52
+ const webhook_1 = require("../utils/webhook");
53
+ const git = __importStar(require("../utils/git"));
54
+ const child_process_2 = require("child_process");
55
+ const enhanced_logger_1 = require("../utils/enhanced-logger");
51
56
  /**
52
57
  * Spawn a lane process
53
58
  */
54
- function spawnLane({ tasksFile, laneRunDir, executor }) {
59
+ function spawnLane({ laneName, tasksFile, laneRunDir, executor, startIndex = 0, pipelineBranch, enhancedLogConfig, }) {
55
60
  fs.mkdirSync(laneRunDir, { recursive: true });
56
- const logPath = path.join(laneRunDir, 'terminal.log');
57
- const logFd = fs.openSync(logPath, 'a');
58
61
  // Use extension-less resolve to handle both .ts (dev) and .js (dist)
59
62
  const runnerPath = require.resolve('./runner');
60
63
  const args = [
@@ -62,19 +65,66 @@ function spawnLane({ tasksFile, laneRunDir, executor }) {
62
65
  tasksFile,
63
66
  '--run-dir', laneRunDir,
64
67
  '--executor', executor,
68
+ '--start-index', startIndex.toString(),
65
69
  ];
66
- const child = (0, child_process_1.spawn)('node', args, {
67
- stdio: ['ignore', logFd, logFd],
68
- env: process.env,
69
- detached: false,
70
- });
71
- try {
72
- fs.closeSync(logFd);
70
+ if (pipelineBranch) {
71
+ args.push('--pipeline-branch', pipelineBranch);
72
+ }
73
+ // Create enhanced log manager if enabled
74
+ const logConfig = { ...enhanced_logger_1.DEFAULT_LOG_CONFIG, ...enhancedLogConfig };
75
+ let logManager;
76
+ let logPath;
77
+ let child;
78
+ // Build environment for child process
79
+ const childEnv = {
80
+ ...process.env,
81
+ };
82
+ if (logConfig.enabled) {
83
+ logManager = (0, enhanced_logger_1.createLogManager)(laneRunDir, laneName, logConfig);
84
+ logPath = logManager.getLogPaths().clean;
85
+ // Spawn with pipe for enhanced logging
86
+ child = (0, child_process_1.spawn)('node', args, {
87
+ stdio: ['ignore', 'pipe', 'pipe'],
88
+ env: childEnv,
89
+ detached: false,
90
+ });
91
+ // Pipe stdout and stderr through enhanced logger
92
+ if (child.stdout) {
93
+ child.stdout.on('data', (data) => {
94
+ logManager.writeStdout(data);
95
+ // Also write to process stdout for real-time visibility
96
+ process.stdout.write(data);
97
+ });
98
+ }
99
+ if (child.stderr) {
100
+ child.stderr.on('data', (data) => {
101
+ logManager.writeStderr(data);
102
+ // Also write to process stderr for real-time visibility
103
+ process.stderr.write(data);
104
+ });
105
+ }
106
+ // Close log manager when process exits
107
+ child.on('exit', () => {
108
+ logManager?.close();
109
+ });
73
110
  }
74
- catch {
75
- // Ignore
111
+ else {
112
+ // Fallback to simple file logging
113
+ logPath = path.join(laneRunDir, 'terminal.log');
114
+ const logFd = fs.openSync(logPath, 'a');
115
+ child = (0, child_process_1.spawn)('node', args, {
116
+ stdio: ['ignore', logFd, logFd],
117
+ env: childEnv,
118
+ detached: false,
119
+ });
120
+ try {
121
+ fs.closeSync(logFd);
122
+ }
123
+ catch {
124
+ // Ignore
125
+ }
76
126
  }
77
- return { child, logPath };
127
+ return { child, logPath, logManager };
78
128
  }
79
129
  /**
80
130
  * Wait for child process to exit
@@ -144,6 +194,91 @@ function printLaneStatus(lanes, laneRunDirs) {
144
194
  console.log(`- ${r.lane}: ${r.status} (${r.task})`);
145
195
  }
146
196
  }
197
+ /**
198
+ * Resolve dependencies for all blocked lanes and sync with all active lanes
199
+ */
200
+ async function resolveAllDependencies(blockedLanes, allLanes, laneRunDirs, pipelineBranch, runRoot) {
201
+ // 1. Collect all unique changes and commands from blocked lanes
202
+ const allChanges = [];
203
+ const allCommands = [];
204
+ for (const [, plan] of blockedLanes) {
205
+ if (plan.changes)
206
+ allChanges.push(...plan.changes);
207
+ if (plan.commands)
208
+ allCommands.push(...plan.commands);
209
+ }
210
+ const uniqueChanges = Array.from(new Set(allChanges));
211
+ const uniqueCommands = Array.from(new Set(allCommands));
212
+ if (uniqueCommands.length === 0)
213
+ return;
214
+ // 2. Setup a temporary worktree for resolution if needed, or use the first available one
215
+ const firstLaneName = Array.from(blockedLanes.keys())[0];
216
+ const statePath = path.join(laneRunDirs[firstLaneName], 'state.json');
217
+ const state = (0, state_1.loadState)(statePath);
218
+ const worktreeDir = state?.worktreeDir || path.join(runRoot, 'resolution-worktree');
219
+ if (!fs.existsSync(worktreeDir)) {
220
+ logger.info(`Creating resolution worktree at ${worktreeDir}`);
221
+ git.createWorktree(worktreeDir, pipelineBranch, { baseBranch: 'main' });
222
+ }
223
+ // 3. Resolve on pipeline branch
224
+ logger.info(`Resolving dependencies on ${pipelineBranch}`);
225
+ git.runGit(['checkout', pipelineBranch], { cwd: worktreeDir });
226
+ for (const cmd of uniqueCommands) {
227
+ logger.info(`Running: ${cmd}`);
228
+ try {
229
+ (0, child_process_2.execSync)(cmd, { cwd: worktreeDir, stdio: 'inherit' });
230
+ }
231
+ catch (e) {
232
+ throw new Error(`Command failed: ${cmd}. ${e.message}`);
233
+ }
234
+ }
235
+ try {
236
+ git.runGit(['add', '.'], { cwd: worktreeDir });
237
+ git.runGit(['commit', '-m', `chore: auto-resolve dependencies\n\n${uniqueChanges.join('\n')}`], { cwd: worktreeDir });
238
+ // Log changed files
239
+ const stats = git.getLastOperationStats(worktreeDir);
240
+ if (stats) {
241
+ logger.info('Changed files:\n' + stats);
242
+ }
243
+ git.push(pipelineBranch, { cwd: worktreeDir });
244
+ }
245
+ catch (e) { /* ignore if nothing to commit */ }
246
+ // 4. Sync ALL active lanes (blocked + pending + running)
247
+ // Since we only call this when running.size === 0, "active" means not completed/failed
248
+ for (const lane of allLanes) {
249
+ const laneDir = laneRunDirs[lane.name];
250
+ if (!laneDir)
251
+ continue;
252
+ const laneState = (0, state_1.loadState)(path.join(laneDir, 'state.json'));
253
+ if (!laneState || laneState.status === 'completed' || laneState.status === 'failed')
254
+ continue;
255
+ // Merge pipelineBranch into the lane's current task branch
256
+ const currentIdx = laneState.currentTaskIndex;
257
+ const taskConfig = JSON.parse(fs.readFileSync(lane.path, 'utf8'));
258
+ const task = taskConfig.tasks[currentIdx];
259
+ if (task) {
260
+ const taskBranch = `${pipelineBranch}--${String(currentIdx + 1).padStart(2, '0')}-${task.name}`;
261
+ logger.info(`Syncing lane ${lane.name} branch ${taskBranch}`);
262
+ try {
263
+ // If task branch doesn't exist yet, it will be created from pipelineBranch when the lane starts
264
+ if (git.branchExists(taskBranch, { cwd: worktreeDir })) {
265
+ git.runGit(['checkout', taskBranch], { cwd: worktreeDir });
266
+ git.runGit(['merge', pipelineBranch, '--no-edit'], { cwd: worktreeDir });
267
+ // Log changed files
268
+ const stats = git.getLastOperationStats(worktreeDir);
269
+ if (stats) {
270
+ logger.info(`Sync results for ${lane.name}:\n` + stats);
271
+ }
272
+ git.push(taskBranch, { cwd: worktreeDir });
273
+ }
274
+ }
275
+ catch (e) {
276
+ logger.warn(`Failed to sync branch ${taskBranch}: ${e.message}`);
277
+ }
278
+ }
279
+ }
280
+ git.runGit(['checkout', pipelineBranch], { cwd: worktreeDir });
281
+ }
147
282
  /**
148
283
  * Run orchestration with dependency management
149
284
  */
@@ -152,8 +287,31 @@ async function orchestrate(tasksDir, options = {}) {
152
287
  if (lanes.length === 0) {
153
288
  throw new Error(`No lane task files found in ${tasksDir}`);
154
289
  }
155
- const runRoot = options.runDir || `_cursorflow/logs/runs/run-${Date.now()}`;
290
+ const runId = `run-${Date.now()}`;
291
+ const runRoot = options.runDir || `_cursorflow/logs/runs/${runId}`;
156
292
  fs.mkdirSync(runRoot, { recursive: true });
293
+ const pipelineBranch = `cursorflow/run-${Date.now().toString(36)}`;
294
+ // Initialize event system
295
+ events_1.events.setRunId(runId);
296
+ if (options.webhooks) {
297
+ (0, webhook_1.registerWebhooks)(options.webhooks);
298
+ }
299
+ events_1.events.emit('orchestration.started', {
300
+ runId,
301
+ tasksDir,
302
+ laneCount: lanes.length,
303
+ runRoot,
304
+ });
305
+ const maxConcurrent = options.maxConcurrentLanes || 10;
306
+ const running = new Map();
307
+ const exitCodes = {};
308
+ const completedLanes = new Set();
309
+ const failedLanes = new Set();
310
+ const blockedLanes = new Map();
311
+ // Track start index for each lane (initially 0)
312
+ for (const lane of lanes) {
313
+ lane.startIndex = 0;
314
+ }
157
315
  const laneRunDirs = {};
158
316
  for (const lane of lanes) {
159
317
  laneRunDirs[lane.name] = path.join(runRoot, 'lanes', lane.name);
@@ -163,31 +321,30 @@ async function orchestrate(tasksDir, options = {}) {
163
321
  logger.info(`Tasks directory: ${tasksDir}`);
164
322
  logger.info(`Run directory: ${runRoot}`);
165
323
  logger.info(`Lanes: ${lanes.length}`);
166
- const maxConcurrent = options.maxConcurrentLanes || 10;
167
- const running = new Map();
168
- const exitCodes = {};
169
- const completedLanes = new Set();
170
- const failedLanes = new Set();
324
+ const autoResolve = options.autoResolveDependencies !== false;
171
325
  // Monitor lanes
172
326
  const monitorInterval = setInterval(() => {
173
327
  printLaneStatus(lanes, laneRunDirs);
174
328
  }, options.pollInterval || 60000);
175
- while (completedLanes.size + failedLanes.size < lanes.length) {
329
+ while (completedLanes.size + failedLanes.size + blockedLanes.size < lanes.length || (blockedLanes.size > 0 && running.size === 0)) {
176
330
  // 1. Identify lanes ready to start
177
331
  const readyToStart = lanes.filter(lane => {
178
- // Not already running or completed
179
- if (running.has(lane.name) || completedLanes.has(lane.name) || failedLanes.has(lane.name)) {
332
+ // Not already running or completed or failed or blocked
333
+ if (running.has(lane.name) || completedLanes.has(lane.name) || failedLanes.has(lane.name) || blockedLanes.has(lane.name)) {
180
334
  return false;
181
335
  }
182
336
  // Check dependencies
183
337
  for (const dep of lane.dependsOn) {
184
338
  if (failedLanes.has(dep)) {
185
- // If a dependency failed, this lane fails too
186
- logger.error(`Lane ${lane.name} failed because dependency ${dep} failed`);
339
+ logger.error(`Lane ${lane.name} will not start because dependency ${dep} failed`);
187
340
  failedLanes.add(lane.name);
188
341
  exitCodes[lane.name] = 1;
189
342
  return false;
190
343
  }
344
+ if (blockedLanes.has(dep)) {
345
+ // If a dependency is blocked, wait
346
+ return false;
347
+ }
191
348
  if (!completedLanes.has(dep)) {
192
349
  return false;
193
350
  }
@@ -198,18 +355,25 @@ async function orchestrate(tasksDir, options = {}) {
198
355
  for (const lane of readyToStart) {
199
356
  if (running.size >= maxConcurrent)
200
357
  break;
201
- logger.info(`Lane started: ${lane.name}`);
358
+ logger.info(`Lane started: ${lane.name}${lane.startIndex ? ` (resuming from ${lane.startIndex})` : ''}`);
202
359
  const spawnResult = spawnLane({
203
360
  laneName: lane.name,
204
361
  tasksFile: lane.path,
205
362
  laneRunDir: laneRunDirs[lane.name],
206
363
  executor: options.executor || 'cursor-agent',
364
+ startIndex: lane.startIndex,
365
+ pipelineBranch,
366
+ enhancedLogConfig: options.enhancedLogging,
207
367
  });
208
368
  running.set(lane.name, spawnResult);
369
+ events_1.events.emit('lane.started', {
370
+ laneName: lane.name,
371
+ pid: spawnResult.child.pid,
372
+ logPath: spawnResult.logPath,
373
+ });
209
374
  }
210
375
  // 3. Wait for any running lane to finish
211
376
  if (running.size > 0) {
212
- // We need to wait for at least one to finish
213
377
  const promises = Array.from(running.entries()).map(async ([name, { child }]) => {
214
378
  const code = await waitChild(child);
215
379
  return { name, code };
@@ -217,25 +381,75 @@ async function orchestrate(tasksDir, options = {}) {
217
381
  const finished = await Promise.race(promises);
218
382
  running.delete(finished.name);
219
383
  exitCodes[finished.name] = finished.code;
220
- if (finished.code === 0 || finished.code === 2) {
384
+ if (finished.code === 0) {
221
385
  completedLanes.add(finished.name);
386
+ events_1.events.emit('lane.completed', {
387
+ laneName: finished.name,
388
+ exitCode: finished.code,
389
+ });
390
+ }
391
+ else if (finished.code === 2) {
392
+ // Blocked by dependency
393
+ const statePath = path.join(laneRunDirs[finished.name], 'state.json');
394
+ const state = (0, state_1.loadState)(statePath);
395
+ if (state && state.dependencyRequest) {
396
+ blockedLanes.set(finished.name, state.dependencyRequest);
397
+ const lane = lanes.find(l => l.name === finished.name);
398
+ if (lane) {
399
+ lane.startIndex = Math.max(0, state.currentTaskIndex - 1); // Task was blocked, retry it
400
+ }
401
+ events_1.events.emit('lane.blocked', {
402
+ laneName: finished.name,
403
+ dependencyRequest: state.dependencyRequest,
404
+ });
405
+ logger.warn(`Lane ${finished.name} is blocked on dependency change request`);
406
+ }
407
+ else {
408
+ failedLanes.add(finished.name);
409
+ logger.error(`Lane ${finished.name} exited with code 2 but no dependency request found`);
410
+ }
222
411
  }
223
412
  else {
224
413
  failedLanes.add(finished.name);
414
+ events_1.events.emit('lane.failed', {
415
+ laneName: finished.name,
416
+ exitCode: finished.code,
417
+ error: 'Process exited with non-zero code',
418
+ });
225
419
  }
226
420
  printLaneStatus(lanes, laneRunDirs);
227
421
  }
228
422
  else {
229
- // Nothing running and nothing ready (but not all finished)
230
- // This could happen if there's a circular dependency or some logic error
231
- if (readyToStart.length === 0 && completedLanes.size + failedLanes.size < lanes.length) {
232
- const remaining = lanes.filter(l => !completedLanes.has(l.name) && !failedLanes.has(l.name));
423
+ // Nothing running. Are we blocked?
424
+ if (blockedLanes.size > 0 && autoResolve) {
425
+ logger.section('🛠 Auto-Resolving Dependencies');
426
+ try {
427
+ await resolveAllDependencies(blockedLanes, lanes, laneRunDirs, pipelineBranch, runRoot);
428
+ // Clear blocked status
429
+ blockedLanes.clear();
430
+ logger.success('Dependencies resolved and synced across all active lanes. Resuming...');
431
+ }
432
+ catch (error) {
433
+ logger.error(`Auto-resolution failed: ${error.message}`);
434
+ // Move blocked to failed
435
+ for (const name of blockedLanes.keys()) {
436
+ failedLanes.add(name);
437
+ }
438
+ blockedLanes.clear();
439
+ }
440
+ }
441
+ else if (readyToStart.length === 0 && completedLanes.size + failedLanes.size + blockedLanes.size < lanes.length) {
442
+ const remaining = lanes.filter(l => !completedLanes.has(l.name) && !failedLanes.has(l.name) && !blockedLanes.has(l.name));
233
443
  logger.error(`Deadlock detected! Remaining lanes cannot start: ${remaining.map(l => l.name).join(', ')}`);
234
444
  for (const l of remaining) {
235
445
  failedLanes.add(l.name);
236
446
  exitCodes[l.name] = 1;
237
447
  }
238
448
  }
449
+ else {
450
+ // All finished
451
+ break;
452
+ }
239
453
  }
240
454
  }
241
455
  clearInterval(monitorInterval);
@@ -246,16 +460,24 @@ async function orchestrate(tasksDir, options = {}) {
246
460
  logger.error(`Lanes failed: ${failed.map(([l, c]) => `${l}(${c})`).join(', ')}`);
247
461
  process.exit(1);
248
462
  }
249
- // Check for blocked lanes
250
- const blocked = Object.entries(exitCodes)
251
- .filter(([, code]) => code === 2)
252
- .map(([lane]) => lane);
463
+ // Check for blocked lanes (if autoResolve was false)
464
+ const blocked = Array.from(blockedLanes.keys());
253
465
  if (blocked.length > 0) {
254
466
  logger.warn(`Lanes blocked on dependency: ${blocked.join(', ')}`);
255
467
  logger.info('Handle dependency changes manually and resume lanes');
468
+ events_1.events.emit('orchestration.failed', {
469
+ error: 'Some lanes blocked on dependency change requests',
470
+ blockedLanes: blocked,
471
+ });
256
472
  process.exit(2);
257
473
  }
258
474
  logger.success('All lanes completed successfully!');
475
+ events_1.events.emit('orchestration.completed', {
476
+ runId,
477
+ laneCount: lanes.length,
478
+ completedCount: completedLanes.size,
479
+ failedCount: failedLanes.size,
480
+ });
259
481
  return { lanes, exitCodes, runRoot };
260
482
  }
261
483
  //# sourceMappingURL=orchestrator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/core/orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/core/orchestrator.ts"],"names":[],"mappings":"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"}
@@ -46,6 +46,7 @@ exports.runReviewLoop = runReviewLoop;
46
46
  const logger = __importStar(require("../utils/logger"));
47
47
  const state_1 = require("../utils/state");
48
48
  const path = __importStar(require("path"));
49
+ const events_1 = require("../utils/events");
49
50
  /**
50
51
  * Build review prompt
51
52
  */
@@ -178,6 +179,10 @@ async function reviewTask({ taskResult, worktreeDir, runDir, config, cursorAgent
178
179
  acceptanceCriteria: config.acceptanceCriteria || [],
179
180
  });
180
181
  logger.info(`Reviewing: ${taskResult.taskName}`);
182
+ events_1.events.emit('review.started', {
183
+ taskName: taskResult.taskName,
184
+ taskBranch: taskResult.taskBranch,
185
+ });
181
186
  const reviewChatId = cursorAgentCreateChat();
182
187
  const reviewResult = cursorAgentSend({
183
188
  workspaceDir: worktreeDir,
@@ -193,6 +198,12 @@ async function reviewTask({ taskResult, worktreeDir, runDir, config, cursorAgent
193
198
  model: config.reviewModel,
194
199
  }));
195
200
  logger.info(`Review result: ${review.status} (${review.issues?.length || 0} issues)`);
201
+ events_1.events.emit('review.completed', {
202
+ taskName: taskResult.taskName,
203
+ status: review.status,
204
+ issueCount: review.issues?.length || 0,
205
+ summary: review.summary,
206
+ });
196
207
  return review;
197
208
  }
198
209
  /**
@@ -213,11 +224,20 @@ async function runReviewLoop({ taskResult, worktreeDir, runDir, config, workChat
213
224
  });
214
225
  if (currentReview.status === 'approved') {
215
226
  logger.success(`Review passed: ${taskResult.taskName} (iteration ${iteration + 1})`);
227
+ events_1.events.emit('review.approved', {
228
+ taskName: taskResult.taskName,
229
+ iterations: iteration + 1,
230
+ });
216
231
  return { approved: true, review: currentReview, iterations: iteration + 1 };
217
232
  }
218
233
  iteration++;
219
234
  if (iteration >= maxIterations) {
220
235
  logger.warn(`Max review iterations (${maxIterations}) reached: ${taskResult.taskName}`);
236
+ events_1.events.emit('review.rejected', {
237
+ taskName: taskResult.taskName,
238
+ reason: 'Max iterations reached',
239
+ iterations: iteration,
240
+ });
221
241
  break;
222
242
  }
223
243
  // Send feedback
@@ -1 +1 @@
1
- {"version":3,"file":"reviewer.js","sourceRoot":"","sources":["../../src/core/reviewer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reviewer.js","sourceRoot":"","sources":["../../src/core/reviewer.ts"],"names":[],"mappings":"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"}