@ariso-ai/ivan 1.0.34 → 1.0.35
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/README.md +1 -0
- package/dist/index.js +27 -5
- package/dist/index.js.map +1 -1
- package/dist/learnings/import-learnings-command.js +1 -3
- package/dist/learnings/import-learnings-command.js.map +1 -1
- package/dist/services/collaborative-executor.test.d.ts +2 -0
- package/dist/services/collaborative-executor.test.d.ts.map +1 -0
- package/dist/services/collaborative-executor.test.js +249 -0
- package/dist/services/collaborative-executor.test.js.map +1 -0
- package/dist/services/job-manager.d.ts +1 -1
- package/dist/services/job-manager.d.ts.map +1 -1
- package/dist/services/job-manager.js +40 -25
- package/dist/services/job-manager.js.map +1 -1
- package/dist/services/task-executor.d.ts +14 -1
- package/dist/services/task-executor.d.ts.map +1 -1
- package/dist/services/task-executor.js +176 -179
- package/dist/services/task-executor.js.map +1 -1
- package/dist/types/non-interactive-config.d.ts +6 -0
- package/dist/types/non-interactive-config.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job-manager.js","sourceRoot":"","sources":["../../src/services/job-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"job-manager.js","sourceRoot":"","sources":["../../src/services/job-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,7 @@ export declare class TaskExecutor {
|
|
|
11
11
|
private repoInstructions;
|
|
12
12
|
private baseBranch;
|
|
13
13
|
private executionMode;
|
|
14
|
+
private selfReviewEnabled;
|
|
14
15
|
constructor();
|
|
15
16
|
/**
|
|
16
17
|
* Prepends an architect's unresolved-concern warning to a PR body when expert
|
|
@@ -26,7 +27,19 @@ export declare class TaskExecutor {
|
|
|
26
27
|
private runImplementation;
|
|
27
28
|
private getClaudeExecutor;
|
|
28
29
|
private getOpenAIService;
|
|
29
|
-
|
|
30
|
+
/**
|
|
31
|
+
* Commits staged changes, retrying up to three times by handing pre-commit
|
|
32
|
+
* hook failures back to Claude to fix. Returns the (possibly updated) Claude
|
|
33
|
+
* session ID so callers can keep threading conversational context.
|
|
34
|
+
*/
|
|
35
|
+
private commitWithFixLoop;
|
|
36
|
+
/**
|
|
37
|
+
* Runs a Claude self-review pass over the branch's changes before a PR is
|
|
38
|
+
* opened. Any fixes the review produces are committed through the same
|
|
39
|
+
* pre-commit fix loop as the original implementation.
|
|
40
|
+
*/
|
|
41
|
+
private runSelfReview;
|
|
42
|
+
executeWorkflow(rewritePrompt?: boolean, baseBranch?: string, mode?: ExecutionMode, selfReview?: boolean, prefilledTasks?: string[]): Promise<void>;
|
|
30
43
|
private checkAndCreateAddressTasks;
|
|
31
44
|
private executeTask;
|
|
32
45
|
private executeTasksWithSinglePR;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-executor.d.ts","sourceRoot":"","sources":["../../src/services/task-executor.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAa/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"task-executor.d.ts","sourceRoot":"","sources":["../../src/services/task-executor.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAa/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAOxE,qBAAa,YAAY;IACvB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,cAAc,CAAgC;IACtD,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,iBAAiB,CAAqB;IAC9C,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,gBAAgB,CAAqB;IAC7C,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,iBAAiB,CAAU;;IAanC;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAmBvB;;;;OAIG;YACW,iBAAiB;IA8B/B,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,gBAAgB;IAOxB;;;;OAIG;YACW,iBAAiB;IAgI/B;;;;OAIG;YACW,aAAa;IA2DrB,eAAe,CACnB,aAAa,GAAE,OAAe,EAC9B,UAAU,CAAC,EAAE,MAAM,EACnB,IAAI,GAAE,aAAwB,EAC9B,UAAU,GAAE,OAAe,EAC3B,cAAc,CAAC,EAAE,MAAM,EAAE,GACxB,OAAO,CAAC,IAAI,CAAC;YAyRF,0BAA0B;YA6D1B,WAAW;YAuMX,wBAAwB;IAuNhC,6BAA6B,CACjC,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,IAAI,CAAC;CAsJjB"}
|
|
@@ -8,6 +8,7 @@ import { AddressTaskExecutor } from './address-task-executor.js';
|
|
|
8
8
|
import { createGitManager, createPRService, createRepositoryManager } from './service-factory.js';
|
|
9
9
|
import { PromptRewriter } from './prompt-rewriter.js';
|
|
10
10
|
import { CollaborativeExecutor } from './collaborative-executor.js';
|
|
11
|
+
const SELF_REVIEW_PROMPT = "ok review the changes in the current branch carefully. make sure it follows repo convention, reusable component/utils/etc. don't over-engineer, dont reinvent.";
|
|
11
12
|
export class TaskExecutor {
|
|
12
13
|
jobManager;
|
|
13
14
|
gitManager = null;
|
|
@@ -19,6 +20,7 @@ export class TaskExecutor {
|
|
|
19
20
|
repoInstructions;
|
|
20
21
|
baseBranch;
|
|
21
22
|
executionMode;
|
|
23
|
+
selfReviewEnabled;
|
|
22
24
|
constructor() {
|
|
23
25
|
this.jobManager = new JobManager();
|
|
24
26
|
this.repositoryManager = createRepositoryManager();
|
|
@@ -27,6 +29,7 @@ export class TaskExecutor {
|
|
|
27
29
|
this.repoInstructions = undefined;
|
|
28
30
|
this.baseBranch = undefined;
|
|
29
31
|
this.executionMode = 'simple';
|
|
32
|
+
this.selfReviewEnabled = false;
|
|
30
33
|
}
|
|
31
34
|
/**
|
|
32
35
|
* Prepends an architect's unresolved-concern warning to a PR body when expert
|
|
@@ -83,7 +86,133 @@ export class TaskExecutor {
|
|
|
83
86
|
}
|
|
84
87
|
return this.openaiService;
|
|
85
88
|
}
|
|
86
|
-
|
|
89
|
+
/**
|
|
90
|
+
* Commits staged changes, retrying up to three times by handing pre-commit
|
|
91
|
+
* hook failures back to Claude to fix. Returns the (possibly updated) Claude
|
|
92
|
+
* session ID so callers can keep threading conversational context.
|
|
93
|
+
*/
|
|
94
|
+
async commitWithFixLoop(commitMessage, executionPath, taskUuid, quiet, sessionId) {
|
|
95
|
+
let spinner = quiet ? null : ora('Committing changes...').start();
|
|
96
|
+
let commitAttempts = 0;
|
|
97
|
+
const maxCommitAttempts = 3;
|
|
98
|
+
let commitSucceeded = false;
|
|
99
|
+
while (commitAttempts < maxCommitAttempts && !commitSucceeded) {
|
|
100
|
+
try {
|
|
101
|
+
if (!this.gitManager) {
|
|
102
|
+
throw new Error('GitManager not initialized');
|
|
103
|
+
}
|
|
104
|
+
await this.gitManager.commitChanges(commitMessage);
|
|
105
|
+
// Only show success message if spinner is running (first attempt)
|
|
106
|
+
if (spinner) {
|
|
107
|
+
if (commitAttempts === 0) {
|
|
108
|
+
spinner.succeed('Changes committed');
|
|
109
|
+
}
|
|
110
|
+
else if (spinner.isSpinning) {
|
|
111
|
+
spinner.succeed('Commit successful after retry');
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
commitSucceeded = true;
|
|
115
|
+
}
|
|
116
|
+
catch (commitError) {
|
|
117
|
+
commitAttempts++;
|
|
118
|
+
const errorMessage = commitError instanceof Error
|
|
119
|
+
? commitError.message
|
|
120
|
+
: String(commitError);
|
|
121
|
+
// Check if this is a pre-commit hook failure
|
|
122
|
+
if (errorMessage.includes('pre-commit') &&
|
|
123
|
+
commitAttempts < maxCommitAttempts) {
|
|
124
|
+
if (spinner) {
|
|
125
|
+
spinner.fail(`Pre-commit hook failed (attempt ${commitAttempts}/${maxCommitAttempts})`);
|
|
126
|
+
console.log(chalk.yellow('🔧 Running Claude to fix pre-commit errors...'));
|
|
127
|
+
}
|
|
128
|
+
// Extract the error details from the commit error
|
|
129
|
+
let errorDetails = errorMessage;
|
|
130
|
+
// Condense error details if they're too large (over 10,000 characters)
|
|
131
|
+
const MAX_ERROR_LENGTH = 10000;
|
|
132
|
+
if (errorDetails.length > MAX_ERROR_LENGTH) {
|
|
133
|
+
if (!quiet) {
|
|
134
|
+
console.log(chalk.yellow(`📊 Build output is large (${errorDetails.length} chars), condensing with AI...`));
|
|
135
|
+
}
|
|
136
|
+
try {
|
|
137
|
+
errorDetails = await this.getOpenAIService().condenseBuildOutput(errorDetails, MAX_ERROR_LENGTH);
|
|
138
|
+
}
|
|
139
|
+
catch (condenseError) {
|
|
140
|
+
// If condensation fails, just use truncation
|
|
141
|
+
console.warn(chalk.yellow('Failed to condense output, using truncation instead'), condenseError);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
// Prepare prompt for Claude to fix the errors
|
|
145
|
+
const fixPrompt = `Fix the following pre-commit hook errors:\n\n${errorDetails}\n\nPlease fix all TypeScript errors, linting issues, and any other problems preventing the commit.`;
|
|
146
|
+
if (!quiet)
|
|
147
|
+
spinner = ora('Running Claude to fix pre-commit errors...').start();
|
|
148
|
+
try {
|
|
149
|
+
// Run Claude to fix the errors (pass session ID to maintain context)
|
|
150
|
+
const fixResult = await this.getClaudeExecutor().executeTask(fixPrompt, executionPath, sessionId);
|
|
151
|
+
// Update session ID
|
|
152
|
+
sessionId = fixResult.sessionId;
|
|
153
|
+
if (spinner)
|
|
154
|
+
spinner.succeed('Claude attempted to fix the errors');
|
|
155
|
+
// Update the execution log with the fix attempt
|
|
156
|
+
const previousLog = await this.jobManager.getTaskExecutionLog(taskUuid);
|
|
157
|
+
await this.jobManager.updateTaskExecutionLog(taskUuid, `${previousLog}\n\n--- Pre-commit Fix Attempt ${commitAttempts} ---\n${fixResult.log}`);
|
|
158
|
+
// Try to commit again on the next iteration
|
|
159
|
+
if (!quiet)
|
|
160
|
+
spinner = ora('Retrying commit...').start();
|
|
161
|
+
}
|
|
162
|
+
catch (fixError) {
|
|
163
|
+
if (spinner)
|
|
164
|
+
spinner.fail('Failed to run Claude to fix errors');
|
|
165
|
+
if (!quiet)
|
|
166
|
+
console.error(chalk.red('Claude fix attempt failed:'), fixError);
|
|
167
|
+
throw commitError; // Re-throw the original error
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
else {
|
|
171
|
+
// Not a pre-commit error or max attempts reached
|
|
172
|
+
throw commitError;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
if (!commitSucceeded) {
|
|
177
|
+
throw new Error(`Failed to commit after ${maxCommitAttempts} attempts due to pre-commit hook failures`);
|
|
178
|
+
}
|
|
179
|
+
return sessionId;
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Runs a Claude self-review pass over the branch's changes before a PR is
|
|
183
|
+
* opened. Any fixes the review produces are committed through the same
|
|
184
|
+
* pre-commit fix loop as the original implementation.
|
|
185
|
+
*/
|
|
186
|
+
async runSelfReview(executionPath, taskUuid, quiet, sessionId) {
|
|
187
|
+
let spinner = quiet
|
|
188
|
+
? null
|
|
189
|
+
: ora('Running self-review with Claude Code...').start();
|
|
190
|
+
const reviewResult = await this.getClaudeExecutor().executeTask(SELF_REVIEW_PROMPT, executionPath, sessionId);
|
|
191
|
+
sessionId = reviewResult.sessionId;
|
|
192
|
+
if (spinner)
|
|
193
|
+
spinner.succeed('Self-review completed');
|
|
194
|
+
const previousLog = await this.jobManager.getTaskExecutionLog(taskUuid);
|
|
195
|
+
await this.jobManager.updateTaskExecutionLog(taskUuid, `${previousLog}\n\n--- Self-Review ---\n${reviewResult.log}`);
|
|
196
|
+
if (!this.gitManager) {
|
|
197
|
+
throw new Error('GitManager not initialized');
|
|
198
|
+
}
|
|
199
|
+
const changedFiles = this.gitManager.getChangedFiles();
|
|
200
|
+
if (changedFiles.length === 0) {
|
|
201
|
+
if (!quiet)
|
|
202
|
+
console.log(chalk.green('✨ Self-review made no additional changes'));
|
|
203
|
+
return sessionId;
|
|
204
|
+
}
|
|
205
|
+
if (!quiet)
|
|
206
|
+
console.log(chalk.blue(`🔧 Self-review made changes to ${changedFiles.length} file(s)`));
|
|
207
|
+
const diff = this.gitManager.getDiff();
|
|
208
|
+
if (!quiet)
|
|
209
|
+
spinner = ora('Generating commit message...').start();
|
|
210
|
+
const commitMessage = await this.getOpenAIService().generateCommitMessage(diff, changedFiles);
|
|
211
|
+
if (spinner)
|
|
212
|
+
spinner.succeed(`Commit message generated: ${commitMessage}`);
|
|
213
|
+
return this.commitWithFixLoop(commitMessage, executionPath, taskUuid, quiet, sessionId);
|
|
214
|
+
}
|
|
215
|
+
async executeWorkflow(rewritePrompt = false, baseBranch, mode = 'simple', selfReview = false, prefilledTasks) {
|
|
87
216
|
try {
|
|
88
217
|
this.baseBranch = baseBranch?.trim() || undefined;
|
|
89
218
|
this.executionMode = mode;
|
|
@@ -155,7 +284,7 @@ export class TaskExecutor {
|
|
|
155
284
|
else {
|
|
156
285
|
console.log(chalk.green('✅ Repository-specific instructions loaded'));
|
|
157
286
|
}
|
|
158
|
-
const { tasks, prStrategy } = await this.jobManager.promptForTasks(this.workingDir, repository.id);
|
|
287
|
+
const { tasks, prStrategy } = await this.jobManager.promptForTasks(this.workingDir, repository.id, prefilledTasks);
|
|
159
288
|
console.log('');
|
|
160
289
|
// Check if these are address tasks
|
|
161
290
|
const addressTasks = tasks.filter((t) => t.type === 'address');
|
|
@@ -170,15 +299,23 @@ export class TaskExecutor {
|
|
|
170
299
|
// Ask about PR comment monitoring upfront
|
|
171
300
|
let shouldWaitForComments = false;
|
|
172
301
|
const inquirer = (await import('inquirer')).default;
|
|
173
|
-
const { waitForComments } = await inquirer.prompt([
|
|
302
|
+
const { waitForComments, selfReview: promptedSelfReview } = await inquirer.prompt([
|
|
174
303
|
{
|
|
175
304
|
type: 'confirm',
|
|
176
305
|
name: 'waitForComments',
|
|
177
306
|
message: 'After completing tasks, would you like to wait 30 minutes for PR reviews and automatically address any comments?',
|
|
178
307
|
default: false
|
|
308
|
+
},
|
|
309
|
+
{
|
|
310
|
+
type: 'confirm',
|
|
311
|
+
name: 'selfReview',
|
|
312
|
+
message: 'Would you like Claude to self-review its changes before opening each PR?',
|
|
313
|
+
default: false,
|
|
314
|
+
when: !selfReview
|
|
179
315
|
}
|
|
180
316
|
]);
|
|
181
317
|
shouldWaitForComments = waitForComments;
|
|
318
|
+
this.selfReviewEnabled = selfReview || promptedSelfReview;
|
|
182
319
|
// Optionally rewrite prompts before execution
|
|
183
320
|
if (rewritePrompt) {
|
|
184
321
|
for (const task of buildTasks) {
|
|
@@ -365,106 +502,40 @@ export class TaskExecutor {
|
|
|
365
502
|
if (!this.gitManager) {
|
|
366
503
|
throw new Error('GitManager not initialized');
|
|
367
504
|
}
|
|
505
|
+
// Uncommitted working-tree changes still waiting to be committed.
|
|
368
506
|
const changedFiles = this.gitManager.getChangedFiles();
|
|
369
|
-
|
|
507
|
+
// Total diff vs. the base branch: covers changes Claude already
|
|
508
|
+
// committed itself during execution (e.g. mid-task or via self-review),
|
|
509
|
+
// which leave a clean working tree but still need to be pushed/PR'd.
|
|
510
|
+
const changedFilesFromBase = changedFiles.length === 0
|
|
511
|
+
? this.gitManager.getChangedFiles(targetBranch)
|
|
512
|
+
: changedFiles;
|
|
513
|
+
if (changedFilesFromBase.length === 0) {
|
|
370
514
|
if (!quiet)
|
|
371
515
|
console.log(chalk.yellow('⚠️ No changes detected, skipping commit and PR creation'));
|
|
372
516
|
await this.jobManager.updateTaskStatus(task.uuid, 'completed');
|
|
373
517
|
return;
|
|
374
518
|
}
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
if (!quiet)
|
|
380
|
-
spinner = ora('Generating commit message...').start();
|
|
381
|
-
const commitMessage = await this.getOpenAIService().generateCommitMessage(diff, changedFiles);
|
|
382
|
-
if (spinner)
|
|
383
|
-
spinner.succeed(`Commit message generated: ${commitMessage}`);
|
|
384
|
-
if (!quiet)
|
|
385
|
-
spinner = ora('Committing changes...').start();
|
|
386
|
-
if (!this.gitManager) {
|
|
387
|
-
throw new Error('GitManager not initialized');
|
|
519
|
+
let sessionId = result.sessionId;
|
|
520
|
+
if (changedFiles.length === 0) {
|
|
521
|
+
if (!quiet)
|
|
522
|
+
console.log(chalk.blue('ℹ️ Changes were already committed during task execution'));
|
|
388
523
|
}
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
let commitSucceeded = false;
|
|
393
|
-
while (commitAttempts < maxCommitAttempts && !commitSucceeded) {
|
|
394
|
-
try {
|
|
395
|
-
await this.gitManager.commitChanges(commitMessage);
|
|
396
|
-
// Only show success message if spinner is running (first attempt)
|
|
397
|
-
if (spinner) {
|
|
398
|
-
if (commitAttempts === 0) {
|
|
399
|
-
spinner.succeed('Changes committed');
|
|
400
|
-
}
|
|
401
|
-
else if (spinner.isSpinning) {
|
|
402
|
-
spinner.succeed('Commit successful after retry');
|
|
403
|
-
}
|
|
404
|
-
}
|
|
405
|
-
commitSucceeded = true;
|
|
406
|
-
}
|
|
407
|
-
catch (commitError) {
|
|
408
|
-
commitAttempts++;
|
|
409
|
-
const errorMessage = commitError instanceof Error
|
|
410
|
-
? commitError.message
|
|
411
|
-
: String(commitError);
|
|
412
|
-
// Check if this is a pre-commit hook failure
|
|
413
|
-
if (errorMessage.includes('pre-commit') &&
|
|
414
|
-
commitAttempts < maxCommitAttempts) {
|
|
415
|
-
if (spinner) {
|
|
416
|
-
spinner.fail(`Pre-commit hook failed (attempt ${commitAttempts}/${maxCommitAttempts})`);
|
|
417
|
-
console.log(chalk.yellow('🔧 Running Claude to fix pre-commit errors...'));
|
|
418
|
-
}
|
|
419
|
-
// Extract the error details from the commit error
|
|
420
|
-
let errorDetails = errorMessage;
|
|
421
|
-
// Condense error details if they're too large (over 10,000 characters)
|
|
422
|
-
const MAX_ERROR_LENGTH = 10000;
|
|
423
|
-
if (errorDetails.length > MAX_ERROR_LENGTH) {
|
|
424
|
-
if (!quiet) {
|
|
425
|
-
console.log(chalk.yellow(`📊 Build output is large (${errorDetails.length} chars), condensing with AI...`));
|
|
426
|
-
}
|
|
427
|
-
try {
|
|
428
|
-
errorDetails =
|
|
429
|
-
await this.getOpenAIService().condenseBuildOutput(errorDetails, MAX_ERROR_LENGTH);
|
|
430
|
-
}
|
|
431
|
-
catch (condenseError) {
|
|
432
|
-
// If condensation fails, just use truncation
|
|
433
|
-
console.warn(chalk.yellow('Failed to condense output, using truncation instead'), condenseError);
|
|
434
|
-
}
|
|
435
|
-
}
|
|
436
|
-
// Prepare prompt for Claude to fix the errors
|
|
437
|
-
const fixPrompt = `Fix the following pre-commit hook errors:\n\n${errorDetails}\n\nPlease fix all TypeScript errors, linting issues, and any other problems preventing the commit.`;
|
|
438
|
-
if (!quiet)
|
|
439
|
-
spinner = ora('Running Claude to fix pre-commit errors...').start();
|
|
440
|
-
try {
|
|
441
|
-
// Run Claude to fix the errors
|
|
442
|
-
const fixResult = await this.getClaudeExecutor().executeTask(fixPrompt, worktreePath || this.workingDir);
|
|
443
|
-
if (spinner)
|
|
444
|
-
spinner.succeed('Claude attempted to fix the errors');
|
|
445
|
-
// Update the execution log with the fix attempt
|
|
446
|
-
const previousLog = await this.jobManager.getTaskExecutionLog(task.uuid);
|
|
447
|
-
await this.jobManager.updateTaskExecutionLog(task.uuid, `${previousLog}\n\n--- Pre-commit Fix Attempt ${commitAttempts} ---\n${fixResult.log}`);
|
|
448
|
-
// Try to commit again on the next iteration
|
|
449
|
-
if (!quiet)
|
|
450
|
-
spinner = ora('Retrying commit...').start();
|
|
451
|
-
}
|
|
452
|
-
catch (fixError) {
|
|
453
|
-
if (spinner)
|
|
454
|
-
spinner.fail('Failed to run Claude to fix errors');
|
|
455
|
-
if (!quiet)
|
|
456
|
-
console.error(chalk.red('Claude fix attempt failed:'), fixError);
|
|
457
|
-
throw commitError; // Re-throw the original error
|
|
458
|
-
}
|
|
459
|
-
}
|
|
460
|
-
else {
|
|
461
|
-
// Not a pre-commit error or max attempts reached
|
|
462
|
-
throw commitError;
|
|
463
|
-
}
|
|
524
|
+
else {
|
|
525
|
+
if (!this.gitManager) {
|
|
526
|
+
throw new Error('GitManager not initialized');
|
|
464
527
|
}
|
|
528
|
+
const diff = this.gitManager.getDiff();
|
|
529
|
+
if (!quiet)
|
|
530
|
+
spinner = ora('Generating commit message...').start();
|
|
531
|
+
const commitMessage = await this.getOpenAIService().generateCommitMessage(diff, changedFiles);
|
|
532
|
+
if (spinner)
|
|
533
|
+
spinner.succeed(`Commit message generated: ${commitMessage}`);
|
|
534
|
+
sessionId = await this.commitWithFixLoop(commitMessage, executionPath, task.uuid, quiet, result.sessionId);
|
|
465
535
|
}
|
|
466
|
-
|
|
467
|
-
|
|
536
|
+
// Optionally self-review the branch before opening the PR
|
|
537
|
+
if (this.selfReviewEnabled) {
|
|
538
|
+
await this.runSelfReview(executionPath, task.uuid, quiet, sessionId);
|
|
468
539
|
}
|
|
469
540
|
if (!quiet)
|
|
470
541
|
spinner = ora('Pushing branch...').start();
|
|
@@ -474,9 +545,13 @@ export class TaskExecutor {
|
|
|
474
545
|
await this.gitManager.pushBranch(branchName);
|
|
475
546
|
if (spinner)
|
|
476
547
|
spinner.succeed('Branch pushed to origin');
|
|
548
|
+
// Recompute the diff/changed files against the base branch so the PR
|
|
549
|
+
// description reflects any commits self-review made after the initial commit.
|
|
550
|
+
const finalDiff = this.gitManager.getDiff(`origin/${targetBranch}`, 'HEAD');
|
|
551
|
+
const finalChangedFiles = this.gitManager.getChangedFiles(`origin/${targetBranch}`);
|
|
477
552
|
if (!quiet)
|
|
478
553
|
spinner = ora('Generating PR description...').start();
|
|
479
|
-
const { title, body } = await this.getOpenAIService().generatePullRequestDescription(task.description,
|
|
554
|
+
const { title, body } = await this.getOpenAIService().generatePullRequestDescription(task.description, finalDiff, finalChangedFiles);
|
|
480
555
|
if (spinner)
|
|
481
556
|
spinner.succeed('PR description generated');
|
|
482
557
|
if (!quiet)
|
|
@@ -609,90 +684,7 @@ export class TaskExecutor {
|
|
|
609
684
|
const commitMessage = await this.getOpenAIService().generateCommitMessage(diff, changedFiles);
|
|
610
685
|
if (spinner)
|
|
611
686
|
spinner.succeed(`Commit message generated: ${commitMessage}`);
|
|
612
|
-
|
|
613
|
-
spinner = ora('Committing changes...').start();
|
|
614
|
-
// Try to commit, handling pre-commit hook failures
|
|
615
|
-
let commitAttempts = 0;
|
|
616
|
-
const maxCommitAttempts = 3;
|
|
617
|
-
let commitSucceeded = false;
|
|
618
|
-
while (commitAttempts < maxCommitAttempts && !commitSucceeded) {
|
|
619
|
-
try {
|
|
620
|
-
await this.gitManager.commitChanges(commitMessage);
|
|
621
|
-
// Only show success message if spinner is running (first attempt)
|
|
622
|
-
if (spinner) {
|
|
623
|
-
if (commitAttempts === 0) {
|
|
624
|
-
spinner.succeed('Changes committed');
|
|
625
|
-
}
|
|
626
|
-
else if (spinner.isSpinning) {
|
|
627
|
-
spinner.succeed('Commit successful after retry');
|
|
628
|
-
}
|
|
629
|
-
}
|
|
630
|
-
commitSucceeded = true;
|
|
631
|
-
}
|
|
632
|
-
catch (commitError) {
|
|
633
|
-
commitAttempts++;
|
|
634
|
-
const errorMessage = commitError instanceof Error
|
|
635
|
-
? commitError.message
|
|
636
|
-
: String(commitError);
|
|
637
|
-
// Check if this is a pre-commit hook failure
|
|
638
|
-
if (errorMessage.includes('pre-commit') &&
|
|
639
|
-
commitAttempts < maxCommitAttempts) {
|
|
640
|
-
if (spinner) {
|
|
641
|
-
spinner.fail(`Pre-commit hook failed (attempt ${commitAttempts}/${maxCommitAttempts})`);
|
|
642
|
-
console.log(chalk.yellow('🔧 Running Claude to fix pre-commit errors...'));
|
|
643
|
-
}
|
|
644
|
-
// Extract the error details from the commit error
|
|
645
|
-
let errorDetails = errorMessage;
|
|
646
|
-
// Condense error details if they're too large (over 10,000 characters)
|
|
647
|
-
const MAX_ERROR_LENGTH = 10000;
|
|
648
|
-
if (errorDetails.length > MAX_ERROR_LENGTH) {
|
|
649
|
-
if (!quiet) {
|
|
650
|
-
console.log(chalk.yellow(`📊 Build output is large (${errorDetails.length} chars), condensing with AI...`));
|
|
651
|
-
}
|
|
652
|
-
try {
|
|
653
|
-
errorDetails =
|
|
654
|
-
await this.getOpenAIService().condenseBuildOutput(errorDetails, MAX_ERROR_LENGTH);
|
|
655
|
-
}
|
|
656
|
-
catch (condenseError) {
|
|
657
|
-
// If condensation fails, just use truncation
|
|
658
|
-
console.warn(chalk.yellow('Failed to condense output, using truncation instead'), condenseError);
|
|
659
|
-
}
|
|
660
|
-
}
|
|
661
|
-
// Prepare prompt for Claude to fix the errors
|
|
662
|
-
const fixPrompt = `Fix the following pre-commit hook errors:\n\n${errorDetails}\n\nPlease fix all TypeScript errors, linting issues, and any other problems preventing the commit.`;
|
|
663
|
-
if (!quiet)
|
|
664
|
-
spinner = ora('Running Claude to fix pre-commit errors...').start();
|
|
665
|
-
try {
|
|
666
|
-
// Run Claude to fix the errors (pass session ID to maintain context)
|
|
667
|
-
const fixResult = await this.getClaudeExecutor().executeTask(fixPrompt, executionPath, sessionId);
|
|
668
|
-
// Update session ID
|
|
669
|
-
sessionId = fixResult.sessionId;
|
|
670
|
-
if (spinner)
|
|
671
|
-
spinner.succeed('Claude attempted to fix the errors');
|
|
672
|
-
// Update the execution log with the fix attempt
|
|
673
|
-
const previousLog = await this.jobManager.getTaskExecutionLog(task.uuid);
|
|
674
|
-
await this.jobManager.updateTaskExecutionLog(task.uuid, `${previousLog}\n\n--- Pre-commit Fix Attempt ${commitAttempts} ---\n${fixResult.log}`);
|
|
675
|
-
// Try to commit again on the next iteration
|
|
676
|
-
if (!quiet)
|
|
677
|
-
spinner = ora('Retrying commit...').start();
|
|
678
|
-
}
|
|
679
|
-
catch (fixError) {
|
|
680
|
-
if (spinner)
|
|
681
|
-
spinner.fail('Failed to run Claude to fix errors');
|
|
682
|
-
if (!quiet)
|
|
683
|
-
console.error(chalk.red('Claude fix attempt failed:'), fixError);
|
|
684
|
-
throw commitError; // Re-throw the original error
|
|
685
|
-
}
|
|
686
|
-
}
|
|
687
|
-
else {
|
|
688
|
-
// Not a pre-commit error or max attempts reached
|
|
689
|
-
throw commitError;
|
|
690
|
-
}
|
|
691
|
-
}
|
|
692
|
-
}
|
|
693
|
-
if (!commitSucceeded) {
|
|
694
|
-
throw new Error(`Failed to commit after ${maxCommitAttempts} attempts due to pre-commit hook failures`);
|
|
695
|
-
}
|
|
687
|
+
sessionId = await this.commitWithFixLoop(commitMessage, executionPath, task.uuid, quiet, sessionId);
|
|
696
688
|
}
|
|
697
689
|
else {
|
|
698
690
|
if (!quiet)
|
|
@@ -702,6 +694,10 @@ export class TaskExecutor {
|
|
|
702
694
|
if (!quiet)
|
|
703
695
|
console.log(chalk.green(`✅ Task ${i + 1}/${tasks.length} completed`));
|
|
704
696
|
}
|
|
697
|
+
// Optionally self-review the combined branch before opening the PR
|
|
698
|
+
if (this.selfReviewEnabled) {
|
|
699
|
+
sessionId = await this.runSelfReview(worktreePath || this.workingDir, tasks[tasks.length - 1].uuid, quiet, sessionId);
|
|
700
|
+
}
|
|
705
701
|
// After all tasks are complete, create a single PR
|
|
706
702
|
if (!quiet)
|
|
707
703
|
spinner = ora('Pushing branch...').start();
|
|
@@ -760,6 +756,7 @@ export class TaskExecutor {
|
|
|
760
756
|
try {
|
|
761
757
|
this.baseBranch = config.baseBranch?.trim() || undefined;
|
|
762
758
|
this.executionMode = config.mode || 'simple';
|
|
759
|
+
this.selfReviewEnabled = config.selfReview || false;
|
|
763
760
|
// Quiet mode: suppress all intermediate output
|
|
764
761
|
const executor = this.getClaudeExecutor();
|
|
765
762
|
executor.quietMode = true;
|