reviewflow 3.15.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 +12 -0
- 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/interface-adapters/gateways/claudeSession.cli.gateway.d.ts.map +1 -1
- package/dist/modules/claude-invocation/interface-adapters/gateways/claudeSession.cli.gateway.js +17 -2
- 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/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/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/integration/claudeInvocation.integration.test.js +5 -1
- package/dist/tests/integration/claudeInvocation.integration.test.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 +17 -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/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,18 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [3.16.0](https://github.com/DGouron/review-flow/compare/reviewflow-v3.15.0...reviewflow-v3.16.0) (2026-05-23)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
|
|
13
|
+
* **worktree-management:** implement SPEC-170 FR-6 daily sweep + FR-8 GitHub cross-fork PR ([#181](https://github.com/DGouron/review-flow/issues/181)) ([eecc12b](https://github.com/DGouron/review-flow/commit/eecc12b2a651394d3e8c63b0cf108c2dca358c31))
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
### Fixed
|
|
17
|
+
|
|
18
|
+
* **claude-invocation:** add -- terminator so variadic tool flags do not swallow the prompt arg ([#183](https://github.com/DGouron/review-flow/issues/183)) ([34f11fe](https://github.com/DGouron/review-flow/commit/34f11fe7b43d3c93da181d6315ac6403065038ba))
|
|
19
|
+
|
|
8
20
|
## [3.15.0](https://github.com/DGouron/review-flow/compare/reviewflow-v3.14.0...reviewflow-v3.15.0) (2026-05-23)
|
|
9
21
|
|
|
10
22
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claudeInvocationTimers.d.ts","sourceRoot":"","sources":["../../../../src/frameworks/claude/timers/claudeInvocationTimers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2EAA2E,CAAC;AACrH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6EAA6E,CAAC;AACxH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mFAAmF,CAAC;AAIjI,MAAM,WAAW,2BAA2B;IAC1C,cAAc,EAAE,oBAAoB,CAAC;IACrC,uBAAuB,EAAE,uBAAuB,CAAC;IACjD,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,GAAG,EAAE,MAAM,IAAI,CAAC;IAChB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC;AAEpC,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,2BAA2B,GAAG,UAAU,
|
|
1
|
+
{"version":3,"file":"claudeInvocationTimers.d.ts","sourceRoot":"","sources":["../../../../src/frameworks/claude/timers/claudeInvocationTimers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2EAA2E,CAAC;AACrH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6EAA6E,CAAC;AACxH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mFAAmF,CAAC;AAIjI,MAAM,WAAW,2BAA2B;IAC1C,cAAc,EAAE,oBAAoB,CAAC;IACrC,uBAAuB,EAAE,uBAAuB,CAAC;IACjD,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,GAAG,EAAE,MAAM,IAAI,CAAC;IAChB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC;AAEpC,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,2BAA2B,GAAG,UAAU,CAoB1F"}
|
|
@@ -10,7 +10,6 @@ export function startClaudeInvocationTimers(input) {
|
|
|
10
10
|
}, input.supervisorIntervalMs);
|
|
11
11
|
const billingTimer = setInterval(() => {
|
|
12
12
|
void auditBilling({
|
|
13
|
-
sessionGateway: input.sessionGateway,
|
|
14
13
|
billingStateGateway: input.billingStateGateway,
|
|
15
14
|
now: input.now,
|
|
16
15
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claudeInvocationTimers.js","sourceRoot":"","sources":["../../../../src/frameworks/claude/timers/claudeInvocationTimers.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,8DAA8D,CAAC;AAC5F,OAAO,EAAE,qBAAqB,EAAE,MAAM,uEAAuE,CAAC;AAa9G,MAAM,UAAU,2BAA2B,CAAC,KAAkC;IAC5E,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE;QACvC,KAAK,qBAAqB,CAAC;YACzB,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,uBAAuB,EAAE,KAAK,CAAC,uBAAuB;YACtD,GAAG,EAAE,KAAK,CAAC,GAAG;SACf,CAAC,CAAC;IACL,CAAC,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAE/B,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE;QACpC,KAAK,YAAY,CAAC;YAChB,
|
|
1
|
+
{"version":3,"file":"claudeInvocationTimers.js","sourceRoot":"","sources":["../../../../src/frameworks/claude/timers/claudeInvocationTimers.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,8DAA8D,CAAC;AAC5F,OAAO,EAAE,qBAAqB,EAAE,MAAM,uEAAuE,CAAC;AAa9G,MAAM,UAAU,2BAA2B,CAAC,KAAkC;IAC5E,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE;QACvC,KAAK,qBAAqB,CAAC;YACzB,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,uBAAuB,EAAE,KAAK,CAAC,uBAAuB;YACtD,GAAG,EAAE,KAAK,CAAC,GAAG;SACf,CAAC,CAAC;IACL,CAAC,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAE/B,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE;QACpC,KAAK,YAAY,CAAC;YAChB,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;YAC9C,GAAG,EAAE,KAAK,CAAC,GAAG;SACf,CAAC,CAAC;IACL,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAE5B,OAAO,GAAG,EAAE;QACV,aAAa,CAAC,eAAe,CAAC,CAAC;QAC/B,aAAa,CAAC,YAAY,CAAC,CAAC;IAC9B,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Logger } from 'pino';
|
|
2
|
+
import type { WorktreeGateway } from '../../modules/worktree-management/entities/worktree/worktree.gateway.js';
|
|
3
|
+
import type { SweepRepository, SweepTrackingGateway } from '../../modules/worktree-management/usecases/sweepStaleWorktrees.usecase.js';
|
|
4
|
+
export interface WorktreeSweepSchedulerDependencies {
|
|
5
|
+
worktreeGateway: WorktreeGateway;
|
|
6
|
+
trackingGateway: SweepTrackingGateway;
|
|
7
|
+
getRepositories: () => SweepRepository[];
|
|
8
|
+
logger: Logger;
|
|
9
|
+
now: () => Date;
|
|
10
|
+
}
|
|
11
|
+
export declare function startWorktreeSweepScheduler(dependencies: WorktreeSweepSchedulerDependencies): {
|
|
12
|
+
stop: () => void;
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=worktreeSweepScheduler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worktreeSweepScheduler.d.ts","sourceRoot":"","sources":["../../../src/frameworks/scheduler/worktreeSweepScheduler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qEAAqE,CAAC;AAC3G,OAAO,KAAK,EACV,eAAe,EACf,oBAAoB,EACrB,MAAM,uEAAuE,CAAC;AAK/E,MAAM,WAAW,kCAAkC;IACjD,eAAe,EAAE,eAAe,CAAC;IACjC,eAAe,EAAE,oBAAoB,CAAC;IACtC,eAAe,EAAE,MAAM,eAAe,EAAE,CAAC;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,IAAI,CAAC;CACjB;AAED,wBAAgB,2BAA2B,CACzC,YAAY,EAAE,kCAAkC,GAC/C;IAAE,IAAI,EAAE,MAAM,IAAI,CAAA;CAAE,CAsCtB"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { sweepStaleWorktrees } from '../../modules/worktree-management/usecases/sweepStaleWorktrees.usecase.js';
|
|
2
|
+
const TWENTY_FOUR_HOURS_IN_MILLISECONDS = 86_400_000;
|
|
3
|
+
export function startWorktreeSweepScheduler(dependencies) {
|
|
4
|
+
const { worktreeGateway, trackingGateway, getRepositories, logger, now } = dependencies;
|
|
5
|
+
async function runSweep() {
|
|
6
|
+
try {
|
|
7
|
+
const summary = await sweepStaleWorktrees({
|
|
8
|
+
listEntries: () => worktreeGateway.list(),
|
|
9
|
+
removeWorktree: async (identity) => {
|
|
10
|
+
const repositories = getRepositories();
|
|
11
|
+
const firstEnabled = repositories.find(repository => repository.enabled);
|
|
12
|
+
const sourceCheckoutPath = firstEnabled?.localPath ?? '';
|
|
13
|
+
return worktreeGateway.remove({ identity, sourceCheckoutPath });
|
|
14
|
+
},
|
|
15
|
+
trackingGateway,
|
|
16
|
+
getRepositories,
|
|
17
|
+
now,
|
|
18
|
+
});
|
|
19
|
+
if (summary.removed > 0 || summary.failures > 0) {
|
|
20
|
+
logger.info({ ...summary }, 'Worktree sweep completed');
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
logger.error({ error }, 'Worktree sweep failed');
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
void runSweep();
|
|
28
|
+
const intervalId = setInterval(() => {
|
|
29
|
+
void runSweep();
|
|
30
|
+
}, TWENTY_FOUR_HOURS_IN_MILLISECONDS);
|
|
31
|
+
return {
|
|
32
|
+
stop: () => clearInterval(intervalId),
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=worktreeSweepScheduler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worktreeSweepScheduler.js","sourceRoot":"","sources":["../../../src/frameworks/scheduler/worktreeSweepScheduler.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uEAAuE,CAAC;AAE5G,MAAM,iCAAiC,GAAG,UAAU,CAAC;AAUrD,MAAM,UAAU,2BAA2B,CACzC,YAAgD;IAEhD,MAAM,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,YAAY,CAAC;IAExF,KAAK,UAAU,QAAQ;QACrB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC;gBACxC,WAAW,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE;gBACzC,cAAc,EAAE,KAAK,EAAC,QAAQ,EAAC,EAAE;oBAC/B,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;oBACvC,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;oBACzE,MAAM,kBAAkB,GAAG,YAAY,EAAE,SAAS,IAAI,EAAE,CAAC;oBACzD,OAAO,eAAe,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBAClE,CAAC;gBACD,eAAe;gBACf,eAAe;gBACf,GAAG;aACJ,CAAC,CAAC;YAEH,IAAI,OAAO,CAAC,OAAO,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;gBAChD,MAAM,CAAC,IAAI,CACT,EAAE,GAAG,OAAO,EAAE,EACd,0BAA0B,CAC3B,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,uBAAuB,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED,KAAK,QAAQ,EAAE,CAAC;IAEhB,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;QAClC,KAAK,QAAQ,EAAE,CAAC;IAClB,CAAC,EAAE,iCAAiC,CAAC,CAAC;IAEtC,OAAO;QACL,IAAI,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC;KACtC,CAAC;AACJ,CAAC"}
|
|
@@ -9,6 +9,8 @@ import type { SupervisorStatusStore } from '../modules/supervisor-management/ent
|
|
|
9
9
|
import { ReviewContextWatcherService } from '../modules/review-execution/services/reviewContextWatcher.service.js';
|
|
10
10
|
import { ReviewContextProgressPresenter } from '../modules/review-execution/interface-adapters/presenters/reviewContextProgress.presenter.js';
|
|
11
11
|
import { type ClaudeInvocationDeps } from '../frameworks/claude/claudeInvoker.js';
|
|
12
|
+
import type { GitCommandExecutor } from '../modules/worktree-management/entities/gitCommand/gitCommand.gateway.js';
|
|
13
|
+
import type { WorktreeGateway } from '../modules/worktree-management/entities/worktree/worktree.gateway.js';
|
|
12
14
|
import { type Logger } from 'pino';
|
|
13
15
|
export interface Dependencies {
|
|
14
16
|
reviewRequestTrackingGateway: ReviewRequestTrackingGateway;
|
|
@@ -21,6 +23,8 @@ export interface Dependencies {
|
|
|
21
23
|
progressPresenter: ReviewContextProgressPresenter;
|
|
22
24
|
claudeInvocationDeps: ClaudeInvocationDeps;
|
|
23
25
|
supervisorStatusStore: SupervisorStatusStore;
|
|
26
|
+
gitCommandExecutor: GitCommandExecutor;
|
|
27
|
+
worktreeGateway: WorktreeGateway;
|
|
24
28
|
logger: Logger;
|
|
25
29
|
config: Config;
|
|
26
30
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dependencies.d.ts","sourceRoot":"","sources":["../../src/main/dependencies.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,iFAAiF,CAAC;AACpI,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4EAA4E,CAAC;AAC/G,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8EAA8E,CAAC;AACtH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+EAA+E,CAAC;AAC1H,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4EAA4E,CAAC;AACvH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oEAAoE,CAAC;AAC1G,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sFAAsF,CAAC;AAQlI,OAAO,EAAE,2BAA2B,EAAE,MAAM,qEAAqE,CAAC;AAClH,OAAO,EAAE,8BAA8B,EAAE,MAAM,6FAA6F,CAAC;AAE7I,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"dependencies.d.ts","sourceRoot":"","sources":["../../src/main/dependencies.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,iFAAiF,CAAC;AACpI,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4EAA4E,CAAC;AAC/G,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8EAA8E,CAAC;AACtH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+EAA+E,CAAC;AAC1H,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4EAA4E,CAAC;AACvH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oEAAoE,CAAC;AAC1G,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sFAAsF,CAAC;AAQlI,OAAO,EAAE,2BAA2B,EAAE,MAAM,qEAAqE,CAAC;AAClH,OAAO,EAAE,8BAA8B,EAAE,MAAM,6FAA6F,CAAC;AAE7I,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,sCAAsC,CAAC;AAG9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yEAAyE,CAAC;AAClH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qEAAqE,CAAC;AAC3G,OAAO,EAAQ,KAAK,MAAM,EAAsB,MAAM,MAAM,CAAC;AAI7D,MAAM,WAAW,YAAY;IAC3B,4BAA4B,EAAE,4BAA4B,CAAC;IAC3D,YAAY,EAAE,YAAY,CAAC;IAC3B,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,eAAe,EAAE,eAAe,CAAC;IACjC,oBAAoB,EAAE,2BAA2B,CAAC;IAClD,iBAAiB,EAAE,8BAA8B,CAAC;IAClD,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,eAAe,EAAE,eAAe,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AA+BD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAuB/D"}
|
|
@@ -9,6 +9,8 @@ import { ReviewContextWatcherService } from '../modules/review-execution/service
|
|
|
9
9
|
import { ReviewContextProgressPresenter } from '../modules/review-execution/interface-adapters/presenters/reviewContextProgress.presenter.js';
|
|
10
10
|
import { ProjectStatsCalculator } from '../modules/statistics-insights/interface-adapters/presenters/projectStats.calculator.js';
|
|
11
11
|
import { createDefaultClaudeInvocationDeps, } from '../frameworks/claude/claudeInvoker.js';
|
|
12
|
+
import { GitCommandCliGateway } from '../modules/worktree-management/interface-adapters/gateways/gitCommand.cli.gateway.js';
|
|
13
|
+
import { WorktreeFileSystemGateway } from '../modules/worktree-management/interface-adapters/gateways/worktree.fileSystem.gateway.js';
|
|
12
14
|
import { pino } from 'pino';
|
|
13
15
|
import { mkdirSync } from 'node:fs';
|
|
14
16
|
import { LOG_DIR, LOG_FILE_PATH } from '../shared/services/daemonPaths.js';
|
|
@@ -38,6 +40,8 @@ function createLogger() {
|
|
|
38
40
|
export function createDependencies(config) {
|
|
39
41
|
const logger = createLogger();
|
|
40
42
|
const reviewContextGateway = new ReviewContextFileSystemGateway();
|
|
43
|
+
const gitCommandExecutor = new GitCommandCliGateway();
|
|
44
|
+
const worktreeGateway = new WorktreeFileSystemGateway({ executor: gitCommandExecutor });
|
|
41
45
|
return {
|
|
42
46
|
reviewRequestTrackingGateway: new FileSystemReviewRequestTrackingGateway(new ProjectStatsCalculator()),
|
|
43
47
|
statsGateway: new FileSystemStatsGateway(),
|
|
@@ -49,6 +53,8 @@ export function createDependencies(config) {
|
|
|
49
53
|
progressPresenter: new ReviewContextProgressPresenter(),
|
|
50
54
|
claudeInvocationDeps: createDefaultClaudeInvocationDeps(),
|
|
51
55
|
supervisorStatusStore: new InMemorySupervisorStatusStore(),
|
|
56
|
+
gitCommandExecutor,
|
|
57
|
+
worktreeGateway,
|
|
52
58
|
logger,
|
|
53
59
|
config,
|
|
54
60
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../../src/main/dependencies.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,6BAA6B,EAAE,MAAM,qGAAqG,CAAC;AACpJ,OAAO,EAAE,sCAAsC,EAAE,MAAM,+FAA+F,CAAC;AACvJ,OAAO,EAAE,sBAAsB,EAAE,MAAM,0FAA0F,CAAC;AAClI,OAAO,EAAE,yBAAyB,EAAE,MAAM,6FAA6F,CAAC;AACxI,OAAO,EAAE,2BAA2B,EAAE,MAAM,4FAA4F,CAAC;AACzI,OAAO,EAAE,8BAA8B,EAAE,MAAM,qGAAqG,CAAC;AACrJ,OAAO,EAAE,8BAA8B,EAAE,MAAM,4FAA4F,CAAC;AAC5I,OAAO,EAAE,2BAA2B,EAAE,MAAM,qEAAqE,CAAC;AAClH,OAAO,EAAE,8BAA8B,EAAE,MAAM,6FAA6F,CAAC;AAC7I,OAAO,EAAE,sBAAsB,EAAE,MAAM,wFAAwF,CAAC;AAChI,OAAO,EACL,iCAAiC,GAElC,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAmC,MAAM,MAAM,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../../src/main/dependencies.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/main/routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAK/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/main/routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAK/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AA2E3D,wBAAsB,cAAc,CAClC,GAAG,EAAE,eAAe,EACpB,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,IAAI,CAAC,CA0Nf"}
|
package/dist/main/routes.js
CHANGED
|
@@ -53,9 +53,6 @@ import { InstallTypeDetectorFsGateway } from '../modules/cli-configuration/inter
|
|
|
53
53
|
import { broadcastBackfillProgress } from '../main/websocket.js';
|
|
54
54
|
import { createClaudeInsightsInvoker } from '../frameworks/claude/claudeInsightsInvoker.js';
|
|
55
55
|
import { getDefaultLanguage } from '../frameworks/settings/runtimeSettings.js';
|
|
56
|
-
import { existsSync } from 'node:fs';
|
|
57
|
-
import { GitCommandCliGateway } from '../modules/worktree-management/interface-adapters/gateways/gitCommand.cli.gateway.js';
|
|
58
|
-
import { removeWorktree } from '../modules/worktree-management/usecases/removeWorktree.usecase.js';
|
|
59
56
|
const __filename = fileURLToPath(import.meta.url);
|
|
60
57
|
const __dirname = dirname(__filename);
|
|
61
58
|
function readVersion() {
|
|
@@ -182,10 +179,9 @@ export async function registerRoutes(app, deps) {
|
|
|
182
179
|
await registerWebSocketRoutes(app, deps);
|
|
183
180
|
const trackingGw = deps.reviewRequestTrackingGateway;
|
|
184
181
|
const threadFetchGw = new GitLabThreadFetchGateway(defaultGitLabExecutor);
|
|
185
|
-
const
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
worktreeExists: async (path) => existsSync(path),
|
|
182
|
+
const removeWorktreeAction = (input) => deps.worktreeGateway.remove({
|
|
183
|
+
identity: input.identity,
|
|
184
|
+
sourceCheckoutPath: input.sourceCheckoutPath,
|
|
189
185
|
});
|
|
190
186
|
app.post('/webhooks/gitlab', async (request, reply) => {
|
|
191
187
|
await handleGitLabWebhook(request, reply, deps.logger, trackingGw, {
|
package/dist/main/routes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/main/routes.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/main/routes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/main/server.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAE,KAAK,eAAe,EAAE,MAAM,SAAS,CAAC;AAExD,OAAO,EAAc,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/main/server.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAE,KAAK,eAAe,EAAE,MAAM,SAAS,CAAC;AAExD,OAAO,EAAc,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAe9D,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AA4BD,wBAAsB,YAAY,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,eAAe,CAAC,CAKxF;AAED,wBAAsB,WAAW,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,eAAe,CAAC,CAgFvF"}
|
package/dist/main/server.js
CHANGED
|
@@ -8,6 +8,7 @@ import { initQueue } from '../frameworks/queue/pQueueAdapter.js';
|
|
|
8
8
|
import { removePidFile } from '../shared/services/pidFileManager.js';
|
|
9
9
|
import { PID_FILE_PATH } from '../shared/services/daemonPaths.js';
|
|
10
10
|
import { startCleanupScheduler } from '../frameworks/scheduler/cleanupScheduler.js';
|
|
11
|
+
import { startWorktreeSweepScheduler } from '../frameworks/scheduler/worktreeSweepScheduler.js';
|
|
11
12
|
import { startClaudeInvocationTimers } from '../frameworks/claude/timers/claudeInvocationTimers.js';
|
|
12
13
|
import { InMemorySupervisorHealthGateway } from '../modules/claude-invocation/interface-adapters/gateways/supervisorHealth.memory.gateway.js';
|
|
13
14
|
import { startSupervisorScheduler } from '../frameworks/scheduler/supervisorScheduler.js';
|
|
@@ -53,6 +54,13 @@ export async function startServer(options = {}) {
|
|
|
53
54
|
getRepositories: () => config.repositories,
|
|
54
55
|
logger: deps.logger,
|
|
55
56
|
});
|
|
57
|
+
const worktreeSweepScheduler = startWorktreeSweepScheduler({
|
|
58
|
+
worktreeGateway: deps.worktreeGateway,
|
|
59
|
+
trackingGateway: deps.reviewRequestTrackingGateway,
|
|
60
|
+
getRepositories: () => config.repositories,
|
|
61
|
+
logger: deps.logger,
|
|
62
|
+
now: () => new Date(),
|
|
63
|
+
});
|
|
56
64
|
const supervisorGateway = new SupervisorCliGateway({
|
|
57
65
|
probe: createDefaultSupervisorProbe(),
|
|
58
66
|
spawn: createDefaultSupervisorSpawner(),
|
|
@@ -90,6 +98,7 @@ export async function startServer(options = {}) {
|
|
|
90
98
|
const shutdown = async () => {
|
|
91
99
|
deps.logger.info('Shutting down...');
|
|
92
100
|
cleanupScheduler.stop();
|
|
101
|
+
worktreeSweepScheduler.stop();
|
|
93
102
|
stopClaudeInvocationTimers();
|
|
94
103
|
supervisorScheduler.stop();
|
|
95
104
|
removePidFile(PID_FILE_PATH);
|
package/dist/main/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/main/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/main/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claudeSession.cli.gateway.d.ts","sourceRoot":"","sources":["../../../../../src/modules/claude-invocation/interface-adapters/gateways/claudeSession.cli.gateway.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,gBAAgB,EAEhB,oBAAoB,EACpB,aAAa,EACb,YAAY,EACZ,aAAa,EACb,cAAc,EACd,WAAW,EACZ,MAAM,6EAA6E,CAAC;AACrF,OAAO,EAEL,KAAK,SAAS,EACf,MAAM,4EAA4E,CAAC;AACpF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2EAA2E,CAAC;AAGtH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,mBAAmB,GAAG,CAChC,OAAO,EAAE,oBAAoB,KAC1B,OAAO,CAAC,sBAAsB,CAAC,CAAC;AAErC,eAAO,MAAM,0BAA0B,QAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"claudeSession.cli.gateway.d.ts","sourceRoot":"","sources":["../../../../../src/modules/claude-invocation/interface-adapters/gateways/claudeSession.cli.gateway.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,gBAAgB,EAEhB,oBAAoB,EACpB,aAAa,EACb,YAAY,EACZ,aAAa,EACb,cAAc,EACd,WAAW,EACZ,MAAM,6EAA6E,CAAC;AACrF,OAAO,EAEL,KAAK,SAAS,EACf,MAAM,4EAA4E,CAAC;AACpF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2EAA2E,CAAC;AAGtH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,mBAAmB,GAAG,CAChC,OAAO,EAAE,oBAAoB,KAC1B,OAAO,CAAC,sBAAsB,CAAC,CAAC;AAErC,eAAO,MAAM,0BAA0B,QAAqC,CAAC;AAmC7E,MAAM,WAAW,8BAA8B;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,uBAAwB,YAAW,oBAAoB;IAIhE,OAAO,CAAC,QAAQ,CAAC,MAAM;IAHzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAGd,MAAM,EAAE,mBAAmB,EAC5C,OAAO,GAAE,8BAAmC;IAKxC,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;IA8CvD,IAAI,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC;IAQlD,MAAM,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC;IAQpD,UAAU,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAgBzC,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC;IAQrC,KAAK,IAAI,OAAO,CAAC,WAAW,CAAC;IAU7B,eAAe,CACnB,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;CAmDxC"}
|
package/dist/modules/claude-invocation/interface-adapters/gateways/claudeSession.cli.gateway.js
CHANGED
|
@@ -5,7 +5,13 @@ import { z } from 'zod';
|
|
|
5
5
|
import { parseSessionId, } from '../../../../modules/claude-invocation/entities/claudeSession/claudeSession.schema.js';
|
|
6
6
|
import { computeCostUsd } from '../../../../modules/token-accounting/entities/modelPricing/modelPricing.js';
|
|
7
7
|
export const RATE_LIMIT_DETECTION_REGEX = /\b(rate[\s-]?limit|429|throttl)/i;
|
|
8
|
-
|
|
8
|
+
// Claude CLI (>= 2.1.x) outputs the new background session in the form:
|
|
9
|
+
// "backgrounded · <hexSessionId>"
|
|
10
|
+
// followed by a multi-line "claude agents" hint block. The middle dot is
|
|
11
|
+
// U+00B7 (·). The daemon spawns the CLI with a piped stdout, so no ANSI
|
|
12
|
+
// colour codes wrap the id — interactive TTY output is not the dispatcher
|
|
13
|
+
// path and is not handled here.
|
|
14
|
+
const SESSION_ID_REGEX = /^backgrounded\s*[·]\s*([0-9a-f]+)/m;
|
|
9
15
|
const agentEntrySchema = z.object({
|
|
10
16
|
id: z.string().min(1),
|
|
11
17
|
status: z.string().optional(),
|
|
@@ -52,7 +58,16 @@ export class ClaudeSessionCliGateway {
|
|
|
52
58
|
input.flags.allowedTools,
|
|
53
59
|
'--disallowedTools',
|
|
54
60
|
input.flags.disallowedTools,
|
|
55
|
-
|
|
61
|
+
// `--allowedTools` and `--disallowedTools` are variadic flags that
|
|
62
|
+
// slurp every following positional arg until the next flag. Without
|
|
63
|
+
// an explicit `--` terminator, claude CLI swallows the prompt into
|
|
64
|
+
// the disallowedTools list and the session is dispatched with no
|
|
65
|
+
// prompt, leaving the background agent idle forever. Verified with
|
|
66
|
+
// `claude --print ... --allowedTools Read -- "say hi"` (responds)
|
|
67
|
+
// vs. `claude --print ... --allowedTools Read "say hi"`
|
|
68
|
+
// (fails: "Input must be provided either through stdin or as a
|
|
69
|
+
// prompt argument when using --print").
|
|
70
|
+
'--',
|
|
56
71
|
input.prompt,
|
|
57
72
|
];
|
|
58
73
|
const result = await this.runner({ args, cwd: input.localPath });
|
package/dist/modules/claude-invocation/interface-adapters/gateways/claudeSession.cli.gateway.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claudeSession.cli.gateway.js","sourceRoot":"","sources":["../../../../../src/modules/claude-invocation/interface-adapters/gateways/claudeSession.cli.gateway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB,OAAO,EACL,cAAc,GAEf,MAAM,4EAA4E,CAAC;AAEpF,OAAO,EAAE,cAAc,EAAE,MAAM,kEAAkE,CAAC;AAkBlG,MAAM,CAAC,MAAM,0BAA0B,GAAG,kCAAkC,CAAC;AAC7E,MAAM,gBAAgB,GAAG,
|
|
1
|
+
{"version":3,"file":"claudeSession.cli.gateway.js","sourceRoot":"","sources":["../../../../../src/modules/claude-invocation/interface-adapters/gateways/claudeSession.cli.gateway.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import type { BillingStateGateway } from '../../../modules/claude-invocation/entities/billingState/billingState.gateway.js';
|
|
2
|
-
import type { ClaudeSessionGateway } from '../../../modules/claude-invocation/entities/claudeSession/claudeSession.gateway.js';
|
|
3
2
|
export interface AuditBillingDependencies {
|
|
4
|
-
sessionGateway: ClaudeSessionGateway;
|
|
5
3
|
billingStateGateway: BillingStateGateway;
|
|
6
4
|
now: () => Date;
|
|
7
5
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auditBilling.usecase.d.ts","sourceRoot":"","sources":["../../../../src/modules/claude-invocation/usecases/auditBilling.usecase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2EAA2E,CAAC;
|
|
1
|
+
{"version":3,"file":"auditBilling.usecase.d.ts","sourceRoot":"","sources":["../../../../src/modules/claude-invocation/usecases/auditBilling.usecase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2EAA2E,CAAC;AAErH,MAAM,WAAW,wBAAwB;IACvC,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,GAAG,EAAE,MAAM,IAAI,CAAC;CACjB;AAED,MAAM,MAAM,kBAAkB,GAC1B;IAAE,UAAU,EAAE,KAAK,CAAA;CAAE,GACrB;IAAE,UAAU,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAQzC,wBAAsB,YAAY,CAChC,IAAI,EAAE,wBAAwB,GAC7B,OAAO,CAAC,kBAAkB,CAAC,CAI7B"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
+
// Heuristic-based API-pool detection was removed: `claude usage` output
|
|
2
|
+
// naturally contains both "API" and "token" on a healthy OAuth subscription,
|
|
3
|
+
// triggering systematic false positives that paused every dispatch.
|
|
4
|
+
// The remaining billing safeguard is `hasAnthropicApiKey()` in
|
|
5
|
+
// dispatchClaudeSession.usecase.ts — dispatch is rejected when an explicit
|
|
6
|
+
// ANTHROPIC_API_KEY env var is detected.
|
|
1
7
|
export async function auditBilling(deps) {
|
|
2
|
-
const report = await deps.sessionGateway.usage();
|
|
3
8
|
const auditedAt = deps.now().toISOString();
|
|
4
|
-
if (report.usesApiPool) {
|
|
5
|
-
const reason = `API pool consumption detected: ${report.raw}`;
|
|
6
|
-
deps.billingStateGateway.pause(reason, auditedAt);
|
|
7
|
-
return { regression: true, reason };
|
|
8
|
-
}
|
|
9
9
|
deps.billingStateGateway.recordHealthy(auditedAt);
|
|
10
10
|
return { regression: false };
|
|
11
11
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auditBilling.usecase.js","sourceRoot":"","sources":["../../../../src/modules/claude-invocation/usecases/auditBilling.usecase.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"auditBilling.usecase.js","sourceRoot":"","sources":["../../../../src/modules/claude-invocation/usecases/auditBilling.usecase.ts"],"names":[],"mappings":"AAWA,wEAAwE;AACxE,6EAA6E;AAC7E,oEAAoE;AACpE,+DAA+D;AAC/D,2EAA2E;AAC3E,yCAAyC;AACzC,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,IAA8B;IAE9B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAClD,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;AAC/B,CAAC"}
|
|
@@ -14,9 +14,16 @@ declare const gitHubPullRequestEventSchema: z.ZodObject<{
|
|
|
14
14
|
html_url: z.ZodString;
|
|
15
15
|
head: z.ZodObject<{
|
|
16
16
|
ref: z.ZodString;
|
|
17
|
+
repo: z.ZodOptional<z.ZodObject<{
|
|
18
|
+
full_name: z.ZodString;
|
|
19
|
+
clone_url: z.ZodString;
|
|
20
|
+
}, z.core.$strip>>;
|
|
17
21
|
}, z.core.$strip>;
|
|
18
22
|
base: z.ZodObject<{
|
|
19
23
|
ref: z.ZodString;
|
|
24
|
+
repo: z.ZodOptional<z.ZodObject<{
|
|
25
|
+
full_name: z.ZodString;
|
|
26
|
+
}, z.core.$strip>>;
|
|
20
27
|
}, z.core.$strip>;
|
|
21
28
|
requested_reviewers: z.ZodArray<z.ZodObject<{
|
|
22
29
|
login: z.ZodString;
|
|
@@ -51,9 +58,16 @@ export declare const gitHubPullRequestEventGuard: import("../../../../shared/fou
|
|
|
51
58
|
html_url: string;
|
|
52
59
|
head: {
|
|
53
60
|
ref: string;
|
|
61
|
+
repo?: {
|
|
62
|
+
full_name: string;
|
|
63
|
+
clone_url: string;
|
|
64
|
+
} | undefined;
|
|
54
65
|
};
|
|
55
66
|
base: {
|
|
56
67
|
ref: string;
|
|
68
|
+
repo?: {
|
|
69
|
+
full_name: string;
|
|
70
|
+
} | undefined;
|
|
57
71
|
};
|
|
58
72
|
requested_reviewers: {
|
|
59
73
|
login: string;
|
package/dist/modules/platform-integration/entities/github/githubPullRequestEvent.guard.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"githubPullRequestEvent.guard.d.ts","sourceRoot":"","sources":["../../../../../src/modules/platform-integration/entities/github/githubPullRequestEvent.guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,QAAA,MAAM,4BAA4B
|
|
1
|
+
{"version":3,"file":"githubPullRequestEvent.guard.d.ts","sourceRoot":"","sources":["../../../../../src/modules/platform-integration/entities/github/githubPullRequestEvent.guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,QAAA,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAkChC,CAAA;AAEF,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAsE,CAAA;AAE9G,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAA"}
|
|
@@ -10,8 +10,19 @@ const gitHubPullRequestEventSchema = z.object({
|
|
|
10
10
|
state: z.enum(['open', 'closed']),
|
|
11
11
|
draft: z.boolean(),
|
|
12
12
|
html_url: z.string(),
|
|
13
|
-
head: z.object({
|
|
14
|
-
|
|
13
|
+
head: z.object({
|
|
14
|
+
ref: z.string(),
|
|
15
|
+
repo: z.object({
|
|
16
|
+
full_name: z.string(),
|
|
17
|
+
clone_url: z.string(),
|
|
18
|
+
}).optional(),
|
|
19
|
+
}),
|
|
20
|
+
base: z.object({
|
|
21
|
+
ref: z.string(),
|
|
22
|
+
repo: z.object({
|
|
23
|
+
full_name: z.string(),
|
|
24
|
+
}).optional(),
|
|
25
|
+
}),
|
|
15
26
|
requested_reviewers: z.array(z.object({ login: z.string() })),
|
|
16
27
|
assignees: z.array(z.object({ login: z.string() })).optional(),
|
|
17
28
|
}),
|
package/dist/modules/platform-integration/entities/github/githubPullRequestEvent.guard.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"githubPullRequestEvent.guard.js","sourceRoot":"","sources":["../../../../../src/modules/platform-integration/entities/github/githubPullRequestEvent.guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAA;AAE/D,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC;QACrB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;QAClB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC3B,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACjC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE;QAClB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;QACpB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"githubPullRequestEvent.guard.js","sourceRoot":"","sources":["../../../../../src/modules/platform-integration/entities/github/githubPullRequestEvent.guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAA;AAE/D,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC;QACrB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;QAClB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC3B,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACjC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE;QAClB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;QACpB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;YACb,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;YACf,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;gBACb,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;gBACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;aACtB,CAAC,CAAC,QAAQ,EAAE;SACd,CAAC;QACF,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;YACb,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;YACf,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;gBACb,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;aACtB,CAAC,CAAC,QAAQ,EAAE;SACd,CAAC;QACF,mBAAmB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC7D,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;KAC/D,CAAC;IACF,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;QACnB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;QACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;KACtB,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;IACvC,kBAAkB,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC9D,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE;CACjD,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,WAAW,CAAC,4BAA4B,EAAE,wBAAwB,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github.controller.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/platform-integration/interface-adapters/controllers/webhook/github.controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAInC,OAAO,EAA6B,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAQtF,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,iFAAiF,CAAC;AACpI,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iEAAiE,CAAC;AAC9G,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,wEAAwE,CAAC;AAC5H,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4DAA4D,CAAC;AACpG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iEAAiE,CAAC;AAC9G,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,qEAAqE,CAAC;AACtH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6DAA6D,CAAC;AAMtG,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AAItF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4EAA4E,CAAC;AACvH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4EAA4E,CAAC;AACrH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,8EAA8E,CAAC;AAC7H,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sEAAsE,CAAC;AAClH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4EAA4E,CAAC;AACvH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,oEAAoE,CAAC;AAEzH,MAAM,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE;IACzC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;CAC5B,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;AAE5B,MAAM,WAAW,yBAAyB;IACxC,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,wBAAwB,EAAE,wBAAwB,CAAC;IACnD,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,eAAe,EAAE,sBAAsB,CAAC;IACxC,gBAAgB,EAAE,6BAA6B,CAAC;IAChD,UAAU,EAAE,iBAAiB,CAAC;IAC9B,eAAe,EAAE,sBAAsB,CAAC;IACxC,mBAAmB,EAAE,0BAA0B,CAAC;IAChD,WAAW,EAAE,kBAAkB,CAAC;IAChC,aAAa,EAAE,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAAC;IACrD,uBAAuB,EAAE,CAAC,OAAO,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAClE,eAAe,EAAE,MAAM,gBAAgB,EAAE,CAAC;IAC1C,iBAAiB,CAAC,EAAE,yBAAyB,CAAC;IAC9C,cAAc,EAAE,oBAAoB,CAAC;CACtC;
|
|
1
|
+
{"version":3,"file":"github.controller.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/platform-integration/interface-adapters/controllers/webhook/github.controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAInC,OAAO,EAA6B,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAQtF,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,iFAAiF,CAAC;AACpI,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iEAAiE,CAAC;AAC9G,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,wEAAwE,CAAC;AAC5H,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4DAA4D,CAAC;AACpG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iEAAiE,CAAC;AAC9G,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,qEAAqE,CAAC;AACtH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6DAA6D,CAAC;AAMtG,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AAItF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4EAA4E,CAAC;AACvH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4EAA4E,CAAC;AACrH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,8EAA8E,CAAC;AAC7H,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sEAAsE,CAAC;AAClH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4EAA4E,CAAC;AACvH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,oEAAoE,CAAC;AAEzH,MAAM,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE;IACzC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;CAC5B,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;AAE5B,MAAM,WAAW,yBAAyB;IACxC,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,wBAAwB,EAAE,wBAAwB,CAAC;IACnD,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,eAAe,EAAE,sBAAsB,CAAC;IACxC,gBAAgB,EAAE,6BAA6B,CAAC;IAChD,UAAU,EAAE,iBAAiB,CAAC;IAC9B,eAAe,EAAE,sBAAsB,CAAC;IACxC,mBAAmB,EAAE,0BAA0B,CAAC;IAChD,WAAW,EAAE,kBAAkB,CAAC;IAChC,aAAa,EAAE,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAAC;IACrD,uBAAuB,EAAE,CAAC,OAAO,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAClE,eAAe,EAAE,MAAM,gBAAgB,EAAE,CAAC;IAC1C,iBAAiB,CAAC,EAAE,yBAAyB,CAAC;IAC9C,cAAc,EAAE,oBAAoB,CAAC;CACtC;AAmBD,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,cAAc,EACvB,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,4BAA4B,EAC7C,IAAI,EAAE,yBAAyB,GAC9B,OAAO,CAAC,IAAI,CAAC,CAqnBf"}
|
|
@@ -16,6 +16,15 @@ function listEnabledLocalPaths(getRepositories) {
|
|
|
16
16
|
.filter((repository) => repository.enabled)
|
|
17
17
|
.map((repository) => repository.localPath);
|
|
18
18
|
}
|
|
19
|
+
function computeSourceForkCloneUrl(pullRequest) {
|
|
20
|
+
const headRepo = pullRequest.head.repo;
|
|
21
|
+
const baseRepo = pullRequest.base.repo;
|
|
22
|
+
if (!headRepo || !baseRepo)
|
|
23
|
+
return undefined;
|
|
24
|
+
if (headRepo.full_name === baseRepo.full_name)
|
|
25
|
+
return undefined;
|
|
26
|
+
return headRepo.clone_url;
|
|
27
|
+
}
|
|
19
28
|
export async function handleGitHubWebhook(request, reply, logger, trackingGateway, deps) {
|
|
20
29
|
const { trackAssignment, recordCompletion, recordPush, checkFollowupNeeded, syncThreads } = deps;
|
|
21
30
|
// 1. Verify signature
|
|
@@ -150,6 +159,7 @@ export async function handleGitHubWebhook(request, reply, logger, trackingGatewa
|
|
|
150
159
|
sourceBranch: updateResult.sourceBranch,
|
|
151
160
|
targetBranch: updateResult.targetBranch,
|
|
152
161
|
jobType: 'followup',
|
|
162
|
+
sourceForkCloneUrl: computeSourceForkCloneUrl(event.pull_request),
|
|
153
163
|
};
|
|
154
164
|
const followupBudgetDecision = await deps.enforceBudget.execute({
|
|
155
165
|
localPaths: listEnabledLocalPaths(deps.getRepositories),
|
|
@@ -276,7 +286,7 @@ export async function handleGitHubWebhook(request, reply, logger, trackingGatewa
|
|
|
276
286
|
}
|
|
277
287
|
else if (!result.cancelled) {
|
|
278
288
|
sendNotification('Review followup échouée', `PR #${j.mrNumber} - Code ${result.exitCode}`, logger);
|
|
279
|
-
throw new Error(`Followup review failed with exit code ${result.exitCode}`);
|
|
289
|
+
throw new Error(result.stderr?.trim() || `Followup review failed with exit code ${result.exitCode}`);
|
|
280
290
|
}
|
|
281
291
|
});
|
|
282
292
|
reply.status(202).send({
|
|
@@ -340,6 +350,7 @@ export async function handleGitHubWebhook(request, reply, logger, trackingGatewa
|
|
|
340
350
|
title: prTitle,
|
|
341
351
|
description: event.pull_request?.body,
|
|
342
352
|
assignedBy,
|
|
353
|
+
sourceForkCloneUrl: computeSourceForkCloneUrl(event.pull_request),
|
|
343
354
|
};
|
|
344
355
|
const budgetDecision = await deps.enforceBudget.execute({
|
|
345
356
|
localPaths: listEnabledLocalPaths(deps.getRepositories),
|
|
@@ -464,8 +475,9 @@ export async function handleGitHubWebhook(request, reply, logger, trackingGatewa
|
|
|
464
475
|
}, 'Review stats recorded');
|
|
465
476
|
sendNotification('Review terminée', `PR #${j.mrNumber} - ${j.projectPath}`, logger);
|
|
466
477
|
}
|
|
467
|
-
else {
|
|
478
|
+
else if (!result.cancelled) {
|
|
468
479
|
sendNotification('Review échouée', `PR #${j.mrNumber} - Code ${result.exitCode}`, logger);
|
|
480
|
+
throw new Error(result.stderr?.trim() || `Review failed with exit code ${result.exitCode}`);
|
|
469
481
|
}
|
|
470
482
|
});
|
|
471
483
|
if (enqueued) {
|