reviewflow 3.14.0 → 3.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -0
- package/dist/frameworks/claude/claudeInvoker.d.ts.map +1 -1
- package/dist/frameworks/claude/claudeInvoker.js +28 -6
- package/dist/frameworks/claude/claudeInvoker.js.map +1 -1
- package/dist/frameworks/claude/timers/claudeInvocationTimers.d.ts.map +1 -1
- package/dist/frameworks/claude/timers/claudeInvocationTimers.js +0 -1
- package/dist/frameworks/claude/timers/claudeInvocationTimers.js.map +1 -1
- package/dist/frameworks/scheduler/worktreeSweepScheduler.d.ts +14 -0
- package/dist/frameworks/scheduler/worktreeSweepScheduler.d.ts.map +1 -0
- package/dist/frameworks/scheduler/worktreeSweepScheduler.js +35 -0
- package/dist/frameworks/scheduler/worktreeSweepScheduler.js.map +1 -0
- package/dist/main/dependencies.d.ts +4 -0
- package/dist/main/dependencies.d.ts.map +1 -1
- package/dist/main/dependencies.js +6 -0
- package/dist/main/dependencies.js.map +1 -1
- package/dist/main/routes.d.ts.map +1 -1
- package/dist/main/routes.js +3 -7
- package/dist/main/routes.js.map +1 -1
- package/dist/main/server.d.ts.map +1 -1
- package/dist/main/server.js +9 -0
- package/dist/main/server.js.map +1 -1
- package/dist/modules/claude-invocation/entities/claudeSession/claudeSession.gateway.d.ts +2 -0
- package/dist/modules/claude-invocation/entities/claudeSession/claudeSession.gateway.d.ts.map +1 -1
- package/dist/modules/claude-invocation/entities/claudeSession/sessionUsage.schema.d.ts +13 -0
- package/dist/modules/claude-invocation/entities/claudeSession/sessionUsage.schema.d.ts.map +1 -0
- package/dist/modules/claude-invocation/entities/claudeSession/sessionUsage.schema.js +12 -0
- package/dist/modules/claude-invocation/entities/claudeSession/sessionUsage.schema.js.map +1 -0
- package/dist/modules/claude-invocation/interface-adapters/gateways/claudeSession.cli.gateway.d.ts +7 -1
- package/dist/modules/claude-invocation/interface-adapters/gateways/claudeSession.cli.gateway.d.ts.map +1 -1
- package/dist/modules/claude-invocation/interface-adapters/gateways/claudeSession.cli.gateway.js +90 -3
- package/dist/modules/claude-invocation/interface-adapters/gateways/claudeSession.cli.gateway.js.map +1 -1
- package/dist/modules/claude-invocation/usecases/auditBilling.usecase.d.ts +0 -2
- package/dist/modules/claude-invocation/usecases/auditBilling.usecase.d.ts.map +1 -1
- package/dist/modules/claude-invocation/usecases/auditBilling.usecase.js +6 -6
- package/dist/modules/claude-invocation/usecases/auditBilling.usecase.js.map +1 -1
- package/dist/modules/claude-invocation/usecases/runClaudeReviewJob.usecase.d.ts +2 -0
- package/dist/modules/claude-invocation/usecases/runClaudeReviewJob.usecase.d.ts.map +1 -1
- package/dist/modules/claude-invocation/usecases/runClaudeReviewJob.usecase.js +9 -1
- package/dist/modules/claude-invocation/usecases/runClaudeReviewJob.usecase.js.map +1 -1
- package/dist/modules/platform-integration/entities/github/githubPullRequestEvent.guard.d.ts +14 -0
- package/dist/modules/platform-integration/entities/github/githubPullRequestEvent.guard.d.ts.map +1 -1
- package/dist/modules/platform-integration/entities/github/githubPullRequestEvent.guard.js +13 -2
- package/dist/modules/platform-integration/entities/github/githubPullRequestEvent.guard.js.map +1 -1
- package/dist/modules/platform-integration/interface-adapters/controllers/webhook/github.controller.d.ts.map +1 -1
- package/dist/modules/platform-integration/interface-adapters/controllers/webhook/github.controller.js +14 -2
- package/dist/modules/platform-integration/interface-adapters/controllers/webhook/github.controller.js.map +1 -1
- package/dist/modules/platform-integration/interface-adapters/controllers/webhook/gitlab.controller.d.ts.map +1 -1
- package/dist/modules/platform-integration/interface-adapters/controllers/webhook/gitlab.controller.js +2 -3
- package/dist/modules/platform-integration/interface-adapters/controllers/webhook/gitlab.controller.js.map +1 -1
- package/dist/modules/token-accounting/entities/modelPricing/modelPricing.d.ts +16 -0
- package/dist/modules/token-accounting/entities/modelPricing/modelPricing.d.ts.map +1 -0
- package/dist/modules/token-accounting/entities/modelPricing/modelPricing.js +44 -0
- package/dist/modules/token-accounting/entities/modelPricing/modelPricing.js.map +1 -0
- package/dist/tests/acceptance/169-migrate-claude-invocation-to-bg-mode.acceptance.test.js +5 -5
- package/dist/tests/acceptance/169-migrate-claude-invocation-to-bg-mode.acceptance.test.js.map +1 -1
- package/dist/tests/acceptance/170-prebuilt-worktree-lifecycle.acceptance.test.d.ts +5 -4
- package/dist/tests/acceptance/170-prebuilt-worktree-lifecycle.acceptance.test.d.ts.map +1 -1
- package/dist/tests/acceptance/170-prebuilt-worktree-lifecycle.acceptance.test.js +246 -11
- package/dist/tests/acceptance/170-prebuilt-worktree-lifecycle.acceptance.test.js.map +1 -1
- package/dist/tests/acceptance/171-bg-token-usage-tracking.acceptance.test.d.ts +2 -0
- package/dist/tests/acceptance/171-bg-token-usage-tracking.acceptance.test.d.ts.map +1 -0
- package/dist/tests/acceptance/171-bg-token-usage-tracking.acceptance.test.js +320 -0
- package/dist/tests/acceptance/171-bg-token-usage-tracking.acceptance.test.js.map +1 -0
- package/dist/tests/integration/claudeInvocation.integration.test.js +5 -1
- package/dist/tests/integration/claudeInvocation.integration.test.js.map +1 -1
- package/dist/tests/stubs/claudeSession.stub.d.ts +8 -0
- package/dist/tests/stubs/claudeSession.stub.d.ts.map +1 -1
- package/dist/tests/stubs/claudeSession.stub.js +9 -0
- package/dist/tests/stubs/claudeSession.stub.js.map +1 -1
- package/dist/tests/units/entities/github/githubPullRequestEvent.guard.test.js +26 -0
- package/dist/tests/units/entities/github/githubPullRequestEvent.guard.test.js.map +1 -1
- package/dist/tests/units/frameworks/claude/timers/claudeInvocationTimers.test.js +3 -3
- package/dist/tests/units/frameworks/claude/timers/claudeInvocationTimers.test.js.map +1 -1
- package/dist/tests/units/frameworks/scheduler/worktreeSweepScheduler.test.d.ts +2 -0
- package/dist/tests/units/frameworks/scheduler/worktreeSweepScheduler.test.d.ts.map +1 -0
- package/dist/tests/units/frameworks/scheduler/worktreeSweepScheduler.test.js +119 -0
- package/dist/tests/units/frameworks/scheduler/worktreeSweepScheduler.test.js.map +1 -0
- package/dist/tests/units/interface-adapters/controllers/webhook/github.controller.test.js +74 -2
- package/dist/tests/units/interface-adapters/controllers/webhook/github.controller.test.js.map +1 -1
- package/dist/tests/units/modules/claude-invocation/interface-adapters/gateways/claudeSession.cli.gateway.test.js +135 -5
- package/dist/tests/units/modules/claude-invocation/interface-adapters/gateways/claudeSession.cli.gateway.test.js.map +1 -1
- package/dist/tests/units/modules/claude-invocation/usecases/auditBilling.usecase.test.js +2 -18
- package/dist/tests/units/modules/claude-invocation/usecases/auditBilling.usecase.test.js.map +1 -1
- package/dist/tests/units/modules/claude-invocation/usecases/runClaudeReviewJob.usecase.test.js +90 -0
- package/dist/tests/units/modules/claude-invocation/usecases/runClaudeReviewJob.usecase.test.js.map +1 -1
- package/dist/tests/units/modules/token-accounting/entities/modelPricing/modelPricing.test.d.ts +2 -0
- package/dist/tests/units/modules/token-accounting/entities/modelPricing/modelPricing.test.d.ts.map +1 -0
- package/dist/tests/units/modules/token-accounting/entities/modelPricing/modelPricing.test.js +90 -0
- package/dist/tests/units/modules/token-accounting/entities/modelPricing/modelPricing.test.js.map +1 -0
- package/package.json +1 -1
package/dist/tests/units/modules/claude-invocation/usecases/runClaudeReviewJob.usecase.test.js
CHANGED
|
@@ -146,6 +146,96 @@ describe('runClaudeReviewJob orchestrator', () => {
|
|
|
146
146
|
expect(result.reason).toContain('cancelled');
|
|
147
147
|
}
|
|
148
148
|
});
|
|
149
|
+
describe('SPEC-171 — session usage capture between completion and cleanup', () => {
|
|
150
|
+
it('calls getSessionUsage once when outcome is completed and returns the snapshot in the result', async () => {
|
|
151
|
+
const ctx = buildDeps();
|
|
152
|
+
ctx.sessionGateway.setDispatchResult({
|
|
153
|
+
status: 'dispatched',
|
|
154
|
+
sessionId: parseSessionId('usg00001'),
|
|
155
|
+
});
|
|
156
|
+
ctx.completionBridge.scheduleCompletion('gitlab:owner/repo:42', {
|
|
157
|
+
source: 'mcp',
|
|
158
|
+
outcome: 'completed',
|
|
159
|
+
reason: null,
|
|
160
|
+
});
|
|
161
|
+
ctx.sessionGateway.setSessionUsage({
|
|
162
|
+
model: 'claude-opus-4-7',
|
|
163
|
+
usage: {
|
|
164
|
+
inputTokens: 100,
|
|
165
|
+
outputTokens: 50,
|
|
166
|
+
cacheCreationInputTokens: 0,
|
|
167
|
+
cacheReadInputTokens: 0,
|
|
168
|
+
costUsd: 0.0019,
|
|
169
|
+
},
|
|
170
|
+
});
|
|
171
|
+
const runPromise = runClaudeReviewJob(buildInput(), ctx.deps);
|
|
172
|
+
await vi.runAllTimersAsync();
|
|
173
|
+
const result = await runPromise;
|
|
174
|
+
expect(ctx.sessionGateway.getSessionUsageCalls).toHaveLength(1);
|
|
175
|
+
expect(ctx.sessionGateway.getSessionUsageCalls[0]?.sessionId).toBe(parseSessionId('usg00001'));
|
|
176
|
+
expect(ctx.sessionGateway.getSessionUsageCalls[0]?.cwd).toBe('/tmp/project');
|
|
177
|
+
expect(result.status).toBe('completed');
|
|
178
|
+
if (result.status === 'completed') {
|
|
179
|
+
expect(result.usage).not.toBeNull();
|
|
180
|
+
expect(result.usage?.model).toBe('claude-opus-4-7');
|
|
181
|
+
expect(result.usage?.usage.inputTokens).toBe(100);
|
|
182
|
+
}
|
|
183
|
+
});
|
|
184
|
+
it('returns usage null in the completed result when the gateway returns null', async () => {
|
|
185
|
+
const ctx = buildDeps();
|
|
186
|
+
ctx.sessionGateway.setDispatchResult({
|
|
187
|
+
status: 'dispatched',
|
|
188
|
+
sessionId: parseSessionId('usg00002'),
|
|
189
|
+
});
|
|
190
|
+
ctx.completionBridge.scheduleCompletion('gitlab:owner/repo:42', {
|
|
191
|
+
source: 'mcp',
|
|
192
|
+
outcome: 'completed',
|
|
193
|
+
reason: null,
|
|
194
|
+
});
|
|
195
|
+
ctx.sessionGateway.setSessionUsage(null);
|
|
196
|
+
const runPromise = runClaudeReviewJob(buildInput(), ctx.deps);
|
|
197
|
+
await vi.runAllTimersAsync();
|
|
198
|
+
const result = await runPromise;
|
|
199
|
+
expect(result.status).toBe('completed');
|
|
200
|
+
if (result.status === 'completed') {
|
|
201
|
+
expect(result.usage).toBeNull();
|
|
202
|
+
}
|
|
203
|
+
});
|
|
204
|
+
it('does NOT call getSessionUsage when outcome is failed', async () => {
|
|
205
|
+
const ctx = buildDeps();
|
|
206
|
+
ctx.sessionGateway.setDispatchResult({
|
|
207
|
+
status: 'dispatched',
|
|
208
|
+
sessionId: parseSessionId('usg00003'),
|
|
209
|
+
});
|
|
210
|
+
ctx.completionBridge.scheduleCompletion('gitlab:owner/repo:42', {
|
|
211
|
+
source: 'mcp',
|
|
212
|
+
outcome: 'failed',
|
|
213
|
+
reason: 'agent-crash',
|
|
214
|
+
});
|
|
215
|
+
const runPromise = runClaudeReviewJob(buildInput(), ctx.deps);
|
|
216
|
+
await vi.runAllTimersAsync();
|
|
217
|
+
const result = await runPromise;
|
|
218
|
+
expect(ctx.sessionGateway.getSessionUsageCalls).toHaveLength(0);
|
|
219
|
+
expect(result.status).toBe('failed');
|
|
220
|
+
});
|
|
221
|
+
it('does NOT call getSessionUsage on timeout', async () => {
|
|
222
|
+
const ctx = buildDeps();
|
|
223
|
+
ctx.sessionGateway.setDispatchResult({
|
|
224
|
+
status: 'dispatched',
|
|
225
|
+
sessionId: parseSessionId('usg00004'),
|
|
226
|
+
});
|
|
227
|
+
let nowMs = new Date('2026-05-22T10:00:00Z').getTime();
|
|
228
|
+
const deps = { ...ctx.deps, now: () => new Date(nowMs) };
|
|
229
|
+
const runPromise = runClaudeReviewJob(buildInput(), deps);
|
|
230
|
+
await Promise.resolve();
|
|
231
|
+
await Promise.resolve();
|
|
232
|
+
await Promise.resolve();
|
|
233
|
+
nowMs += 16 * 60_000;
|
|
234
|
+
await vi.advanceTimersByTimeAsync(16 * 60_000);
|
|
235
|
+
await runPromise;
|
|
236
|
+
expect(ctx.sessionGateway.getSessionUsageCalls).toHaveLength(0);
|
|
237
|
+
});
|
|
238
|
+
});
|
|
149
239
|
it('returns "failed" with reason "timeout" when no signal arrives in time', async () => {
|
|
150
240
|
const ctx = buildDeps();
|
|
151
241
|
ctx.sessionGateway.setDispatchResult({
|
package/dist/tests/units/modules/claude-invocation/usecases/runClaudeReviewJob.usecase.test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runClaudeReviewJob.usecase.test.js","sourceRoot":"","sources":["../../../../../../src/tests/units/modules/claude-invocation/usecases/runClaudeReviewJob.usecase.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runClaudeReviewJob.usecase.test.js","sourceRoot":"","sources":["../../../../../../src/tests/units/modules/claude-invocation/usecases/runClaudeReviewJob.usecase.test.ts"],"names":[],"mappings":"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"}
|
package/dist/tests/units/modules/token-accounting/entities/modelPricing/modelPricing.test.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modelPricing.test.d.ts","sourceRoot":"","sources":["../../../../../../../src/tests/units/modules/token-accounting/entities/modelPricing/modelPricing.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest';
|
|
2
|
+
import { computeCostUsd, MODEL_PRICING_USD_PER_MILLION, } from '../../../../../../modules/token-accounting/entities/modelPricing/modelPricing.js';
|
|
3
|
+
describe('computeCostUsd', () => {
|
|
4
|
+
it('returns 0 when every token field is zero', () => {
|
|
5
|
+
const cost = computeCostUsd('claude-opus-4-7', {
|
|
6
|
+
inputTokens: 0,
|
|
7
|
+
outputTokens: 0,
|
|
8
|
+
cacheCreationInputTokens: 0,
|
|
9
|
+
cacheReadInputTokens: 0,
|
|
10
|
+
costUsd: 0,
|
|
11
|
+
});
|
|
12
|
+
expect(cost).toBe(0);
|
|
13
|
+
});
|
|
14
|
+
it('prices 1M input tokens at the opus rate (15 USD)', () => {
|
|
15
|
+
const cost = computeCostUsd('claude-opus-4-7', {
|
|
16
|
+
inputTokens: 1_000_000,
|
|
17
|
+
outputTokens: 0,
|
|
18
|
+
cacheCreationInputTokens: 0,
|
|
19
|
+
cacheReadInputTokens: 0,
|
|
20
|
+
costUsd: 0,
|
|
21
|
+
});
|
|
22
|
+
expect(cost).toBe(15);
|
|
23
|
+
});
|
|
24
|
+
it('prices 1M input tokens at the sonnet rate (3 USD)', () => {
|
|
25
|
+
const cost = computeCostUsd('claude-sonnet-4-5', {
|
|
26
|
+
inputTokens: 1_000_000,
|
|
27
|
+
outputTokens: 0,
|
|
28
|
+
cacheCreationInputTokens: 0,
|
|
29
|
+
cacheReadInputTokens: 0,
|
|
30
|
+
costUsd: 0,
|
|
31
|
+
});
|
|
32
|
+
expect(cost).toBe(3);
|
|
33
|
+
});
|
|
34
|
+
it('prices 1M input tokens at the haiku rate (1 USD)', () => {
|
|
35
|
+
const cost = computeCostUsd('claude-haiku-4-5', {
|
|
36
|
+
inputTokens: 1_000_000,
|
|
37
|
+
outputTokens: 0,
|
|
38
|
+
cacheCreationInputTokens: 0,
|
|
39
|
+
cacheReadInputTokens: 0,
|
|
40
|
+
costUsd: 0,
|
|
41
|
+
});
|
|
42
|
+
expect(cost).toBe(1);
|
|
43
|
+
});
|
|
44
|
+
it('sums input, output, cache-creation and cache-read at their respective rates (sonnet tier)', () => {
|
|
45
|
+
const cost = computeCostUsd('claude-sonnet-4-5', {
|
|
46
|
+
inputTokens: 1_000_000,
|
|
47
|
+
outputTokens: 1_000_000,
|
|
48
|
+
cacheCreationInputTokens: 1_000_000,
|
|
49
|
+
cacheReadInputTokens: 1_000_000,
|
|
50
|
+
costUsd: 0,
|
|
51
|
+
});
|
|
52
|
+
expect(cost).toBeCloseTo(3 + 15 + 3.75 + 0.3, 6);
|
|
53
|
+
});
|
|
54
|
+
it('falls back to opus pricing for an unknown model (never under-reports)', () => {
|
|
55
|
+
const cost = computeCostUsd('mystery-model-x', {
|
|
56
|
+
inputTokens: 1_000_000,
|
|
57
|
+
outputTokens: 0,
|
|
58
|
+
cacheCreationInputTokens: 0,
|
|
59
|
+
cacheReadInputTokens: 0,
|
|
60
|
+
costUsd: 0,
|
|
61
|
+
});
|
|
62
|
+
expect(cost).toBe(15);
|
|
63
|
+
});
|
|
64
|
+
it('matches versioned suffixes via prefix (claude-opus-4-7[1m] → opus tier)', () => {
|
|
65
|
+
const cost = computeCostUsd('claude-opus-4-7[1m]', {
|
|
66
|
+
inputTokens: 1_000_000,
|
|
67
|
+
outputTokens: 0,
|
|
68
|
+
cacheCreationInputTokens: 0,
|
|
69
|
+
cacheReadInputTokens: 0,
|
|
70
|
+
costUsd: 0,
|
|
71
|
+
});
|
|
72
|
+
expect(cost).toBe(15);
|
|
73
|
+
});
|
|
74
|
+
it('matches the dated versioned suffix (claude-haiku-4-5-20251022 → haiku tier)', () => {
|
|
75
|
+
const cost = computeCostUsd('claude-haiku-4-5-20251022', {
|
|
76
|
+
inputTokens: 1_000_000,
|
|
77
|
+
outputTokens: 0,
|
|
78
|
+
cacheCreationInputTokens: 0,
|
|
79
|
+
cacheReadInputTokens: 0,
|
|
80
|
+
costUsd: 0,
|
|
81
|
+
});
|
|
82
|
+
expect(cost).toBe(1);
|
|
83
|
+
});
|
|
84
|
+
it('exposes the public pricing table as a constant for inspection', () => {
|
|
85
|
+
expect(MODEL_PRICING_USD_PER_MILLION).toHaveProperty('claude-opus-4');
|
|
86
|
+
expect(MODEL_PRICING_USD_PER_MILLION).toHaveProperty('claude-sonnet-4');
|
|
87
|
+
expect(MODEL_PRICING_USD_PER_MILLION).toHaveProperty('claude-haiku-4-5');
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
//# sourceMappingURL=modelPricing.test.js.map
|
package/dist/tests/units/modules/token-accounting/entities/modelPricing/modelPricing.test.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modelPricing.test.js","sourceRoot":"","sources":["../../../../../../../src/tests/units/modules/token-accounting/entities/modelPricing/modelPricing.test.ts"],"names":[],"mappings":"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"}
|