steroids-cli 0.9.10 → 0.9.12

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.
Files changed (55) hide show
  1. package/dist/commands/runners-parallel.d.ts.map +1 -1
  2. package/dist/commands/runners-parallel.js +16 -4
  3. package/dist/commands/runners-parallel.js.map +1 -1
  4. package/dist/parallel/merge-commit-checks.d.ts +6 -0
  5. package/dist/parallel/merge-commit-checks.d.ts.map +1 -0
  6. package/dist/parallel/merge-commit-checks.js +28 -0
  7. package/dist/parallel/merge-commit-checks.js.map +1 -0
  8. package/dist/parallel/merge-process.d.ts +21 -0
  9. package/dist/parallel/merge-process.d.ts.map +1 -0
  10. package/dist/parallel/merge-process.js +104 -0
  11. package/dist/parallel/merge-process.js.map +1 -0
  12. package/dist/parallel/merge-sealing.d.ts +11 -0
  13. package/dist/parallel/merge-sealing.d.ts.map +1 -0
  14. package/dist/parallel/merge-sealing.js +64 -0
  15. package/dist/parallel/merge-sealing.js.map +1 -0
  16. package/dist/parallel/merge-validation.d.ts +6 -0
  17. package/dist/parallel/merge-validation.d.ts.map +1 -0
  18. package/dist/parallel/merge-validation.js +57 -0
  19. package/dist/parallel/merge-validation.js.map +1 -0
  20. package/dist/parallel/merge-workspace.d.ts +8 -0
  21. package/dist/parallel/merge-workspace.d.ts.map +1 -0
  22. package/dist/parallel/merge-workspace.js +37 -0
  23. package/dist/parallel/merge-workspace.js.map +1 -0
  24. package/dist/parallel/merge.d.ts +10 -5
  25. package/dist/parallel/merge.d.ts.map +1 -1
  26. package/dist/parallel/merge.js +22 -246
  27. package/dist/parallel/merge.js.map +1 -1
  28. package/dist/runners/daemon.d.ts.map +1 -1
  29. package/dist/runners/daemon.js +16 -0
  30. package/dist/runners/daemon.js.map +1 -1
  31. package/dist/runners/wakeup-checks.d.ts +14 -0
  32. package/dist/runners/wakeup-checks.d.ts.map +1 -0
  33. package/dist/runners/wakeup-checks.js +85 -0
  34. package/dist/runners/wakeup-checks.js.map +1 -0
  35. package/dist/runners/wakeup-reconcile.d.ts +10 -0
  36. package/dist/runners/wakeup-reconcile.d.ts.map +1 -0
  37. package/dist/runners/wakeup-reconcile.js +84 -0
  38. package/dist/runners/wakeup-reconcile.js.map +1 -0
  39. package/dist/runners/wakeup-runner.d.ts +18 -0
  40. package/dist/runners/wakeup-runner.d.ts.map +1 -0
  41. package/dist/runners/wakeup-runner.js +47 -0
  42. package/dist/runners/wakeup-runner.js.map +1 -0
  43. package/dist/runners/wakeup-sanitise.d.ts +24 -0
  44. package/dist/runners/wakeup-sanitise.d.ts.map +1 -0
  45. package/dist/runners/wakeup-sanitise.js +247 -0
  46. package/dist/runners/wakeup-sanitise.js.map +1 -0
  47. package/dist/runners/wakeup-timing.d.ts +12 -0
  48. package/dist/runners/wakeup-timing.d.ts.map +1 -0
  49. package/dist/runners/wakeup-timing.js +37 -0
  50. package/dist/runners/wakeup-timing.js.map +1 -0
  51. package/dist/runners/wakeup.d.ts +7 -8
  52. package/dist/runners/wakeup.d.ts.map +1 -1
  53. package/dist/runners/wakeup.js +26 -433
  54. package/dist/runners/wakeup.js.map +1 -1
  55. package/package.json +1 -1
@@ -4,258 +4,27 @@
4
4
  * Cherry-picks completed workstream branches into main with crash-safe progress tracking.
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.ParallelMergeError = void 0;
7
+ exports.cleanupWorkspaceState = exports.ParallelMergeError = void 0;
8
8
  exports.runParallelMerge = runParallelMerge;
9
- exports.getNowISOString = getNowISOString;
10
- exports.cleanupWorkspaceState = cleanupWorkspaceState;
11
9
  const node_path_1 = require("node:path");
12
10
  const node_fs_1 = require("node:fs");
13
- const node_child_process_1 = require("node:child_process");
14
11
  const clone_js_1 = require("./clone.js");
15
- const clone_js_2 = require("./clone.js");
16
- const clone_js_3 = require("./clone.js");
17
12
  const connection_js_1 = require("../database/connection.js");
18
13
  const global_db_js_1 = require("../runners/global-db.js");
19
14
  const merge_git_js_1 = require("./merge-git.js");
20
15
  const merge_lock_js_1 = require("./merge-lock.js");
21
16
  const merge_progress_js_1 = require("./merge-progress.js");
22
- const merge_conflict_js_1 = require("./merge-conflict.js");
23
17
  const merge_errors_js_1 = require("./merge-errors.js");
24
18
  Object.defineProperty(exports, "ParallelMergeError", { enumerable: true, get: function () { return merge_errors_js_1.ParallelMergeError; } });
19
+ const merge_validation_js_1 = require("./merge-validation.js");
20
+ const merge_workspace_js_1 = require("./merge-workspace.js");
21
+ Object.defineProperty(exports, "cleanupWorkspaceState", { enumerable: true, get: function () { return merge_workspace_js_1.cleanupWorkspaceState; } });
22
+ const merge_sealing_js_1 = require("./merge-sealing.js");
23
+ const merge_process_js_1 = require("./merge-process.js");
25
24
  const DEFAULT_REMOTE = 'origin';
26
25
  const DEFAULT_MAIN_BRANCH = 'main';
27
26
  const DEFAULT_LOCK_TIMEOUT_MINUTES = 120;
28
27
  const DEFAULT_HEARTBEAT_INTERVAL_MS = 30_000;
29
- const VALIDATION_MAX_BUFFER_BYTES = 20 * 1024 * 1024;
30
- const VALIDATION_SNIPPET_LIMIT = 8_000;
31
- function getNowISOString() {
32
- return new Date().toISOString();
33
- }
34
- function ensureMergeWorkingTree(projectPath) {
35
- const lines = (0, merge_git_js_1.gitStatusLines)(projectPath);
36
- if (lines.length === 0)
37
- return;
38
- if (!(0, merge_git_js_1.hasCherryPickInProgress)(projectPath)) {
39
- throw new merge_errors_js_1.ParallelMergeError('Working tree is dirty. Commit or stash changes before merging.', 'DIRTY_WORKTREE');
40
- }
41
- }
42
- function cleanupWorkspaceState(projectPath, workspaceRoot, workstreamIds, options) {
43
- if (!options.cleanupOnSuccess)
44
- return;
45
- const baseRoot = (0, node_path_1.resolve)(workspaceRoot);
46
- const hash = (0, clone_js_2.getProjectHash)(projectPath);
47
- const projectWorkspaceRoot = (0, node_path_1.resolve)(baseRoot, hash);
48
- if (!projectWorkspaceRoot.startsWith(baseRoot)) {
49
- return;
50
- }
51
- for (const workstreamId of workstreamIds) {
52
- const folder = (0, node_path_1.resolve)(projectWorkspaceRoot, workstreamId.startsWith('ws-') ? workstreamId : `ws-${workstreamId}`);
53
- if ((0, node_path_1.resolve)(folder).startsWith(projectWorkspaceRoot)) {
54
- (0, node_fs_1.rmSync)(folder, { recursive: true, force: true });
55
- }
56
- }
57
- }
58
- function runValidationGate(mergePath, validationCommand) {
59
- if (!validationCommand || validationCommand.trim().length === 0) {
60
- return;
61
- }
62
- try {
63
- (0, node_child_process_1.execSync)(validationCommand, {
64
- cwd: mergePath,
65
- stdio: 'pipe',
66
- encoding: 'utf-8',
67
- maxBuffer: VALIDATION_MAX_BUFFER_BYTES,
68
- });
69
- }
70
- catch (error) {
71
- const err = error;
72
- const stderr = typeof err.stderr === 'string' ? err.stderr : err.stderr?.toString() ?? '';
73
- const stdout = typeof err.stdout === 'string' ? err.stdout : err.stdout?.toString() ?? '';
74
- if (err.code === 'ENOBUFS') {
75
- throw new merge_errors_js_1.ParallelMergeError('Validation gate output exceeded the maximum buffer size. Reduce output verbosity or split the command.', 'VALIDATION_FAILED', {
76
- details: {
77
- command: validationCommand.trim(),
78
- stderr: stderr ?? '',
79
- stdout: stdout ?? '',
80
- },
81
- });
82
- }
83
- const message = [stderr, stdout, err.message].filter(Boolean).join('\n') || String(error);
84
- throw new merge_errors_js_1.ParallelMergeError(`Validation gate failed: ${message}`, 'VALIDATION_FAILED', {
85
- details: {
86
- command: validationCommand.trim(),
87
- stderr,
88
- stdout,
89
- },
90
- });
91
- }
92
- }
93
- function snippet(value, limit = VALIDATION_SNIPPET_LIMIT) {
94
- if (!value) {
95
- return '';
96
- }
97
- const trimmed = value.trim();
98
- if (trimmed.length <= limit) {
99
- return trimmed;
100
- }
101
- return trimmed.slice(-limit);
102
- }
103
- function isAppliedCommitIntegrated(projectPath, commitSha) {
104
- if (!commitSha) {
105
- return false;
106
- }
107
- const output = (0, merge_git_js_1.runGitCommand)(projectPath, ['branch', '--contains', commitSha, '--list', 'HEAD'], { allowFailure: true });
108
- const lower = output.toLowerCase();
109
- if (lower.includes('fatal:') || lower.includes('error:')) {
110
- return false;
111
- }
112
- return output.trim().length > 0;
113
- }
114
- function resolveGitSha(output) {
115
- const trimmed = output.trim();
116
- if (!trimmed)
117
- return null;
118
- if (/fatal:|error:/i.test(trimmed))
119
- return null;
120
- return trimmed.split('\n').at(-1)?.trim() ?? null;
121
- }
122
- function sealWorkstreamsForMerge(mergeDb, sessionId, runnerId, lockEpoch, mergePath, remote, mainBranch, workstreams) {
123
- const { db, close } = (0, global_db_js_1.openGlobalDatabase)();
124
- try {
125
- const sealedEntries = [];
126
- (0, merge_lock_js_1.assertMergeLockEpoch)(mergeDb, sessionId, runnerId, lockEpoch);
127
- for (let index = 0; index < workstreams.length; index += 1) {
128
- (0, merge_lock_js_1.assertMergeLockEpoch)(mergeDb, sessionId, runnerId, lockEpoch);
129
- const stream = workstreams[index];
130
- const commits = (0, merge_git_js_1.getWorkstreamCommitList)(mergePath, remote, stream.branchName, mainBranch);
131
- const sealedHeadSha = resolveGitSha((0, merge_git_js_1.runGitCommand)(mergePath, ['rev-parse', `${remote}/${stream.branchName}`], { allowFailure: true }));
132
- const sealedBaseSha = resolveGitSha((0, merge_git_js_1.runGitCommand)(mergePath, ['merge-base', `${remote}/${mainBranch}`, `${remote}/${stream.branchName}`], { allowFailure: true }));
133
- if (!sealedHeadSha || !sealedBaseSha) {
134
- throw new merge_errors_js_1.ParallelMergeError(`Could not resolve sealed merge SHAs for ${remote}/${stream.branchName}`, 'REMOTE_BRANCH_MISSING');
135
- }
136
- sealedEntries.push({
137
- streamId: stream.id,
138
- sealedBaseSha,
139
- sealedHeadSha,
140
- commits,
141
- completionOrder: index + 1,
142
- });
143
- }
144
- const applySealedUpdates = db.transaction(() => {
145
- for (const entry of sealedEntries) {
146
- const update = db.prepare(`UPDATE workstreams
147
- SET sealed_base_sha = ?,
148
- sealed_head_sha = ?,
149
- sealed_commit_shas = ?,
150
- completion_order = COALESCE(completion_order, ?),
151
- completed_at = COALESCE(completed_at, datetime('now')),
152
- status = 'completed'
153
- WHERE session_id = ?
154
- AND id = ?
155
- AND status IN ('running', 'completed')`).run(entry.sealedBaseSha, entry.sealedHeadSha, JSON.stringify(entry.commits), entry.completionOrder, sessionId, entry.streamId);
156
- if (update.changes !== 1) {
157
- throw new merge_errors_js_1.ParallelMergeError(`Workstream lease check failed while sealing ${entry.streamId}`, 'LEASE_FENCE_FAILED');
158
- }
159
- }
160
- });
161
- applySealedUpdates();
162
- }
163
- finally {
164
- close();
165
- }
166
- }
167
- async function processWorkstream(db, projectPath, sessionId, workstream, mainBranch, remote, progressRows, heartbeat) {
168
- const summary = { applied: 0, skipped: 0, conflicts: 0 };
169
- const commits = (0, merge_git_js_1.getWorkstreamCommitList)(projectPath, remote, workstream.branchName, mainBranch);
170
- if (commits.length === 0) {
171
- return summary;
172
- }
173
- const workstreamProgress = (0, merge_progress_js_1.getMergeProgressForWorkstream)(progressRows, workstream.id);
174
- const workstreamLookup = new Map();
175
- for (const row of workstreamProgress) {
176
- workstreamLookup.set(row.position, row);
177
- }
178
- for (let position = 0; position < commits.length; position += 1) {
179
- const commitSha = commits[position];
180
- const shortSha = (0, merge_git_js_1.getCommitShortSha)(commitSha);
181
- const prior = workstreamLookup.get(position);
182
- if (prior?.status === 'applied' && prior.commit_sha === commitSha) {
183
- if (isAppliedCommitIntegrated(projectPath, prior.applied_commit_sha)) {
184
- summary.applied += 1;
185
- continue;
186
- }
187
- (0, merge_progress_js_1.clearProgressEntry)(db, sessionId, workstream.id, position);
188
- }
189
- if (prior?.status === 'skipped' && prior.commit_sha === commitSha) {
190
- summary.skipped += 1;
191
- continue;
192
- }
193
- if (prior?.status === 'conflict' && prior.commit_sha === commitSha) {
194
- if ((0, merge_git_js_1.hasCherryPickInProgress)(projectPath)) {
195
- const outcome = await (0, merge_conflict_js_1.runConflictResolutionCycle)({
196
- db,
197
- projectPath,
198
- sessionId,
199
- workstreamId: workstream.id,
200
- runnerId: heartbeat.runnerId,
201
- mergeLockHeartbeat: {
202
- lockEpoch: heartbeat.lockEpoch,
203
- timeoutMinutes: heartbeat.timeoutMinutes,
204
- },
205
- branchName: workstream.branchName,
206
- position,
207
- commitSha,
208
- existingTaskId: prior.conflict_task_id ?? undefined,
209
- });
210
- if (outcome === 'skipped')
211
- summary.skipped += 1;
212
- else
213
- summary.applied += 1;
214
- summary.conflicts += 1;
215
- continue;
216
- }
217
- (0, merge_progress_js_1.clearProgressEntry)(db, sessionId, workstream.id, position);
218
- }
219
- if (prior && prior.commit_sha !== commitSha) {
220
- (0, merge_progress_js_1.clearProgressEntry)(db, sessionId, workstream.id, position);
221
- }
222
- try {
223
- (0, merge_git_js_1.runGitCommand)(projectPath, ['cherry-pick', commitSha]);
224
- const appliedCommitSha = (0, merge_git_js_1.runGitCommand)(projectPath, ['rev-parse', 'HEAD']).trim();
225
- (0, merge_progress_js_1.upsertProgressEntry)(db, sessionId, workstream.id, position, commitSha, 'applied', null, appliedCommitSha);
226
- summary.applied += 1;
227
- }
228
- catch (error) {
229
- const message = error instanceof Error ? error.message : String(error);
230
- if (!/CONFLICT|merge conflict|could not apply|needs merge/i.test(message)) {
231
- throw error;
232
- }
233
- const outcome = await (0, merge_conflict_js_1.runConflictResolutionCycle)({
234
- db,
235
- projectPath,
236
- sessionId,
237
- workstreamId: workstream.id,
238
- runnerId: heartbeat.runnerId,
239
- mergeLockHeartbeat: {
240
- lockEpoch: heartbeat.lockEpoch,
241
- timeoutMinutes: heartbeat.timeoutMinutes,
242
- },
243
- branchName: workstream.branchName,
244
- position,
245
- commitSha,
246
- });
247
- if (outcome === 'skipped') {
248
- summary.skipped += 1;
249
- }
250
- else {
251
- summary.applied += 1;
252
- }
253
- summary.conflicts += 1;
254
- }
255
- (0, merge_lock_js_1.refreshMergeLock)(db, heartbeat.sessionId, heartbeat.runnerId, heartbeat.timeoutMinutes, heartbeat.lockEpoch);
256
- }
257
- return summary;
258
- }
259
28
  /**
260
29
  * Run cherry-pick merge loop across completed workstreams.
261
30
  */
@@ -297,7 +66,7 @@ async function runParallelMerge(options) {
297
66
  lockEpoch = lock.lock?.lock_epoch ?? 0;
298
67
  (0, merge_lock_js_1.assertMergeLockEpoch)(db, sessionId, runnerId, lockEpoch);
299
68
  (0, global_db_js_1.updateParallelSessionStatus)(sessionId, 'merging');
300
- const integrationWorkspace = (0, clone_js_3.createIntegrationWorkspace)({
69
+ const integrationWorkspace = (0, clone_js_1.createIntegrationWorkspace)({
301
70
  projectPath,
302
71
  sessionId,
303
72
  baseBranch: mainBranch,
@@ -317,13 +86,13 @@ async function runParallelMerge(options) {
317
86
  // If heartbeat fails, merge keeps running until lock-dependent operations fail.
318
87
  }
319
88
  }, heartbeatIntervalMs);
320
- ensureMergeWorkingTree(mergePath);
89
+ (0, merge_workspace_js_1.ensureMergeWorkingTree)(mergePath);
321
90
  (0, merge_lock_js_1.assertMergeLockEpoch)(db, sessionId, runnerId, lockEpoch);
322
91
  for (const stream of workstreams) {
323
92
  (0, merge_lock_js_1.assertMergeLockEpoch)(db, sessionId, runnerId, lockEpoch);
324
93
  (0, merge_git_js_1.safeRunMergeCommand)(mergePath, remote, stream.branchName);
325
94
  }
326
- sealWorkstreamsForMerge(db, sessionId, runnerId, lockEpoch, mergePath, remote, mainBranch, workstreams);
95
+ (0, merge_sealing_js_1.sealWorkstreamsForMerge)(db, sessionId, runnerId, lockEpoch, mergePath, remote, mainBranch, workstreams);
327
96
  if (!recoveringFromCherryPick) {
328
97
  const pullOutput = (0, merge_git_js_1.runGitCommand)(mergePath, ['pull', '--ff-only', remote, mainBranch], { allowFailure: true });
329
98
  const pullOutputLower = pullOutput.toLowerCase();
@@ -337,12 +106,12 @@ async function runParallelMerge(options) {
337
106
  }
338
107
  const progressRows = (0, merge_progress_js_1.listMergeProgress)(db, sessionId);
339
108
  for (const workstream of workstreams) {
340
- const stats = await processWorkstream(db, mergePath, sessionId, workstream, mainBranch, remote, progressRows, { sessionId, runnerId, timeoutMinutes: lockTimeoutMinutes, lockEpoch });
109
+ const stats = await (0, merge_process_js_1.processWorkstream)(db, mergePath, sessionId, workstream, mainBranch, remote, progressRows, { sessionId, runnerId, timeoutMinutes: lockTimeoutMinutes, lockEpoch });
341
110
  summary.completedCommits += stats.applied;
342
111
  summary.skipped += stats.skipped;
343
112
  summary.conflicts += stats.conflicts;
344
113
  }
345
- runValidationGate(mergePath, validationCommand);
114
+ (0, merge_validation_js_1.runValidationGate)(mergePath, validationCommand);
346
115
  (0, merge_lock_js_1.assertMergeLockEpoch)(db, sessionId, runnerId, lockEpoch);
347
116
  const pushResult = (0, merge_git_js_1.runGitCommand)(mergePath, ['push', remote, mainBranch], { allowFailure: true });
348
117
  if ((0, merge_git_js_1.isNoPushError)(pushResult)) {
@@ -361,7 +130,7 @@ async function runParallelMerge(options) {
361
130
  }
362
131
  (0, merge_git_js_1.runGitCommand)(mergePath, ['remote', 'prune', remote]);
363
132
  if (cleanupOnSuccess) {
364
- cleanupWorkspaceState(projectPath, workspaceRoot, workstreams.map((stream) => stream.id), {
133
+ (0, merge_workspace_js_1.cleanupWorkspaceState)(projectPath, workspaceRoot, workstreams.map((stream) => stream.id), {
365
134
  cleanupOnSuccess,
366
135
  });
367
136
  if (integrationWorkspacePath) {
@@ -379,7 +148,14 @@ async function runParallelMerge(options) {
379
148
  catch {
380
149
  // best-effort resolution marker; merge completion should not fail because of escalation bookkeeping.
381
150
  }
382
- (0, global_db_js_1.updateParallelSessionStatus)(sessionId, 'completed', true);
151
+ if (options.skipSessionComplete) {
152
+ // Caller will decide when to mark session complete (e.g. after all workstreams finish).
153
+ // Reset to 'running' so wakeup does not see a terminal-ish status and spawn a new session.
154
+ (0, global_db_js_1.updateParallelSessionStatus)(sessionId, 'running');
155
+ }
156
+ else {
157
+ (0, global_db_js_1.updateParallelSessionStatus)(sessionId, 'completed', true);
158
+ }
383
159
  return summary;
384
160
  }
385
161
  catch (error) {
@@ -398,8 +174,8 @@ async function runParallelMerge(options) {
398
174
  workspacePath: integrationWorkspacePath ?? mergePath,
399
175
  validationCommand: commandFromError ?? (validationCommand?.trim() || '(not configured)'),
400
176
  errorMessage: message,
401
- stdoutSnippet: snippet(stdoutFromError),
402
- stderrSnippet: snippet(stderrFromError || message),
177
+ stdoutSnippet: (0, merge_validation_js_1.snippet)(stdoutFromError),
178
+ stderrSnippet: (0, merge_validation_js_1.snippet)(stderrFromError || message),
403
179
  });
404
180
  summary.validationEscalationId = escalation.id;
405
181
  summary.validationWorkspacePath = escalation.workspace_path;
@@ -1 +1 @@
1
- {"version":3,"file":"merge.js","sourceRoot":"","sources":["../../src/parallel/merge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"merge.js","sourceRoot":"","sources":["../../src/parallel/merge.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../src/runners/daemon.ts"],"names":[],"mappings":"AAAA;;GAEG;AAcH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;AAE3D,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,YAAY,CAAC;IACrB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,yFAAyF;IACzF,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB;AAED,KAAK,qBAAqB,GAAG;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF;;GAEG;AACH,wBAAgB,cAAc,CAC5B,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,MAAM,GAAG,qBAAqB,GACvC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,IAAI,CAAA;CAAE,CAwBzC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,YAAY,EACpB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,GAC5B,IAAI,CAiBN;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAS5D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAc1D;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GAAG,IAAI,GACpB,IAAI,CASN;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAOvD;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,MAAM,EAAE,CAYtC;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CASzD;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0H5E;AAsED;;GAEG;AACH,wBAAgB,cAAc,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG;IACpD,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAwBA"}
1
+ {"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../src/runners/daemon.ts"],"names":[],"mappings":"AAAA;;GAEG;AAeH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;AAE3D,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,YAAY,CAAC;IACrB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,yFAAyF;IACzF,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB;AAED,KAAK,qBAAqB,GAAG;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF;;GAEG;AACH,wBAAgB,cAAc,CAC5B,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,MAAM,GAAG,qBAAqB,GACvC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,IAAI,CAAA;CAAE,CAwBzC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,YAAY,EACpB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,GAC5B,IAAI,CAiBN;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAS5D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAc1D;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GAAG,IAAI,GACpB,IAAI,CASN;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAOvD;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,MAAM,EAAE,CAYtC;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CASzD;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0H5E;AAwFD;;GAEG;AACH,wBAAgB,cAAc,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG;IACpD,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAwBA"}
@@ -23,6 +23,7 @@ const projects_js_1 = require("./projects.js");
23
23
  const connection_js_1 = require("../database/connection.js");
24
24
  const queries_js_1 = require("../database/queries.js");
25
25
  const merge_js_1 = require("../parallel/merge.js");
26
+ const global_db_js_2 = require("./global-db.js");
26
27
  const loader_js_1 = require("../config/loader.js");
27
28
  /**
28
29
  * Register a new runner in the database
@@ -290,9 +291,24 @@ async function autoMergeOnCompletion(parallelSessionId, workspacePath, runnerId)
290
291
  mainBranch,
291
292
  cleanupOnSuccess: config.runners?.parallel?.cleanupOnSuccess ?? true,
292
293
  validationCommand,
294
+ // Don't mark session complete yet — only do so when ALL workstreams are done.
295
+ // This prevents a fast workstream (e.g. a blocked section with no tasks) from
296
+ // prematurely completing the session while other workstreams still run, which
297
+ // caused wakeup to spawn duplicate parallel sessions.
298
+ skipSessionComplete: true,
293
299
  });
294
300
  if (result.success) {
295
301
  console.log(`[AUTO-MERGE] Success: ${result.completedCommits} commits applied, ${result.conflicts} conflicts, ${result.skipped} skipped`);
302
+ // Mark session complete only if ALL workstreams in this session are now done.
303
+ const remaining = db.prepare(`SELECT COUNT(*) as count FROM workstreams
304
+ WHERE session_id = ? AND status NOT IN ('completed', 'failed', 'aborted')`).get(parallelSessionId);
305
+ if (remaining.count === 0) {
306
+ console.log('[AUTO-MERGE] All workstreams complete — marking session as completed');
307
+ (0, global_db_js_2.updateParallelSessionStatus)(parallelSessionId, 'completed', true);
308
+ }
309
+ else {
310
+ console.log(`[AUTO-MERGE] ${remaining.count} workstream(s) still running — session stays active`);
311
+ }
296
312
  }
297
313
  else {
298
314
  console.error(`[AUTO-MERGE] Failed: ${result.errors.join('; ')}`);
@@ -1 +1 @@
1
- {"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../src/runners/daemon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../src/runners/daemon.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Project state checks for wakeup
3
+ */
4
+ /**
5
+ * Check if a project has pending work
6
+ */
7
+ export declare function projectHasPendingWork(projectPath: string): Promise<boolean>;
8
+ /**
9
+ * Check if there's an active runner for a specific project
10
+ * Exported for use in daemon startup checks
11
+ */
12
+ export declare function hasActiveRunnerForProject(projectPath: string): boolean;
13
+ export declare function hasActiveParallelSessionForProject(projectPath: string): boolean;
14
+ //# sourceMappingURL=wakeup-checks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wakeup-checks.d.ts","sourceRoot":"","sources":["../../src/runners/wakeup-checks.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAuBjF;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAiBtE;AAED,wBAAgB,kCAAkC,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAkC/E"}
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ /**
3
+ * Project state checks for wakeup
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.projectHasPendingWork = projectHasPendingWork;
7
+ exports.hasActiveRunnerForProject = hasActiveRunnerForProject;
8
+ exports.hasActiveParallelSessionForProject = hasActiveParallelSessionForProject;
9
+ const node_fs_1 = require("node:fs");
10
+ const node_path_1 = require("node:path");
11
+ const global_db_js_1 = require("./global-db.js");
12
+ /**
13
+ * Check if a project has pending work
14
+ */
15
+ async function projectHasPendingWork(projectPath) {
16
+ const dbPath = (0, node_path_1.join)(projectPath, '.steroids', 'steroids.db');
17
+ if (!(0, node_fs_1.existsSync)(dbPath)) {
18
+ return false;
19
+ }
20
+ try {
21
+ // Use dynamic import for ESM compatibility
22
+ const { default: Database } = await import('better-sqlite3');
23
+ const db = new Database(dbPath, { readonly: true });
24
+ const result = db
25
+ .prepare(`SELECT COUNT(*) as count FROM tasks
26
+ WHERE status IN ('pending', 'in_progress', 'review')`)
27
+ .get();
28
+ db.close();
29
+ return result.count > 0;
30
+ }
31
+ catch {
32
+ return false;
33
+ }
34
+ }
35
+ /**
36
+ * Check if there's an active runner for a specific project
37
+ * Exported for use in daemon startup checks
38
+ */
39
+ function hasActiveRunnerForProject(projectPath) {
40
+ const { db, close } = (0, global_db_js_1.openGlobalDatabase)();
41
+ try {
42
+ const row = db
43
+ .prepare(`SELECT 1 FROM runners
44
+ WHERE project_path = ?
45
+ AND status != 'stopped'
46
+ AND heartbeat_at > datetime('now', '-5 minutes')
47
+ AND parallel_session_id IS NULL`)
48
+ .get(projectPath);
49
+ return row !== undefined;
50
+ }
51
+ finally {
52
+ close();
53
+ }
54
+ }
55
+ function hasActiveParallelSessionForProject(projectPath) {
56
+ const { db, close } = (0, global_db_js_1.openGlobalDatabase)();
57
+ try {
58
+ // Primary check: session record in non-terminal state.
59
+ const sessionRow = db
60
+ .prepare(`SELECT 1 FROM parallel_sessions
61
+ WHERE project_path = ?
62
+ AND status NOT IN ('completed', 'failed', 'aborted')
63
+ LIMIT 1`)
64
+ .get(projectPath);
65
+ if (sessionRow !== undefined)
66
+ return true;
67
+ // Belt-and-suspenders: if any runner for this project has an active
68
+ // parallel_session_id and a fresh heartbeat, treat it as active even if the
69
+ // session record somehow ended up in a terminal state. This prevents wakeup
70
+ // from spawning a new parallel session while workstream runners are still live.
71
+ const runnerRow = db
72
+ .prepare(`SELECT 1 FROM runners r
73
+ JOIN parallel_sessions ps ON ps.id = r.parallel_session_id
74
+ WHERE ps.project_path = ?
75
+ AND r.status != 'stopped'
76
+ AND r.heartbeat_at > datetime('now', '-5 minutes')
77
+ LIMIT 1`)
78
+ .get(projectPath);
79
+ return runnerRow !== undefined;
80
+ }
81
+ finally {
82
+ close();
83
+ }
84
+ }
85
+ //# sourceMappingURL=wakeup-checks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wakeup-checks.js","sourceRoot":"","sources":["../../src/runners/wakeup-checks.ts"],"names":[],"mappings":";AAAA;;GAEG;;AASH,sDAuBC;AAMD,8DAiBC;AAED,gFAkCC;AAzFD,qCAAqC;AACrC,yCAAiC;AACjC,iDAAoD;AAEpD;;GAEG;AACI,KAAK,UAAU,qBAAqB,CAAC,WAAmB;IAC7D,MAAM,MAAM,GAAG,IAAA,gBAAI,EAAC,WAAW,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;IAC7D,IAAI,CAAC,IAAA,oBAAU,EAAC,MAAM,CAAC,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC;QACH,2CAA2C;QAC3C,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAC7D,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAEpD,MAAM,MAAM,GAAG,EAAE;aACd,OAAO,CACN;8DACsD,CACvD;aACA,GAAG,EAAuB,CAAC;QAE9B,EAAE,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAgB,yBAAyB,CAAC,WAAmB;IAC3D,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,IAAA,iCAAkB,GAAE,CAAC;IAC3C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE;aACX,OAAO,CACN;;;;yCAIiC,CAClC;aACA,GAAG,CAAC,WAAW,CAA8B,CAAC;QAEjD,OAAO,GAAG,KAAK,SAAS,CAAC;IAC3B,CAAC;YAAS,CAAC;QACT,KAAK,EAAE,CAAC;IACV,CAAC;AACH,CAAC;AAED,SAAgB,kCAAkC,CAAC,WAAmB;IACpE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,IAAA,iCAAkB,GAAE,CAAC;IAC3C,IAAI,CAAC;QACH,uDAAuD;QACvD,MAAM,UAAU,GAAG,EAAE;aAClB,OAAO,CACN;;;iBAGS,CACV;aACA,GAAG,CAAC,WAAW,CAA8B,CAAC;QAEjD,IAAI,UAAU,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QAE1C,oEAAoE;QACpE,4EAA4E;QAC5E,4EAA4E;QAC5E,gFAAgF;QAChF,MAAM,SAAS,GAAG,EAAE;aACjB,OAAO,CACN;;;;;iBAKS,CACV;aACA,GAAG,CAAC,WAAW,CAA8B,CAAC;QAEjD,OAAO,SAAS,KAAK,SAAS,CAAC;IACjC,CAAC;YAAS,CAAC;QACT,KAAK,EAAE,CAAC;IACV,CAAC;AACH,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Parallel session reconciliation for wakeup
3
+ */
4
+ import { openGlobalDatabase } from './global-db.js';
5
+ export declare function releaseExpiredWorkstreamLeases(db: ReturnType<typeof openGlobalDatabase>['db']): number;
6
+ export declare function reconcileParallelSessionRecovery(db: ReturnType<typeof openGlobalDatabase>['db'], projectPath: string): {
7
+ scheduledRetries: number;
8
+ blockedWorkstreams: number;
9
+ };
10
+ //# sourceMappingURL=wakeup-reconcile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wakeup-reconcile.d.ts","sourceRoot":"","sources":["../../src/runners/wakeup-reconcile.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD,wBAAgB,8BAA8B,CAC5C,EAAE,EAAE,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAC9C,MAAM,CAWR;AAED,wBAAgB,gCAAgC,CAC9C,EAAE,EAAE,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,IAAI,CAAC,EAC/C,WAAW,EAAE,MAAM,GAClB;IAAE,gBAAgB,EAAE,MAAM,CAAC;IAAC,kBAAkB,EAAE,MAAM,CAAA;CAAE,CA4F1D"}