steroids-cli 0.8.33 → 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
|
@@ -6,6 +6,10 @@ import { getTask } from '../database/queries.js';
|
|
|
6
6
|
import type { openDatabase } from '../database/connection.js';
|
|
7
7
|
import { type CoordinatorResult } from '../orchestrator/coordinator.js';
|
|
8
8
|
export { type CoordinatorResult };
|
|
9
|
+
interface LeaseFenceContext {
|
|
10
|
+
parallelSessionId?: string;
|
|
11
|
+
runnerId?: string;
|
|
12
|
+
}
|
|
9
13
|
/**
|
|
10
14
|
* Returned when a provider invocation is classified as credit exhaustion.
|
|
11
15
|
* The main loop should pause and wait for a config change instead of retrying.
|
|
@@ -17,6 +21,6 @@ export interface CreditExhaustionResult {
|
|
|
17
21
|
role: 'coder' | 'reviewer';
|
|
18
22
|
message: string;
|
|
19
23
|
}
|
|
20
|
-
export declare function runCoderPhase(db: ReturnType<typeof openDatabase>['db'], task: ReturnType<typeof getTask>, projectPath: string, action: 'start' | 'resume', jsonMode?: boolean, coordinatorCache?: Map<string, CoordinatorResult>, coordinatorThresholds?: number[]): Promise<CreditExhaustionResult | void>;
|
|
21
|
-
export declare function runReviewerPhase(db: ReturnType<typeof openDatabase>['db'], task: ReturnType<typeof getTask>, projectPath: string, jsonMode?: boolean, coordinatorResult?: CoordinatorResult, branchName?: string): Promise<CreditExhaustionResult | void>;
|
|
24
|
+
export declare function runCoderPhase(db: ReturnType<typeof openDatabase>['db'], task: ReturnType<typeof getTask>, projectPath: string, action: 'start' | 'resume', jsonMode?: boolean, coordinatorCache?: Map<string, CoordinatorResult>, coordinatorThresholds?: number[], leaseFence?: LeaseFenceContext): Promise<CreditExhaustionResult | void>;
|
|
25
|
+
export declare function runReviewerPhase(db: ReturnType<typeof openDatabase>['db'], task: ReturnType<typeof getTask>, projectPath: string, jsonMode?: boolean, coordinatorResult?: CoordinatorResult, branchName?: string, leaseFence?: LeaseFenceContext): Promise<CreditExhaustionResult | void>;
|
|
22
26
|
//# sourceMappingURL=loop-phases.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loop-phases.d.ts","sourceRoot":"","sources":["../../src/commands/loop-phases.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,OAAO,EASR,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAG9D,OAAO,EAA8C,KAAK,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"loop-phases.d.ts","sourceRoot":"","sources":["../../src/commands/loop-phases.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,OAAO,EASR,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAG9D,OAAO,EAA8C,KAAK,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAmBpH,OAAO,EAAE,KAAK,iBAAiB,EAAE,CAAC;AAElC,UAAU,iBAAiB;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AA8CD;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,yBAAyB,CAAC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,GAAG,UAAU,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB;AAkED,wBAAsB,aAAa,CACjC,EAAE,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,IAAI,CAAC,EACzC,IAAI,EAAE,UAAU,CAAC,OAAO,OAAO,CAAC,EAChC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,OAAO,GAAG,QAAQ,EAC1B,QAAQ,UAAQ,EAChB,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,EACjD,qBAAqB,CAAC,EAAE,MAAM,EAAE,EAChC,UAAU,CAAC,EAAE,iBAAiB,GAC7B,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAgOxC;AAED,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,IAAI,CAAC,EACzC,IAAI,EAAE,UAAU,CAAC,OAAO,OAAO,CAAC,EAChC,WAAW,EAAE,MAAM,EACnB,QAAQ,UAAQ,EAChB,iBAAiB,CAAC,EAAE,iBAAiB,EACrC,UAAU,GAAE,MAAe,EAC3B,UAAU,CAAC,EAAE,iBAAiB,GAC7B,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CA0KxC"}
|
|
@@ -17,6 +17,41 @@ const invoke_js_1 = require("../orchestrator/invoke.js");
|
|
|
17
17
|
const fallback_handler_js_1 = require("../orchestrator/fallback-handler.js");
|
|
18
18
|
const loader_js_1 = require("../config/loader.js");
|
|
19
19
|
const registry_js_1 = require("../providers/registry.js");
|
|
20
|
+
const global_db_js_1 = require("../runners/global-db.js");
|
|
21
|
+
function refreshParallelWorkstreamLease(projectPath, leaseFence) {
|
|
22
|
+
if (!leaseFence?.parallelSessionId) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
const { db, close } = (0, global_db_js_1.openGlobalDatabase)();
|
|
26
|
+
try {
|
|
27
|
+
const row = db
|
|
28
|
+
.prepare(`SELECT id, claim_generation, runner_id
|
|
29
|
+
FROM workstreams
|
|
30
|
+
WHERE session_id = ?
|
|
31
|
+
AND clone_path = ?
|
|
32
|
+
AND status = 'running'
|
|
33
|
+
LIMIT 1`)
|
|
34
|
+
.get(leaseFence.parallelSessionId, projectPath);
|
|
35
|
+
if (!row) {
|
|
36
|
+
throw new Error('Parallel workstream row not found for lease refresh');
|
|
37
|
+
}
|
|
38
|
+
const owner = leaseFence.runnerId ?? row.runner_id ?? `runner:${process.pid ?? 'unknown'}`;
|
|
39
|
+
const updateResult = db
|
|
40
|
+
.prepare(`UPDATE workstreams
|
|
41
|
+
SET runner_id = ?,
|
|
42
|
+
lease_expires_at = datetime('now', '+120 seconds')
|
|
43
|
+
WHERE id = ?
|
|
44
|
+
AND status = 'running'
|
|
45
|
+
AND claim_generation = ?`)
|
|
46
|
+
.run(owner, row.id, row.claim_generation);
|
|
47
|
+
if (updateResult.changes !== 1) {
|
|
48
|
+
throw new Error('Parallel workstream lease fence check failed');
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
finally {
|
|
52
|
+
close();
|
|
53
|
+
}
|
|
54
|
+
}
|
|
20
55
|
/**
|
|
21
56
|
* Check a coder/reviewer result for credit exhaustion using the provider's classifier.
|
|
22
57
|
* Uses provider.classifyResult() which checks both stderr and stdout.
|
|
@@ -65,9 +100,10 @@ function countConsecutiveOrchestratorFallbackEntries(db, taskId, marker) {
|
|
|
65
100
|
}
|
|
66
101
|
return count;
|
|
67
102
|
}
|
|
68
|
-
async function runCoderPhase(db, task, projectPath, action, jsonMode = false, coordinatorCache, coordinatorThresholds) {
|
|
103
|
+
async function runCoderPhase(db, task, projectPath, action, jsonMode = false, coordinatorCache, coordinatorThresholds, leaseFence) {
|
|
69
104
|
if (!task)
|
|
70
105
|
return;
|
|
106
|
+
refreshParallelWorkstreamLease(projectPath, leaseFence);
|
|
71
107
|
let coordinatorGuidance;
|
|
72
108
|
const thresholds = coordinatorThresholds || [2, 5, 9];
|
|
73
109
|
// Run coordinator at rejection thresholds (same as before)
|
|
@@ -227,6 +263,7 @@ async function runCoderPhase(db, task, projectPath, action, jsonMode = false, co
|
|
|
227
263
|
}
|
|
228
264
|
break;
|
|
229
265
|
case 'stage_commit_submit':
|
|
266
|
+
refreshParallelWorkstreamLease(projectPath, leaseFence);
|
|
230
267
|
// Stage all changes
|
|
231
268
|
try {
|
|
232
269
|
(0, node_child_process_1.execSync)('git add -A', { cwd: projectPath, stdio: 'pipe' });
|
|
@@ -262,9 +299,10 @@ async function runCoderPhase(db, task, projectPath, action, jsonMode = false, co
|
|
|
262
299
|
break;
|
|
263
300
|
}
|
|
264
301
|
}
|
|
265
|
-
async function runReviewerPhase(db, task, projectPath, jsonMode = false, coordinatorResult, branchName = 'main') {
|
|
302
|
+
async function runReviewerPhase(db, task, projectPath, jsonMode = false, coordinatorResult, branchName = 'main', leaseFence) {
|
|
266
303
|
if (!task)
|
|
267
304
|
return;
|
|
305
|
+
refreshParallelWorkstreamLease(projectPath, leaseFence);
|
|
268
306
|
// STEP 1: Invoke reviewer (no status commands in prompt anymore)
|
|
269
307
|
if (!jsonMode) {
|
|
270
308
|
console.log('\n>>> Invoking REVIEWER...\n');
|
|
@@ -371,6 +409,7 @@ async function runReviewerPhase(db, task, projectPath, jsonMode = false, coordin
|
|
|
371
409
|
console.log(`\n✓ Task APPROVED (confidence: ${decision.metadata.confidence})`);
|
|
372
410
|
console.log('Pushing to git...');
|
|
373
411
|
}
|
|
412
|
+
refreshParallelWorkstreamLease(projectPath, leaseFence);
|
|
374
413
|
const pushResult = (0, push_js_1.pushToRemote)(projectPath, 'origin', branchName);
|
|
375
414
|
if (!jsonMode && pushResult.success) {
|
|
376
415
|
console.log(`Pushed successfully (${pushResult.commitHash})`);
|
|
@@ -392,6 +431,7 @@ async function runReviewerPhase(db, task, projectPath, jsonMode = false, coordin
|
|
|
392
431
|
console.log(`\n! Task DISPUTED (confidence: ${decision.metadata.confidence})`);
|
|
393
432
|
console.log('Pushing current work and moving to next task.');
|
|
394
433
|
}
|
|
434
|
+
refreshParallelWorkstreamLease(projectPath, leaseFence);
|
|
395
435
|
const disputePush = (0, push_js_1.pushToRemote)(projectPath, 'origin', branchName);
|
|
396
436
|
if (!jsonMode && disputePush.success) {
|
|
397
437
|
console.log(`Pushed disputed work (${disputePush.commitHash})`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loop-phases.js","sourceRoot":"","sources":["../../src/commands/loop-phases.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"loop-phases.js","sourceRoot":"","sources":["../../src/commands/loop-phases.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../src/commands/merge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../src/commands/merge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAmOnD,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAwGpF"}
|
package/dist/commands/merge.js
CHANGED
|
@@ -13,6 +13,7 @@ const help_js_1 = require("../cli/help.js");
|
|
|
13
13
|
const errors_js_1 = require("../cli/errors.js");
|
|
14
14
|
const connection_js_1 = require("../database/connection.js");
|
|
15
15
|
const global_db_js_1 = require("../runners/global-db.js");
|
|
16
|
+
const loader_js_1 = require("../config/loader.js");
|
|
16
17
|
const merge_js_1 = require("../parallel/merge.js");
|
|
17
18
|
const HELP = (0, help_js_1.generateHelp)({
|
|
18
19
|
command: 'merge',
|
|
@@ -29,6 +30,8 @@ const HELP = (0, help_js_1.generateHelp)({
|
|
|
29
30
|
{ long: 'session-id', description: 'Alias for --session', values: '<id>' },
|
|
30
31
|
{ long: 'remote', description: 'Git remote to fetch from', values: '<name>', default: 'origin' },
|
|
31
32
|
{ long: 'main-branch', description: 'Target branch for cherry-picks', values: '<name>', default: 'main' },
|
|
33
|
+
{ long: 'integration-branch', description: 'Temporary integration branch name', values: '<name>' },
|
|
34
|
+
{ long: 'validation-command', description: 'Shell command to validate merged state before push', values: '<cmd>' },
|
|
32
35
|
],
|
|
33
36
|
examples: [
|
|
34
37
|
{ command: 'steroids merge', description: 'Merge latest parallel session in current project' },
|
|
@@ -134,7 +137,8 @@ function resolveMergePlan(db, projectPath, explicitSessionId) {
|
|
|
134
137
|
}
|
|
135
138
|
throw new Error(`No parallel sessions found for project: ${projectPath}`);
|
|
136
139
|
}
|
|
137
|
-
const
|
|
140
|
+
const includeRunning = targetSession.status === 'running' || targetSession.status === 'merging';
|
|
141
|
+
const plan = buildPlanForSession(db, targetSession, includeRunning);
|
|
138
142
|
if (plan.sectionPlans.length === 0) {
|
|
139
143
|
throw new Error(`No completed workstreams found for session: ${targetSession.id}`);
|
|
140
144
|
}
|
|
@@ -160,6 +164,8 @@ async function mergeCommand(args, flags) {
|
|
|
160
164
|
'session-id': { type: 'string' },
|
|
161
165
|
remote: { type: 'string', default: 'origin' },
|
|
162
166
|
'main-branch': { type: 'string', default: 'main' },
|
|
167
|
+
'integration-branch': { type: 'string' },
|
|
168
|
+
'validation-command': { type: 'string' },
|
|
163
169
|
},
|
|
164
170
|
allowPositionals: false,
|
|
165
171
|
});
|
|
@@ -194,6 +200,10 @@ async function mergeCommand(args, flags) {
|
|
|
194
200
|
let result;
|
|
195
201
|
const remote = values.remote;
|
|
196
202
|
const mainBranch = values['main-branch'];
|
|
203
|
+
const integrationBranch = values['integration-branch'];
|
|
204
|
+
const configuredValidationCommand = (0, loader_js_1.loadConfig)(projectPath).runners?.parallel?.validationCommand;
|
|
205
|
+
const validationCommand = values['validation-command']
|
|
206
|
+
?? (typeof configuredValidationCommand === 'string' ? configuredValidationCommand : undefined);
|
|
197
207
|
try {
|
|
198
208
|
const { close } = (0, connection_js_1.openDatabase)(projectPath);
|
|
199
209
|
close();
|
|
@@ -209,6 +219,8 @@ async function mergeCommand(args, flags) {
|
|
|
209
219
|
workstreams: plan.workstreams,
|
|
210
220
|
remote,
|
|
211
221
|
mainBranch,
|
|
222
|
+
integrationBranchName: integrationBranch,
|
|
223
|
+
validationCommand,
|
|
212
224
|
});
|
|
213
225
|
if (!result.success) {
|
|
214
226
|
const isLockContention = result.errors.some((entry) => entry.includes('Could not acquire merge lock'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge.js","sourceRoot":"","sources":["../../src/commands/merge.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"merge.js","sourceRoot":"","sources":["../../src/commands/merge.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runners-parallel.d.ts","sourceRoot":"","sources":["../../src/commands/runners-parallel.ts"],"names":[],"mappings":"AASA,OAAO,EAAwB,qBAAqB,EAA0B,MAAM,0BAA0B,CAAC;AAG/G,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,KAAK,CAAC;QACjB,EAAE,EAAE,MAAM,CAAC;QACX,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,YAAY,EAAE,MAAM,EAAE,CAAC;KACxB,CAAC,CAAC;CACJ;
|
|
1
|
+
{"version":3,"file":"runners-parallel.d.ts","sourceRoot":"","sources":["../../src/commands/runners-parallel.ts"],"names":[],"mappings":"AASA,OAAO,EAAwB,qBAAqB,EAA0B,MAAM,0BAA0B,CAAC;AAG/G,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,KAAK,CAAC;QACjB,EAAE,EAAE,MAAM,CAAC;QACX,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,YAAY,EAAE,MAAM,EAAE,CAAC;KACxB,CAAC,CAAC;CACJ;AAUD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAKvD;AAyBD,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,GAAG,IAAI,CAe1F;AAED,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAOlE;AAuCD,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,sBAAsB,CA8G5G;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAuH/F;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG;IAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CA6C9H;AAED,OAAO,EAAE,qBAAqB,EAAE,CAAC"}
|
|
@@ -52,14 +52,36 @@ const global_db_js_1 = require("../runners/global-db.js");
|
|
|
52
52
|
const scheduler_js_1 = require("../parallel/scheduler.js");
|
|
53
53
|
Object.defineProperty(exports, "CyclicDependencyError", { enumerable: true, get: function () { return scheduler_js_1.CyclicDependencyError; } });
|
|
54
54
|
const queries_js_1 = require("../database/queries.js");
|
|
55
|
+
function getProjectRepoId(projectPath) {
|
|
56
|
+
try {
|
|
57
|
+
return fs.realpathSync(projectPath);
|
|
58
|
+
}
|
|
59
|
+
catch {
|
|
60
|
+
return path.resolve(projectPath);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
55
63
|
function parseSectionIds(value) {
|
|
56
64
|
return value
|
|
57
65
|
.split(',')
|
|
58
66
|
.map((id) => id.trim())
|
|
59
67
|
.filter((id) => id.length > 0);
|
|
60
68
|
}
|
|
69
|
+
function claimWorkstreamLease(db, workstreamId, claimOwner, expectedClaimGeneration) {
|
|
70
|
+
const result = db.prepare(`UPDATE workstreams
|
|
71
|
+
SET runner_id = ?,
|
|
72
|
+
claim_generation = claim_generation + 1,
|
|
73
|
+
lease_expires_at = datetime('now', '+120 seconds')
|
|
74
|
+
WHERE id = ?
|
|
75
|
+
AND status = 'running'
|
|
76
|
+
AND claim_generation = ?`).run(claimOwner, workstreamId, expectedClaimGeneration);
|
|
77
|
+
if (result.changes !== 1) {
|
|
78
|
+
throw new Error(`Failed to claim lease for workstream ${workstreamId}`);
|
|
79
|
+
}
|
|
80
|
+
return expectedClaimGeneration + 1;
|
|
81
|
+
}
|
|
61
82
|
function printParallelPlan(_projectPath, plan) {
|
|
62
83
|
console.log(`Parallel plan for ${plan.projectPath}`);
|
|
84
|
+
console.log(`Repo ID: ${plan.projectRepoId}`);
|
|
63
85
|
console.log(`Session: ${plan.sessionId}`);
|
|
64
86
|
console.log(`Workstreams: ${plan.workstreams.length}`);
|
|
65
87
|
console.log(`Max clones: ${plan.maxClones}`);
|
|
@@ -78,15 +100,53 @@ function getConfiguredMaxClones(projectPath) {
|
|
|
78
100
|
? Number(configured)
|
|
79
101
|
: 3;
|
|
80
102
|
}
|
|
103
|
+
function toFinitePositive(value, fallback) {
|
|
104
|
+
if (!Number.isFinite(value) || (value ?? 0) <= 0) {
|
|
105
|
+
return fallback;
|
|
106
|
+
}
|
|
107
|
+
return Number(value);
|
|
108
|
+
}
|
|
109
|
+
function resolveResourceCloneLimit(projectPath, config) {
|
|
110
|
+
const minMemoryMbPerClone = toFinitePositive(config.runners?.parallel?.minFreeMemoryMbPerClone, 1024);
|
|
111
|
+
const minDiskMbPerClone = toFinitePositive(config.runners?.parallel?.minFreeDiskMbPerClone, 512);
|
|
112
|
+
const freeMemoryMb = Math.max(0, Math.floor(os.freemem() / (1024 * 1024)));
|
|
113
|
+
const memoryLimitedMax = Math.max(1, Math.floor(freeMemoryMb / minMemoryMbPerClone));
|
|
114
|
+
let diskLimitedMax = Number.MAX_SAFE_INTEGER;
|
|
115
|
+
try {
|
|
116
|
+
const stats = fs.statfsSync(projectPath);
|
|
117
|
+
const bavail = typeof stats.bavail === 'bigint' ? Number(stats.bavail) : (stats.bavail ?? 0);
|
|
118
|
+
const bsize = typeof stats.bsize === 'bigint' ? Number(stats.bsize) : (stats.bsize ?? 0);
|
|
119
|
+
const freeDiskMb = Math.max(0, Math.floor((bavail * bsize) / (1024 * 1024)));
|
|
120
|
+
diskLimitedMax = Math.max(1, Math.floor(freeDiskMb / minDiskMbPerClone));
|
|
121
|
+
}
|
|
122
|
+
catch {
|
|
123
|
+
// If statfs isn't available for this path, treat disk as unconstrained.
|
|
124
|
+
}
|
|
125
|
+
return Math.max(1, Math.min(memoryLimitedMax, diskLimitedMax));
|
|
126
|
+
}
|
|
81
127
|
function buildParallelRunPlan(projectPath, maxClonesOverride) {
|
|
82
128
|
const sessionId = (0, uuid_1.v4)();
|
|
83
129
|
const shortSessionId = sessionId.slice(0, 8);
|
|
130
|
+
const projectRepoId = getProjectRepoId(projectPath);
|
|
84
131
|
const config = (0, loader_js_1.loadConfig)(projectPath);
|
|
85
132
|
if (config.runners?.parallel?.enabled !== true) {
|
|
86
133
|
throw new Error('Parallel mode is disabled. Set runners.parallel.enabled: true to use --parallel.');
|
|
87
134
|
}
|
|
135
|
+
if (config.runners?.parallel?.allowSharedMutableDependencies === true) {
|
|
136
|
+
throw new Error('Parallel mode forbids shared mutable dependency directories. ' +
|
|
137
|
+
'Set runners.parallel.allowSharedMutableDependencies to false.');
|
|
138
|
+
}
|
|
88
139
|
const configuredMaxClones = getConfiguredMaxClones(projectPath);
|
|
89
|
-
const
|
|
140
|
+
const requestedMaxClones = maxClonesOverride ?? configuredMaxClones;
|
|
141
|
+
const resourceMaxClones = resolveResourceCloneLimit(projectPath, config);
|
|
142
|
+
const autoDownshift = config.runners?.parallel?.autoDownshiftMaxClones !== false;
|
|
143
|
+
const effectiveMaxClones = autoDownshift
|
|
144
|
+
? Math.min(requestedMaxClones, resourceMaxClones)
|
|
145
|
+
: requestedMaxClones;
|
|
146
|
+
if (!autoDownshift && requestedMaxClones > resourceMaxClones) {
|
|
147
|
+
throw new Error(`Insufficient resources for maxClones=${requestedMaxClones}. ` +
|
|
148
|
+
`Resource preflight limit is ${resourceMaxClones}.`);
|
|
149
|
+
}
|
|
90
150
|
const { db, close } = (0, connection_js_1.openDatabase)(projectPath);
|
|
91
151
|
try {
|
|
92
152
|
const sections = (0, queries_js_1.listSections)(db);
|
|
@@ -134,6 +194,7 @@ function buildParallelRunPlan(projectPath, maxClonesOverride) {
|
|
|
134
194
|
return {
|
|
135
195
|
sessionId,
|
|
136
196
|
projectPath,
|
|
197
|
+
projectRepoId,
|
|
137
198
|
maxClones: effectiveMaxClones,
|
|
138
199
|
workstreams: filteredWorkstreams,
|
|
139
200
|
};
|
|
@@ -144,12 +205,30 @@ function buildParallelRunPlan(projectPath, maxClonesOverride) {
|
|
|
144
205
|
}
|
|
145
206
|
function launchParallelSession(plan, projectPath) {
|
|
146
207
|
const { db, close } = (0, global_db_js_1.openGlobalDatabase)();
|
|
147
|
-
const
|
|
208
|
+
const parallelConfig = (0, loader_js_1.loadConfig)(projectPath).runners?.parallel;
|
|
209
|
+
const configuredWorkspaceRoot = parallelConfig?.workspaceRoot;
|
|
210
|
+
const hydrationCommand = typeof parallelConfig?.hydrationCommand === 'string' ? parallelConfig.hydrationCommand.trim() : '';
|
|
211
|
+
const allowSharedMutableDependencies = parallelConfig?.allowSharedMutableDependencies === true;
|
|
148
212
|
try {
|
|
149
|
-
|
|
213
|
+
if (allowSharedMutableDependencies) {
|
|
214
|
+
throw new Error('Parallel session launch blocked: shared mutable dependency directories are unsafe in full-access mode.');
|
|
215
|
+
}
|
|
216
|
+
const activeSession = db
|
|
217
|
+
.prepare(`SELECT id, status
|
|
218
|
+
FROM parallel_sessions
|
|
219
|
+
WHERE project_repo_id = ?
|
|
220
|
+
AND status NOT IN ('completed', 'failed', 'aborted')
|
|
221
|
+
LIMIT 1`)
|
|
222
|
+
.get(plan.projectRepoId);
|
|
223
|
+
if (activeSession) {
|
|
224
|
+
throw new Error(`Active parallel session already exists for this repository: ${activeSession.id} (${activeSession.status})`);
|
|
225
|
+
}
|
|
226
|
+
db.prepare('INSERT INTO parallel_sessions (id, project_path, project_repo_id, status) VALUES (?, ?, ?, ?)').run(plan.sessionId, projectPath, plan.projectRepoId, 'running');
|
|
150
227
|
const insertWorkstream = db.prepare(`INSERT INTO workstreams (
|
|
151
|
-
id, session_id, branch_name, section_ids, status, clone_path
|
|
152
|
-
|
|
228
|
+
id, session_id, branch_name, section_ids, status, clone_path, claim_generation, lease_expires_at,
|
|
229
|
+
sealed_base_sha, sealed_head_sha, sealed_commit_shas, completion_order,
|
|
230
|
+
recovery_attempts, next_retry_at, last_reconcile_action, last_reconciled_at
|
|
231
|
+
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`);
|
|
153
232
|
for (const workstream of plan.workstreams) {
|
|
154
233
|
let workspacePath = null;
|
|
155
234
|
try {
|
|
@@ -160,7 +239,14 @@ function launchParallelSession(plan, projectPath) {
|
|
|
160
239
|
workspaceRoot: configuredWorkspaceRoot,
|
|
161
240
|
});
|
|
162
241
|
workspacePath = workspaceClone.workspacePath;
|
|
163
|
-
|
|
242
|
+
if (hydrationCommand.length > 0) {
|
|
243
|
+
(0, node_child_process_1.execSync)(hydrationCommand, {
|
|
244
|
+
cwd: workspaceClone.workspacePath,
|
|
245
|
+
stdio: 'inherit',
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
insertWorkstream.run(workstream.id, plan.sessionId, workstream.branchName, JSON.stringify(workstream.sectionIds), 'running', workspaceClone.workspacePath, 0, null, null, null, null, null, 0, null, null, null);
|
|
249
|
+
claimWorkstreamLease(db, workstream.id, `launcher:${process.pid ?? 'unknown'}`, 0);
|
|
164
250
|
const spawnResult = spawnDetachedRunner({
|
|
165
251
|
projectPath: workspaceClone.workspacePath,
|
|
166
252
|
args: [
|
|
@@ -204,6 +290,7 @@ function spawnDetachedRunner(options) {
|
|
|
204
290
|
logFile = tempLogPath;
|
|
205
291
|
}
|
|
206
292
|
const child = (0, node_child_process_1.spawn)(process.execPath, options.args, {
|
|
293
|
+
cwd: options.projectPath,
|
|
207
294
|
detached: true,
|
|
208
295
|
stdio: daemonLogsEnabled && logFd !== undefined
|
|
209
296
|
? ['ignore', logFd, logFd]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runners-parallel.js","sourceRoot":"","sources":["../../src/commands/runners-parallel.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runners-parallel.js","sourceRoot":"","sources":["../../src/commands/runners-parallel.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspaces.d.ts","sourceRoot":"","sources":["../../src/commands/workspaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"workspaces.d.ts","sourceRoot":"","sources":["../../src/commands/workspaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AA6iBnD,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBzF"}
|
|
@@ -36,6 +36,32 @@ const HELP = (0, help_js_1.generateHelp)({
|
|
|
36
36
|
{ command: 'steroids merge', description: 'Merge completed parallel workstreams' },
|
|
37
37
|
],
|
|
38
38
|
});
|
|
39
|
+
const TERMINAL_PARALLEL_SESSION_STATUSES = new Set(['completed', 'failed', 'aborted']);
|
|
40
|
+
function isActiveParallelSessionStatus(status) {
|
|
41
|
+
return !TERMINAL_PARALLEL_SESSION_STATUSES.has(status);
|
|
42
|
+
}
|
|
43
|
+
function terminateRunnerPid(pid) {
|
|
44
|
+
try {
|
|
45
|
+
process.kill(pid, 'SIGTERM');
|
|
46
|
+
return true;
|
|
47
|
+
}
|
|
48
|
+
catch {
|
|
49
|
+
return false;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
function drainParallelSessionsForCleanup(records) {
|
|
53
|
+
const sessionIds = [...new Set(records.map((record) => record.sessionId))];
|
|
54
|
+
for (const sessionId of sessionIds) {
|
|
55
|
+
(0, global_db_js_1.revokeWorkstreamLeasesForSession)(sessionId);
|
|
56
|
+
const runners = (0, global_db_js_1.listParallelSessionRunners)(sessionId);
|
|
57
|
+
for (const runner of runners) {
|
|
58
|
+
if (runner.pid) {
|
|
59
|
+
terminateRunnerPid(runner.pid);
|
|
60
|
+
}
|
|
61
|
+
(0, global_db_js_1.removeParallelSessionRunner)(runner.id);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
39
65
|
function resolveProjectPath(projectArg) {
|
|
40
66
|
const projectPath = (0, node_path_1.resolve)(projectArg ?? process.cwd());
|
|
41
67
|
const projectDbPath = (0, node_path_1.join)(projectPath, '.steroids', 'steroids.db');
|
|
@@ -65,8 +91,11 @@ function parseSectionIds(raw) {
|
|
|
65
91
|
function getActiveSessionIds(db, projectPath) {
|
|
66
92
|
const active = new Set();
|
|
67
93
|
const runningSessions = db
|
|
68
|
-
.prepare(
|
|
69
|
-
|
|
94
|
+
.prepare(`SELECT id
|
|
95
|
+
FROM parallel_sessions
|
|
96
|
+
WHERE project_path = ?
|
|
97
|
+
AND status NOT IN ('completed', 'failed', 'aborted')`)
|
|
98
|
+
.all(projectPath);
|
|
70
99
|
for (const row of runningSessions) {
|
|
71
100
|
active.add(row.id);
|
|
72
101
|
}
|
|
@@ -123,8 +152,10 @@ function collectWorkspaceData(db, projectPath) {
|
|
|
123
152
|
const sessionStatus = row.session_status ?? 'unknown';
|
|
124
153
|
const clonePath = (0, node_path_1.resolve)(row.clone_path ?? (0, node_path_1.join)(projectWorkspaceRoot, workstreamId));
|
|
125
154
|
const workstreamStatus = row.workstream_status ?? sessionStatus;
|
|
126
|
-
const sessionActive = activeSessionIds.has(sessionId) || sessionStatus
|
|
127
|
-
const cleanable = !sessionActive &&
|
|
155
|
+
const sessionActive = activeSessionIds.has(sessionId) || isActiveParallelSessionStatus(sessionStatus);
|
|
156
|
+
const cleanable = !sessionActive &&
|
|
157
|
+
workstreamStatus !== 'running' &&
|
|
158
|
+
!isActiveParallelSessionStatus(sessionStatus);
|
|
128
159
|
known.add(clonePath);
|
|
129
160
|
records.push({
|
|
130
161
|
sessionId,
|
|
@@ -332,6 +363,9 @@ async function cleanWorkspaces(args, flags) {
|
|
|
332
363
|
}
|
|
333
364
|
try {
|
|
334
365
|
const { records, orphans, workspaceRoot } = collectWorkspaceData(db, projectPath);
|
|
366
|
+
if (removeAll && !flags.dryRun) {
|
|
367
|
+
drainParallelSessionsForCleanup(records);
|
|
368
|
+
}
|
|
335
369
|
const result = executeClean(records, orphans, removeAll, flags.dryRun);
|
|
336
370
|
if (result.failures.length > 0) {
|
|
337
371
|
out.error(errors_js_1.ErrorCode.GENERAL_ERROR, removeAll
|