greenbump 0.8.0 → 0.9.0
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 +58 -15
- package/README.zh-CN.md +37 -4
- package/dist/action/github.test.js +37 -0
- package/dist/action/github.test.js.map +1 -0
- package/dist/action/main.js +19 -4
- package/dist/action/main.js.map +1 -1
- package/dist/agent/fixer.js +201 -25
- package/dist/agent/fixer.js.map +1 -1
- package/dist/agent/fixer.test.js +221 -0
- package/dist/agent/fixer.test.js.map +1 -1
- package/dist/benchmarks/run.js +0 -0
- package/dist/benchmarks/run.js.map +1 -0
- package/dist/cli/interactive.js +46 -11
- package/dist/cli/interactive.js.map +1 -1
- package/dist/cli.js +35 -7
- package/dist/cli.js.map +1 -1
- package/dist/engine/analyzers/changelog-parser.js +19 -0
- package/dist/engine/analyzers/changelog-parser.js.map +1 -1
- package/dist/engine/batch.js +54 -10
- package/dist/engine/batch.js.map +1 -1
- package/dist/engine/cache/manager.js +19 -1
- package/dist/engine/cache/manager.js.map +1 -1
- package/dist/engine/cache/manager.test.js +17 -0
- package/dist/engine/cache/manager.test.js.map +1 -1
- package/dist/engine/change-detector.js +52 -23
- package/dist/engine/change-detector.js.map +1 -1
- package/dist/engine/change-detector.test.js +72 -0
- package/dist/engine/change-detector.test.js.map +1 -0
- package/dist/engine/changelog.js +22 -2
- package/dist/engine/changelog.js.map +1 -1
- package/dist/engine/changelog.test.js +31 -0
- package/dist/engine/changelog.test.js.map +1 -0
- package/dist/engine/checks.js +10 -4
- package/dist/engine/checks.js.map +1 -1
- package/dist/engine/context/optimizer.js +14 -44
- package/dist/engine/context/optimizer.js.map +1 -1
- package/dist/engine/context/optimizer.test.js +23 -1
- package/dist/engine/context/optimizer.test.js.map +1 -1
- package/dist/engine/ecosystems/cargo.js +2 -1
- package/dist/engine/ecosystems/cargo.js.map +1 -1
- package/dist/engine/ecosystems/conan.js +2 -1
- package/dist/engine/ecosystems/conan.js.map +1 -1
- package/dist/engine/ecosystems/elm.js +2 -1
- package/dist/engine/ecosystems/elm.js.map +1 -1
- package/dist/engine/ecosystems/gradle.js +2 -1
- package/dist/engine/ecosystems/gradle.js.map +1 -1
- package/dist/engine/ecosystems/http.js +18 -0
- package/dist/engine/ecosystems/http.js.map +1 -0
- package/dist/engine/ecosystems/maven.js +2 -1
- package/dist/engine/ecosystems/maven.js.map +1 -1
- package/dist/engine/ecosystems/swiftpm.js +2 -1
- package/dist/engine/ecosystems/swiftpm.js.map +1 -1
- package/dist/engine/exec.js +37 -7
- package/dist/engine/exec.js.map +1 -1
- package/dist/engine/exec.test.js +36 -0
- package/dist/engine/exec.test.js.map +1 -0
- package/dist/engine/fixer/patterns.js +55 -18
- package/dist/engine/fixer/patterns.js.map +1 -1
- package/dist/engine/fixer/patterns.test.js +95 -1
- package/dist/engine/fixer/patterns.test.js.map +1 -1
- package/dist/engine/git.js +38 -16
- package/dist/engine/git.js.map +1 -1
- package/dist/engine/git.test.js +51 -1
- package/dist/engine/git.test.js.map +1 -1
- package/dist/engine/perf/metrics.js +44 -57
- package/dist/engine/perf/metrics.js.map +1 -1
- package/dist/engine/run.js +120 -12
- package/dist/engine/run.js.map +1 -1
- package/dist/engine/run.test.js +65 -1
- package/dist/engine/run.test.js.map +1 -1
- package/dist/engine/sandbox/docker-manager.js +52 -26
- package/dist/engine/sandbox/docker-manager.js.map +1 -1
- package/dist/engine/sandbox/template-generator.js +0 -4
- package/dist/engine/sandbox/template-generator.js.map +1 -1
- package/dist/engine/sandbox/template-generator.test.js +16 -0
- package/dist/engine/sandbox/template-generator.test.js.map +1 -0
- package/dist/engine/scan/benchmark-crosscheck.test.js +116 -0
- package/dist/engine/scan/benchmark-crosscheck.test.js.map +1 -0
- package/dist/engine/scan/detect.js +96 -0
- package/dist/engine/scan/detect.js.map +1 -0
- package/dist/engine/scan/impact.js +128 -0
- package/dist/engine/scan/impact.js.map +1 -0
- package/dist/engine/scan/impact.test.js +217 -0
- package/dist/engine/scan/impact.test.js.map +1 -0
- package/dist/engine/scan/indexer.js +129 -0
- package/dist/engine/scan/indexer.js.map +1 -0
- package/dist/engine/scan/indexer.test.js +149 -0
- package/dist/engine/scan/indexer.test.js.map +1 -0
- package/dist/engine/scan/probes.js +92 -0
- package/dist/engine/scan/probes.js.map +1 -0
- package/dist/engine/scan/probes.test.js +100 -0
- package/dist/engine/scan/probes.test.js.map +1 -0
- package/dist/engine/verify.js +41 -58
- package/dist/engine/verify.js.map +1 -1
- package/dist/engine/verify.test.js +49 -0
- package/dist/engine/verify.test.js.map +1 -0
- package/dist/format.js +81 -0
- package/dist/format.js.map +1 -1
- package/dist/format.test.js +8 -0
- package/dist/format.test.js.map +1 -1
- package/dist/pr.test.js +48 -0
- package/dist/pr.test.js.map +1 -0
- package/package.json +4 -4
- package/dist/engine/dep-graph.js +0 -101
- package/dist/engine/dep-graph.js.map +0 -1
- package/dist/engine/staged-fix.js +0 -108
- package/dist/engine/staged-fix.js.map +0 -1
- package/dist/engine/stages.js +0 -125
- package/dist/engine/stages.js.map +0 -1
package/dist/agent/fixer.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { readFile, writeFile, readdir, stat } from "node:fs/promises";
|
|
1
|
+
import { readFile, writeFile, readdir, stat, rm } from "node:fs/promises";
|
|
2
2
|
import { resolve, relative, isAbsolute, join } from "node:path";
|
|
3
|
+
import { createHash } from "node:crypto";
|
|
3
4
|
import { runChecks } from "../engine/checks.js";
|
|
4
5
|
import { getAdapter } from "../engine/pm.js";
|
|
5
6
|
import { tryBuiltinCodemods, tryLearnedPatterns, tryCachedLlmFix, learnFromSuccessfulFix, buildContextKey, FixTier, } from "../engine/fixer/patterns.js";
|
|
@@ -18,6 +19,7 @@ Your job: edit the project's source code so that build and tests pass again —
|
|
|
18
19
|
|
|
19
20
|
Rules:
|
|
20
21
|
- Make the smallest correct change that adapts the code to the new version's API.
|
|
22
|
+
- Prefer edit_file for updating existing code (targeted search/replace) to avoid accidentally truncating or omitting lines. Only use write_file for new files or complete rewrites.
|
|
21
23
|
- Prefer following each dependency's documented migration path (renamed exports, changed signatures, moved modules, new required options). If release notes are provided below, treat them as authoritative over guessing.
|
|
22
24
|
- Use search_code to find ALL call sites of the breaking API across the repo before editing — a partial fix that leaves other files broken wastes rounds.
|
|
23
25
|
- Never edit ${protectedFiles}. The upgrade is intentional.
|
|
@@ -57,9 +59,22 @@ const tools = [
|
|
|
57
59
|
required: ["path"],
|
|
58
60
|
},
|
|
59
61
|
},
|
|
62
|
+
{
|
|
63
|
+
name: "edit_file",
|
|
64
|
+
description: "Replace an exact chunk of text in an existing file. Strongly preferred over write_file to avoid accidental truncations or lost code.",
|
|
65
|
+
parameters: {
|
|
66
|
+
type: "object",
|
|
67
|
+
properties: {
|
|
68
|
+
path: { type: "string", description: "project-relative file path" },
|
|
69
|
+
old_string: { type: "string", description: "exact string to replace (must match uniquely in file)" },
|
|
70
|
+
new_string: { type: "string", description: "replacement string" },
|
|
71
|
+
},
|
|
72
|
+
required: ["path", "old_string", "new_string"],
|
|
73
|
+
},
|
|
74
|
+
},
|
|
60
75
|
{
|
|
61
76
|
name: "write_file",
|
|
62
|
-
description: "Overwrite a project-relative file with new contents.",
|
|
77
|
+
description: "Overwrite a project-relative file with new contents (or create new file). For small edits, prefer edit_file.",
|
|
63
78
|
parameters: {
|
|
64
79
|
type: "object",
|
|
65
80
|
properties: { path: { type: "string" }, content: { type: "string" } },
|
|
@@ -208,6 +223,59 @@ async function toolResult(cwd, pm, checkOverrides, name, input, onFixSuggestion)
|
|
|
208
223
|
return { text: "(file too large to read)" };
|
|
209
224
|
return { text: await readFile(abs, "utf8") };
|
|
210
225
|
}
|
|
226
|
+
case "edit_file": {
|
|
227
|
+
const abs = safePath(cwd, input.path);
|
|
228
|
+
const rel = relative(cwd, abs);
|
|
229
|
+
const adapter = getAdapter(pm);
|
|
230
|
+
if (isProtectedWrite(rel, adapter.manifestFiles, adapter.lockFiles)) {
|
|
231
|
+
return {
|
|
232
|
+
text: `error: edit to ${input.path} blocked — it is a dependency manifest/lockfile or secrets file.`,
|
|
233
|
+
};
|
|
234
|
+
}
|
|
235
|
+
let content = "";
|
|
236
|
+
try {
|
|
237
|
+
content = await readFile(abs, "utf8");
|
|
238
|
+
}
|
|
239
|
+
catch (err) {
|
|
240
|
+
return { text: `error: file ${input.path} does not exist (use write_file to create new files)` };
|
|
241
|
+
}
|
|
242
|
+
const oldStr = input.old_string;
|
|
243
|
+
const newStr = input.new_string;
|
|
244
|
+
if (!oldStr) {
|
|
245
|
+
return { text: `error: old_string cannot be empty` };
|
|
246
|
+
}
|
|
247
|
+
const occurrences = content.split(oldStr).length - 1;
|
|
248
|
+
if (occurrences === 0) {
|
|
249
|
+
return {
|
|
250
|
+
text: `error: old_string not found in ${input.path}. Make sure the string matches verbatim, including indentation and whitespace.`,
|
|
251
|
+
};
|
|
252
|
+
}
|
|
253
|
+
if (occurrences > 1) {
|
|
254
|
+
return {
|
|
255
|
+
text: `error: old_string matched ${occurrences} locations in ${input.path}. Please provide more surrounding lines for unique context.`,
|
|
256
|
+
};
|
|
257
|
+
}
|
|
258
|
+
const updated = content.replace(oldStr, newStr);
|
|
259
|
+
if (onFixSuggestion) {
|
|
260
|
+
const decision = await onFixSuggestion({
|
|
261
|
+
path: input.path,
|
|
262
|
+
diff: simpleDiff(input.path, content, updated),
|
|
263
|
+
});
|
|
264
|
+
switch (decision.action) {
|
|
265
|
+
case "reject":
|
|
266
|
+
return { text: `edit to ${input.path} REJECTED by user — do not retry the same change`, skipped: true };
|
|
267
|
+
case "skip":
|
|
268
|
+
return { text: `edit to ${input.path} skipped by user`, skipped: true };
|
|
269
|
+
case "edit":
|
|
270
|
+
await writeFile(abs, decision.content, "utf8");
|
|
271
|
+
return { text: `applied user-edited changes to ${input.path}` };
|
|
272
|
+
case "accept":
|
|
273
|
+
break;
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
await writeFile(abs, updated, "utf8");
|
|
277
|
+
return { text: `edited ${input.path}` };
|
|
278
|
+
}
|
|
211
279
|
case "write_file": {
|
|
212
280
|
const abs = safePath(cwd, input.path);
|
|
213
281
|
const rel = relative(cwd, abs);
|
|
@@ -218,15 +286,28 @@ async function toolResult(cwd, pm, checkOverrides, name, input, onFixSuggestion)
|
|
|
218
286
|
};
|
|
219
287
|
}
|
|
220
288
|
let content = input.content;
|
|
289
|
+
// Anti-truncation guard: if existing file has > 40 lines and new content drops > 50% lines,
|
|
290
|
+
// warn model to use edit_file or verify it didn't accidentally truncate.
|
|
291
|
+
let oldContent = "";
|
|
292
|
+
let exists = false;
|
|
293
|
+
try {
|
|
294
|
+
oldContent = await readFile(abs, "utf8");
|
|
295
|
+
exists = true;
|
|
296
|
+
}
|
|
297
|
+
catch {
|
|
298
|
+
// new file
|
|
299
|
+
}
|
|
300
|
+
if (exists) {
|
|
301
|
+
const oldLines = oldContent.split("\n").length;
|
|
302
|
+
const newLines = content.split("\n").length;
|
|
303
|
+
if (oldLines > 40 && newLines < oldLines * 0.5) {
|
|
304
|
+
return {
|
|
305
|
+
text: `error: write_file rejected due to code truncation safety guard. The existing file has ${oldLines} lines, but proposed content has only ${newLines} lines (loss of > 50%). If you are fixing a small section, use edit_file instead to avoid deleting code.`,
|
|
306
|
+
};
|
|
307
|
+
}
|
|
308
|
+
}
|
|
221
309
|
// Interactive gate: show the proposed edit and wait for a decision.
|
|
222
310
|
if (onFixSuggestion) {
|
|
223
|
-
let oldContent = "";
|
|
224
|
-
try {
|
|
225
|
-
oldContent = await readFile(abs, "utf8");
|
|
226
|
-
}
|
|
227
|
-
catch {
|
|
228
|
-
// new file
|
|
229
|
-
}
|
|
230
311
|
const decision = await onFixSuggestion({
|
|
231
312
|
path: input.path,
|
|
232
313
|
diff: simpleDiff(input.path, oldContent, content),
|
|
@@ -311,7 +392,6 @@ export async function runFixLoop(opts) {
|
|
|
311
392
|
const { provider, pm, checkOverrides } = opts;
|
|
312
393
|
const log = opts.onLog ?? (() => { });
|
|
313
394
|
const usage = { inputTokens: 0, outputTokens: 0 };
|
|
314
|
-
const editedFiles = new Set();
|
|
315
395
|
const SYSTEM = buildSystemPrompt(pm, opts.deps);
|
|
316
396
|
// ── Context optimization: trim failure output, find candidate files ──────
|
|
317
397
|
const trimmedFailure = trimFailureOutput(opts.failureOutput);
|
|
@@ -327,7 +407,19 @@ export async function runFixLoop(opts) {
|
|
|
327
407
|
const primaryDep = opts.deps?.[0]?.dep ?? opts.dep;
|
|
328
408
|
const primaryFrom = opts.deps?.[0]?.from ?? opts.from;
|
|
329
409
|
const primaryTo = opts.deps?.[0]?.to ?? opts.to;
|
|
330
|
-
|
|
410
|
+
// Bind the tier-3 cache key to the actual file contents being fixed —
|
|
411
|
+
// same error text + different code must NOT replay another project's fix.
|
|
412
|
+
const fingerprint = createHash("sha256");
|
|
413
|
+
for (const f of candidateFiles) {
|
|
414
|
+
try {
|
|
415
|
+
fingerprint.update(f);
|
|
416
|
+
fingerprint.update(await readFile(join(opts.cwd, f), "utf8"));
|
|
417
|
+
}
|
|
418
|
+
catch {
|
|
419
|
+
// unreadable — leave it out of the fingerprint
|
|
420
|
+
}
|
|
421
|
+
}
|
|
422
|
+
const contextKey = buildContextKey(primaryDep, primaryFrom, primaryTo, trimmedFailure, candidateFiles.length > 0 ? fingerprint.digest("hex").slice(0, 16) : undefined);
|
|
331
423
|
// ── Free tiers: codemods → learned patterns → cached LLM fix ────────────
|
|
332
424
|
if (!opts.noFreeTiers) {
|
|
333
425
|
const patternCtx = {
|
|
@@ -338,6 +430,9 @@ export async function runFixLoop(opts) {
|
|
|
338
430
|
failureOutput: trimmedFailure,
|
|
339
431
|
candidateFiles: candidateFiles.length > 0 ? candidateFiles : ["."],
|
|
340
432
|
};
|
|
433
|
+
// Snapshot candidate files once so any tier whose rewrite fails the check
|
|
434
|
+
// can be rolled back cleanly (regex codemods can produce broken code).
|
|
435
|
+
const preTierSnapshot = await snapshotFiles(opts.cwd, patternCtx.candidateFiles);
|
|
341
436
|
// Tier 1: built-in codemods
|
|
342
437
|
const t1 = await tryBuiltinCodemods(patternCtx);
|
|
343
438
|
if (t1.advice && t1.advice.length > 0) {
|
|
@@ -351,9 +446,8 @@ export async function runFixLoop(opts) {
|
|
|
351
446
|
log("tier 1 (codemod): check passed — fixed with 0 tokens");
|
|
352
447
|
return tierResult(true, t1.editedFiles, FixTier.REGEX);
|
|
353
448
|
}
|
|
354
|
-
log("tier 1 (codemod): edit applied but check still failing — escalating");
|
|
355
|
-
|
|
356
|
-
editedFiles.add(f);
|
|
449
|
+
log("tier 1 (codemod): edit applied but check still failing — rolling back and escalating");
|
|
450
|
+
await rollbackTierEdits(opts.cwd, t1.editedFiles, preTierSnapshot);
|
|
357
451
|
}
|
|
358
452
|
// Tier 2: learned patterns from cache
|
|
359
453
|
if (!opts.noCache) {
|
|
@@ -363,11 +457,10 @@ export async function runFixLoop(opts) {
|
|
|
363
457
|
const check = await runChecks(pm, opts.cwd, checkOverrides);
|
|
364
458
|
if (check.ok) {
|
|
365
459
|
log("tier 2 (learned pattern): check passed — fixed with 0 tokens");
|
|
366
|
-
return tierResult(true,
|
|
460
|
+
return tierResult(true, t2.editedFiles, FixTier.RULE, true);
|
|
367
461
|
}
|
|
368
|
-
log("tier 2 (learned pattern): edit applied but check still failing — escalating");
|
|
369
|
-
|
|
370
|
-
editedFiles.add(f);
|
|
462
|
+
log("tier 2 (learned pattern): edit applied but check still failing — rolling back and escalating");
|
|
463
|
+
await rollbackTierEdits(opts.cwd, t2.editedFiles, preTierSnapshot);
|
|
371
464
|
}
|
|
372
465
|
// Tier 3: cached LLM fix for identical failure
|
|
373
466
|
const t3 = await tryCachedLlmFix(patternCtx, contextKey);
|
|
@@ -376,11 +469,10 @@ export async function runFixLoop(opts) {
|
|
|
376
469
|
const check = await runChecks(pm, opts.cwd, checkOverrides);
|
|
377
470
|
if (check.ok) {
|
|
378
471
|
log("tier 3 (cached fix): check passed — fixed with 0 tokens");
|
|
379
|
-
return tierResult(true,
|
|
472
|
+
return tierResult(true, t3.editedFiles, FixTier.CACHED, true);
|
|
380
473
|
}
|
|
381
|
-
log("tier 3 (cached fix): didn't resolve in this project — escalating to LLM");
|
|
382
|
-
|
|
383
|
-
editedFiles.add(f);
|
|
474
|
+
log("tier 3 (cached fix): didn't resolve in this project — rolling back and escalating to LLM");
|
|
475
|
+
await rollbackTierEdits(opts.cwd, t3.editedFiles, preTierSnapshot);
|
|
384
476
|
}
|
|
385
477
|
}
|
|
386
478
|
}
|
|
@@ -415,6 +507,41 @@ Fix the source code so build and tests pass. Call run_check to verify before fin
|
|
|
415
507
|
let budgetExceeded = false;
|
|
416
508
|
let round = 0;
|
|
417
509
|
const llmEditedFiles = new Set();
|
|
510
|
+
// ── Enhanced verification feedback ─────────────────────────────────────
|
|
511
|
+
// Verifiers that run after build/tests pass (type check, API surface) used
|
|
512
|
+
// to be one-way notifications to the user. Now their actionable findings go
|
|
513
|
+
// back into the conversation so the agent can fix them itself. Two guards
|
|
514
|
+
// keep this bounded: the loop still lives inside maxRounds/maxTokens, and an
|
|
515
|
+
// identical report twice means the agent provably can't fix it — stop.
|
|
516
|
+
const seenReports = new Set();
|
|
517
|
+
let enhancedRounds = 0;
|
|
518
|
+
let enhancedStuck = false;
|
|
519
|
+
/** Returns "continue" when verifier findings were fed back for another round. */
|
|
520
|
+
async function enhancedFeedback(currentRound) {
|
|
521
|
+
if (!opts.verifyEnhanced)
|
|
522
|
+
return "stop";
|
|
523
|
+
const v = await opts.verifyEnhanced(opts.cwd, [...llmEditedFiles]);
|
|
524
|
+
if (!v.hasIssues)
|
|
525
|
+
return "stop";
|
|
526
|
+
const hash = createHash("sha256").update(v.report).digest("hex");
|
|
527
|
+
if (seenReports.has(hash)) {
|
|
528
|
+
enhancedStuck = true;
|
|
529
|
+
log(`round ${currentRound}: enhanced verification reports the identical problem again (${v.summary}) — agent can't fix it, flagging for review`);
|
|
530
|
+
return "stop";
|
|
531
|
+
}
|
|
532
|
+
if (currentRound >= opts.maxRounds) {
|
|
533
|
+
// No rounds left — end here; the post-loop checks will flag the review.
|
|
534
|
+
return "stop";
|
|
535
|
+
}
|
|
536
|
+
seenReports.add(hash);
|
|
537
|
+
enhancedRounds++;
|
|
538
|
+
log(`round ${currentRound}: enhanced verification — ${v.summary}; feeding back for another round`);
|
|
539
|
+
messages.push({
|
|
540
|
+
role: "user",
|
|
541
|
+
text: `Build and tests pass, but additional verification found problems that must be fixed:\n\n${v.report}\n\nFix these without breaking the build/tests.`,
|
|
542
|
+
});
|
|
543
|
+
return "continue";
|
|
544
|
+
}
|
|
418
545
|
for (round = 1; round <= opts.maxRounds; round++) {
|
|
419
546
|
const remaining = opts.maxRounds - round + 1;
|
|
420
547
|
const system = remaining <= 2 ? `${SYSTEM}\n\nYou have ${remaining} round(s) left. Wrap up and verify now.` : SYSTEM;
|
|
@@ -430,13 +557,16 @@ Fix the source code so build and tests pass. Call run_check to verify before fin
|
|
|
430
557
|
if (turn.toolCalls.length === 0) {
|
|
431
558
|
// Model stopped without a tool call — verify once and finish.
|
|
432
559
|
const r = await runChecks(pm, opts.cwd, checkOverrides);
|
|
560
|
+
if (r.ok && (await enhancedFeedback(round)) === "continue") {
|
|
561
|
+
continue;
|
|
562
|
+
}
|
|
433
563
|
fixed = r.ok;
|
|
434
564
|
log(`round ${round}: agent stopped, final check ${r.ok ? "PASS" : "FAIL"}`);
|
|
435
565
|
break;
|
|
436
566
|
}
|
|
437
567
|
const results = [];
|
|
438
568
|
for (const tc of turn.toolCalls) {
|
|
439
|
-
if (tc.name === "write_file") {
|
|
569
|
+
if (tc.name === "write_file" || tc.name === "edit_file") {
|
|
440
570
|
llmEditedFiles.add(tc.input.path);
|
|
441
571
|
}
|
|
442
572
|
let out;
|
|
@@ -457,13 +587,17 @@ Fix the source code so build and tests pass. Call run_check to verify before fin
|
|
|
457
587
|
}
|
|
458
588
|
messages.push({ role: "tool", results });
|
|
459
589
|
if (fixed) {
|
|
590
|
+
if ((await enhancedFeedback(round)) === "continue") {
|
|
591
|
+
fixed = false;
|
|
592
|
+
continue;
|
|
593
|
+
}
|
|
460
594
|
log(`round ${round}: check passed — fixed`);
|
|
461
595
|
break;
|
|
462
596
|
}
|
|
463
597
|
}
|
|
464
598
|
// Learn from a successful LLM fix so the next identical failure is free.
|
|
465
599
|
if (fixed && !opts.noCache) {
|
|
466
|
-
const allEdited = [...
|
|
600
|
+
const allEdited = [...llmEditedFiles];
|
|
467
601
|
await learnFromSuccessfulFix({
|
|
468
602
|
cwd: opts.cwd,
|
|
469
603
|
packageName: primaryDep,
|
|
@@ -481,9 +615,11 @@ Fix the source code so build and tests pass. Call run_check to verify before fin
|
|
|
481
615
|
rounds: Math.min(round, opts.maxRounds),
|
|
482
616
|
unverifiable: false,
|
|
483
617
|
usage,
|
|
484
|
-
editedFiles: [...
|
|
618
|
+
editedFiles: [...llmEditedFiles],
|
|
485
619
|
budgetExceeded,
|
|
486
620
|
fixedByTier: fixed ? FixTier.LLM : undefined,
|
|
621
|
+
enhancedRounds,
|
|
622
|
+
enhancedStuck: enhancedStuck || undefined,
|
|
487
623
|
};
|
|
488
624
|
}
|
|
489
625
|
function tierResult(fixed, editedFiles, tier, cacheHit = false) {
|
|
@@ -496,6 +632,46 @@ function tierResult(fixed, editedFiles, tier, cacheHit = false) {
|
|
|
496
632
|
budgetExceeded: false,
|
|
497
633
|
fixedByTier: tier,
|
|
498
634
|
cacheHit,
|
|
635
|
+
enhancedRounds: 0,
|
|
499
636
|
};
|
|
500
637
|
}
|
|
638
|
+
/**
|
|
639
|
+
* Snapshot the current contents of the given candidate files (those that
|
|
640
|
+
* exist) so a failed free-tier rewrite can be rolled back instead of
|
|
641
|
+
* leaving half-broken code for the next tier to trip over.
|
|
642
|
+
*/
|
|
643
|
+
async function snapshotFiles(cwd, files) {
|
|
644
|
+
const snap = new Map();
|
|
645
|
+
for (const f of files) {
|
|
646
|
+
try {
|
|
647
|
+
const abs = join(cwd, f);
|
|
648
|
+
if (!(await stat(abs)).isFile())
|
|
649
|
+
continue;
|
|
650
|
+
snap.set(f, await readFile(abs, "utf8"));
|
|
651
|
+
}
|
|
652
|
+
catch {
|
|
653
|
+
// unreadable — nothing to snapshot
|
|
654
|
+
}
|
|
655
|
+
}
|
|
656
|
+
return snap;
|
|
657
|
+
}
|
|
658
|
+
/**
|
|
659
|
+
* Restore tier-edited files to their pre-tier contents; files the tier
|
|
660
|
+
* created (not in the snapshot) are removed. Best-effort.
|
|
661
|
+
*/
|
|
662
|
+
async function rollbackTierEdits(cwd, editedFiles, snapshot) {
|
|
663
|
+
for (const f of editedFiles) {
|
|
664
|
+
const abs = join(cwd, f);
|
|
665
|
+
try {
|
|
666
|
+
const prev = snapshot.get(f);
|
|
667
|
+
if (prev === undefined)
|
|
668
|
+
await rm(abs, { force: true });
|
|
669
|
+
else
|
|
670
|
+
await writeFile(abs, prev, "utf8");
|
|
671
|
+
}
|
|
672
|
+
catch {
|
|
673
|
+
// best effort — the git branch is the outer safety net
|
|
674
|
+
}
|
|
675
|
+
}
|
|
676
|
+
}
|
|
501
677
|
//# sourceMappingURL=fixer.js.map
|
package/dist/agent/fixer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fixer.js","sourceRoot":"","sources":["../../src/agent/fixer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fixer.js","sourceRoot":"","sources":["../../src/agent/fixer.ts"],"names":[],"mappings":"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"}
|