whitesmith 0.0.2 → 0.0.4
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 +286 -88
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +90 -2
- package/dist/cli.js.map +1 -1
- package/dist/comment.d.ts.map +1 -1
- package/dist/comment.js +18 -11
- package/dist/comment.js.map +1 -1
- package/dist/git.d.ts +5 -3
- package/dist/git.d.ts.map +1 -1
- package/dist/git.js +20 -29
- package/dist/git.js.map +1 -1
- package/dist/harnesses/pi.d.ts.map +1 -1
- package/dist/harnesses/pi.js +22 -6
- package/dist/harnesses/pi.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/orchestrator.d.ts +31 -3
- package/dist/orchestrator.d.ts.map +1 -1
- package/dist/orchestrator.js +214 -10
- package/dist/orchestrator.js.map +1 -1
- package/dist/prompts.d.ts +52 -0
- package/dist/prompts.d.ts.map +1 -1
- package/dist/prompts.js +197 -0
- package/dist/prompts.js.map +1 -1
- package/dist/providers/github-ci.d.ts +40 -0
- package/dist/providers/github-ci.d.ts.map +1 -1
- package/dist/providers/github-ci.js +463 -213
- package/dist/providers/github-ci.js.map +1 -1
- package/dist/providers/index.d.ts +1 -1
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/review.d.ts +48 -0
- package/dist/review.d.ts.map +1 -0
- package/dist/review.js +221 -0
- package/dist/review.js.map +1 -0
- package/dist/types.d.ts +4 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/cli.ts +116 -3
- package/src/comment.ts +20 -14
- package/src/git.ts +23 -30
- package/src/harnesses/pi.ts +27 -6
- package/src/index.ts +9 -1
- package/src/orchestrator.ts +253 -14
- package/src/prompts.ts +239 -0
- package/src/providers/github-ci.ts +513 -217
- package/src/providers/index.ts +1 -1
- package/src/review.ts +290 -0
- package/src/types.ts +4 -0
package/dist/orchestrator.js
CHANGED
|
@@ -3,6 +3,7 @@ import { TaskManager } from './task-manager.js';
|
|
|
3
3
|
import { GitManager } from './git.js';
|
|
4
4
|
import { buildInvestigatePrompt, buildImplementPrompt } from './prompts.js';
|
|
5
5
|
import { isAutoWorkEnabled } from './auto-work.js';
|
|
6
|
+
import { performReview } from './review.js';
|
|
6
7
|
/**
|
|
7
8
|
* Main orchestrator for whitesmith.
|
|
8
9
|
*
|
|
@@ -38,6 +39,9 @@ export class Orchestrator {
|
|
|
38
39
|
console.log(`Agent command: ${this.config.agentCmd}`);
|
|
39
40
|
console.log(`Provider: ${this.config.provider}`);
|
|
40
41
|
console.log(`Model: ${this.config.model}`);
|
|
42
|
+
if (this.config.issueNumber !== undefined) {
|
|
43
|
+
console.log(`Target issue: #${this.config.issueNumber}`);
|
|
44
|
+
}
|
|
41
45
|
console.log('');
|
|
42
46
|
// Skip agent validation and label creation in dry-run mode
|
|
43
47
|
if (!this.config.dryRun) {
|
|
@@ -48,6 +52,11 @@ export class Orchestrator {
|
|
|
48
52
|
// Ensure labels exist
|
|
49
53
|
await this.issues.ensureLabels(Object.values(LABELS));
|
|
50
54
|
}
|
|
55
|
+
// Delegate to single-issue mode if --issue is set
|
|
56
|
+
if (this.config.issueNumber !== undefined) {
|
|
57
|
+
await this.runForIssue(this.config.issueNumber);
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
51
60
|
for (let i = 1; i <= this.config.maxIterations; i++) {
|
|
52
61
|
console.log('');
|
|
53
62
|
console.log(`=== Iteration ${i}/${this.config.maxIterations} ===`);
|
|
@@ -102,6 +111,123 @@ export class Orchestrator {
|
|
|
102
111
|
console.log('');
|
|
103
112
|
console.log('=== Iteration limit reached ===');
|
|
104
113
|
}
|
|
114
|
+
/**
|
|
115
|
+
* Run the full pipeline for a single issue.
|
|
116
|
+
*
|
|
117
|
+
* Re-fetches the issue after each action to get updated labels, then decides
|
|
118
|
+
* the next action based on the current state. Loops until idle or the
|
|
119
|
+
* iteration limit is reached.
|
|
120
|
+
*/
|
|
121
|
+
async runForIssue(issueNumber) {
|
|
122
|
+
console.log(`Running single-issue mode for issue #${issueNumber}`);
|
|
123
|
+
for (let i = 1; i <= this.config.maxIterations; i++) {
|
|
124
|
+
console.log('');
|
|
125
|
+
console.log(`=== Iteration ${i}/${this.config.maxIterations} ===`);
|
|
126
|
+
// Make sure we're on main with latest
|
|
127
|
+
await this.git.fetch();
|
|
128
|
+
await this.git.checkoutMain();
|
|
129
|
+
// Re-fetch the issue to get current labels
|
|
130
|
+
const issue = await this.issues.getIssue(issueNumber);
|
|
131
|
+
// Determine the action based on the issue's current state
|
|
132
|
+
const action = await this.decideActionForIssue(issue);
|
|
133
|
+
console.log(`Action: ${action.type}`);
|
|
134
|
+
if (this.config.dryRun) {
|
|
135
|
+
switch (action.type) {
|
|
136
|
+
case 'reconcile':
|
|
137
|
+
console.log(`Would reconcile issue #${action.issue.number}: ${action.issue.title}`);
|
|
138
|
+
break;
|
|
139
|
+
case 'auto-approve':
|
|
140
|
+
console.log(`Would auto-approve task PR for issue #${action.issue.number}: ${action.issue.title}`);
|
|
141
|
+
break;
|
|
142
|
+
case 'investigate':
|
|
143
|
+
console.log(`Would investigate issue #${action.issue.number}: ${action.issue.title}`);
|
|
144
|
+
break;
|
|
145
|
+
case 'implement':
|
|
146
|
+
console.log(`Would implement task ${action.task.id}: ${action.task.title} (issue #${action.issue.number})`);
|
|
147
|
+
break;
|
|
148
|
+
case 'idle':
|
|
149
|
+
console.log('Nothing to do. Issue is either completed or no actions are applicable.');
|
|
150
|
+
break;
|
|
151
|
+
}
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
switch (action.type) {
|
|
155
|
+
case 'reconcile':
|
|
156
|
+
await this.reconcile(action.issue);
|
|
157
|
+
break;
|
|
158
|
+
case 'auto-approve':
|
|
159
|
+
await this.autoApprove(action.issue);
|
|
160
|
+
break;
|
|
161
|
+
case 'investigate':
|
|
162
|
+
await this.investigate(action.issue);
|
|
163
|
+
break;
|
|
164
|
+
case 'implement':
|
|
165
|
+
await this.implement(action.task, action.issue);
|
|
166
|
+
break;
|
|
167
|
+
case 'idle':
|
|
168
|
+
console.log('Nothing to do. Issue is either completed or no actions are applicable.');
|
|
169
|
+
return;
|
|
170
|
+
}
|
|
171
|
+
if (!this.config.noSleep && i < this.config.maxIterations) {
|
|
172
|
+
console.log('Sleeping 5s...');
|
|
173
|
+
await new Promise((r) => setTimeout(r, 5000));
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
console.log('');
|
|
177
|
+
console.log('=== Iteration limit reached ===');
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Decide the next action for a single issue based on its current labels.
|
|
181
|
+
*/
|
|
182
|
+
async decideActionForIssue(issue) {
|
|
183
|
+
const labels = issue.labels;
|
|
184
|
+
// Handle stale investigating label (crashed previous run)
|
|
185
|
+
if (labels.includes(LABELS.INVESTIGATING)) {
|
|
186
|
+
console.log(`Issue #${issue.number} has stale '${LABELS.INVESTIGATING}' label, clearing it`);
|
|
187
|
+
await this.issues.removeLabel(issue.number, LABELS.INVESTIGATING);
|
|
188
|
+
// Treat as uninvestigated — re-investigate
|
|
189
|
+
return { type: 'investigate', issue };
|
|
190
|
+
}
|
|
191
|
+
// tasks-accepted: check if all tasks are done (reconcile) or implement next task
|
|
192
|
+
if (labels.includes(LABELS.TASKS_ACCEPTED)) {
|
|
193
|
+
const allDone = await this.allTasksCompletedOnBranch(issue.number);
|
|
194
|
+
if (allDone) {
|
|
195
|
+
return { type: 'reconcile', issue };
|
|
196
|
+
}
|
|
197
|
+
// Find an available task to implement
|
|
198
|
+
const implementAction = await this.findAvailableTask([issue]);
|
|
199
|
+
if (implementAction) {
|
|
200
|
+
return implementAction;
|
|
201
|
+
}
|
|
202
|
+
return { type: 'idle' };
|
|
203
|
+
}
|
|
204
|
+
// tasks-proposed: check if PR was already merged (tasks on main) → transition inline
|
|
205
|
+
if (labels.includes(LABELS.TASKS_PROPOSED)) {
|
|
206
|
+
if (this.tasks.hasRemainingTasks(issue.number)) {
|
|
207
|
+
// Tasks exist on main = investigate PR was merged
|
|
208
|
+
console.log(`Issue #${issue.number}: tasks PR merged, transitioning to tasks-accepted`);
|
|
209
|
+
await this.issues.removeLabel(issue.number, LABELS.TASKS_PROPOSED);
|
|
210
|
+
await this.issues.addLabel(issue.number, LABELS.TASKS_ACCEPTED);
|
|
211
|
+
// Find an available task to implement
|
|
212
|
+
const implementAction = await this.findAvailableTask([issue]);
|
|
213
|
+
if (implementAction) {
|
|
214
|
+
return implementAction;
|
|
215
|
+
}
|
|
216
|
+
return { type: 'idle' };
|
|
217
|
+
}
|
|
218
|
+
// PR not yet merged — auto-approve if auto-work is enabled
|
|
219
|
+
if (isAutoWorkEnabled(this.config, issue)) {
|
|
220
|
+
return { type: 'auto-approve', issue };
|
|
221
|
+
}
|
|
222
|
+
return { type: 'idle' };
|
|
223
|
+
}
|
|
224
|
+
// completed: nothing to do
|
|
225
|
+
if (labels.includes(LABELS.COMPLETED)) {
|
|
226
|
+
return { type: 'idle' };
|
|
227
|
+
}
|
|
228
|
+
// No whitesmith labels — investigate
|
|
229
|
+
return { type: 'investigate', issue };
|
|
230
|
+
}
|
|
105
231
|
/**
|
|
106
232
|
* Check whether all tasks for an issue have been completed on the issue branch.
|
|
107
233
|
* Works without checking out the branch by inspecting the remote via git ls-tree.
|
|
@@ -120,11 +246,19 @@ export class Orchestrator {
|
|
|
120
246
|
*/
|
|
121
247
|
async decideAction() {
|
|
122
248
|
// Priority 1: Reconcile — issues with tasks-accepted where all tasks are done
|
|
249
|
+
// but no PR exists yet (safety net for crash recovery).
|
|
123
250
|
const acceptedIssues = await this.issues.listIssues({ labels: [LABELS.TASKS_ACCEPTED] });
|
|
124
251
|
for (const issue of acceptedIssues) {
|
|
125
252
|
const allDone = await this.allTasksCompletedOnBranch(issue.number);
|
|
126
253
|
if (allDone) {
|
|
127
|
-
|
|
254
|
+
// Only reconcile if no PR exists yet — if a PR is already open,
|
|
255
|
+
// the issue is waiting for merge and there's nothing more to do.
|
|
256
|
+
const branch = `issue/${issue.number}`;
|
|
257
|
+
const existingPR = await this.issues.getPRForBranch(branch);
|
|
258
|
+
if (!existingPR || existingPR.state === 'closed') {
|
|
259
|
+
return { type: 'reconcile', issue };
|
|
260
|
+
}
|
|
261
|
+
// PR exists and is open or merged — skip
|
|
128
262
|
}
|
|
129
263
|
}
|
|
130
264
|
// Priority 2: Auto-approve — merge task PRs for issues with auto-work enabled
|
|
@@ -195,13 +329,16 @@ export class Orchestrator {
|
|
|
195
329
|
return null;
|
|
196
330
|
}
|
|
197
331
|
/**
|
|
198
|
-
* Phase 1: Reconcile —
|
|
199
|
-
*
|
|
332
|
+
* Phase 1: Reconcile — safety net for crash recovery.
|
|
333
|
+
* Creates PR if all tasks are done on the issue branch but no PR exists
|
|
200
334
|
* (e.g. agent crashed after last task push but before PR creation).
|
|
335
|
+
*
|
|
336
|
+
* Does NOT close the issue — that happens when the PR is merged and the
|
|
337
|
+
* CLI `reconcile` command detects that task files are gone from main.
|
|
201
338
|
*/
|
|
202
339
|
async reconcile(issue) {
|
|
203
340
|
console.log(`Reconciling issue #${issue.number}: ${issue.title}`);
|
|
204
|
-
console.log('All tasks completed.
|
|
341
|
+
console.log('All tasks completed on branch. Ensuring PR exists.');
|
|
205
342
|
// Safety net: ensure a PR exists for the issue branch
|
|
206
343
|
const branch = `issue/${issue.number}`;
|
|
207
344
|
const branchExists = await this.issues.remoteBranchExists(branch);
|
|
@@ -221,15 +358,15 @@ export class Orchestrator {
|
|
|
221
358
|
});
|
|
222
359
|
console.log(`Safety net PR created: ${prUrl}`);
|
|
223
360
|
}
|
|
361
|
+
else {
|
|
362
|
+
console.log(`PR already exists: ${existingPR.url}`);
|
|
363
|
+
}
|
|
224
364
|
}
|
|
225
|
-
|
|
226
|
-
await this.issues.removeLabel(issue.number, LABELS.TASKS_ACCEPTED);
|
|
227
|
-
await this.issues.comment(issue.number, `✅ All tasks for this issue have been implemented and merged. Closing.`);
|
|
228
|
-
await this.issues.closeIssue(issue.number);
|
|
229
|
-
console.log(`Issue #${issue.number} closed.`);
|
|
365
|
+
console.log(`Issue #${issue.number} awaiting PR merge.`);
|
|
230
366
|
}
|
|
231
367
|
/**
|
|
232
|
-
* Phase 1.5: Auto-approve — merge the task-proposal PR when auto-work is enabled
|
|
368
|
+
* Phase 1.5: Auto-approve — merge the task-proposal PR when auto-work is enabled.
|
|
369
|
+
* When review is enabled, runs a review first and only merges if approved.
|
|
233
370
|
*/
|
|
234
371
|
async autoApprove(issue) {
|
|
235
372
|
console.log(`Auto-approving task PR for issue #${issue.number}: ${issue.title}`);
|
|
@@ -239,6 +376,23 @@ export class Orchestrator {
|
|
|
239
376
|
console.log(`No open PR found for branch '${branch}', skipping auto-approve`);
|
|
240
377
|
return;
|
|
241
378
|
}
|
|
379
|
+
// Run review before merging (if review is enabled)
|
|
380
|
+
if (this.config.review) {
|
|
381
|
+
let reviewResult = null;
|
|
382
|
+
try {
|
|
383
|
+
reviewResult = await this.reviewTaskProposal(issue.number);
|
|
384
|
+
}
|
|
385
|
+
catch (error) {
|
|
386
|
+
console.error('Review failed:', error instanceof Error ? error.message : error);
|
|
387
|
+
}
|
|
388
|
+
if (reviewResult && reviewResult.verdict === 'request_changes') {
|
|
389
|
+
console.log(`Review requested changes for task PR #${pr.number}. Skipping auto-merge.`);
|
|
390
|
+
await this.issues.comment(issue.number, `🔍 Review of task PR #${pr.number} requested changes. Auto-merge skipped — please review manually.`);
|
|
391
|
+
// Remove tasks-proposed so auto-approve doesn't retry every iteration
|
|
392
|
+
await this.issues.removeLabel(issue.number, LABELS.TASKS_PROPOSED);
|
|
393
|
+
return;
|
|
394
|
+
}
|
|
395
|
+
}
|
|
242
396
|
await this.issues.mergePR(pr.number);
|
|
243
397
|
console.log(`Merged PR #${pr.number}: ${pr.url}`);
|
|
244
398
|
await this.issues.removeLabel(issue.number, LABELS.TASKS_PROPOSED);
|
|
@@ -332,6 +486,17 @@ export class Orchestrator {
|
|
|
332
486
|
await this.issues.addLabel(issue.number, LABELS.TASKS_PROPOSED);
|
|
333
487
|
await this.issues.comment(issue.number, `📋 Tasks have been generated. Review the PR: ${prUrl}`);
|
|
334
488
|
console.log(`PR created: ${prUrl}`);
|
|
489
|
+
// Queue review of the task proposal (skip if auto-work — auto-approve will review)
|
|
490
|
+
if (this.config.review && !isAutoWorkEnabled(this.config, issue)) {
|
|
491
|
+
await this.git.checkoutMain();
|
|
492
|
+
try {
|
|
493
|
+
await this.reviewTaskProposal(issue.number);
|
|
494
|
+
}
|
|
495
|
+
catch (error) {
|
|
496
|
+
console.error('Review failed:', error instanceof Error ? error.message : error);
|
|
497
|
+
}
|
|
498
|
+
return; // Already on main after review
|
|
499
|
+
}
|
|
335
500
|
}
|
|
336
501
|
}
|
|
337
502
|
catch (error) {
|
|
@@ -416,6 +581,17 @@ export class Orchestrator {
|
|
|
416
581
|
});
|
|
417
582
|
}
|
|
418
583
|
console.log(`PR created: ${prUrl}`);
|
|
584
|
+
// Queue review of the implementation PR
|
|
585
|
+
if (this.config.review) {
|
|
586
|
+
await this.git.checkoutMain();
|
|
587
|
+
try {
|
|
588
|
+
await this.reviewImplementationPR(issue.number);
|
|
589
|
+
}
|
|
590
|
+
catch (error) {
|
|
591
|
+
console.error('Review failed:', error instanceof Error ? error.message : error);
|
|
592
|
+
}
|
|
593
|
+
return; // Already on main after review
|
|
594
|
+
}
|
|
419
595
|
}
|
|
420
596
|
else {
|
|
421
597
|
console.log(`Task ${task.id} committed. ${remainingTasks.length} task(s) remaining for issue #${issue.number}.`);
|
|
@@ -428,5 +604,33 @@ export class Orchestrator {
|
|
|
428
604
|
// Return to main
|
|
429
605
|
await this.git.checkoutMain();
|
|
430
606
|
}
|
|
607
|
+
/**
|
|
608
|
+
* Review a task proposal (investigate PR).
|
|
609
|
+
* Posts the review as a comment on the task proposal PR.
|
|
610
|
+
* Returns the review result so callers can check the verdict.
|
|
611
|
+
*/
|
|
612
|
+
async reviewTaskProposal(issueNumber) {
|
|
613
|
+
console.log(`Reviewing task proposal for issue #${issueNumber}...`);
|
|
614
|
+
return performReview({ type: 'issue-tasks', issueNumber }, {
|
|
615
|
+
workDir: this.config.workDir,
|
|
616
|
+
repo: this.config.repo,
|
|
617
|
+
logFile: this.config.logFile,
|
|
618
|
+
post: !this.config.noPush,
|
|
619
|
+
}, this.issues, this.agent);
|
|
620
|
+
}
|
|
621
|
+
/**
|
|
622
|
+
* Review an implementation PR (all tasks completed for an issue).
|
|
623
|
+
* Posts the review as a comment on the implementation PR.
|
|
624
|
+
* Returns the review result so callers can check the verdict.
|
|
625
|
+
*/
|
|
626
|
+
async reviewImplementationPR(issueNumber) {
|
|
627
|
+
console.log(`Reviewing implementation for issue #${issueNumber}...`);
|
|
628
|
+
return performReview({ type: 'issue-tasks-completed', issueNumber }, {
|
|
629
|
+
workDir: this.config.workDir,
|
|
630
|
+
repo: this.config.repo,
|
|
631
|
+
logFile: this.config.logFile,
|
|
632
|
+
post: !this.config.noPush,
|
|
633
|
+
}, this.issues, this.agent);
|
|
634
|
+
}
|
|
431
635
|
}
|
|
432
636
|
//# sourceMappingURL=orchestrator.js.map
|
package/dist/orchestrator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../src/orchestrator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../src/orchestrator.ts"],"names":[],"mappings":"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"}
|
package/dist/prompts.d.ts
CHANGED
|
@@ -4,6 +4,58 @@ import type { Issue, Task } from './types.js';
|
|
|
4
4
|
* The agent reads the issue, understands the codebase, and generates task files.
|
|
5
5
|
*/
|
|
6
6
|
export declare function buildInvestigatePrompt(issue: Issue, issueTasksDir: string): string;
|
|
7
|
+
export interface ReviewTaskProposalArgs {
|
|
8
|
+
issueNumber: number;
|
|
9
|
+
issueTitle: string;
|
|
10
|
+
issueBody: string;
|
|
11
|
+
issueUrl: string;
|
|
12
|
+
tasks: Array<{
|
|
13
|
+
id: string;
|
|
14
|
+
title: string;
|
|
15
|
+
content: string;
|
|
16
|
+
filePath: string;
|
|
17
|
+
}>;
|
|
18
|
+
taskPRUrl?: string;
|
|
19
|
+
responseFile: string;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Build the prompt for reviewing a task proposal.
|
|
23
|
+
* Ensures proposed tasks are detailed, precise, and properly cover the issue.
|
|
24
|
+
*/
|
|
25
|
+
export declare function buildReviewTaskProposalPrompt(args: ReviewTaskProposalArgs): string;
|
|
26
|
+
export interface ReviewImplementationPRArgs {
|
|
27
|
+
prNumber: number;
|
|
28
|
+
prTitle: string;
|
|
29
|
+
prBody: string;
|
|
30
|
+
prBranch: string;
|
|
31
|
+
prUrl: string;
|
|
32
|
+
parentIssue?: {
|
|
33
|
+
number: number;
|
|
34
|
+
title: string;
|
|
35
|
+
body: string;
|
|
36
|
+
url: string;
|
|
37
|
+
};
|
|
38
|
+
responseFile: string;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Build the prompt for reviewing an implementation PR.
|
|
42
|
+
* Performs a detailed code review looking for bugs, quality issues, etc.
|
|
43
|
+
*/
|
|
44
|
+
export declare function buildReviewImplementationPRPrompt(args: ReviewImplementationPRArgs): string;
|
|
45
|
+
export interface ReviewTaskCompletionArgs {
|
|
46
|
+
issueNumber: number;
|
|
47
|
+
issueTitle: string;
|
|
48
|
+
issueBody: string;
|
|
49
|
+
issueUrl: string;
|
|
50
|
+
implPRUrl?: string;
|
|
51
|
+
implBranch: string;
|
|
52
|
+
responseFile: string;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Build the prompt for reviewing completed tasks.
|
|
56
|
+
* Ensures the tasks were followed properly and checks for bugs or potential issues.
|
|
57
|
+
*/
|
|
58
|
+
export declare function buildReviewTaskCompletionPrompt(args: ReviewTaskCompletionArgs): string;
|
|
7
59
|
/**
|
|
8
60
|
* Build the prompt for the "implement" phase.
|
|
9
61
|
* The agent implements a specific task and deletes the task file.
|
package/dist/prompts.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,KAAK,EAAE,IAAI,EAAC,MAAM,YAAY,CAAC;AAE5C;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CA8DlF;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,CAwCrE"}
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,KAAK,EAAE,IAAI,EAAC,MAAM,YAAY,CAAC;AAE5C;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CA8DlF;AAID,MAAM,WAAW,sBAAsB;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAC,CAAC,CAAC;IAC7E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,sBAAsB,GAAG,MAAM,CA+DlF;AAED,MAAM,WAAW,0BAA0B;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE;QACb,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;KACZ,CAAC;IACF,YAAY,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,0BAA0B,GAAG,MAAM,CA+D1F;AAED,MAAM,WAAW,wBAAwB;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,wBAAwB,GAAG,MAAM,CA0DtF;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,CAwCrE"}
|
package/dist/prompts.js
CHANGED
|
@@ -65,6 +65,203 @@ git commit -m "tasks(#${issue.number}): generate implementation tasks"
|
|
|
65
65
|
Do NOT push. Do NOT create a PR. The orchestrator will handle that.
|
|
66
66
|
`;
|
|
67
67
|
}
|
|
68
|
+
/**
|
|
69
|
+
* Build the prompt for reviewing a task proposal.
|
|
70
|
+
* Ensures proposed tasks are detailed, precise, and properly cover the issue.
|
|
71
|
+
*/
|
|
72
|
+
export function buildReviewTaskProposalPrompt(args) {
|
|
73
|
+
const taskList = args.tasks
|
|
74
|
+
.map((t) => `### Task ${t.id}: ${t.title}\n\n**File:** \`${t.filePath}\`\n\n${t.content}`)
|
|
75
|
+
.join('\n\n---\n\n');
|
|
76
|
+
return `# Review: Task Proposal for Issue #${args.issueNumber}
|
|
77
|
+
|
|
78
|
+
## Issue
|
|
79
|
+
**Title:** ${args.issueTitle}
|
|
80
|
+
**URL:** ${args.issueUrl}
|
|
81
|
+
|
|
82
|
+
### Description
|
|
83
|
+
${args.issueBody}
|
|
84
|
+
${args.taskPRUrl ? `\n**Task PR:** ${args.taskPRUrl}\n` : ''}
|
|
85
|
+
## Proposed Tasks
|
|
86
|
+
|
|
87
|
+
${taskList || '_No task files found._'}
|
|
88
|
+
|
|
89
|
+
## Your Job
|
|
90
|
+
|
|
91
|
+
You are reviewing the proposed task breakdown for the issue above. Your goal is to ensure
|
|
92
|
+
the tasks are **detailed enough**, **precise**, and **complete** so that another AI agent
|
|
93
|
+
can implement them without ambiguity.
|
|
94
|
+
|
|
95
|
+
### Review Criteria
|
|
96
|
+
|
|
97
|
+
1. **Coverage**: Do the tasks fully address the issue? Are there missing aspects?
|
|
98
|
+
2. **Clarity**: Is each task description clear and unambiguous? Could an AI agent implement it without asking questions?
|
|
99
|
+
3. **Granularity**: Are tasks the right size? Not too large (hard to review) or too small (unnecessary overhead).
|
|
100
|
+
4. **Acceptance Criteria**: Does each task have clear, verifiable acceptance criteria?
|
|
101
|
+
5. **Dependencies**: Are task dependencies correct? Could any tasks be parallelized?
|
|
102
|
+
6. **Implementation Notes**: Are there enough hints about which files/modules to modify?
|
|
103
|
+
7. **Consistency**: Do the tasks follow the existing codebase patterns and conventions?
|
|
104
|
+
|
|
105
|
+
### Instructions
|
|
106
|
+
|
|
107
|
+
1. **Explore the codebase** to understand the architecture and verify the tasks make sense.
|
|
108
|
+
2. **Read each task file** carefully.
|
|
109
|
+
3. **Write your review** to \`${args.responseFile}\`.
|
|
110
|
+
|
|
111
|
+
Your review MUST start with a verdict line as the very first line:
|
|
112
|
+
|
|
113
|
+
\`\`\`
|
|
114
|
+
VERDICT: APPROVE
|
|
115
|
+
\`\`\`
|
|
116
|
+
|
|
117
|
+
or:
|
|
118
|
+
|
|
119
|
+
\`\`\`
|
|
120
|
+
VERDICT: REQUEST_CHANGES
|
|
121
|
+
\`\`\`
|
|
122
|
+
|
|
123
|
+
Followed by:
|
|
124
|
+
- An overall assessment explaining your verdict
|
|
125
|
+
- Per-task feedback (if any issues found)
|
|
126
|
+
- Suggestions for improvement
|
|
127
|
+
- Any missing tasks or concerns
|
|
128
|
+
|
|
129
|
+
Use markdown formatting. Be constructive and specific.
|
|
130
|
+
|
|
131
|
+
Do NOT modify any files other than \`${args.responseFile}\`.
|
|
132
|
+
Do NOT commit, push, or create PRs.
|
|
133
|
+
`;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Build the prompt for reviewing an implementation PR.
|
|
137
|
+
* Performs a detailed code review looking for bugs, quality issues, etc.
|
|
138
|
+
*/
|
|
139
|
+
export function buildReviewImplementationPRPrompt(args) {
|
|
140
|
+
const issueContext = args.parentIssue
|
|
141
|
+
? `\n## Parent Issue\n**#${args.parentIssue.number}:** ${args.parentIssue.title}\n**URL:** ${args.parentIssue.url}\n\n### Issue Description\n${args.parentIssue.body}\n`
|
|
142
|
+
: '';
|
|
143
|
+
return `# Review: Pull Request #${args.prNumber}
|
|
144
|
+
|
|
145
|
+
## Pull Request
|
|
146
|
+
**Title:** ${args.prTitle}
|
|
147
|
+
**URL:** ${args.prUrl}
|
|
148
|
+
**Branch:** ${args.prBranch}
|
|
149
|
+
|
|
150
|
+
### PR Description
|
|
151
|
+
${args.prBody}
|
|
152
|
+
${issueContext}
|
|
153
|
+
## Your Job
|
|
154
|
+
|
|
155
|
+
You are performing a detailed code review of this pull request. You are on the PR branch
|
|
156
|
+
(\`${args.prBranch}\`) and have full access to the codebase.
|
|
157
|
+
|
|
158
|
+
### Review Criteria
|
|
159
|
+
|
|
160
|
+
1. **Correctness**: Does the code work as intended? Are there any bugs or logic errors?
|
|
161
|
+
2. **Edge Cases**: Are edge cases handled? Could inputs cause crashes or unexpected behavior?
|
|
162
|
+
3. **Security**: Are there any security concerns (injection, data leaks, etc.)?
|
|
163
|
+
4. **Performance**: Are there any performance issues or inefficiencies?
|
|
164
|
+
5. **Code Quality**: Is the code clean, readable, and well-structured?
|
|
165
|
+
6. **Conventions**: Does it follow the existing codebase patterns and style?
|
|
166
|
+
7. **Tests**: Are there adequate tests? Are existing tests still passing?
|
|
167
|
+
8. **Error Handling**: Are errors handled gracefully?
|
|
168
|
+
9. **Documentation**: Are changes documented where needed?
|
|
169
|
+
10. **Completeness**: Does it fully address the issue/task requirements?
|
|
170
|
+
|
|
171
|
+
### Instructions
|
|
172
|
+
|
|
173
|
+
1. **Examine the diff** by running \`git diff main...HEAD\` to see all changes.
|
|
174
|
+
2. **Explore the codebase** to understand how the changes fit in.
|
|
175
|
+
3. **Read the changed files** in full context.
|
|
176
|
+
4. **Write your review** to \`${args.responseFile}\`.
|
|
177
|
+
|
|
178
|
+
Your review MUST start with a verdict line as the very first line:
|
|
179
|
+
|
|
180
|
+
\`\`\`
|
|
181
|
+
VERDICT: APPROVE
|
|
182
|
+
\`\`\`
|
|
183
|
+
|
|
184
|
+
or:
|
|
185
|
+
|
|
186
|
+
\`\`\`
|
|
187
|
+
VERDICT: REQUEST_CHANGES
|
|
188
|
+
\`\`\`
|
|
189
|
+
|
|
190
|
+
Followed by:
|
|
191
|
+
- An overall assessment explaining your verdict
|
|
192
|
+
- Specific issues found (with file paths and line references)
|
|
193
|
+
- Suggestions for improvement
|
|
194
|
+
- Any potential bugs or concerns
|
|
195
|
+
|
|
196
|
+
Use markdown formatting. Be thorough but constructive.
|
|
197
|
+
|
|
198
|
+
Do NOT modify any files other than \`${args.responseFile}\`.
|
|
199
|
+
Do NOT commit, push, or create PRs.
|
|
200
|
+
`;
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Build the prompt for reviewing completed tasks.
|
|
204
|
+
* Ensures the tasks were followed properly and checks for bugs or potential issues.
|
|
205
|
+
*/
|
|
206
|
+
export function buildReviewTaskCompletionPrompt(args) {
|
|
207
|
+
return `# Review: Task Completion for Issue #${args.issueNumber}
|
|
208
|
+
|
|
209
|
+
## Issue
|
|
210
|
+
**Title:** ${args.issueTitle}
|
|
211
|
+
**URL:** ${args.issueUrl}
|
|
212
|
+
${args.implPRUrl ? `**Implementation PR:** ${args.implPRUrl}\n` : ''}
|
|
213
|
+
### Issue Description
|
|
214
|
+
${args.issueBody}
|
|
215
|
+
|
|
216
|
+
## Your Job
|
|
217
|
+
|
|
218
|
+
You are reviewing the completed implementation for this issue. All tasks have been
|
|
219
|
+
implemented on the \`${args.implBranch}\` branch (you are currently on it).
|
|
220
|
+
|
|
221
|
+
### Review Criteria
|
|
222
|
+
|
|
223
|
+
1. **Task Adherence**: Were the original tasks followed? Check the git log for task commits.
|
|
224
|
+
2. **Completeness**: Is the issue fully addressed? Are there any missing pieces?
|
|
225
|
+
3. **Bugs**: Are there any bugs or logic errors in the implementation?
|
|
226
|
+
4. **Edge Cases**: Are edge cases handled properly?
|
|
227
|
+
5. **Regressions**: Could any changes break existing functionality?
|
|
228
|
+
6. **Code Quality**: Is the code clean, well-structured, and following conventions?
|
|
229
|
+
7. **Tests**: Are there adequate tests for the new functionality?
|
|
230
|
+
8. **Security**: Any security concerns?
|
|
231
|
+
9. **Performance**: Any performance issues?
|
|
232
|
+
|
|
233
|
+
### Instructions
|
|
234
|
+
|
|
235
|
+
1. **Examine the full diff** by running \`git diff main...HEAD\` to see all changes.
|
|
236
|
+
2. **Check the git log** with \`git log main..HEAD --oneline\` to see all task commits.
|
|
237
|
+
3. **Read the original task files** on main with \`git show main:tasks/${args.issueNumber}/\` (if they exist).
|
|
238
|
+
4. **Explore the changed code** in full context.
|
|
239
|
+
5. **Write your review** to \`${args.responseFile}\`.
|
|
240
|
+
|
|
241
|
+
Your review MUST start with a verdict line as the very first line:
|
|
242
|
+
|
|
243
|
+
\`\`\`
|
|
244
|
+
VERDICT: APPROVE
|
|
245
|
+
\`\`\`
|
|
246
|
+
|
|
247
|
+
or:
|
|
248
|
+
|
|
249
|
+
\`\`\`
|
|
250
|
+
VERDICT: REQUEST_CHANGES
|
|
251
|
+
\`\`\`
|
|
252
|
+
|
|
253
|
+
Followed by:
|
|
254
|
+
- An overall assessment explaining your verdict
|
|
255
|
+
- Whether each task was properly completed
|
|
256
|
+
- Any bugs, issues, or concerns found
|
|
257
|
+
- Suggestions for improvement
|
|
258
|
+
|
|
259
|
+
Use markdown formatting. Be thorough but constructive.
|
|
260
|
+
|
|
261
|
+
Do NOT modify any files other than \`${args.responseFile}\`.
|
|
262
|
+
Do NOT commit, push, or create PRs.
|
|
263
|
+
`;
|
|
264
|
+
}
|
|
68
265
|
/**
|
|
69
266
|
* Build the prompt for the "implement" phase.
|
|
70
267
|
* The agent implements a specific task and deletes the task file.
|