@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
|
@@ -21,7 +21,7 @@ export declare class ClaudeAdapter implements Adapter {
|
|
|
21
21
|
readonly name: string;
|
|
22
22
|
readonly provider = "anthropic";
|
|
23
23
|
private readonly client;
|
|
24
|
-
|
|
24
|
+
readonly defaultModel: string;
|
|
25
25
|
private readonly defaultMaxOutputTokens;
|
|
26
26
|
private readonly defaultTimeoutMs;
|
|
27
27
|
constructor(name?: string, options?: ClaudeAdapterOptions);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../src/adapters/claude.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAEL,KAAK,OAAO,EACZ,KAAK,YAAY,EACjB,KAAK,aAAa,EACnB,MAAM,YAAY,CAAC;AAUpB,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,qBAAa,aAAc,YAAW,OAAO;IAC3C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,eAAe;IAEhC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;IAC1C,
|
|
1
|
+
{"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../src/adapters/claude.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAEL,KAAK,OAAO,EACZ,KAAK,YAAY,EACjB,KAAK,aAAa,EACnB,MAAM,YAAY,CAAC;AAUpB,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,qBAAa,aAAc,YAAW,OAAO;IAC3C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,eAAe;IAEhC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;IAC1C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAS;IAChD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;gBAE9B,IAAI,SAAW,EAAE,OAAO,GAAE,oBAAyB;IAUzD,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAI/B,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;CAkG3D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/adapters/claude.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EACL,YAAY,GAIb,MAAM,YAAY,CAAC;AAEpB,MAAM,kBAAkB,GAAsD;IAC5E,mBAAmB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE;IACjD,kBAAkB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;IAC/C,eAAe,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;CAC/C,CAAC;AAEF,MAAM,aAAa,GAAG,0BAA0B,CAAC;AASjD,MAAM,OAAO,aAAa;IACf,IAAI,CAAS;IACb,QAAQ,GAAG,WAAW,CAAC;IAEf,MAAM,CAAmB;
|
|
1
|
+
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/adapters/claude.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,7 +32,7 @@ export declare class GeminiAdapter implements Adapter {
|
|
|
32
32
|
readonly name: string;
|
|
33
33
|
readonly provider = "google";
|
|
34
34
|
private readonly client;
|
|
35
|
-
|
|
35
|
+
readonly defaultModel: string;
|
|
36
36
|
private readonly defaultMaxOutputTokens;
|
|
37
37
|
private readonly defaultTimeoutMs;
|
|
38
38
|
constructor(name?: string, options?: GeminiAdapterOptions);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../src/adapters/gemini.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,EAEL,KAAK,OAAO,EACZ,KAAK,YAAY,EACjB,KAAK,aAAa,EACnB,MAAM,YAAY,CAAC;AAmBpB,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,qBAAa,aAAc,YAAW,OAAO;IAC3C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,YAAY;IAE7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4B;IACnD,
|
|
1
|
+
{"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../src/adapters/gemini.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,EAEL,KAAK,OAAO,EACZ,KAAK,YAAY,EACjB,KAAK,aAAa,EACnB,MAAM,YAAY,CAAC;AAmBpB,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,qBAAa,aAAc,YAAW,OAAO;IAC3C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,YAAY;IAE7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4B;IACnD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAS;IAChD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;gBAE9B,IAAI,SAAW,EAAE,OAAO,GAAE,oBAAyB;IAkBzD,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAI/B,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;CAiF3D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../src/adapters/gemini.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EACL,YAAY,GAIb,MAAM,YAAY,CAAC;AAEpB,MAAM,kBAAkB,GAAsD;IAC5E,gBAAgB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;IAC/C,kBAAkB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;IAC/C,kBAAkB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;IAC/C,uDAAuD;IACvD,gBAAgB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE;IAC9C,kBAAkB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE;CAClD,CAAC;AAEF,yEAAyE;AACzE,0EAA0E;AAC1E,4EAA4E;AAC5E,yEAAyE;AACzE,4EAA4E;AAC5E,+DAA+D;AAC/D,MAAM,aAAa,GAAG,kBAAkB,CAAC;AASzC,MAAM,OAAO,aAAa;IACf,IAAI,CAAS;IACb,QAAQ,GAAG,QAAQ,CAAC;IAEZ,MAAM,CAA4B;
|
|
1
|
+
{"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../src/adapters/gemini.ts"],"names":[],"mappings":"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"}
|
package/dist/adapters/mock.d.ts
CHANGED
|
@@ -11,6 +11,7 @@ export declare class MockAdapter implements Adapter {
|
|
|
11
11
|
private readonly opts;
|
|
12
12
|
readonly name = "mock";
|
|
13
13
|
readonly provider = "mock";
|
|
14
|
+
readonly defaultModel = "mock-1";
|
|
14
15
|
constructor(opts?: {
|
|
15
16
|
/** Optional simulated latency in ms. Default 50. */
|
|
16
17
|
latencyMs?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mock.d.ts","sourceRoot":"","sources":["../../src/adapters/mock.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEvE,qBAAa,WAAY,YAAW,OAAO;
|
|
1
|
+
{"version":3,"file":"mock.d.ts","sourceRoot":"","sources":["../../src/adapters/mock.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEvE,qBAAa,WAAY,YAAW,OAAO;IAMvC,OAAO,CAAC,QAAQ,CAAC,IAAI;IALvB,QAAQ,CAAC,IAAI,UAAU;IACvB,QAAQ,CAAC,QAAQ,UAAU;IAC3B,QAAQ,CAAC,YAAY,YAAY;gBAGd,IAAI,GAAE;QACrB,oDAAoD;QACpD,SAAS,CAAC,EAAE,MAAM,CAAC;KACf;IAGF,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAI/B,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;IA4B1D,OAAO,CAAC,UAAU;IAqDlB,OAAO,CAAC,QAAQ;CAiBjB"}
|
package/dist/adapters/mock.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mock.js","sourceRoot":"","sources":["../../src/adapters/mock.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,MAAM,OAAO,WAAW;
|
|
1
|
+
{"version":3,"file":"mock.js","sourceRoot":"","sources":["../../src/adapters/mock.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,7 +28,7 @@ export declare class OpenAIAdapter implements Adapter {
|
|
|
28
28
|
readonly name: string;
|
|
29
29
|
readonly provider = "openai";
|
|
30
30
|
private readonly client;
|
|
31
|
-
|
|
31
|
+
readonly defaultModel: string;
|
|
32
32
|
private readonly defaultMaxOutputTokens;
|
|
33
33
|
private readonly defaultTimeoutMs;
|
|
34
34
|
constructor(name?: string, options?: OpenAIAdapterOptions);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/adapters/openai.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAAgB,KAAK,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAY/F,MAAM,WAAW,oBAAoB;IACnC,2EAA2E;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kCAAkC;IAClC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,kCAAkC;IAClC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,yCAAyC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,aAAc,YAAW,OAAO;IAC3C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,YAAY;IAE7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,
|
|
1
|
+
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/adapters/openai.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAAgB,KAAK,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAY/F,MAAM,WAAW,oBAAoB;IACnC,2EAA2E;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kCAAkC;IAClC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,kCAAkC;IAClC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,yCAAyC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,aAAc,YAAW,OAAO;IAC3C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,YAAY;IAE7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAS;IAChD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;gBAGxC,IAAI,SAAU,EACd,OAAO,GAAE,oBAAyB;IAkB9B,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAI/B,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;CA8E3D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/adapters/openai.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAuD,MAAM,YAAY,CAAC;AAE/F,oDAAoD;AACpD,MAAM,kBAAkB,GAAsD;IAC5E,QAAQ,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE;IACtC,aAAa,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE;IAC3C,aAAa,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;IAC5C,eAAe,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;CAC7C,CAAC;AAEF,MAAM,aAAa,GAAG,QAAQ,CAAC;AAe/B,MAAM,OAAO,aAAa;IACf,IAAI,CAAS;IACb,QAAQ,GAAG,QAAQ,CAAC;IAEZ,MAAM,CAAgB;
|
|
1
|
+
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/adapters/openai.ts"],"names":[],"mappings":"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"}
|
package/dist/adapters/types.d.ts
CHANGED
|
@@ -57,6 +57,14 @@ export interface Adapter {
|
|
|
57
57
|
readonly name: string;
|
|
58
58
|
/** Underlying provider family (e.g. "openai", "anthropic", "mock"). */
|
|
59
59
|
readonly provider: string;
|
|
60
|
+
/**
|
|
61
|
+
* The model this adapter will call by default, exposed so the
|
|
62
|
+
* orchestrator can pass it to `BudgetTracker.preflightCheck` instead of
|
|
63
|
+
* the previous hardcoded "gpt-4o". (Codex review v0.5 P2 #5.) Adapters
|
|
64
|
+
* with no meaningful default — like Mock — return an opaque string and
|
|
65
|
+
* the budget tracker falls back to its conservative pricing.
|
|
66
|
+
*/
|
|
67
|
+
readonly defaultModel: string;
|
|
60
68
|
/** True if credentials are available and the adapter can be invoked. */
|
|
61
69
|
isAvailable(): Promise<boolean>;
|
|
62
70
|
/** Execute one model call. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/adapters/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC;AAE9C,MAAM,WAAW,YAAY;IAC3B,gGAAgG;IAChG,IAAI,EAAE,SAAS,CAAC;IAChB,0EAA0E;IAC1E,YAAY,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,yDAAyD;IACzD,cAAc,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC;IACxC,gFAAgF;IAChF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8EAA8E;IAC9E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iEAAiE;IACjE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,iCAAiC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,uEAAuE;IACvE,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB;;+EAE2E;IAC3E,OAAO,EAAE,MAAM,CAAC;IAChB,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,SAAS,EAAE,MAAM,CAAC;IAClB,kDAAkD;IAClD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,OAAO;IACtB,uEAAuE;IACvE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,uEAAuE;IACvE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,wEAAwE;IACxE,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC,8BAA8B;IAC9B,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;CACtD;AAED;;;GAGG;AACH,qBAAa,YAAa,SAAQ,KAAK;aAInB,WAAW,EAAE,MAAM;aACV,KAAK,CAAC,EAAE,OAAO;IAJ1C,SAAkB,IAAI,kBAAkB;gBAEtC,OAAO,EAAE,MAAM,EACC,WAAW,EAAE,MAAM,EACV,KAAK,CAAC,EAAE,OAAO,YAAA;CAI3C"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/adapters/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC;AAE9C,MAAM,WAAW,YAAY;IAC3B,gGAAgG;IAChG,IAAI,EAAE,SAAS,CAAC;IAChB,0EAA0E;IAC1E,YAAY,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,yDAAyD;IACzD,cAAc,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC;IACxC,gFAAgF;IAChF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8EAA8E;IAC9E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iEAAiE;IACjE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,iCAAiC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,uEAAuE;IACvE,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB;;+EAE2E;IAC3E,OAAO,EAAE,MAAM,CAAC;IAChB,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,SAAS,EAAE,MAAM,CAAC;IAClB,kDAAkD;IAClD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,OAAO;IACtB,uEAAuE;IACvE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,uEAAuE;IACvE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B;;;;;;OAMG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,wEAAwE;IACxE,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC,8BAA8B;IAC9B,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;CACtD;AAED;;;GAGG;AACH,qBAAa,YAAa,SAAQ,KAAK;aAInB,WAAW,EAAE,MAAM;aACV,KAAK,CAAC,EAAE,OAAO;IAJ1C,SAAkB,IAAI,kBAAkB;gBAEtC,OAAO,EAAE,MAAM,EACC,WAAW,EAAE,MAAM,EACV,KAAK,CAAC,EAAE,OAAO,YAAA;CAI3C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/adapters/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/adapters/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAmEH;;;GAGG;AACH,MAAM,OAAO,YAAa,SAAQ,KAAK;IAInB;IACS;IAJT,IAAI,GAAG,cAAc,CAAC;IACxC,YACE,OAAe,EACC,WAAmB,EACV,KAAe;QAExC,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,gBAAW,GAAX,WAAW,CAAQ;QACV,UAAK,GAAL,KAAK,CAAU;IAG1C,CAAC;CACF"}
|
package/dist/git/status.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/git/status.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,MAAM,WAAW,cAAc;IAC7B,iFAAiF;IACjF,KAAK,EAAE,OAAO,CAAC;IACf,8DAA8D;IAC9D,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,mFAAmF;IACnF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/git/status.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,MAAM,WAAW,cAAc;IAC7B,iFAAiF;IACjF,KAAK,EAAE,OAAO,CAAC;IACf,8DAA8D;IAC9D,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,mFAAmF;IACnF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,cAAc,CAAC,CA8CzB;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,KAAK,UAAQ,GACZ,OAAO,CAAC,IAAI,CAAC,CAcf;AAED,qBAAa,mBAAoB,SAAQ,KAAK;aAI1B,IAAI,EAAE,MAAM;aACZ,SAAS,EAAE,MAAM;IAJnC,SAAkB,IAAI,yBAAyB;gBAE7C,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM;CAIpC"}
|
package/dist/git/status.js
CHANGED
|
@@ -25,25 +25,38 @@ import { execa } from "execa";
|
|
|
25
25
|
export async function checkGitStatus(repoRoot, relativePath) {
|
|
26
26
|
const normalized = relativePath.replace(/\\/g, "/");
|
|
27
27
|
try {
|
|
28
|
-
const { stdout } = await execa("git", ["status", "--short", "--", normalized], {
|
|
28
|
+
const { stdout, stderr, exitCode } = await execa("git", ["status", "--short", "--", normalized], {
|
|
29
29
|
cwd: repoRoot,
|
|
30
30
|
reject: false,
|
|
31
31
|
stripFinalNewline: true,
|
|
32
32
|
});
|
|
33
|
+
// Codex review v0.5 P2 #4: previously we ignored exitCode and treated
|
|
34
|
+
// every empty-stdout result as "clean", which silently includes the
|
|
35
|
+
// case where we're not in a git repo at all. Now we look at exitCode
|
|
36
|
+
// and stderr to distinguish "no changes" (exit 0, stdout empty) from
|
|
37
|
+
// "not a git repo" (exit 128, stderr matches).
|
|
38
|
+
if (exitCode !== 0) {
|
|
39
|
+
const stderrText = (stderr ?? "").toString();
|
|
40
|
+
if (stderrText.includes("not a git repository") ||
|
|
41
|
+
stderrText.includes("fatal: not a git repository")) {
|
|
42
|
+
return { dirty: false, notInGitRepo: true };
|
|
43
|
+
}
|
|
44
|
+
// Some other git failure (corrupt index, etc.) — treat conservatively
|
|
45
|
+
// as no-protection so the caller can decide. Most callers should
|
|
46
|
+
// refuse writes in this case.
|
|
47
|
+
return { dirty: false, notInGitRepo: true };
|
|
48
|
+
}
|
|
33
49
|
if (stdout.trim().length === 0) {
|
|
34
50
|
return { dirty: false };
|
|
35
51
|
}
|
|
36
52
|
return { dirty: true, porcelain: stdout };
|
|
37
53
|
}
|
|
38
54
|
catch (err) {
|
|
39
|
-
// execa throws if git is missing. Surface as not-in-repo
|
|
40
|
-
// proceed cautiously rather than crash.
|
|
55
|
+
// execa throws if git is missing entirely. Surface as not-in-repo.
|
|
41
56
|
const msg = err instanceof Error ? err.message : String(err);
|
|
42
57
|
if (msg.includes("ENOENT")) {
|
|
43
58
|
return { dirty: false, notInGitRepo: true };
|
|
44
59
|
}
|
|
45
|
-
// "not a git repository" returns non-zero but we used reject:false above,
|
|
46
|
-
// so this branch is rare. Still, treat unknown errors as no-protection.
|
|
47
60
|
return { dirty: false, notInGitRepo: true };
|
|
48
61
|
}
|
|
49
62
|
}
|
package/dist/git/status.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/git/status.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAW9B;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,QAAgB,EAChB,YAAoB;IAEpB,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAEpD,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/git/status.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* - review/ ✅ task #11 diff review pipeline (with #12/#13/#14 wiring)
|
|
13
13
|
* - budget/ ✅ task #14 BudgetTracker + BudgetExceededError
|
|
14
14
|
*/
|
|
15
|
-
export declare const VERSION = "0.
|
|
15
|
+
export declare const VERSION = "0.5.1";
|
|
16
16
|
export { checkGitStatus, assertSafeToWrite, GitStatusDirtyError, type GitStatusCheck, } from "./git/status.js";
|
|
17
17
|
export { installTemplate, hasExistingConfig, type InstallOptions, type InstallResult, } from "./templates/install.js";
|
|
18
18
|
export { loadConfig, ConfigError } from "./config/load.js";
|
|
@@ -27,7 +27,7 @@ export { recordDecision, type RecordDecisionOptions, type RecordDecisionResult,
|
|
|
27
27
|
export { runDiffReview, type DiffReviewOptions, type DiffReviewResult, } from "./review/run-diff-review.js";
|
|
28
28
|
export { runWorkerReviewerReview, type WorkerReviewerOptions, type WorkerReviewerResult, } from "./review/run-worker-reviewer.js";
|
|
29
29
|
export { collectGitDiff, type DiffOptions, type DiffResult } from "./review/diff.js";
|
|
30
|
-
export { writeHumanReviewFile, ReviewFileExistsError, type WriteReviewFileOptions, } from "./review/write.js";
|
|
30
|
+
export { writeHumanReviewFile, ReviewFileExistsError, reviewFilePathFor, preflightReviewFileCollision, type WriteReviewFileOptions, } from "./review/write.js";
|
|
31
31
|
export { BudgetTracker, BudgetExceededError, type BudgetCaps, } from "./review/budget.js";
|
|
32
32
|
export type { ReviewEvent, ReviewEventHandler, AgentRoleInRun, } from "./review/events.js";
|
|
33
33
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,eAAO,MAAM,OAAO,UAAU,CAAC;AAG/B,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,KAAK,cAAc,GACpB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,KAAK,cAAc,EACnB,KAAK,aAAa,GACnB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,KAAK,MAAM,EACX,KAAK,WAAW,GACjB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,YAAY,EACZ,WAAW,EACX,aAAa,EACb,aAAa,EACb,aAAa,EACb,KAAK,OAAO,EACZ,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,GAC1B,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,aAAa,EAAE,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC/F,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,KAAK,eAAe,EACpB,KAAK,YAAY,GAClB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,KAAK,gBAAgB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,WAAW,EACX,SAAS,EACT,OAAO,EACP,YAAY,EACZ,aAAa,EACb,cAAc,GACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,QAAQ,EACR,WAAW,EACX,aAAa,EACb,cAAc,EACd,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,eAAe,GACrB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,cAAc,EACd,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,GAC1B,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,aAAa,EACb,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,GACtB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,uBAAuB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,GAC1B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACrF,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,KAAK,sBAAsB,GAC5B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,KAAK,UAAU,GAChB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,WAAW,EACX,kBAAkB,EAClB,cAAc,GACf,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,eAAO,MAAM,OAAO,UAAU,CAAC;AAG/B,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,KAAK,cAAc,GACpB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,KAAK,cAAc,EACnB,KAAK,aAAa,GACnB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,KAAK,MAAM,EACX,KAAK,WAAW,GACjB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,YAAY,EACZ,WAAW,EACX,aAAa,EACb,aAAa,EACb,aAAa,EACb,KAAK,OAAO,EACZ,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,GAC1B,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,aAAa,EAAE,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC/F,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,KAAK,eAAe,EACpB,KAAK,YAAY,GAClB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,KAAK,gBAAgB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,WAAW,EACX,SAAS,EACT,OAAO,EACP,YAAY,EACZ,aAAa,EACb,cAAc,GACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,QAAQ,EACR,WAAW,EACX,aAAa,EACb,cAAc,EACd,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,eAAe,GACrB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,cAAc,EACd,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,GAC1B,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,aAAa,EACb,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,GACtB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,uBAAuB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,GAC1B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACrF,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,4BAA4B,EAC5B,KAAK,sBAAsB,GAC5B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,KAAK,UAAU,GAChB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,WAAW,EACX,kBAAkB,EAClB,cAAc,GACf,MAAM,oBAAoB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* - review/ ✅ task #11 diff review pipeline (with #12/#13/#14 wiring)
|
|
13
13
|
* - budget/ ✅ task #14 BudgetTracker + BudgetExceededError
|
|
14
14
|
*/
|
|
15
|
-
export const VERSION = "0.
|
|
15
|
+
export const VERSION = "0.5.1";
|
|
16
16
|
// Git safety primitives
|
|
17
17
|
export { checkGitStatus, assertSafeToWrite, GitStatusDirtyError, } from "./git/status.js";
|
|
18
18
|
// Template installer
|
|
@@ -33,6 +33,6 @@ export { recordDecision, } from "./runs/decide.js";
|
|
|
33
33
|
export { runDiffReview, } from "./review/run-diff-review.js";
|
|
34
34
|
export { runWorkerReviewerReview, } from "./review/run-worker-reviewer.js";
|
|
35
35
|
export { collectGitDiff } from "./review/diff.js";
|
|
36
|
-
export { writeHumanReviewFile, ReviewFileExistsError, } from "./review/write.js";
|
|
36
|
+
export { writeHumanReviewFile, ReviewFileExistsError, reviewFilePathFor, preflightReviewFileCollision, } from "./review/write.js";
|
|
37
37
|
export { BudgetTracker, BudgetExceededError, } from "./review/budget.js";
|
|
38
38
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAE/B,wBAAwB;AACxB,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,mBAAmB,GAEpB,MAAM,iBAAiB,CAAC;AAEzB,qBAAqB;AACrB,OAAO,EACL,eAAe,EACf,iBAAiB,GAGlB,MAAM,wBAAwB,CAAC;AAEhC,SAAS;AACT,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,eAAe,GAGhB,MAAM,oBAAoB,CAAC;AAE5B,WAAW;AACX,OAAO,EACL,YAAY,EACZ,WAAW,EACX,aAAa,EACb,aAAa,EACb,aAAa,GAQd,MAAM,qBAAqB,CAAC;AAE7B,sBAAsB;AACtB,OAAO,EAAE,aAAa,EAA6C,MAAM,qBAAqB,CAAC;AAC/F,OAAO,EACL,oBAAoB,EACpB,oBAAoB,GAGrB,MAAM,uBAAuB,CAAC;AAE/B,OAAO;AACP,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,iBAAiB,GAElB,MAAM,kBAAkB,CAAC;AAS1B,OAAO,EACL,QAAQ,EACR,WAAW,EACX,aAAa,EACb,cAAc,GAIf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,cAAc,GAGf,MAAM,kBAAkB,CAAC;AAE1B,kBAAkB;AAClB,OAAO,EACL,aAAa,GAGd,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,uBAAuB,GAGxB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,cAAc,EAAqC,MAAM,kBAAkB,CAAC;AACrF,OAAO,EACL,oBAAoB,EACpB,qBAAqB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAE/B,wBAAwB;AACxB,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,mBAAmB,GAEpB,MAAM,iBAAiB,CAAC;AAEzB,qBAAqB;AACrB,OAAO,EACL,eAAe,EACf,iBAAiB,GAGlB,MAAM,wBAAwB,CAAC;AAEhC,SAAS;AACT,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,eAAe,GAGhB,MAAM,oBAAoB,CAAC;AAE5B,WAAW;AACX,OAAO,EACL,YAAY,EACZ,WAAW,EACX,aAAa,EACb,aAAa,EACb,aAAa,GAQd,MAAM,qBAAqB,CAAC;AAE7B,sBAAsB;AACtB,OAAO,EAAE,aAAa,EAA6C,MAAM,qBAAqB,CAAC;AAC/F,OAAO,EACL,oBAAoB,EACpB,oBAAoB,GAGrB,MAAM,uBAAuB,CAAC;AAE/B,OAAO;AACP,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,iBAAiB,GAElB,MAAM,kBAAkB,CAAC;AAS1B,OAAO,EACL,QAAQ,EACR,WAAW,EACX,aAAa,EACb,cAAc,GAIf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,cAAc,GAGf,MAAM,kBAAkB,CAAC;AAE1B,kBAAkB;AAClB,OAAO,EACL,aAAa,GAGd,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,uBAAuB,GAGxB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,cAAc,EAAqC,MAAM,kBAAkB,CAAC;AACrF,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,4BAA4B,GAE7B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,aAAa,EACb,mBAAmB,GAEpB,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
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
|
+
export interface DiffFilterOptions {
|
|
13
|
+
/** Repo root containing .gitignore and .almightyignore. */
|
|
14
|
+
repoRoot: string;
|
|
15
|
+
/** Raw unified diff text from `git diff`. */
|
|
16
|
+
diffText: string;
|
|
17
|
+
/** List of files touched by the diff (typically from collectGitDiff). */
|
|
18
|
+
files: string[];
|
|
19
|
+
/**
|
|
20
|
+
* Additional exclude globs from `config.context.exclude`. Gitignore
|
|
21
|
+
* syntax — see `ignore` package docs. Optional.
|
|
22
|
+
*/
|
|
23
|
+
configExclude?: string[];
|
|
24
|
+
}
|
|
25
|
+
export interface DiffFilterResult {
|
|
26
|
+
/** Diff text with ignored files' sections removed. */
|
|
27
|
+
filteredDiff: string;
|
|
28
|
+
/** Files that survived filtering. */
|
|
29
|
+
filesIncluded: string[];
|
|
30
|
+
/** Files that were dropped, with a human-readable reason per file. */
|
|
31
|
+
filesSkipped: {
|
|
32
|
+
path: string;
|
|
33
|
+
reason: string;
|
|
34
|
+
}[];
|
|
35
|
+
}
|
|
36
|
+
export declare function filterDiffByIgnoreLists(opts: DiffFilterOptions): Promise<DiffFilterResult>;
|
|
37
|
+
//# sourceMappingURL=diff-filter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diff-filter.d.ts","sourceRoot":"","sources":["../../src/review/diff-filter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAgBH,MAAM,WAAW,iBAAiB;IAChC,2DAA2D;IAC3D,QAAQ,EAAE,MAAM,CAAC;IACjB,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,yEAAyE;IACzE,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,sDAAsD;IACtD,YAAY,EAAE,MAAM,CAAC;IACrB,qCAAqC;IACrC,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,sEAAsE;IACtE,YAAY,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAClD;AAsFD,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,gBAAgB,CAAC,CAsD3B"}
|
|
@@ -0,0 +1,144 @@
|
|
|
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
|
+
import { readFile } from "node:fs/promises";
|
|
13
|
+
import { existsSync } from "node:fs";
|
|
14
|
+
import { join } from "node:path";
|
|
15
|
+
// `ignore` is a CJS package; under NodeNext module resolution TypeScript
|
|
16
|
+
// won't synth a default export even with esModuleInterop. The package
|
|
17
|
+
// exports `function ignore(...)` as the module itself, plus
|
|
18
|
+
// `module.exports.default = ignore`. Use a runtime require to access the
|
|
19
|
+
// callable form without fighting the type system.
|
|
20
|
+
import { createRequire } from "node:module";
|
|
21
|
+
const require = createRequire(import.meta.url);
|
|
22
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-explicit-any
|
|
23
|
+
const ignore = require("ignore");
|
|
24
|
+
/**
|
|
25
|
+
* Build an Ignore matcher loaded from `.gitignore`, `.almightyignore`, and
|
|
26
|
+
* any config-level exclude globs. Missing files are silently skipped.
|
|
27
|
+
*
|
|
28
|
+
* Important nuance: `.gitignore` rules normally only apply to UNTRACKED
|
|
29
|
+
* files (tracked files in a diff exist because git is tracking them). For
|
|
30
|
+
* AlmightyGPT's purposes we want the conservative behavior — "if it
|
|
31
|
+
* matches gitignore, don't send it" — because secret-bearing tracked
|
|
32
|
+
* files (someone committed `.env` once) are exactly the case we're
|
|
33
|
+
* protecting against. So we apply both sets equally.
|
|
34
|
+
*/
|
|
35
|
+
async function buildIgnoreMatcher(repoRoot, configExclude) {
|
|
36
|
+
const ig = ignore();
|
|
37
|
+
const sources = [];
|
|
38
|
+
for (const file of [".gitignore", ".almightyignore"]) {
|
|
39
|
+
const path = join(repoRoot, file);
|
|
40
|
+
if (existsSync(path)) {
|
|
41
|
+
const text = await readFile(path, "utf8");
|
|
42
|
+
const lines = text.split("\n").filter((l) => l.trim() && !l.trim().startsWith("#"));
|
|
43
|
+
ig.add(text);
|
|
44
|
+
sources.push({ name: file, loaded: true, rules: lines.length });
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
sources.push({ name: file, loaded: false, rules: 0 });
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
if (configExclude.length > 0) {
|
|
51
|
+
ig.add(configExclude.join("\n"));
|
|
52
|
+
sources.push({
|
|
53
|
+
name: "config.context.exclude",
|
|
54
|
+
loaded: true,
|
|
55
|
+
rules: configExclude.length,
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
return { matcher: ig, sources };
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Parse a unified git diff into per-file sections. Each section starts
|
|
62
|
+
* with `diff --git a/<path> b/<path>` and runs until the next such header
|
|
63
|
+
* (or end of input).
|
|
64
|
+
*
|
|
65
|
+
* Returns an array of `{ path, section }` so each file's diff hunks can
|
|
66
|
+
* be filtered independently and then reassembled.
|
|
67
|
+
*/
|
|
68
|
+
function splitDiffByFile(diffText) {
|
|
69
|
+
if (!diffText.trim())
|
|
70
|
+
return [];
|
|
71
|
+
const out = [];
|
|
72
|
+
const lines = diffText.split("\n");
|
|
73
|
+
let current = null;
|
|
74
|
+
const headerRe = /^diff --git a\/(.+?) b\/(.+?)$/;
|
|
75
|
+
for (const line of lines) {
|
|
76
|
+
const match = line.match(headerRe);
|
|
77
|
+
if (match) {
|
|
78
|
+
if (current) {
|
|
79
|
+
out.push({ path: current.path, section: current.lines.join("\n") });
|
|
80
|
+
}
|
|
81
|
+
// Prefer the "b/" path (post-image) since renames change it.
|
|
82
|
+
// For most diffs both paths match.
|
|
83
|
+
current = { path: match[2], lines: [line] };
|
|
84
|
+
}
|
|
85
|
+
else if (current) {
|
|
86
|
+
current.lines.push(line);
|
|
87
|
+
}
|
|
88
|
+
// Lines before any header (rare; usually empty diff) are dropped.
|
|
89
|
+
}
|
|
90
|
+
if (current) {
|
|
91
|
+
out.push({ path: current.path, section: current.lines.join("\n") });
|
|
92
|
+
}
|
|
93
|
+
return out;
|
|
94
|
+
}
|
|
95
|
+
export async function filterDiffByIgnoreLists(opts) {
|
|
96
|
+
const configExclude = opts.configExclude ?? [];
|
|
97
|
+
const { matcher } = await buildIgnoreMatcher(opts.repoRoot, configExclude);
|
|
98
|
+
// Parse the diff into per-file sections. If the diff is empty or has no
|
|
99
|
+
// file headers, nothing to filter — return as-is.
|
|
100
|
+
const sections = splitDiffByFile(opts.diffText);
|
|
101
|
+
if (sections.length === 0) {
|
|
102
|
+
return {
|
|
103
|
+
filteredDiff: opts.diffText,
|
|
104
|
+
filesIncluded: opts.files,
|
|
105
|
+
filesSkipped: [],
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
const includedSections = [];
|
|
109
|
+
const filesIncluded = [];
|
|
110
|
+
const filesSkipped = [];
|
|
111
|
+
for (const { path, section } of sections) {
|
|
112
|
+
if (matcher.ignores(path)) {
|
|
113
|
+
filesSkipped.push({
|
|
114
|
+
path,
|
|
115
|
+
reason: "ignored by .almightyignore / .gitignore / config.context.exclude",
|
|
116
|
+
});
|
|
117
|
+
continue;
|
|
118
|
+
}
|
|
119
|
+
includedSections.push(section);
|
|
120
|
+
filesIncluded.push(path);
|
|
121
|
+
}
|
|
122
|
+
// Also reconcile the original `files` list: any path from collectGitDiff
|
|
123
|
+
// that isn't in the surviving sections is also skipped. Usually they
|
|
124
|
+
// match (collectGitDiff and splitDiffByFile use the same source) but
|
|
125
|
+
// they can diverge if collectGitDiff includes paths that have no diff
|
|
126
|
+
// hunks (e.g. permission-only changes).
|
|
127
|
+
const includedSet = new Set(filesIncluded);
|
|
128
|
+
for (const original of opts.files) {
|
|
129
|
+
if (!includedSet.has(original) && matcher.ignores(original)) {
|
|
130
|
+
if (!filesSkipped.some((s) => s.path === original)) {
|
|
131
|
+
filesSkipped.push({
|
|
132
|
+
path: original,
|
|
133
|
+
reason: "ignored by .almightyignore / .gitignore / config.context.exclude",
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
return {
|
|
139
|
+
filteredDiff: includedSections.join("\n"),
|
|
140
|
+
filesIncluded,
|
|
141
|
+
filesSkipped,
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
//# sourceMappingURL=diff-filter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diff-filter.js","sourceRoot":"","sources":["../../src/review/diff-filter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-diff-review.d.ts","sourceRoot":"","sources":["../../src/review/run-diff-review.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;
|
|
1
|
+
{"version":3,"file":"run-diff-review.d.ts","sourceRoot":"","sources":["../../src/review/run-diff-review.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAkCH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,wEAAwE;IACxE,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACjD,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAsB,aAAa,CACjC,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,gBAAgB,CAAC,CAuP3B"}
|
|
@@ -26,9 +26,10 @@ import { redactSecrets } from "../context/redact.js";
|
|
|
26
26
|
import { buildContextManifest, writeContextManifest, } from "../context/manifest.js";
|
|
27
27
|
import { collectGitContext, createRunFolder, writeAgentOutput, writeRunInput, writeRunMetadata, } from "../runs/folder.js";
|
|
28
28
|
import { collectGitDiff } from "./diff.js";
|
|
29
|
+
import { filterDiffByIgnoreLists } from "./diff-filter.js";
|
|
29
30
|
import { assembleMemory } from "./memory.js";
|
|
30
31
|
import { buildReviewerSystemFraming, buildReviewerUserMessage, } from "./prompts.js";
|
|
31
|
-
import { writeHumanReviewFile } from "./write.js";
|
|
32
|
+
import { preflightReviewFileCollision, writeHumanReviewFile, } from "./write.js";
|
|
32
33
|
import { BudgetTracker, BudgetExceededError } from "./budget.js";
|
|
33
34
|
export async function runDiffReview(opts) {
|
|
34
35
|
const config = await loadConfig(opts.repoRoot);
|
|
@@ -48,6 +49,10 @@ export async function runDiffReview(opts) {
|
|
|
48
49
|
throw new AdapterError(`Adapter "${reviewerName}" (${agentConfig.provider}) is not available. ` +
|
|
49
50
|
envHintForProvider(agentConfig.provider), reviewerName);
|
|
50
51
|
}
|
|
52
|
+
// Preflight the review-file collision BEFORE any paid adapter call.
|
|
53
|
+
// (Codex review v0.5: previously the check ran post-adapter, burning API
|
|
54
|
+
// money on duplicate-topic runs that were going to fail anyway.)
|
|
55
|
+
await preflightReviewFileCollision(opts.repoRoot, config.reviewsDir, opts.topic, opts.force ?? false);
|
|
51
56
|
// Create run folder up front so partial failures still leave an artifact.
|
|
52
57
|
const runFolder = await createRunFolder({
|
|
53
58
|
repoRoot: opts.repoRoot,
|
|
@@ -89,13 +94,27 @@ export async function runDiffReview(opts) {
|
|
|
89
94
|
throw new Error("No uncommitted changes to review. Stage some changes, pick a range with " +
|
|
90
95
|
"--range, or pass --topic to a non-empty diff.");
|
|
91
96
|
}
|
|
97
|
+
// Codex review v0.5 P1 #2: filter ignored files BEFORE secret redaction
|
|
98
|
+
// and BEFORE the provider call. Honors .almightyignore + .gitignore +
|
|
99
|
+
// config.context.exclude. Redaction still runs on the survivors as
|
|
100
|
+
// defense-in-depth.
|
|
101
|
+
const filtered = await filterDiffByIgnoreLists({
|
|
102
|
+
repoRoot: opts.repoRoot,
|
|
103
|
+
diffText: diffResult.diff,
|
|
104
|
+
files: diffResult.files,
|
|
105
|
+
configExclude: config.context.exclude,
|
|
106
|
+
});
|
|
92
107
|
const redaction = config.security.redactSecrets
|
|
93
|
-
? redactSecrets(
|
|
94
|
-
: { text:
|
|
108
|
+
? redactSecrets(filtered.filteredDiff)
|
|
109
|
+
: { text: filtered.filteredDiff, redactions: [], totalCount: 0 };
|
|
95
110
|
const manifest = buildContextManifest({
|
|
96
111
|
inputSource: opts.range ? "diff-range" : "diff",
|
|
97
|
-
filesIncluded:
|
|
98
|
-
filesSkipped:
|
|
112
|
+
filesIncluded: filtered.filesIncluded.map((p) => ({ path: p, bytes: 0 })),
|
|
113
|
+
filesSkipped: filtered.filesSkipped.map((s) => ({
|
|
114
|
+
path: s.path,
|
|
115
|
+
bytes: 0,
|
|
116
|
+
skippedReason: s.reason,
|
|
117
|
+
})),
|
|
99
118
|
diffText: redaction.text,
|
|
100
119
|
redaction: {
|
|
101
120
|
enabled: config.security.redactSecrets,
|
|
@@ -110,12 +129,15 @@ export async function runDiffReview(opts) {
|
|
|
110
129
|
const userMessage = buildReviewerUserMessage({
|
|
111
130
|
topic: opts.topic,
|
|
112
131
|
diff: redaction.text,
|
|
113
|
-
files:
|
|
132
|
+
files: filtered.filesIncluded,
|
|
114
133
|
});
|
|
115
134
|
const budget = new BudgetTracker(config.budget);
|
|
116
135
|
const estimatedTokensIn = Math.ceil((systemPrompt.length + userMessage.length) / 4);
|
|
136
|
+
// Codex review v0.5 P2 #5: previously hardcoded "gpt-4o" here, which
|
|
137
|
+
// could block a cheap Gemini run on an OpenAI cost estimate. Use the
|
|
138
|
+
// actual adapter's default model so the preflight matches reality.
|
|
117
139
|
budget.preflightCheck({
|
|
118
|
-
model:
|
|
140
|
+
model: adapter.defaultModel,
|
|
119
141
|
estimatedTokensIn,
|
|
120
142
|
maxOutputTokens: 4096,
|
|
121
143
|
});
|
|
@@ -193,7 +215,7 @@ export async function runDiffReview(opts) {
|
|
|
193
215
|
costUsd: adapterOut.costUsd,
|
|
194
216
|
latencyMs: adapterOut.latencyMs,
|
|
195
217
|
diffEmpty: diffResult.empty,
|
|
196
|
-
filesReviewed:
|
|
218
|
+
filesReviewed: filtered.filesIncluded,
|
|
197
219
|
memorySources: memory.sources,
|
|
198
220
|
memoryMissing: memory.missing,
|
|
199
221
|
runId: runFolder.id,
|