@almightygpt/core 0.4.0 → 0.5.1
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/dist/adapters/claude.d.ts +1 -1
- package/dist/adapters/claude.d.ts.map +1 -1
- package/dist/adapters/claude.js.map +1 -1
- package/dist/adapters/gemini.d.ts +1 -1
- package/dist/adapters/gemini.d.ts.map +1 -1
- package/dist/adapters/gemini.js.map +1 -1
- package/dist/adapters/mock.d.ts +1 -0
- package/dist/adapters/mock.d.ts.map +1 -1
- package/dist/adapters/mock.js +1 -0
- package/dist/adapters/mock.js.map +1 -1
- package/dist/adapters/openai.d.ts +1 -1
- package/dist/adapters/openai.d.ts.map +1 -1
- package/dist/adapters/openai.js.map +1 -1
- package/dist/adapters/types.d.ts +8 -0
- package/dist/adapters/types.d.ts.map +1 -1
- package/dist/adapters/types.js.map +1 -1
- package/dist/git/status.d.ts.map +1 -1
- package/dist/git/status.js +18 -5
- package/dist/git/status.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/review/diff-filter.d.ts +37 -0
- package/dist/review/diff-filter.d.ts.map +1 -0
- package/dist/review/diff-filter.js +144 -0
- package/dist/review/diff-filter.js.map +1 -0
- package/dist/review/run-diff-review.d.ts.map +1 -1
- package/dist/review/run-diff-review.js +30 -8
- package/dist/review/run-diff-review.js.map +1 -1
- package/dist/review/run-worker-reviewer.d.ts.map +1 -1
- package/dist/review/run-worker-reviewer.js +31 -10
- package/dist/review/run-worker-reviewer.js.map +1 -1
- package/dist/review/write.d.ts +15 -0
- package/dist/review/write.d.ts.map +1 -1
- package/dist/review/write.js +29 -0
- package/dist/review/write.js.map +1 -1
- package/package.json +2 -1
- package/src/adapters/claude.ts +1 -1
- package/src/adapters/gemini.ts +1 -1
- package/src/adapters/mock.ts +1 -0
- package/src/adapters/openai.ts +1 -1
- package/src/adapters/types.ts +8 -0
- package/src/git/status.ts +21 -5
- package/src/index.ts +3 -1
- package/src/review/diff-filter.ts +190 -0
- package/src/review/run-diff-review.ts +40 -8
- package/src/review/run-worker-reviewer.ts +41 -10
- package/src/review/write.ts +42 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-diff-review.js","sourceRoot":"","sources":["../../src/review/run-diff-review.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAgB,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EACL,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,cAAc,CAAC;AACtB,OAAO,
|
|
1
|
+
{"version":3,"file":"run-diff-review.js","sourceRoot":"","sources":["../../src/review/run-diff-review.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-worker-reviewer.d.ts","sourceRoot":"","sources":["../../src/review/run-worker-reviewer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAoBH,OAAO,KAAK,EAAE,YAAY,EAAe,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"run-worker-reviewer.d.ts","sourceRoot":"","sources":["../../src/review/run-worker-reviewer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAoBH,OAAO,KAAK,EAAE,YAAY,EAAe,MAAM,kBAAkB,CAAC;AAelE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEtD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,wCAAwC;IACxC,OAAO,CAAC,EAAE,kBAAkB,CAAC;CAC9B;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1D,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5D,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,MAAM,EAAE;QACN,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,qBAAqB,GAC1B,OAAO,CAAC,oBAAoB,CAAC,CAia/B"}
|
|
@@ -34,9 +34,10 @@ import { redactSecrets } from "../context/redact.js";
|
|
|
34
34
|
import { buildContextManifest, writeContextManifest, } from "../context/manifest.js";
|
|
35
35
|
import { collectGitContext, createRunFolder, writeAgentOutput, writeRunInput, writeRunMetadata, } from "../runs/folder.js";
|
|
36
36
|
import { collectGitDiff } from "./diff.js";
|
|
37
|
+
import { filterDiffByIgnoreLists } from "./diff-filter.js";
|
|
37
38
|
import { assembleMemory } from "./memory.js";
|
|
38
39
|
import { buildReviewerSystemFraming, buildReviewerOfWorkerUserMessage, buildWorkerSystemFraming, buildWorkerUserMessage, } from "./prompts.js";
|
|
39
|
-
import { writeHumanReviewFile } from "./write.js";
|
|
40
|
+
import { preflightReviewFileCollision, writeHumanReviewFile, } from "./write.js";
|
|
40
41
|
import { BudgetTracker, BudgetExceededError } from "./budget.js";
|
|
41
42
|
export async function runWorkerReviewerReview(opts) {
|
|
42
43
|
const emit = opts.onEvent ?? (() => { });
|
|
@@ -76,6 +77,10 @@ export async function runWorkerReviewerReview(opts) {
|
|
|
76
77
|
const sameProviderWarning = workerCfg.provider === reviewerCfg.provider
|
|
77
78
|
? `Worker and Reviewer are both ${workerCfg.provider}. Cross-vendor pairing catches more issues.`
|
|
78
79
|
: undefined;
|
|
80
|
+
// Preflight the review-file collision BEFORE Worker or Reviewer fires.
|
|
81
|
+
// (Codex review v0.5: previously the check ran post-adapter, burning two
|
|
82
|
+
// adapter calls of API money on duplicate-topic runs.)
|
|
83
|
+
await preflightReviewFileCollision(opts.repoRoot, config.reviewsDir, opts.topic, opts.force ?? false);
|
|
79
84
|
const runFolder = await createRunFolder({
|
|
80
85
|
repoRoot: opts.repoRoot,
|
|
81
86
|
runsDir: config.runsDir,
|
|
@@ -125,9 +130,18 @@ export async function runWorkerReviewerReview(opts) {
|
|
|
125
130
|
if (diffResult.empty && !opts.range) {
|
|
126
131
|
throw new Error("No uncommitted changes. Stage changes, pick a range with --range, or commit something to review.");
|
|
127
132
|
}
|
|
133
|
+
// Codex review v0.5 P1 #2: filter ignored files BEFORE redaction and
|
|
134
|
+
// BEFORE either adapter call. Honors .almightyignore + .gitignore +
|
|
135
|
+
// config.context.exclude.
|
|
136
|
+
const filtered = await filterDiffByIgnoreLists({
|
|
137
|
+
repoRoot: opts.repoRoot,
|
|
138
|
+
diffText: diffResult.diff,
|
|
139
|
+
files: diffResult.files,
|
|
140
|
+
configExclude: config.context.exclude,
|
|
141
|
+
});
|
|
128
142
|
const redaction = config.security.redactSecrets
|
|
129
|
-
? redactSecrets(
|
|
130
|
-
: { text:
|
|
143
|
+
? redactSecrets(filtered.filteredDiff)
|
|
144
|
+
: { text: filtered.filteredDiff, redactions: [], totalCount: 0 };
|
|
131
145
|
emit({
|
|
132
146
|
type: "redaction_complete",
|
|
133
147
|
totalCount: redaction.totalCount,
|
|
@@ -135,8 +149,12 @@ export async function runWorkerReviewerReview(opts) {
|
|
|
135
149
|
});
|
|
136
150
|
const manifest = buildContextManifest({
|
|
137
151
|
inputSource: opts.range ? "diff-range" : "diff",
|
|
138
|
-
filesIncluded:
|
|
139
|
-
filesSkipped:
|
|
152
|
+
filesIncluded: filtered.filesIncluded.map((p) => ({ path: p, bytes: 0 })),
|
|
153
|
+
filesSkipped: filtered.filesSkipped.map((s) => ({
|
|
154
|
+
path: s.path,
|
|
155
|
+
bytes: 0,
|
|
156
|
+
skippedReason: s.reason,
|
|
157
|
+
})),
|
|
140
158
|
diffText: redaction.text,
|
|
141
159
|
redaction: {
|
|
142
160
|
enabled: config.security.redactSecrets,
|
|
@@ -153,10 +171,13 @@ export async function runWorkerReviewerReview(opts) {
|
|
|
153
171
|
const workerUser = buildWorkerUserMessage({
|
|
154
172
|
topic: opts.topic,
|
|
155
173
|
diff: redaction.text,
|
|
156
|
-
files:
|
|
174
|
+
files: filtered.filesIncluded,
|
|
157
175
|
});
|
|
176
|
+
// Codex review v0.5 P2 #5: use the actual adapter's default model
|
|
177
|
+
// for the preflight estimate so a cheap Gemini Worker isn't blocked
|
|
178
|
+
// by an OpenAI cost estimate.
|
|
158
179
|
budget.preflightCheck({
|
|
159
|
-
model:
|
|
180
|
+
model: workerAdapter.defaultModel,
|
|
160
181
|
estimatedTokensIn: Math.ceil((workerSystem.length + workerUser.length) / 4),
|
|
161
182
|
maxOutputTokens: 4096,
|
|
162
183
|
});
|
|
@@ -198,13 +219,13 @@ export async function runWorkerReviewerReview(opts) {
|
|
|
198
219
|
const reviewerUser = buildReviewerOfWorkerUserMessage({
|
|
199
220
|
topic: opts.topic,
|
|
200
221
|
diff: redaction.text,
|
|
201
|
-
files:
|
|
222
|
+
files: filtered.filesIncluded,
|
|
202
223
|
workerOutput: workerOut.content,
|
|
203
224
|
workerAgent: workerName,
|
|
204
225
|
workerProvider: workerAdapter.provider,
|
|
205
226
|
});
|
|
206
227
|
budget.preflightCheck({
|
|
207
|
-
model:
|
|
228
|
+
model: reviewerAdapter.defaultModel,
|
|
208
229
|
estimatedTokensIn: Math.ceil((reviewerSystem.length + reviewerUser.length) / 4),
|
|
209
230
|
maxOutputTokens: 4096,
|
|
210
231
|
});
|
|
@@ -341,7 +362,7 @@ export async function runWorkerReviewerReview(opts) {
|
|
|
341
362
|
},
|
|
342
363
|
metrics,
|
|
343
364
|
totals,
|
|
344
|
-
filesReviewed:
|
|
365
|
+
filesReviewed: filtered.filesIncluded,
|
|
345
366
|
redactionsTotal: redaction.totalCount,
|
|
346
367
|
memoryMissing: [
|
|
347
368
|
...new Set([...workerMemory.missing, ...reviewerMemory.missing]),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-worker-reviewer.js","sourceRoot":"","sources":["../../src/review/run-worker-reviewer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run-worker-reviewer.js","sourceRoot":"","sources":["../../src/review/run-worker-reviewer.ts"],"names":[],"mappings":"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"}
|
package/dist/review/write.d.ts
CHANGED
|
@@ -41,4 +41,19 @@ export interface WrittenReviewFile {
|
|
|
41
41
|
bytes: number;
|
|
42
42
|
}
|
|
43
43
|
export declare function writeHumanReviewFile(opts: WriteReviewFileOptions): Promise<WrittenReviewFile>;
|
|
44
|
+
/**
|
|
45
|
+
* Compute the review file path for a topic without writing anything. Used
|
|
46
|
+
* by the review pipelines to **preflight** collisions *before* any paid
|
|
47
|
+
* adapter call. Same sanitization rules as writeHumanReviewFile.
|
|
48
|
+
*/
|
|
49
|
+
export declare function reviewFilePathFor(reviewsDir: string, topic: string): string;
|
|
50
|
+
/**
|
|
51
|
+
* Preflight check: throws ReviewFileExistsError if the topic's review file
|
|
52
|
+
* already exists and `force` isn't set. Surfaces the error BEFORE any
|
|
53
|
+
* adapter is invoked so the user doesn't spend API money discovering an
|
|
54
|
+
* easily-avoidable collision.
|
|
55
|
+
*
|
|
56
|
+
* Returns the (relative) path so the caller doesn't have to recompute it.
|
|
57
|
+
*/
|
|
58
|
+
export declare function preflightReviewFileCollision(repoRoot: string, reviewsDir: string, topic: string, force?: boolean): Promise<string>;
|
|
44
59
|
//# sourceMappingURL=write.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write.d.ts","sourceRoot":"","sources":["../../src/review/write.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAOH,qBAAa,qBAAsB,SAAQ,KAAK;aAED,IAAI,EAAE,MAAM;IADzD,SAAkB,IAAI,2BAA2B;gBACrC,OAAO,EAAE,MAAM,EAAkB,IAAI,EAAE,MAAM;CAG1D;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,OAAO,EAAE;QACP,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wEAAwE;IACxE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,sBAAsB,GAC3B,OAAO,CAAC,iBAAiB,CAAC,CAgC5B"}
|
|
1
|
+
{"version":3,"file":"write.d.ts","sourceRoot":"","sources":["../../src/review/write.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAOH,qBAAa,qBAAsB,SAAQ,KAAK;aAED,IAAI,EAAE,MAAM;IADzD,SAAkB,IAAI,2BAA2B;gBACrC,OAAO,EAAE,MAAM,EAAkB,IAAI,EAAE,MAAM;CAG1D;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,OAAO,EAAE;QACP,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wEAAwE;IACxE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,sBAAsB,GAC3B,OAAO,CAAC,iBAAiB,CAAC,CAgC5B;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,GACZ,MAAM,CAER;AAED;;;;;;;GAOG;AACH,wBAAsB,4BAA4B,CAChD,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,KAAK,UAAQ,GACZ,OAAO,CAAC,MAAM,CAAC,CAejB"}
|
package/dist/review/write.js
CHANGED
|
@@ -46,6 +46,35 @@ export async function writeHumanReviewFile(opts) {
|
|
|
46
46
|
await writeFile(absPath, content, "utf8");
|
|
47
47
|
return { path: relPath, bytes: content.length };
|
|
48
48
|
}
|
|
49
|
+
/**
|
|
50
|
+
* Compute the review file path for a topic without writing anything. Used
|
|
51
|
+
* by the review pipelines to **preflight** collisions *before* any paid
|
|
52
|
+
* adapter call. Same sanitization rules as writeHumanReviewFile.
|
|
53
|
+
*/
|
|
54
|
+
export function reviewFilePathFor(reviewsDir, topic) {
|
|
55
|
+
return join(reviewsDir, `${sanitizeTopic(topic)}.md`);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Preflight check: throws ReviewFileExistsError if the topic's review file
|
|
59
|
+
* already exists and `force` isn't set. Surfaces the error BEFORE any
|
|
60
|
+
* adapter is invoked so the user doesn't spend API money discovering an
|
|
61
|
+
* easily-avoidable collision.
|
|
62
|
+
*
|
|
63
|
+
* Returns the (relative) path so the caller doesn't have to recompute it.
|
|
64
|
+
*/
|
|
65
|
+
export async function preflightReviewFileCollision(repoRoot, reviewsDir, topic, force = false) {
|
|
66
|
+
const relPath = reviewFilePathFor(reviewsDir, topic);
|
|
67
|
+
const absPath = join(repoRoot, relPath);
|
|
68
|
+
if (existsSync(absPath) && !force) {
|
|
69
|
+
// Also run the git-status check to give a richer dirty-file message
|
|
70
|
+
// when applicable; falls through to the existence error below.
|
|
71
|
+
await assertSafeToWrite(repoRoot, relPath, false);
|
|
72
|
+
throw new ReviewFileExistsError(`Refusing to overwrite ${relPath}. Pass --force to overwrite (the ` +
|
|
73
|
+
`previous version remains in git history). Alternatively pick a ` +
|
|
74
|
+
`different --topic to keep both reviews.`, relPath);
|
|
75
|
+
}
|
|
76
|
+
return relPath;
|
|
77
|
+
}
|
|
49
78
|
function sanitizeTopic(topic) {
|
|
50
79
|
// Allow letters, digits, dot, dash, underscore. Replace everything else
|
|
51
80
|
// with a single dash. Trim leading/trailing dashes. Lowercase.
|
package/dist/review/write.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write.js","sourceRoot":"","sources":["../../src/review/write.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAED;IAD3B,IAAI,GAAG,uBAAuB,CAAC;IACjD,YAAY,OAAe,EAAkB,IAAY;QACvD,KAAK,CAAC,OAAO,CAAC,CAAC;QAD4B,SAAI,GAAJ,IAAI,CAAQ;IAEzD,CAAC;CACF;AA8BD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,IAA4B;IAE5B,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,SAAS,KAAK,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAE7C,uEAAuE;IACvE,yEAAyE;IACzE,0EAA0E;IAC1E,0EAA0E;IAC1E,0DAA0D;IAC1D,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACvC,oEAAoE;QACpE,uEAAuE;QACvE,MAAM,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACvD,MAAM,IAAI,qBAAqB,CAC7B,yBAAyB,OAAO,mCAAmC;YACjE,iEAAiE;YACjE,yCAAyC,EAC3C,OAAO,CACR,CAAC;IACJ,CAAC;IAED,0EAA0E;IAC1E,0EAA0E;IAC1E,MAAM,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAE5D,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEnD,MAAM,OAAO,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAE1C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;AAClD,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,wEAAwE;IACxE,+DAA+D;IAC/D,MAAM,OAAO,GAAG,KAAK;SAClB,IAAI,EAAE;SACN,WAAW,EAAE;SACb,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC;SAC9B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAC3B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,UAAU,KAAK,wDAAwD;YACrE,sCAAsC,CACzC,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,oBAAoB,CAAC,IAA4B;IACxD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAG;QAClB,aAAa,IAAI,CAAC,KAAK,EAAE;QACzB,EAAE;QACF,iBAAiB,IAAI,CAAC,YAAY,OAAO,IAAI,CAAC,gBAAgB,KAAK,IAAI,CAAC,SAAS,KAAK;QACtF,gBAAgB,GAAG,IAAI;QACvB,aAAa,IAAI,CAAC,OAAO,CAAC,QAAQ,SAAS,IAAI,CAAC,OAAO,CAAC,SAAS,QAAQ;QACzE,YAAY,IAAI,QAAQ;QACxB,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;QAC7D,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,mBAAmB,IAAI,CAAC,SAAS,MAAM,CAAC,CAAC,CAAC,EAAE;QAC7D,EAAE;KACH,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAEhE,MAAM,QAAQ,GAAa,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAEpD,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,QAAQ,CAAC,IAAI,CACX;YACE,kCAAkC;YAClC,GAAG;YACH,KAAK,IAAI,CAAC,cAAc,EAAE;YAC1B,GAAG;YACH,2DAA2D;YAC3D,EAAE;SACH,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;IACJ,CAAC;IAED,sEAAsE;IACtE,4DAA4D;IAC5D,IAAI,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IACjC,SAAS,GAAG,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAChD,SAAS,GAAG,yBAAyB,CAAC,SAAS,CAAC,CAAC;IACjD,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAEzB,uEAAuE;IACvE,2DAA2D;IAC3D,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,QAAQ,CAAC,IAAI,CACX;YACE,EAAE;YACF,0BAA0B;YAC1B,EAAE;YACF,mBAAmB,IAAI,CAAC,SAAS,KAAK;YACtC,sCAAsC,IAAI,CAAC,SAAS,sBAAsB;YAC1E,8BAA8B,IAAI,CAAC,SAAS,wBAAwB;YACpE,yBAAyB,IAAI,CAAC,SAAS,0BAA0B;YACjE,yBAAyB,IAAI,CAAC,SAAS,aAAa;YACpD,qBAAqB,IAAI,CAAC,SAAS,aAAa;SACjD,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;IACJ,CAAC;IAED,QAAQ,CAAC,IAAI,CACX;QACE,EAAE;QACF,KAAK;QACL,+HAA+H;KAChI,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;IAEF,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED;;;;GAIG;AACH,SAAS,YAAY,CAAC,IAAY,EAAE,KAAa;IAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,+DAA+D;IAC/D,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;QACvB,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,uDAAuD;YACvD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,KAAK,EAAE;gBAAE,KAAK,CAAC,KAAK,EAAE,CAAC;YAC/D,SAAS;QACX,CAAC;QACD,MAAM;IACR,CAAC;IACD,oEAAoE;IACpE,4EAA4E;IAC5E,KAAK,KAAK,CAAC;IACX,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,yBAAyB,CAAC,IAAY;IAC7C,MAAM,cAAc,GAClB,8FAA8F,CAAC;IACjG,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;AACpD,CAAC"}
|
|
1
|
+
{"version":3,"file":"write.js","sourceRoot":"","sources":["../../src/review/write.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@almightygpt/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.1",
|
|
4
4
|
"description": "Core orchestrator, adapters, config, runs, and review logic for AlmightyGPT",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -26,6 +26,7 @@
|
|
|
26
26
|
"@anthropic-ai/sdk": "^0.30.0",
|
|
27
27
|
"@google/generative-ai": "^0.21.0",
|
|
28
28
|
"execa": "^9.3.0",
|
|
29
|
+
"ignore": "^6.0.2",
|
|
29
30
|
"openai": "^4.52.0",
|
|
30
31
|
"p-limit": "^5.0.0",
|
|
31
32
|
"yaml": "^2.4.0",
|
package/src/adapters/claude.ts
CHANGED
|
@@ -39,7 +39,7 @@ export class ClaudeAdapter implements Adapter {
|
|
|
39
39
|
readonly provider = "anthropic";
|
|
40
40
|
|
|
41
41
|
private readonly client: Anthropic | null;
|
|
42
|
-
|
|
42
|
+
readonly defaultModel: string;
|
|
43
43
|
private readonly defaultMaxOutputTokens: number;
|
|
44
44
|
private readonly defaultTimeoutMs: number;
|
|
45
45
|
|
package/src/adapters/gemini.ts
CHANGED
|
@@ -59,7 +59,7 @@ export class GeminiAdapter implements Adapter {
|
|
|
59
59
|
readonly provider = "google";
|
|
60
60
|
|
|
61
61
|
private readonly client: GoogleGenerativeAI | null;
|
|
62
|
-
|
|
62
|
+
readonly defaultModel: string;
|
|
63
63
|
private readonly defaultMaxOutputTokens: number;
|
|
64
64
|
private readonly defaultTimeoutMs: number;
|
|
65
65
|
|
package/src/adapters/mock.ts
CHANGED
|
@@ -12,6 +12,7 @@ import type { Adapter, AdapterInput, AdapterOutput } from "./types.js";
|
|
|
12
12
|
export class MockAdapter implements Adapter {
|
|
13
13
|
readonly name = "mock";
|
|
14
14
|
readonly provider = "mock";
|
|
15
|
+
readonly defaultModel = "mock-1";
|
|
15
16
|
|
|
16
17
|
constructor(
|
|
17
18
|
private readonly opts: {
|
package/src/adapters/openai.ts
CHANGED
|
@@ -43,7 +43,7 @@ export class OpenAIAdapter implements Adapter {
|
|
|
43
43
|
readonly provider = "openai";
|
|
44
44
|
|
|
45
45
|
private readonly client: OpenAI | null;
|
|
46
|
-
|
|
46
|
+
readonly defaultModel: string;
|
|
47
47
|
private readonly defaultMaxOutputTokens: number;
|
|
48
48
|
private readonly defaultTimeoutMs: number;
|
|
49
49
|
|
package/src/adapters/types.ts
CHANGED
|
@@ -61,6 +61,14 @@ export interface Adapter {
|
|
|
61
61
|
readonly name: string;
|
|
62
62
|
/** Underlying provider family (e.g. "openai", "anthropic", "mock"). */
|
|
63
63
|
readonly provider: string;
|
|
64
|
+
/**
|
|
65
|
+
* The model this adapter will call by default, exposed so the
|
|
66
|
+
* orchestrator can pass it to `BudgetTracker.preflightCheck` instead of
|
|
67
|
+
* the previous hardcoded "gpt-4o". (Codex review v0.5 P2 #5.) Adapters
|
|
68
|
+
* with no meaningful default — like Mock — return an opaque string and
|
|
69
|
+
* the budget tracker falls back to its conservative pricing.
|
|
70
|
+
*/
|
|
71
|
+
readonly defaultModel: string;
|
|
64
72
|
/** True if credentials are available and the adapter can be invoked. */
|
|
65
73
|
isAvailable(): Promise<boolean>;
|
|
66
74
|
/** Execute one model call. */
|
package/src/git/status.ts
CHANGED
|
@@ -40,7 +40,7 @@ export async function checkGitStatus(
|
|
|
40
40
|
const normalized = relativePath.replace(/\\/g, "/");
|
|
41
41
|
|
|
42
42
|
try {
|
|
43
|
-
const { stdout } = await execa(
|
|
43
|
+
const { stdout, stderr, exitCode } = await execa(
|
|
44
44
|
"git",
|
|
45
45
|
["status", "--short", "--", normalized],
|
|
46
46
|
{
|
|
@@ -50,20 +50,36 @@ export async function checkGitStatus(
|
|
|
50
50
|
},
|
|
51
51
|
);
|
|
52
52
|
|
|
53
|
+
// Codex review v0.5 P2 #4: previously we ignored exitCode and treated
|
|
54
|
+
// every empty-stdout result as "clean", which silently includes the
|
|
55
|
+
// case where we're not in a git repo at all. Now we look at exitCode
|
|
56
|
+
// and stderr to distinguish "no changes" (exit 0, stdout empty) from
|
|
57
|
+
// "not a git repo" (exit 128, stderr matches).
|
|
58
|
+
if (exitCode !== 0) {
|
|
59
|
+
const stderrText = (stderr ?? "").toString();
|
|
60
|
+
if (
|
|
61
|
+
stderrText.includes("not a git repository") ||
|
|
62
|
+
stderrText.includes("fatal: not a git repository")
|
|
63
|
+
) {
|
|
64
|
+
return { dirty: false, notInGitRepo: true };
|
|
65
|
+
}
|
|
66
|
+
// Some other git failure (corrupt index, etc.) — treat conservatively
|
|
67
|
+
// as no-protection so the caller can decide. Most callers should
|
|
68
|
+
// refuse writes in this case.
|
|
69
|
+
return { dirty: false, notInGitRepo: true };
|
|
70
|
+
}
|
|
71
|
+
|
|
53
72
|
if (stdout.trim().length === 0) {
|
|
54
73
|
return { dirty: false };
|
|
55
74
|
}
|
|
56
75
|
|
|
57
76
|
return { dirty: true, porcelain: stdout };
|
|
58
77
|
} catch (err) {
|
|
59
|
-
// execa throws if git is missing. Surface as not-in-repo
|
|
60
|
-
// proceed cautiously rather than crash.
|
|
78
|
+
// execa throws if git is missing entirely. Surface as not-in-repo.
|
|
61
79
|
const msg = err instanceof Error ? err.message : String(err);
|
|
62
80
|
if (msg.includes("ENOENT")) {
|
|
63
81
|
return { dirty: false, notInGitRepo: true };
|
|
64
82
|
}
|
|
65
|
-
// "not a git repository" returns non-zero but we used reject:false above,
|
|
66
|
-
// so this branch is rare. Still, treat unknown errors as no-protection.
|
|
67
83
|
return { dirty: false, notInGitRepo: true };
|
|
68
84
|
}
|
|
69
85
|
}
|
package/src/index.ts
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* - budget/ ✅ task #14 BudgetTracker + BudgetExceededError
|
|
14
14
|
*/
|
|
15
15
|
|
|
16
|
-
export const VERSION = "0.
|
|
16
|
+
export const VERSION = "0.5.1";
|
|
17
17
|
|
|
18
18
|
// Git safety primitives
|
|
19
19
|
export {
|
|
@@ -113,6 +113,8 @@ export { collectGitDiff, type DiffOptions, type DiffResult } from "./review/diff
|
|
|
113
113
|
export {
|
|
114
114
|
writeHumanReviewFile,
|
|
115
115
|
ReviewFileExistsError,
|
|
116
|
+
reviewFilePathFor,
|
|
117
|
+
preflightReviewFileCollision,
|
|
116
118
|
type WriteReviewFileOptions,
|
|
117
119
|
} from "./review/write.js";
|
|
118
120
|
export {
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Filter a unified git diff so files matching `.gitignore`,
|
|
3
|
+
* `.almightyignore`, or `config.context.exclude` never reach a provider.
|
|
4
|
+
*
|
|
5
|
+
* This is a stronger promise than redaction. Redaction is defense-in-depth
|
|
6
|
+
* on file *contents*; filtering removes whole files from the payload before
|
|
7
|
+
* the provider ever sees them.
|
|
8
|
+
*
|
|
9
|
+
* Codex review v0.5 flagged that the public docs and templates already
|
|
10
|
+
* promise this behavior — this module makes the implementation match.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
import { readFile } from "node:fs/promises";
|
|
14
|
+
import { existsSync } from "node:fs";
|
|
15
|
+
import { join } from "node:path";
|
|
16
|
+
// `ignore` is a CJS package; under NodeNext module resolution TypeScript
|
|
17
|
+
// won't synth a default export even with esModuleInterop. The package
|
|
18
|
+
// exports `function ignore(...)` as the module itself, plus
|
|
19
|
+
// `module.exports.default = ignore`. Use a runtime require to access the
|
|
20
|
+
// callable form without fighting the type system.
|
|
21
|
+
import { createRequire } from "node:module";
|
|
22
|
+
import type { Ignore } from "ignore";
|
|
23
|
+
const require = createRequire(import.meta.url);
|
|
24
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-explicit-any
|
|
25
|
+
const ignore = require("ignore") as (options?: Record<string, unknown>) => Ignore;
|
|
26
|
+
|
|
27
|
+
export interface DiffFilterOptions {
|
|
28
|
+
/** Repo root containing .gitignore and .almightyignore. */
|
|
29
|
+
repoRoot: string;
|
|
30
|
+
/** Raw unified diff text from `git diff`. */
|
|
31
|
+
diffText: string;
|
|
32
|
+
/** List of files touched by the diff (typically from collectGitDiff). */
|
|
33
|
+
files: string[];
|
|
34
|
+
/**
|
|
35
|
+
* Additional exclude globs from `config.context.exclude`. Gitignore
|
|
36
|
+
* syntax — see `ignore` package docs. Optional.
|
|
37
|
+
*/
|
|
38
|
+
configExclude?: string[];
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export interface DiffFilterResult {
|
|
42
|
+
/** Diff text with ignored files' sections removed. */
|
|
43
|
+
filteredDiff: string;
|
|
44
|
+
/** Files that survived filtering. */
|
|
45
|
+
filesIncluded: string[];
|
|
46
|
+
/** Files that were dropped, with a human-readable reason per file. */
|
|
47
|
+
filesSkipped: { path: string; reason: string }[];
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Build an Ignore matcher loaded from `.gitignore`, `.almightyignore`, and
|
|
52
|
+
* any config-level exclude globs. Missing files are silently skipped.
|
|
53
|
+
*
|
|
54
|
+
* Important nuance: `.gitignore` rules normally only apply to UNTRACKED
|
|
55
|
+
* files (tracked files in a diff exist because git is tracking them). For
|
|
56
|
+
* AlmightyGPT's purposes we want the conservative behavior — "if it
|
|
57
|
+
* matches gitignore, don't send it" — because secret-bearing tracked
|
|
58
|
+
* files (someone committed `.env` once) are exactly the case we're
|
|
59
|
+
* protecting against. So we apply both sets equally.
|
|
60
|
+
*/
|
|
61
|
+
async function buildIgnoreMatcher(
|
|
62
|
+
repoRoot: string,
|
|
63
|
+
configExclude: string[],
|
|
64
|
+
): Promise<{
|
|
65
|
+
matcher: Ignore;
|
|
66
|
+
sources: { name: string; loaded: boolean; rules: number }[];
|
|
67
|
+
}> {
|
|
68
|
+
const ig = ignore();
|
|
69
|
+
const sources: { name: string; loaded: boolean; rules: number }[] = [];
|
|
70
|
+
|
|
71
|
+
for (const file of [".gitignore", ".almightyignore"]) {
|
|
72
|
+
const path = join(repoRoot, file);
|
|
73
|
+
if (existsSync(path)) {
|
|
74
|
+
const text = await readFile(path, "utf8");
|
|
75
|
+
const lines = text.split("\n").filter((l) => l.trim() && !l.trim().startsWith("#"));
|
|
76
|
+
ig.add(text);
|
|
77
|
+
sources.push({ name: file, loaded: true, rules: lines.length });
|
|
78
|
+
} else {
|
|
79
|
+
sources.push({ name: file, loaded: false, rules: 0 });
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
if (configExclude.length > 0) {
|
|
84
|
+
ig.add(configExclude.join("\n"));
|
|
85
|
+
sources.push({
|
|
86
|
+
name: "config.context.exclude",
|
|
87
|
+
loaded: true,
|
|
88
|
+
rules: configExclude.length,
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
return { matcher: ig, sources };
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Parse a unified git diff into per-file sections. Each section starts
|
|
97
|
+
* with `diff --git a/<path> b/<path>` and runs until the next such header
|
|
98
|
+
* (or end of input).
|
|
99
|
+
*
|
|
100
|
+
* Returns an array of `{ path, section }` so each file's diff hunks can
|
|
101
|
+
* be filtered independently and then reassembled.
|
|
102
|
+
*/
|
|
103
|
+
function splitDiffByFile(
|
|
104
|
+
diffText: string,
|
|
105
|
+
): { path: string; section: string }[] {
|
|
106
|
+
if (!diffText.trim()) return [];
|
|
107
|
+
|
|
108
|
+
const out: { path: string; section: string }[] = [];
|
|
109
|
+
const lines = diffText.split("\n");
|
|
110
|
+
let current: { path: string; lines: string[] } | null = null;
|
|
111
|
+
|
|
112
|
+
const headerRe = /^diff --git a\/(.+?) b\/(.+?)$/;
|
|
113
|
+
|
|
114
|
+
for (const line of lines) {
|
|
115
|
+
const match = line.match(headerRe);
|
|
116
|
+
if (match) {
|
|
117
|
+
if (current) {
|
|
118
|
+
out.push({ path: current.path, section: current.lines.join("\n") });
|
|
119
|
+
}
|
|
120
|
+
// Prefer the "b/" path (post-image) since renames change it.
|
|
121
|
+
// For most diffs both paths match.
|
|
122
|
+
current = { path: match[2]!, lines: [line] };
|
|
123
|
+
} else if (current) {
|
|
124
|
+
current.lines.push(line);
|
|
125
|
+
}
|
|
126
|
+
// Lines before any header (rare; usually empty diff) are dropped.
|
|
127
|
+
}
|
|
128
|
+
if (current) {
|
|
129
|
+
out.push({ path: current.path, section: current.lines.join("\n") });
|
|
130
|
+
}
|
|
131
|
+
return out;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
export async function filterDiffByIgnoreLists(
|
|
135
|
+
opts: DiffFilterOptions,
|
|
136
|
+
): Promise<DiffFilterResult> {
|
|
137
|
+
const configExclude = opts.configExclude ?? [];
|
|
138
|
+
const { matcher } = await buildIgnoreMatcher(opts.repoRoot, configExclude);
|
|
139
|
+
|
|
140
|
+
// Parse the diff into per-file sections. If the diff is empty or has no
|
|
141
|
+
// file headers, nothing to filter — return as-is.
|
|
142
|
+
const sections = splitDiffByFile(opts.diffText);
|
|
143
|
+
|
|
144
|
+
if (sections.length === 0) {
|
|
145
|
+
return {
|
|
146
|
+
filteredDiff: opts.diffText,
|
|
147
|
+
filesIncluded: opts.files,
|
|
148
|
+
filesSkipped: [],
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
const includedSections: string[] = [];
|
|
153
|
+
const filesIncluded: string[] = [];
|
|
154
|
+
const filesSkipped: { path: string; reason: string }[] = [];
|
|
155
|
+
|
|
156
|
+
for (const { path, section } of sections) {
|
|
157
|
+
if (matcher.ignores(path)) {
|
|
158
|
+
filesSkipped.push({
|
|
159
|
+
path,
|
|
160
|
+
reason: "ignored by .almightyignore / .gitignore / config.context.exclude",
|
|
161
|
+
});
|
|
162
|
+
continue;
|
|
163
|
+
}
|
|
164
|
+
includedSections.push(section);
|
|
165
|
+
filesIncluded.push(path);
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
// Also reconcile the original `files` list: any path from collectGitDiff
|
|
169
|
+
// that isn't in the surviving sections is also skipped. Usually they
|
|
170
|
+
// match (collectGitDiff and splitDiffByFile use the same source) but
|
|
171
|
+
// they can diverge if collectGitDiff includes paths that have no diff
|
|
172
|
+
// hunks (e.g. permission-only changes).
|
|
173
|
+
const includedSet = new Set(filesIncluded);
|
|
174
|
+
for (const original of opts.files) {
|
|
175
|
+
if (!includedSet.has(original) && matcher.ignores(original)) {
|
|
176
|
+
if (!filesSkipped.some((s) => s.path === original)) {
|
|
177
|
+
filesSkipped.push({
|
|
178
|
+
path: original,
|
|
179
|
+
reason: "ignored by .almightyignore / .gitignore / config.context.exclude",
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
return {
|
|
186
|
+
filteredDiff: includedSections.join("\n"),
|
|
187
|
+
filesIncluded,
|
|
188
|
+
filesSkipped,
|
|
189
|
+
};
|
|
190
|
+
}
|