@almightygpt/core 0.3.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 +46 -6
- 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 +20 -5
- package/dist/adapters/openai.js.map +1 -1
- package/dist/adapters/types.d.ts +20 -2
- 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/events.d.ts +2 -0
- package/dist/review/events.d.ts.map +1 -1
- package/dist/review/run-diff-review.d.ts +2 -0
- package/dist/review/run-diff-review.d.ts.map +1 -1
- package/dist/review/run-diff-review.js +34 -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 +43 -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/dist/runs/types.d.ts +6 -0
- package/dist/runs/types.d.ts.map +1 -1
- package/package.json +2 -1
- package/src/adapters/claude.ts +59 -8
- package/src/adapters/gemini.ts +1 -1
- package/src/adapters/mock.ts +1 -0
- package/src/adapters/openai.ts +35 -7
- package/src/adapters/types.ts +20 -2
- package/src/git/status.ts +21 -5
- package/src/index.ts +3 -1
- package/src/review/diff-filter.ts +190 -0
- package/src/review/events.ts +2 -0
- package/src/review/run-diff-review.ts +46 -8
- package/src/review/run-worker-reviewer.ts +53 -10
- package/src/review/write.ts +42 -0
- package/src/runs/types.ts +6 -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"}
|
package/dist/adapters/claude.js
CHANGED
|
@@ -49,7 +49,23 @@ export class ClaudeAdapter {
|
|
|
49
49
|
response = await this.client.messages.create({
|
|
50
50
|
model,
|
|
51
51
|
max_tokens: maxOutputTokens,
|
|
52
|
-
system:
|
|
52
|
+
// Pass system as a content-block array with cache_control:
|
|
53
|
+
// ephemeral on the (only) block. Anthropic caches the marked
|
|
54
|
+
// block for ~5 minutes; subsequent calls with the same prefix
|
|
55
|
+
// get charged at 10% of normal input rate for the cached span.
|
|
56
|
+
// The CLI's review flow re-sends the same memory (AGENTS.md +
|
|
57
|
+
// CODEX_AGENT.md + rules.md) on every run, so this is a near-
|
|
58
|
+
// perfect fit.
|
|
59
|
+
// cache_control isn't in the SDK 0.30.x .d.ts yet but the
|
|
60
|
+
// v1/messages API accepts it. Cast at the call site.
|
|
61
|
+
system: [
|
|
62
|
+
{
|
|
63
|
+
type: "text",
|
|
64
|
+
text: input.systemPrompt,
|
|
65
|
+
cache_control: { type: "ephemeral" },
|
|
66
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
67
|
+
},
|
|
68
|
+
],
|
|
53
69
|
messages: [{ role: "user", content: input.userMessage }],
|
|
54
70
|
}, { timeout: timeoutMs });
|
|
55
71
|
}
|
|
@@ -64,12 +80,28 @@ export class ClaudeAdapter {
|
|
|
64
80
|
if (!content) {
|
|
65
81
|
throw new AdapterError("Anthropic returned no text content (tool-use or empty response).", this.name);
|
|
66
82
|
}
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
83
|
+
// Anthropic usage fields with caching enabled:
|
|
84
|
+
// input_tokens — fresh-hit input tokens (full price)
|
|
85
|
+
// cache_creation_input_tokens — tokens that just got written to the
|
|
86
|
+
// cache (1.25× of normal rate, one-time)
|
|
87
|
+
// cache_read_input_tokens — tokens served from existing cache
|
|
88
|
+
// (0.1× of normal rate)
|
|
89
|
+
// We surface cache_read as `cachedTokensIn`. Cache-creation tokens are
|
|
90
|
+
// folded into `tokensIn` total for visibility and cost-modeled at the
|
|
91
|
+
// normal rate (close enough — the 25% surcharge is small relative to
|
|
92
|
+
// the savings on subsequent reads).
|
|
93
|
+
const usage = response.usage;
|
|
94
|
+
const freshIn = usage.input_tokens;
|
|
95
|
+
const cacheCreationIn = usage.cache_creation_input_tokens ?? 0;
|
|
96
|
+
const cacheReadIn = usage.cache_read_input_tokens ?? 0;
|
|
97
|
+
const tokensIn = freshIn + cacheCreationIn + cacheReadIn;
|
|
98
|
+
const tokensOut = usage.output_tokens;
|
|
99
|
+
const costUsd = estimateCostUsdWithCache(model, freshIn + cacheCreationIn, // both billed at ~normal input rate
|
|
100
|
+
cacheReadIn, tokensOut);
|
|
70
101
|
return {
|
|
71
102
|
content,
|
|
72
103
|
tokensIn,
|
|
104
|
+
cachedTokensIn: cacheReadIn,
|
|
73
105
|
tokensOut,
|
|
74
106
|
costUsd,
|
|
75
107
|
latencyMs: Date.now() - start,
|
|
@@ -78,13 +110,21 @@ export class ClaudeAdapter {
|
|
|
78
110
|
};
|
|
79
111
|
}
|
|
80
112
|
}
|
|
81
|
-
|
|
113
|
+
/**
|
|
114
|
+
* Anthropic cache read discount: cache_read_input_tokens are charged at
|
|
115
|
+
* roughly 10% of normal input rate. (See
|
|
116
|
+
* https://docs.anthropic.com/en/docs/build-with-claude/prompt-caching.)
|
|
117
|
+
*/
|
|
118
|
+
const CACHE_READ_DISCOUNT = 0.1;
|
|
119
|
+
function estimateCostUsdWithCache(model, freshOrCreationIn, cacheReadIn, tokensOut) {
|
|
82
120
|
const key = Object.keys(PRICING_USD_PER_1M).find((k) => model.toLowerCase().startsWith(k));
|
|
83
121
|
if (!key)
|
|
84
122
|
return 0;
|
|
85
123
|
const rates = PRICING_USD_PER_1M[key];
|
|
86
124
|
if (!rates)
|
|
87
125
|
return 0;
|
|
88
|
-
return (
|
|
126
|
+
return ((freshOrCreationIn / 1_000_000) * rates.input +
|
|
127
|
+
(cacheReadIn / 1_000_000) * rates.input * CACHE_READ_DISCOUNT +
|
|
128
|
+
(tokensOut / 1_000_000) * rates.output);
|
|
89
129
|
}
|
|
90
130
|
//# sourceMappingURL=claude.js.map
|
|
@@ -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"}
|
package/dist/adapters/openai.js
CHANGED
|
@@ -78,12 +78,20 @@ export class OpenAIAdapter {
|
|
|
78
78
|
throw new AdapterError("OpenAI returned an empty response (no choices or empty content).", this.name);
|
|
79
79
|
}
|
|
80
80
|
const content = choice.message.content;
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
81
|
+
// OpenAI prompt caching is automatic for prompts > 1024 tokens; the
|
|
82
|
+
// cached span is the longest common prefix across recent calls with
|
|
83
|
+
// the same model. The fraction cached comes back in
|
|
84
|
+
// prompt_tokens_details.cached_tokens. Cache reads are billed at ~50%
|
|
85
|
+
// of normal input rate.
|
|
86
|
+
const usage = response.usage;
|
|
87
|
+
const tokensIn = usage?.prompt_tokens ?? 0;
|
|
88
|
+
const cacheReadIn = usage?.prompt_tokens_details?.cached_tokens ?? 0;
|
|
89
|
+
const tokensOut = usage?.completion_tokens ?? 0;
|
|
90
|
+
const costUsd = estimateCostUsdWithCache(model, tokensIn - cacheReadIn, cacheReadIn, tokensOut);
|
|
84
91
|
return {
|
|
85
92
|
content,
|
|
86
93
|
tokensIn,
|
|
94
|
+
cachedTokensIn: cacheReadIn,
|
|
87
95
|
tokensOut,
|
|
88
96
|
costUsd,
|
|
89
97
|
latencyMs: Date.now() - start,
|
|
@@ -92,7 +100,12 @@ export class OpenAIAdapter {
|
|
|
92
100
|
};
|
|
93
101
|
}
|
|
94
102
|
}
|
|
95
|
-
|
|
103
|
+
/**
|
|
104
|
+
* OpenAI cache-read discount: cached input tokens are billed at 50% of
|
|
105
|
+
* normal input rate. (See https://platform.openai.com/docs/guides/prompt-caching.)
|
|
106
|
+
*/
|
|
107
|
+
const CACHE_READ_DISCOUNT = 0.5;
|
|
108
|
+
function estimateCostUsdWithCache(model, freshTokensIn, cacheReadIn, tokensOut) {
|
|
96
109
|
// Match by prefix so versioned model names (gpt-4o-2024-08-06) still resolve.
|
|
97
110
|
const key = Object.keys(PRICING_USD_PER_1M).find((k) => model.toLowerCase().startsWith(k));
|
|
98
111
|
if (!key)
|
|
@@ -100,6 +113,8 @@ function estimateCostUsd(model, tokensIn, tokensOut) {
|
|
|
100
113
|
const rates = PRICING_USD_PER_1M[key];
|
|
101
114
|
if (!rates)
|
|
102
115
|
return 0;
|
|
103
|
-
return (
|
|
116
|
+
return ((freshTokensIn / 1_000_000) * rates.input +
|
|
117
|
+
(cacheReadIn / 1_000_000) * rates.input * CACHE_READ_DISCOUNT +
|
|
118
|
+
(tokensOut / 1_000_000) * rates.output);
|
|
104
119
|
}
|
|
105
120
|
//# sourceMappingURL=openai.js.map
|
|
@@ -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
|
@@ -29,11 +29,21 @@ export interface AdapterInput {
|
|
|
29
29
|
export interface AdapterOutput {
|
|
30
30
|
/** The model's text response. */
|
|
31
31
|
content: string;
|
|
32
|
-
/** Input token count (prompt). */
|
|
32
|
+
/** Input token count (prompt). Total — includes any cached portion. */
|
|
33
33
|
tokensIn: number;
|
|
34
|
+
/**
|
|
35
|
+
* Subset of `tokensIn` that was served from the provider's prompt cache
|
|
36
|
+
* (cheaper). Anthropic returns `cache_read_input_tokens`. OpenAI returns
|
|
37
|
+
* `prompt_tokens_details.cached_tokens`. Adapters that don't support
|
|
38
|
+
* caching yet (or for which caching didn't trigger this run) leave this
|
|
39
|
+
* at 0 — meaning every input token was a fresh hit at full price.
|
|
40
|
+
*/
|
|
41
|
+
cachedTokensIn?: number;
|
|
34
42
|
/** Output token count (completion). */
|
|
35
43
|
tokensOut: number;
|
|
36
|
-
/** Estimated USD cost based on the model's published rates
|
|
44
|
+
/** Estimated USD cost based on the model's published rates, with cache
|
|
45
|
+
* discount applied to `cachedTokensIn` per provider's published rate
|
|
46
|
+
* (Anthropic: 90% off on cache reads; OpenAI: 50% off; Gemini: varies). */
|
|
37
47
|
costUsd: number;
|
|
38
48
|
/** Wall-clock latency in milliseconds. */
|
|
39
49
|
latencyMs: number;
|
|
@@ -47,6 +57,14 @@ export interface Adapter {
|
|
|
47
57
|
readonly name: string;
|
|
48
58
|
/** Underlying provider family (e.g. "openai", "anthropic", "mock"). */
|
|
49
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;
|
|
50
68
|
/** True if credentials are available and the adapter can be invoked. */
|
|
51
69
|
isAvailable(): Promise<boolean>;
|
|
52
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,
|
|
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"}
|