steroids-cli 0.8.32 → 0.8.34
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/commands/loop-phases.d.ts +6 -2
- package/dist/commands/loop-phases.d.ts.map +1 -1
- package/dist/commands/loop-phases.js +42 -2
- package/dist/commands/loop-phases.js.map +1 -1
- package/dist/commands/merge.d.ts.map +1 -1
- package/dist/commands/merge.js +13 -1
- package/dist/commands/merge.js.map +1 -1
- package/dist/commands/runners-parallel.d.ts +1 -0
- package/dist/commands/runners-parallel.d.ts.map +1 -1
- package/dist/commands/runners-parallel.js +93 -6
- package/dist/commands/runners-parallel.js.map +1 -1
- package/dist/commands/workspaces.d.ts.map +1 -1
- package/dist/commands/workspaces.js +38 -4
- package/dist/commands/workspaces.js.map +1 -1
- package/dist/config/loader.d.ts +9 -0
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +9 -0
- package/dist/config/loader.js.map +1 -1
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +45 -0
- package/dist/config/schema.js.map +1 -1
- package/dist/database/queries.d.ts.map +1 -1
- package/dist/database/queries.js +15 -1
- package/dist/database/queries.js.map +1 -1
- package/dist/database/schema.d.ts +2 -2
- package/dist/database/schema.d.ts.map +1 -1
- package/dist/database/schema.js +9 -0
- package/dist/database/schema.js.map +1 -1
- package/dist/orchestrator/coder.js +1 -1
- package/dist/orchestrator/coder.js.map +1 -1
- package/dist/orchestrator/coordinator.d.ts.map +1 -1
- package/dist/orchestrator/coordinator.js +5 -3
- package/dist/orchestrator/coordinator.js.map +1 -1
- package/dist/orchestrator/fallback-handler.d.ts +2 -1
- package/dist/orchestrator/fallback-handler.d.ts.map +1 -1
- package/dist/orchestrator/fallback-handler.js +36 -20
- package/dist/orchestrator/fallback-handler.js.map +1 -1
- package/dist/orchestrator/post-reviewer.d.ts.map +1 -1
- package/dist/orchestrator/post-reviewer.js +18 -23
- package/dist/orchestrator/post-reviewer.js.map +1 -1
- package/dist/orchestrator/reviewer.d.ts +1 -1
- package/dist/orchestrator/reviewer.d.ts.map +1 -1
- package/dist/orchestrator/reviewer.js +19 -16
- package/dist/orchestrator/reviewer.js.map +1 -1
- package/dist/parallel/clone.d.ts +13 -0
- package/dist/parallel/clone.d.ts.map +1 -1
- package/dist/parallel/clone.js +40 -0
- package/dist/parallel/clone.js.map +1 -1
- package/dist/parallel/merge-conflict-attempts.d.ts +8 -0
- package/dist/parallel/merge-conflict-attempts.d.ts.map +1 -0
- package/dist/parallel/merge-conflict-attempts.js +68 -0
- package/dist/parallel/merge-conflict-attempts.js.map +1 -0
- package/dist/parallel/merge-conflict-invoke.d.ts +2 -0
- package/dist/parallel/merge-conflict-invoke.d.ts.map +1 -0
- package/dist/parallel/merge-conflict-invoke.js +41 -0
- package/dist/parallel/merge-conflict-invoke.js.map +1 -0
- package/dist/parallel/merge-conflict-prompts.d.ts +23 -0
- package/dist/parallel/merge-conflict-prompts.d.ts.map +1 -0
- package/dist/parallel/merge-conflict-prompts.js +40 -0
- package/dist/parallel/merge-conflict-prompts.js.map +1 -0
- package/dist/parallel/merge-conflict-task.d.ts +3 -0
- package/dist/parallel/merge-conflict-task.d.ts.map +1 -0
- package/dist/parallel/merge-conflict-task.js +59 -0
- package/dist/parallel/merge-conflict-task.js.map +1 -0
- package/dist/parallel/merge-conflict.d.ts +7 -7
- package/dist/parallel/merge-conflict.d.ts.map +1 -1
- package/dist/parallel/merge-conflict.js +91 -135
- package/dist/parallel/merge-conflict.js.map +1 -1
- package/dist/parallel/merge-errors.d.ts +2 -0
- package/dist/parallel/merge-errors.d.ts.map +1 -1
- package/dist/parallel/merge-errors.js +2 -0
- package/dist/parallel/merge-errors.js.map +1 -1
- package/dist/parallel/merge-git.d.ts.map +1 -1
- package/dist/parallel/merge-git.js +4 -1
- package/dist/parallel/merge-git.js.map +1 -1
- package/dist/parallel/merge-lock.d.ts +4 -2
- package/dist/parallel/merge-lock.d.ts.map +1 -1
- package/dist/parallel/merge-lock.js +51 -18
- package/dist/parallel/merge-lock.js.map +1 -1
- package/dist/parallel/merge-progress.d.ts +3 -1
- package/dist/parallel/merge-progress.d.ts.map +1 -1
- package/dist/parallel/merge-progress.js +9 -4
- package/dist/parallel/merge-progress.js.map +1 -1
- package/dist/parallel/merge.d.ts +4 -0
- package/dist/parallel/merge.d.ts.map +1 -1
- package/dist/parallel/merge.js +222 -17
- package/dist/parallel/merge.js.map +1 -1
- package/dist/prompts/prompt-helpers.d.ts +1 -1
- package/dist/prompts/prompt-helpers.d.ts.map +1 -1
- package/dist/prompts/prompt-helpers.js +10 -7
- package/dist/prompts/prompt-helpers.js.map +1 -1
- package/dist/prompts/reviewer.d.ts.map +1 -1
- package/dist/prompts/reviewer.js +48 -21
- package/dist/prompts/reviewer.js.map +1 -1
- package/dist/runners/global-db.d.ts +32 -0
- package/dist/runners/global-db.d.ts.map +1 -1
- package/dist/runners/global-db.js +403 -2
- package/dist/runners/global-db.js.map +1 -1
- package/dist/runners/orchestrator-loop.d.ts.map +1 -1
- package/dist/runners/orchestrator-loop.js +50 -3
- package/dist/runners/orchestrator-loop.js.map +1 -1
- package/dist/runners/wakeup.d.ts +1 -0
- package/dist/runners/wakeup.d.ts.map +1 -1
- package/dist/runners/wakeup.js +363 -29
- package/dist/runners/wakeup.js.map +1 -1
- package/migrations/012_add_merge_lock_epoch.sql +15 -0
- package/migrations/013_add_merge_progress_applied_commit_sha.sql +15 -0
- package/migrations/manifest.json +17 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge-conflict.js","sourceRoot":"","sources":["../../src/parallel/merge-conflict.ts"],"names":[],"mappings":";AAAA;;GAEG
|
|
1
|
+
{"version":3,"file":"merge-conflict.js","sourceRoot":"","sources":["../../src/parallel/merge-conflict.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,8 +3,10 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export declare class ParallelMergeError extends Error {
|
|
5
5
|
readonly code: string;
|
|
6
|
+
readonly details?: Record<string, string | number | boolean | null>;
|
|
6
7
|
constructor(message: string, code?: string, options?: {
|
|
7
8
|
cause?: unknown;
|
|
9
|
+
details?: Record<string, string | number | boolean | null>;
|
|
8
10
|
});
|
|
9
11
|
}
|
|
10
12
|
//# sourceMappingURL=merge-errors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge-errors.d.ts","sourceRoot":"","sources":["../../src/parallel/merge-errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,SAAgB,IAAI,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"merge-errors.d.ts","sourceRoot":"","sources":["../../src/parallel/merge-errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAgB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC;gBAGzE,OAAO,EAAE,MAAM,EACf,IAAI,SAAyB,EAC7B,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,CAAA;KAAE;CAO5F"}
|
|
@@ -6,10 +6,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.ParallelMergeError = void 0;
|
|
7
7
|
class ParallelMergeError extends Error {
|
|
8
8
|
code;
|
|
9
|
+
details;
|
|
9
10
|
constructor(message, code = 'PARALLEL_MERGE_ERROR', options) {
|
|
10
11
|
super(message, options);
|
|
11
12
|
this.name = 'ParallelMergeError';
|
|
12
13
|
this.code = code;
|
|
14
|
+
this.details = options?.details;
|
|
13
15
|
}
|
|
14
16
|
}
|
|
15
17
|
exports.ParallelMergeError = ParallelMergeError;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge-errors.js","sourceRoot":"","sources":["../../src/parallel/merge-errors.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,MAAa,kBAAmB,SAAQ,KAAK;IAC3B,IAAI,CAAS;
|
|
1
|
+
{"version":3,"file":"merge-errors.js","sourceRoot":"","sources":["../../src/parallel/merge-errors.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,MAAa,kBAAmB,SAAQ,KAAK;IAC3B,IAAI,CAAS;IACb,OAAO,CAAoD;IAE3E,YACE,OAAe,EACf,IAAI,GAAG,sBAAsB,EAC7B,OAAyF;QAEzF,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;QACjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,EAAE,OAAO,CAAC;IAClC,CAAC;CACF;AAdD,gDAcC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge-git.d.ts","sourceRoot":"","sources":["../../src/parallel/merge-git.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,MAAM,WAAW,iBAAiB;IAChC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,aAAa,CAC3B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE,iBAAsB,GAC9B,MAAM,CA8BR;AAED,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAGlE;AAED,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAG7D;AAED,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAG5D;AAED,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAEpE;AAED,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,MAAM,GACjB,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"merge-git.d.ts","sourceRoot":"","sources":["../../src/parallel/merge-git.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,MAAM,WAAW,iBAAiB;IAChC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,aAAa,CAC3B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE,iBAAsB,GAC9B,MAAM,CA8BR;AAED,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAGlE;AAED,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAG7D;AAED,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAG5D;AAED,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAEpE;AAED,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,MAAM,GACjB,MAAM,EAAE,CA0BV;AAED,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAE7E;AAED,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAE/E;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAGhE;AAED,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAG5D;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAO7D;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CASpE;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAoBjG;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAGrD"}
|
|
@@ -75,7 +75,7 @@ function getWorkstreamCommitList(projectPath, remote, workstreamBranch, mainBran
|
|
|
75
75
|
throw new merge_errors_js_1.ParallelMergeError(`Failed to list commits from ${remote}/${workstreamBranch}: ${output}`, 'COMMIT_LIST_FAILED');
|
|
76
76
|
}
|
|
77
77
|
if (isMissingRemoteBranchFailure(output)) {
|
|
78
|
-
|
|
78
|
+
throw new merge_errors_js_1.ParallelMergeError(`Remote branch is missing: ${remote}/${workstreamBranch}`, 'REMOTE_BRANCH_MISSING');
|
|
79
79
|
}
|
|
80
80
|
return output
|
|
81
81
|
.split('\n')
|
|
@@ -122,6 +122,9 @@ function safeRunMergeCommand(projectPath, remote, branchName) {
|
|
|
122
122
|
if (!/error:|fatal:/.test(lower)) {
|
|
123
123
|
return;
|
|
124
124
|
}
|
|
125
|
+
if (isMissingRemoteBranchFailure(lower)) {
|
|
126
|
+
throw new merge_errors_js_1.ParallelMergeError(`Remote branch is missing: ${remote}/${branchName}. Refusing to continue merge.`, 'REMOTE_BRANCH_MISSING');
|
|
127
|
+
}
|
|
125
128
|
if (isNonFatalFetchResult(lower)) {
|
|
126
129
|
return;
|
|
127
130
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge-git.js","sourceRoot":"","sources":["../../src/parallel/merge-git.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAaH,sCAkCC;AAED,sDAGC;AAED,4CAGC;AAED,wCAGC;AAED,0DAEC;AAED,
|
|
1
|
+
{"version":3,"file":"merge-git.js","sourceRoot":"","sources":["../../src/parallel/merge-git.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ export interface MergeLockRecord {
|
|
|
6
6
|
id: number;
|
|
7
7
|
session_id: string;
|
|
8
8
|
runner_id: string;
|
|
9
|
+
lock_epoch: number;
|
|
9
10
|
acquired_at: string;
|
|
10
11
|
expires_at: string;
|
|
11
12
|
heartbeat_at: string;
|
|
@@ -21,6 +22,7 @@ export declare function acquireMergeLock(db: Database.Database, options: MergeLo
|
|
|
21
22
|
acquired: boolean;
|
|
22
23
|
lock?: MergeLockRecord;
|
|
23
24
|
};
|
|
24
|
-
export declare function refreshMergeLock(db: Database.Database, sessionId: string, runnerId: string, timeoutMinutes: number): MergeLockRecord;
|
|
25
|
-
export declare function
|
|
25
|
+
export declare function refreshMergeLock(db: Database.Database, sessionId: string, runnerId: string, timeoutMinutes: number, lockEpoch: number): MergeLockRecord;
|
|
26
|
+
export declare function assertMergeLockEpoch(db: Database.Database, sessionId: string, runnerId: string, lockEpoch: number): void;
|
|
27
|
+
export declare function releaseMergeLock(db: Database.Database, sessionId: string, runnerId: string, lockEpoch: number): void;
|
|
26
28
|
//# sourceMappingURL=merge-lock.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge-lock.d.ts","sourceRoot":"","sources":["../../src/parallel/merge-lock.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAG3C,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;CACxB;AAUD,wBAAgB,aAAa,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAE5D;
|
|
1
|
+
{"version":3,"file":"merge-lock.d.ts","sourceRoot":"","sources":["../../src/parallel/merge-lock.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAG3C,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;CACxB;AAUD,wBAAgB,aAAa,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAE5D;AAUD,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CASnG;AAED,wBAAgB,gBAAgB,CAC9B,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,OAAO,EAAE,gBAAgB,GACxB;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,eAAe,CAAA;CAAE,CAyC/C;AAED,wBAAgB,gBAAgB,CAC9B,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM,GAChB,eAAe,CAqBjB;AAED,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,IAAI,CAmBN;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAIpH"}
|
|
@@ -7,6 +7,7 @@ exports.isLockExpired = isLockExpired;
|
|
|
7
7
|
exports.getLatestMergeLock = getLatestMergeLock;
|
|
8
8
|
exports.acquireMergeLock = acquireMergeLock;
|
|
9
9
|
exports.refreshMergeLock = refreshMergeLock;
|
|
10
|
+
exports.assertMergeLockEpoch = assertMergeLockEpoch;
|
|
10
11
|
exports.releaseMergeLock = releaseMergeLock;
|
|
11
12
|
const merge_errors_js_1 = require("./merge-errors.js");
|
|
12
13
|
function getNowISOString() {
|
|
@@ -18,6 +19,12 @@ function utcExpiresAt(timeoutMinutes) {
|
|
|
18
19
|
function isLockExpired(lock) {
|
|
19
20
|
return new Date(lock.expires_at).getTime() < Date.now();
|
|
20
21
|
}
|
|
22
|
+
function getNextLockEpoch(db, sessionId) {
|
|
23
|
+
const row = db
|
|
24
|
+
.prepare('SELECT COALESCE(MAX(lock_epoch), 0) AS max_epoch FROM merge_locks WHERE session_id = ?')
|
|
25
|
+
.get(sessionId);
|
|
26
|
+
return (row?.max_epoch ?? 0) + 1;
|
|
27
|
+
}
|
|
21
28
|
function getLatestMergeLock(db, sessionId) {
|
|
22
29
|
return db
|
|
23
30
|
.prepare(`SELECT * FROM merge_locks
|
|
@@ -27,32 +34,58 @@ function getLatestMergeLock(db, sessionId) {
|
|
|
27
34
|
.get(sessionId);
|
|
28
35
|
}
|
|
29
36
|
function acquireMergeLock(db, options) {
|
|
30
|
-
const
|
|
31
|
-
|
|
32
|
-
if (lock
|
|
33
|
-
|
|
34
|
-
|
|
37
|
+
const acquireTx = db.transaction(() => {
|
|
38
|
+
const lock = getLatestMergeLock(db, options.sessionId);
|
|
39
|
+
if (lock && !isLockExpired(lock)) {
|
|
40
|
+
if (lock.runner_id === options.runnerId) {
|
|
41
|
+
const refreshed = refreshMergeLock(db, lock.session_id, options.runnerId, options.timeoutMinutes, lock.lock_epoch);
|
|
42
|
+
return { acquired: true, lock: refreshed };
|
|
43
|
+
}
|
|
44
|
+
return { acquired: false, lock };
|
|
35
45
|
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
46
|
+
const lockEpoch = getNextLockEpoch(db, options.sessionId);
|
|
47
|
+
db.prepare('DELETE FROM merge_locks WHERE session_id = ?').run(options.sessionId);
|
|
48
|
+
const inserted = db.prepare('INSERT INTO merge_locks (session_id, runner_id, lock_epoch, acquired_at, expires_at, heartbeat_at) VALUES (?, ?, ?, ?, ?, ?)').run(options.sessionId, options.runnerId, lockEpoch, getNowISOString(), utcExpiresAt(options.timeoutMinutes), getNowISOString());
|
|
49
|
+
if (inserted.changes !== 1) {
|
|
50
|
+
return { acquired: false };
|
|
51
|
+
}
|
|
52
|
+
return { acquired: true, lock: getLatestMergeLock(db, options.sessionId) ?? undefined };
|
|
53
|
+
});
|
|
54
|
+
return acquireTx();
|
|
44
55
|
}
|
|
45
|
-
function refreshMergeLock(db, sessionId, runnerId, timeoutMinutes) {
|
|
46
|
-
db.prepare(`UPDATE merge_locks
|
|
56
|
+
function refreshMergeLock(db, sessionId, runnerId, timeoutMinutes, lockEpoch) {
|
|
57
|
+
const result = db.prepare(`UPDATE merge_locks
|
|
47
58
|
SET heartbeat_at = ?, expires_at = ?
|
|
48
|
-
WHERE session_id = ? AND runner_id = ?`).run(getNowISOString(), utcExpiresAt(timeoutMinutes), sessionId, runnerId);
|
|
59
|
+
WHERE session_id = ? AND runner_id = ? AND lock_epoch = ?`).run(getNowISOString(), utcExpiresAt(timeoutMinutes), sessionId, runnerId, lockEpoch);
|
|
60
|
+
if (result.changes !== 1) {
|
|
61
|
+
throw new merge_errors_js_1.ParallelMergeError('Lost merge lock fence while refreshing heartbeat', 'MERGE_LOCK_FENCE_LOST');
|
|
62
|
+
}
|
|
49
63
|
const lock = getLatestMergeLock(db, sessionId);
|
|
50
64
|
if (!lock) {
|
|
51
65
|
throw new merge_errors_js_1.ParallelMergeError('Lost merge lock unexpectedly', 'MERGE_LOCK_NOT_FOUND');
|
|
52
66
|
}
|
|
67
|
+
if (lock.lock_epoch !== lockEpoch || lock.runner_id !== runnerId) {
|
|
68
|
+
throw new merge_errors_js_1.ParallelMergeError('Merge lock epoch mismatch detected', 'MERGE_LOCK_EPOCH_MISMATCH');
|
|
69
|
+
}
|
|
53
70
|
return lock;
|
|
54
71
|
}
|
|
55
|
-
function
|
|
56
|
-
|
|
72
|
+
function assertMergeLockEpoch(db, sessionId, runnerId, lockEpoch) {
|
|
73
|
+
const row = db
|
|
74
|
+
.prepare(`SELECT session_id, runner_id, lock_epoch, expires_at
|
|
75
|
+
FROM merge_locks
|
|
76
|
+
WHERE session_id = ? AND runner_id = ? AND lock_epoch = ?
|
|
77
|
+
LIMIT 1`)
|
|
78
|
+
.get(sessionId, runnerId, lockEpoch);
|
|
79
|
+
if (!row) {
|
|
80
|
+
throw new merge_errors_js_1.ParallelMergeError('Merge lock fence no longer owned by current runner', 'MERGE_LOCK_FENCE_LOST');
|
|
81
|
+
}
|
|
82
|
+
if (new Date(row.expires_at).getTime() < Date.now()) {
|
|
83
|
+
throw new merge_errors_js_1.ParallelMergeError('Merge lock expired', 'MERGE_LOCK_EXPIRED');
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
function releaseMergeLock(db, sessionId, runnerId, lockEpoch) {
|
|
87
|
+
db
|
|
88
|
+
.prepare('DELETE FROM merge_locks WHERE session_id = ? AND runner_id = ? AND lock_epoch = ?')
|
|
89
|
+
.run(sessionId, runnerId, lockEpoch);
|
|
57
90
|
}
|
|
58
91
|
//# sourceMappingURL=merge-lock.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge-lock.js","sourceRoot":"","sources":["../../src/parallel/merge-lock.ts"],"names":[],"mappings":";AAAA;;GAEG;;
|
|
1
|
+
{"version":3,"file":"merge-lock.js","sourceRoot":"","sources":["../../src/parallel/merge-lock.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ export interface MergeProgressRow {
|
|
|
8
8
|
workstream_id: string;
|
|
9
9
|
position: number;
|
|
10
10
|
commit_sha: string;
|
|
11
|
+
applied_commit_sha: string | null;
|
|
11
12
|
status: 'applied' | 'conflict' | 'skipped';
|
|
12
13
|
conflict_task_id: string | null;
|
|
13
14
|
created_at: string;
|
|
@@ -15,6 +16,7 @@ export interface MergeProgressRow {
|
|
|
15
16
|
}
|
|
16
17
|
export declare function listMergeProgress(db: Database.Database, sessionId: string): MergeProgressRow[];
|
|
17
18
|
export declare function clearProgressEntry(db: Database.Database, sessionId: string, workstreamId: string, position: number): void;
|
|
18
|
-
export declare function upsertProgressEntry(db: Database.Database, sessionId: string, workstreamId: string, position: number, commitSha: string, status: MergeProgressRow['status'], conflictTaskId?: string | null): void;
|
|
19
|
+
export declare function upsertProgressEntry(db: Database.Database, sessionId: string, workstreamId: string, position: number, commitSha: string, status: MergeProgressRow['status'], conflictTaskId?: string | null, appliedCommitSha?: string | null): void;
|
|
19
20
|
export declare function getMergeProgressForWorkstream(rows: MergeProgressRow[], workstreamId: string): MergeProgressRow[];
|
|
21
|
+
export declare function findMergeProgressBySourceCommit(rows: MergeProgressRow[], workstreamId: string, sourceCommitSha: string): MergeProgressRow | undefined;
|
|
20
22
|
//# sourceMappingURL=merge-progress.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge-progress.d.ts","sourceRoot":"","sources":["../../src/parallel/merge-progress.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;IAC3C,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAMD,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAS9F;AAED,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,GACf,IAAI,CAIN;AAED,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,gBAAgB,CAAC,QAAQ,CAAC,EAClC,cAAc,GAAE,MAAM,GAAG,IAAW,
|
|
1
|
+
{"version":3,"file":"merge-progress.d.ts","sourceRoot":"","sources":["../../src/parallel/merge-progress.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;IAC3C,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAMD,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAS9F;AAED,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,GACf,IAAI,CAIN;AAED,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,gBAAgB,CAAC,QAAQ,CAAC,EAClC,cAAc,GAAE,MAAM,GAAG,IAAW,EACpC,gBAAgB,GAAE,MAAM,GAAG,IAAW,GACrC,IAAI,CAmBN;AAED,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,gBAAgB,EAAE,EACxB,YAAY,EAAE,MAAM,GACnB,gBAAgB,EAAE,CAIpB;AAED,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,gBAAgB,EAAE,EACxB,YAAY,EAAE,MAAM,EACpB,eAAe,EAAE,MAAM,GACtB,gBAAgB,GAAG,SAAS,CAI9B"}
|
|
@@ -7,12 +7,13 @@ exports.listMergeProgress = listMergeProgress;
|
|
|
7
7
|
exports.clearProgressEntry = clearProgressEntry;
|
|
8
8
|
exports.upsertProgressEntry = upsertProgressEntry;
|
|
9
9
|
exports.getMergeProgressForWorkstream = getMergeProgressForWorkstream;
|
|
10
|
+
exports.findMergeProgressBySourceCommit = findMergeProgressBySourceCommit;
|
|
10
11
|
function getNowISOString() {
|
|
11
12
|
return new Date().toISOString();
|
|
12
13
|
}
|
|
13
14
|
function listMergeProgress(db, sessionId) {
|
|
14
15
|
return db
|
|
15
|
-
.prepare(`SELECT id, session_id, workstream_id, position, commit_sha, status, conflict_task_id, created_at, applied_at
|
|
16
|
+
.prepare(`SELECT id, session_id, workstream_id, position, commit_sha, applied_commit_sha, status, conflict_task_id, created_at, applied_at
|
|
16
17
|
FROM merge_progress
|
|
17
18
|
WHERE session_id = ?
|
|
18
19
|
ORDER BY workstream_id, position ASC`)
|
|
@@ -21,16 +22,20 @@ function listMergeProgress(db, sessionId) {
|
|
|
21
22
|
function clearProgressEntry(db, sessionId, workstreamId, position) {
|
|
22
23
|
db.prepare('DELETE FROM merge_progress WHERE session_id = ? AND workstream_id = ? AND position = ?').run(sessionId, workstreamId, position);
|
|
23
24
|
}
|
|
24
|
-
function upsertProgressEntry(db, sessionId, workstreamId, position, commitSha, status, conflictTaskId = null) {
|
|
25
|
+
function upsertProgressEntry(db, sessionId, workstreamId, position, commitSha, status, conflictTaskId = null, appliedCommitSha = null) {
|
|
25
26
|
const payloadApplied = status === 'applied' ? getNowISOString() : null;
|
|
27
|
+
const payloadAppliedCommit = status === 'applied' ? appliedCommitSha : null;
|
|
26
28
|
clearProgressEntry(db, sessionId, workstreamId, position);
|
|
27
29
|
db.prepare(`INSERT INTO merge_progress
|
|
28
|
-
(session_id, workstream_id, position, commit_sha, status, conflict_task_id, applied_at)
|
|
29
|
-
VALUES (?, ?, ?, ?, ?, ?, ?)`).run(sessionId, workstreamId, position, commitSha, status, conflictTaskId, payloadApplied);
|
|
30
|
+
(session_id, workstream_id, position, commit_sha, applied_commit_sha, status, conflict_task_id, applied_at)
|
|
31
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?)`).run(sessionId, workstreamId, position, commitSha, payloadAppliedCommit, status, conflictTaskId, payloadApplied);
|
|
30
32
|
}
|
|
31
33
|
function getMergeProgressForWorkstream(rows, workstreamId) {
|
|
32
34
|
return rows
|
|
33
35
|
.filter((row) => row.workstream_id === workstreamId)
|
|
34
36
|
.sort((left, right) => left.position - right.position);
|
|
35
37
|
}
|
|
38
|
+
function findMergeProgressBySourceCommit(rows, workstreamId, sourceCommitSha) {
|
|
39
|
+
return rows.find((row) => row.workstream_id === workstreamId && row.commit_sha === sourceCommitSha);
|
|
40
|
+
}
|
|
36
41
|
//# sourceMappingURL=merge-progress.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge-progress.js","sourceRoot":"","sources":["../../src/parallel/merge-progress.ts"],"names":[],"mappings":";AAAA;;GAEG;;
|
|
1
|
+
{"version":3,"file":"merge-progress.js","sourceRoot":"","sources":["../../src/parallel/merge-progress.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAqBH,8CASC;AAED,gDASC;AAED,kDA4BC;AAED,sEAOC;AAED,0EAQC;AAzED,SAAS,eAAe;IACtB,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAClC,CAAC;AAED,SAAgB,iBAAiB,CAAC,EAAqB,EAAE,SAAiB;IACxE,OAAO,EAAE;SACN,OAAO,CACN;;;4CAGsC,CACvC;SACA,GAAG,CAAC,SAAS,CAAuB,CAAC;AAC1C,CAAC;AAED,SAAgB,kBAAkB,CAChC,EAAqB,EACrB,SAAiB,EACjB,YAAoB,EACpB,QAAgB;IAEhB,EAAE,CAAC,OAAO,CACR,wFAAwF,CACzF,CAAC,GAAG,CAAC,SAAS,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;AAC3C,CAAC;AAED,SAAgB,mBAAmB,CACjC,EAAqB,EACrB,SAAiB,EACjB,YAAoB,EACpB,QAAgB,EAChB,SAAiB,EACjB,MAAkC,EAClC,iBAAgC,IAAI,EACpC,mBAAkC,IAAI;IAEtC,MAAM,cAAc,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACvE,MAAM,oBAAoB,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC;IAE5E,kBAAkB,CAAC,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;IAC1D,EAAE,CAAC,OAAO,CACR;;qCAEiC,CAClC,CAAC,GAAG,CACH,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,oBAAoB,EACpB,MAAM,EACN,cAAc,EACd,cAAc,CACf,CAAC;AACJ,CAAC;AAED,SAAgB,6BAA6B,CAC3C,IAAwB,EACxB,YAAoB;IAEpB,OAAO,IAAI;SACR,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,aAAa,KAAK,YAAY,CAAC;SACnD,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;AAC3D,CAAC;AAED,SAAgB,+BAA+B,CAC7C,IAAwB,EACxB,YAAoB,EACpB,eAAuB;IAEvB,OAAO,IAAI,CAAC,IAAI,CACd,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,aAAa,KAAK,YAAY,IAAI,GAAG,CAAC,UAAU,KAAK,eAAe,CAClF,CAAC;AACJ,CAAC"}
|
package/dist/parallel/merge.d.ts
CHANGED
|
@@ -19,6 +19,8 @@ export interface MergeOptions {
|
|
|
19
19
|
heartbeatIntervalMs?: number;
|
|
20
20
|
remoteWorkspaceRoot?: string;
|
|
21
21
|
cleanupOnSuccess?: boolean;
|
|
22
|
+
integrationBranchName?: string;
|
|
23
|
+
validationCommand?: string;
|
|
22
24
|
}
|
|
23
25
|
export interface MergeResult {
|
|
24
26
|
success: boolean;
|
|
@@ -26,6 +28,8 @@ export interface MergeResult {
|
|
|
26
28
|
conflicts: number;
|
|
27
29
|
skipped: number;
|
|
28
30
|
errors: string[];
|
|
31
|
+
validationEscalationId?: string;
|
|
32
|
+
validationWorkspacePath?: string;
|
|
29
33
|
}
|
|
30
34
|
declare function getNowISOString(): string;
|
|
31
35
|
declare function cleanupWorkspaceState(projectPath: string, workspaceRoot: string, workstreamIds: string[], options: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../src/parallel/merge.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../src/parallel/merge.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAwBH,OAAO,EACL,eAAe,EAKhB,MAAM,iBAAiB,CAAC;AASzB,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,mBAAmB,EAAE,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AASD,iBAAS,eAAe,IAAI,MAAM,CAEjC;AAcD,iBAAS,qBAAqB,CAC5B,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,EAAE,EACvB,OAAO,EAAE;IAAE,gBAAgB,EAAE,OAAO,CAAA;CAAE,GACrC,IAAI,CAqBN;AA6SD;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CA0NlF;AAED,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,qBAAqB,GACtB,CAAC"}
|