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
@@ -3,14 +3,10 @@
3
3
  * Cron wake-up command for restarting stale/dead runners
4
4
  */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.hasActiveRunnerForProject = hasActiveRunnerForProject;
7
- exports.hasActiveParallelSessionForProject = hasActiveParallelSessionForProject;
8
- exports.getLastWakeupTime = getLastWakeupTime;
6
+ exports.hasActiveParallelSessionForProject = exports.hasActiveRunnerForProject = exports.getLastWakeupTime = void 0;
9
7
  exports.wakeup = wakeup;
10
8
  exports.checkWakeupNeeded = checkWakeupNeeded;
11
9
  const node_fs_1 = require("node:fs");
12
- const node_path_1 = require("node:path");
13
- const node_child_process_1 = require("node:child_process");
14
10
  const lock_js_1 = require("./lock.js");
15
11
  const global_db_js_1 = require("./global-db.js");
16
12
  const heartbeat_js_1 = require("./heartbeat.js");
@@ -19,429 +15,21 @@ const connection_js_1 = require("../database/connection.js");
19
15
  const loader_js_1 = require("../config/loader.js");
20
16
  const stuck_task_recovery_js_1 = require("../health/stuck-task-recovery.js");
21
17
  const invocation_logs_js_1 = require("../cleanup/invocation-logs.js");
22
- const node_fs_2 = require("node:fs");
23
- const DEFAULT_SANITISE_INTERVAL_MINUTES = 5;
24
- const DEFAULT_SANITISE_INVOCATION_TIMEOUT_SEC = 1800;
25
- /**
26
- * Check if a project has pending work
27
- */
28
- async function projectHasPendingWork(projectPath) {
29
- const dbPath = (0, node_path_1.join)(projectPath, '.steroids', 'steroids.db');
30
- if (!(0, node_fs_1.existsSync)(dbPath)) {
31
- return false;
32
- }
33
- try {
34
- // Use dynamic import for ESM compatibility
35
- const { default: Database } = await import('better-sqlite3');
36
- const db = new Database(dbPath, { readonly: true });
37
- const result = db
38
- .prepare(`SELECT COUNT(*) as count FROM tasks
39
- WHERE status IN ('pending', 'in_progress', 'review')`)
40
- .get();
41
- db.close();
42
- return result.count > 0;
43
- }
44
- catch {
45
- return false;
46
- }
47
- }
48
- /**
49
- * Check if there's an active runner for a specific project
50
- * Exported for use in daemon startup checks
51
- */
52
- function hasActiveRunnerForProject(projectPath) {
53
- const { db, close } = (0, global_db_js_1.openGlobalDatabase)();
54
- try {
55
- const row = db
56
- .prepare(`SELECT 1 FROM runners
57
- WHERE project_path = ?
58
- AND status != 'stopped'
59
- AND heartbeat_at > datetime('now', '-5 minutes')
60
- AND parallel_session_id IS NULL`)
61
- .get(projectPath);
62
- return row !== undefined;
63
- }
64
- finally {
65
- close();
66
- }
67
- }
68
- function hasActiveParallelSessionForProject(projectPath) {
69
- const { db, close } = (0, global_db_js_1.openGlobalDatabase)();
70
- try {
71
- const row = db
72
- .prepare(`SELECT 1 FROM parallel_sessions
73
- WHERE project_path = ?
74
- AND status NOT IN ('completed', 'failed', 'aborted')
75
- LIMIT 1`)
76
- .get(projectPath);
77
- return row !== undefined;
78
- }
79
- finally {
80
- close();
81
- }
82
- }
83
- function releaseExpiredWorkstreamLeases(db) {
84
- const result = db.prepare(`UPDATE workstreams
85
- SET runner_id = NULL,
86
- lease_expires_at = NULL
87
- WHERE status = 'running'
88
- AND lease_expires_at IS NOT NULL
89
- AND lease_expires_at <= datetime('now')`).run();
90
- return result.changes;
91
- }
92
- function reconcileParallelSessionRecovery(db, projectPath) {
93
- const sessions = db
94
- .prepare(`SELECT id
95
- FROM parallel_sessions
96
- WHERE project_path = ?
97
- AND status NOT IN ('completed', 'failed', 'aborted', 'blocked_validation', 'blocked_recovery')`)
98
- .all(projectPath);
99
- let scheduledRetries = 0;
100
- let blockedWorkstreams = 0;
101
- for (const session of sessions) {
102
- let blockedInSession = 0;
103
- const candidates = db
104
- .prepare(`SELECT id, recovery_attempts
105
- FROM workstreams
106
- WHERE session_id = ?
107
- AND status = 'running'
108
- AND (lease_expires_at IS NULL OR lease_expires_at <= datetime('now'))
109
- AND (next_retry_at IS NULL OR next_retry_at <= datetime('now'))`)
110
- .all(session.id);
111
- for (const candidate of candidates) {
112
- const nextAttempts = (candidate.recovery_attempts ?? 0) + 1;
113
- if (nextAttempts >= 5) {
114
- db.prepare(`UPDATE workstreams
115
- SET status = 'failed',
116
- recovery_attempts = ?,
117
- next_retry_at = NULL,
118
- last_reconcile_action = 'blocked_recovery',
119
- last_reconciled_at = datetime('now')
120
- WHERE id = ?`).run(nextAttempts, candidate.id);
121
- blockedWorkstreams += 1;
122
- blockedInSession += 1;
123
- continue;
124
- }
125
- const backoffMinutes = Math.min(2 ** nextAttempts, 30);
126
- db.prepare(`UPDATE workstreams
127
- SET recovery_attempts = ?,
128
- next_retry_at = datetime('now', ?),
129
- last_reconcile_action = 'retry_scheduled',
130
- last_reconciled_at = datetime('now')
131
- WHERE id = ?`).run(nextAttempts, `+${backoffMinutes} minutes`, candidate.id);
132
- scheduledRetries += 1;
133
- }
134
- if (blockedInSession > 0) {
135
- db.prepare(`UPDATE parallel_sessions
136
- SET status = 'blocked_recovery',
137
- completed_at = NULL
138
- WHERE id = ?`).run(session.id);
139
- }
140
- }
141
- return { scheduledRetries, blockedWorkstreams };
142
- }
143
- /**
144
- * Kill a process by PID
145
- */
146
- function killProcess(pid) {
147
- try {
148
- process.kill(pid, 'SIGTERM');
149
- return true;
150
- }
151
- catch {
152
- return false;
153
- }
154
- }
155
- /**
156
- * Start a new runner daemon
157
- * Uses 'steroids runners start --detach' so the runner registers in the global DB
158
- * and updates heartbeat, allowing hasActiveRunnerForProject() to detect it.
159
- * When runners.parallel.enabled is true, launches a parallel session instead.
160
- */
161
- function startRunner(projectPath) {
162
- try {
163
- const config = (0, loader_js_1.loadConfig)(projectPath);
164
- const parallelEnabled = config.runners?.parallel?.enabled === true;
165
- const args = parallelEnabled
166
- ? ['runners', 'start', '--parallel', '--project', projectPath]
167
- : ['runners', 'start', '--detach', '--project', projectPath];
168
- const child = (0, node_child_process_1.spawn)('steroids', args, {
169
- cwd: projectPath,
170
- detached: true,
171
- stdio: 'ignore',
172
- });
173
- child.unref();
174
- return { pid: child.pid ?? 0, parallel: parallelEnabled };
175
- }
176
- catch {
177
- return null;
178
- }
179
- }
180
- function getSanitiseSettings(projectPath) {
181
- const config = (0, loader_js_1.loadConfig)(projectPath);
182
- const health = config.health ?? {};
183
- const enabled = health.sanitiseEnabled ?? true;
184
- const intervalMinutes = Math.max(1, Number(health.sanitiseIntervalMinutes ?? DEFAULT_SANITISE_INTERVAL_MINUTES));
185
- const staleInvocationTimeoutSec = Math.max(60, Number(health.sanitiseInvocationTimeoutSec ?? DEFAULT_SANITISE_INVOCATION_TIMEOUT_SEC));
186
- return { enabled, intervalMinutes, staleInvocationTimeoutSec };
187
- }
188
- function getSanitiseSchemaKey(projectPath) {
189
- return `wakeup_sanitise_last_run::${projectPath}`;
190
- }
191
- function shouldRunPeriodicSanitise(db, projectPath, intervalMinutes) {
192
- const key = getSanitiseSchemaKey(projectPath);
193
- const row = db
194
- .prepare('SELECT value FROM _global_schema WHERE key = ?')
195
- .get(key);
196
- if (!row?.value) {
197
- return true;
198
- }
199
- const due = db.prepare(`SELECT CASE
200
- WHEN datetime(?) <= datetime('now', ?)
201
- THEN 1 ELSE 0
202
- END AS due`).get(row.value, `-${intervalMinutes} minutes`);
203
- return (due?.due ?? 0) === 1;
204
- }
205
- function markPeriodicSanitiseRun(db, projectPath) {
206
- db.prepare(`INSERT INTO _global_schema (key, value) VALUES (?, datetime('now'))
207
- ON CONFLICT(key) DO UPDATE SET value = excluded.value`).run(getSanitiseSchemaKey(projectPath));
208
- }
209
- function parseReviewerDecisionFromLog(projectPath, invocationId) {
210
- const logPath = (0, node_path_1.join)(projectPath, '.steroids', 'invocations', `${invocationId}.log`);
211
- if (!(0, node_fs_1.existsSync)(logPath)) {
212
- return null;
213
- }
214
- try {
215
- const raw = (0, node_fs_2.readFileSync)(logPath, 'utf-8');
216
- if (raw.includes('DECISION: APPROVE')) {
217
- return 'approve';
218
- }
219
- if (raw.includes('DECISION: REJECT')) {
220
- return 'reject';
221
- }
222
- }
223
- catch {
224
- return null;
225
- }
226
- return null;
227
- }
228
- function sanitiseProjectState(globalDb, projectDb, projectPath, dryRun, staleInvocationTimeoutSec) {
229
- const summary = {
230
- ran: true,
231
- reason: 'ok',
232
- recoveredApprovals: 0,
233
- recoveredRejects: 0,
234
- closedStaleInvocations: 0,
235
- releasedTaskLocks: 0,
236
- releasedSectionLocks: 0,
237
- };
238
- const staleCutoffMs = Date.now() - staleInvocationTimeoutSec * 1000;
239
- const activeRunnerTaskRows = globalDb
240
- .prepare(`SELECT current_task_id, parallel_session_id
241
- FROM runners
242
- WHERE project_path = ?
243
- AND status = 'running'
244
- AND heartbeat_at > datetime('now', '-5 minutes')
245
- AND (current_task_id IS NOT NULL OR parallel_session_id IS NOT NULL)`)
246
- .all(projectPath);
247
- const activeTaskIds = new Set(activeRunnerTaskRows
248
- .map((row) => row.current_task_id)
249
- .filter((taskId) => typeof taskId === 'string' && taskId.length > 0));
250
- const hasActiveParallelRunner = activeRunnerTaskRows.some((row) => typeof row.parallel_session_id === 'string' && row.parallel_session_id.length > 0);
251
- let hasActiveMergeLock = false;
252
- try {
253
- const mergeLockRows = projectDb
254
- .prepare('SELECT expires_at FROM merge_locks')
255
- .all();
256
- const nowMs = Date.now();
257
- hasActiveMergeLock = mergeLockRows.some((row) => {
258
- const expiresAtMs = Date.parse(row.expires_at);
259
- return Number.isFinite(expiresAtMs) && expiresAtMs > nowMs;
260
- });
261
- }
262
- catch {
263
- hasActiveMergeLock = false;
264
- }
265
- const hasActiveParallelContext = hasActiveParallelRunner || hasActiveMergeLock;
266
- const staleInvocations = projectDb
267
- .prepare(`SELECT i.id, i.task_id, i.role, i.started_at_ms, t.status AS task_status
268
- FROM task_invocations i
269
- LEFT JOIN tasks t ON t.id = i.task_id
270
- WHERE i.status = 'running'
271
- AND i.started_at_ms IS NOT NULL
272
- AND i.started_at_ms <= ?
273
- ORDER BY i.started_at_ms ASC`)
274
- .all(staleCutoffMs);
275
- for (const row of staleInvocations) {
276
- if (activeTaskIds.has(row.task_id) || hasActiveParallelContext) {
277
- continue;
278
- }
279
- const completedAtMs = Date.now();
280
- const durationMs = Math.max(0, completedAtMs - row.started_at_ms);
281
- const reviewerDecision = row.role === 'reviewer'
282
- ? parseReviewerDecisionFromLog(projectPath, row.id)
283
- : null;
284
- if (!dryRun) {
285
- if (reviewerDecision === 'approve' && row.task_status === 'review') {
286
- projectDb
287
- .prepare(`UPDATE task_invocations
288
- SET status = 'completed',
289
- success = 1,
290
- timed_out = 0,
291
- exit_code = 0,
292
- completed_at_ms = ?,
293
- duration_ms = ?,
294
- error = COALESCE(error, 'Recovered by periodic sanitise (review approve token found).')
295
- WHERE id = ? AND status = 'running'`)
296
- .run(completedAtMs, durationMs, row.id);
297
- projectDb
298
- .prepare(`UPDATE tasks
299
- SET status = 'completed',
300
- updated_at = datetime('now')
301
- WHERE id = ? AND status = 'review'`)
302
- .run(row.task_id);
303
- projectDb
304
- .prepare(`INSERT INTO audit (task_id, from_status, to_status, actor, actor_type, notes, created_at)
305
- SELECT ?, 'review', 'completed', 'orchestrator', 'orchestrator',
306
- 'Recovered by periodic sanitise from reviewer decision log (DECISION: APPROVE).',
307
- datetime('now')
308
- WHERE EXISTS (SELECT 1 FROM tasks WHERE id = ? AND status = 'completed')`)
309
- .run(row.task_id, row.task_id);
310
- }
311
- else if (reviewerDecision === 'reject' && row.task_status === 'review') {
312
- projectDb
313
- .prepare(`UPDATE task_invocations
314
- SET status = 'completed',
315
- success = 1,
316
- timed_out = 0,
317
- exit_code = 0,
318
- completed_at_ms = ?,
319
- duration_ms = ?,
320
- error = COALESCE(error, 'Recovered by periodic sanitise (review reject token found).')
321
- WHERE id = ? AND status = 'running'`)
322
- .run(completedAtMs, durationMs, row.id);
323
- projectDb
324
- .prepare(`UPDATE tasks
325
- SET status = 'in_progress',
326
- rejection_count = COALESCE(rejection_count, 0) + 1,
327
- updated_at = datetime('now')
328
- WHERE id = ? AND status = 'review'`)
329
- .run(row.task_id);
330
- projectDb
331
- .prepare(`INSERT INTO audit (task_id, from_status, to_status, actor, actor_type, notes, created_at)
332
- SELECT ?, 'review', 'in_progress', 'orchestrator', 'orchestrator',
333
- 'Recovered by periodic sanitise from reviewer decision log (DECISION: REJECT).',
334
- datetime('now')
335
- WHERE EXISTS (SELECT 1 FROM tasks WHERE id = ? AND status = 'in_progress')`)
336
- .run(row.task_id, row.task_id);
337
- }
338
- else {
339
- projectDb
340
- .prepare(`UPDATE task_invocations
341
- SET status = 'failed',
342
- success = 0,
343
- timed_out = 1,
344
- exit_code = 1,
345
- completed_at_ms = ?,
346
- duration_ms = ?,
347
- error = COALESCE(error, 'Periodic sanitise closed stale running invocation.')
348
- WHERE id = ? AND status = 'running'`)
349
- .run(completedAtMs, durationMs, row.id);
350
- }
351
- }
352
- if (reviewerDecision === 'approve' && row.task_status === 'review') {
353
- summary.recoveredApprovals += 1;
354
- }
355
- else if (reviewerDecision === 'reject' && row.task_status === 'review') {
356
- summary.recoveredRejects += 1;
357
- }
358
- else {
359
- summary.closedStaleInvocations += 1;
360
- }
361
- }
362
- if (!dryRun) {
363
- const releasedTaskLocks = projectDb
364
- .prepare(`DELETE FROM task_locks WHERE expires_at <= datetime('now')`)
365
- .run();
366
- summary.releasedTaskLocks = releasedTaskLocks.changes;
367
- const releasedSectionLocks = projectDb
368
- .prepare(`DELETE FROM section_locks WHERE expires_at <= datetime('now')`)
369
- .run();
370
- summary.releasedSectionLocks = releasedSectionLocks.changes;
371
- }
372
- return summary;
373
- }
374
- function runPeriodicSanitiseForProject(globalDb, projectDb, projectPath, dryRun) {
375
- const settings = getSanitiseSettings(projectPath);
376
- if (!settings.enabled) {
377
- return {
378
- ran: false,
379
- reason: 'disabled',
380
- recoveredApprovals: 0,
381
- recoveredRejects: 0,
382
- closedStaleInvocations: 0,
383
- releasedTaskLocks: 0,
384
- releasedSectionLocks: 0,
385
- };
386
- }
387
- if (!shouldRunPeriodicSanitise(globalDb, projectPath, settings.intervalMinutes)) {
388
- return {
389
- ran: false,
390
- reason: 'interval_not_due',
391
- recoveredApprovals: 0,
392
- recoveredRejects: 0,
393
- closedStaleInvocations: 0,
394
- releasedTaskLocks: 0,
395
- releasedSectionLocks: 0,
396
- };
397
- }
398
- const summary = sanitiseProjectState(globalDb, projectDb, projectPath, dryRun, settings.staleInvocationTimeoutSec);
399
- if (!dryRun) {
400
- markPeriodicSanitiseRun(globalDb, projectPath);
401
- }
402
- return summary;
403
- }
404
- function sanitisedActionCount(summary) {
405
- return (summary.recoveredApprovals +
406
- summary.recoveredRejects +
407
- summary.closedStaleInvocations +
408
- summary.releasedTaskLocks +
409
- summary.releasedSectionLocks);
410
- }
18
+ // Import from helper files
19
+ const wakeup_sanitise_js_1 = require("./wakeup-sanitise.js");
20
+ const wakeup_reconcile_js_1 = require("./wakeup-reconcile.js");
21
+ const wakeup_checks_js_1 = require("./wakeup-checks.js");
22
+ Object.defineProperty(exports, "hasActiveRunnerForProject", { enumerable: true, get: function () { return wakeup_checks_js_1.hasActiveRunnerForProject; } });
23
+ Object.defineProperty(exports, "hasActiveParallelSessionForProject", { enumerable: true, get: function () { return wakeup_checks_js_1.hasActiveParallelSessionForProject; } });
24
+ const wakeup_runner_js_1 = require("./wakeup-runner.js");
25
+ const wakeup_timing_js_1 = require("./wakeup-timing.js");
26
+ Object.defineProperty(exports, "getLastWakeupTime", { enumerable: true, get: function () { return wakeup_timing_js_1.getLastWakeupTime; } });
411
27
  /**
412
28
  * Main wake-up function
413
29
  * Called by cron every minute to ensure runners are healthy
414
30
  * Iterates over ALL registered projects and starts runners as needed
415
31
  * Returns per-project results
416
32
  */
417
- /**
418
- * Record the last wakeup invocation time
419
- */
420
- function recordWakeupTime() {
421
- const { db, close } = (0, global_db_js_1.openGlobalDatabase)();
422
- try {
423
- db.prepare(`INSERT INTO _global_schema (key, value) VALUES ('last_wakeup_at', datetime('now'))
424
- ON CONFLICT(key) DO UPDATE SET value = datetime('now')`).run();
425
- }
426
- finally {
427
- close();
428
- }
429
- }
430
- /**
431
- * Get the last wakeup invocation time
432
- */
433
- function getLastWakeupTime() {
434
- const { db, close } = (0, global_db_js_1.openGlobalDatabase)();
435
- try {
436
- const row = db
437
- .prepare("SELECT value FROM _global_schema WHERE key = 'last_wakeup_at'")
438
- .get();
439
- return row?.value ?? null;
440
- }
441
- finally {
442
- close();
443
- }
444
- }
445
33
  async function wakeup(options = {}) {
446
34
  const { quiet = false, dryRun = false } = options;
447
35
  const results = [];
@@ -451,7 +39,7 @@ async function wakeup(options = {}) {
451
39
  };
452
40
  // Record wakeup invocation time (even for dry runs)
453
41
  if (!dryRun) {
454
- recordWakeupTime();
42
+ (0, wakeup_timing_js_1.recordWakeupTime)();
455
43
  }
456
44
  // Step 1: Clean up stale runners first
457
45
  const global = (0, global_db_js_1.openGlobalDatabase)();
@@ -463,7 +51,7 @@ async function wakeup(options = {}) {
463
51
  if (!dryRun) {
464
52
  for (const runner of staleRunners) {
465
53
  if (runner.pid) {
466
- killProcess(runner.pid);
54
+ (0, wakeup_runner_js_1.killProcess)(runner.pid);
467
55
  }
468
56
  global.db.prepare(`UPDATE workstreams
469
57
  SET runner_id = NULL,
@@ -483,7 +71,12 @@ async function wakeup(options = {}) {
483
71
  // ignore global DB issues; wakeup will still attempt per-project checks
484
72
  }
485
73
  try {
486
- const releasedLeases = releaseExpiredWorkstreamLeases(global.db);
74
+ const releasedLeases = global.db.prepare(`UPDATE workstreams
75
+ SET runner_id = NULL,
76
+ lease_expires_at = NULL
77
+ WHERE status = 'running'
78
+ AND lease_expires_at IS NOT NULL
79
+ AND lease_expires_at <= datetime('now')`).run().changes;
487
80
  if (releasedLeases > 0) {
488
81
  log(`Released ${releasedLeases} expired workstream lease(s)`);
489
82
  }
@@ -543,8 +136,8 @@ async function wakeup(options = {}) {
543
136
  try {
544
137
  const { db: projectDb, close: closeProjectDb } = (0, connection_js_1.openDatabase)(project.path);
545
138
  try {
546
- const sanitiseSummary = runPeriodicSanitiseForProject(global.db, projectDb, project.path, dryRun);
547
- sanitisedActions = sanitisedActionCount(sanitiseSummary);
139
+ const sanitiseSummary = (0, wakeup_sanitise_js_1.runPeriodicSanitiseForProject)(global.db, projectDb, project.path, dryRun);
140
+ sanitisedActions = (0, wakeup_sanitise_js_1.sanitisedActionCount)(sanitiseSummary);
548
141
  if (sanitisedActions > 0 && !quiet) {
549
142
  log(`Sanitised ${sanitisedActions} stale item(s) in ${project.path}`);
550
143
  }
@@ -575,7 +168,7 @@ async function wakeup(options = {}) {
575
168
  // If sanitise/recovery can't run (DB missing/corrupt), we still proceed with runner checks.
576
169
  }
577
170
  // Check for pending work after sanitise/recovery
578
- const hasWork = await projectHasPendingWork(project.path);
171
+ const hasWork = await (0, wakeup_checks_js_1.projectHasPendingWork)(project.path);
579
172
  if (!hasWork) {
580
173
  const noWorkReason = sanitisedActions > 0
581
174
  ? `No pending tasks after sanitise (${sanitisedActions} action(s))`
@@ -594,10 +187,10 @@ async function wakeup(options = {}) {
594
187
  }
595
188
  // Skip projects currently executing a parallel session before attempting recovery/startup.
596
189
  // This prevents parallel runners from being interfered with by a cron-managed runner.
597
- if (hasActiveParallelSessionForProject(project.path)) {
190
+ if ((0, wakeup_checks_js_1.hasActiveParallelSessionForProject)(project.path)) {
598
191
  let retrySummary = '';
599
192
  if (!dryRun) {
600
- const recovery = reconcileParallelSessionRecovery(global.db, project.path);
193
+ const recovery = (0, wakeup_reconcile_js_1.reconcileParallelSessionRecovery)(global.db, project.path);
601
194
  if (recovery.scheduledRetries > 0) {
602
195
  retrySummary += `, scheduled ${recovery.scheduledRetries} recovery retry(s)`;
603
196
  }
@@ -615,7 +208,7 @@ async function wakeup(options = {}) {
615
208
  continue;
616
209
  }
617
210
  // Skip if project already has an active runner (after recovery, which may have killed/removed it).
618
- if (hasActiveRunnerForProject(project.path)) {
211
+ if ((0, wakeup_checks_js_1.hasActiveRunnerForProject)(project.path)) {
619
212
  log(`Skipping ${project.path}: runner already active`);
620
213
  results.push({
621
214
  action: 'none',
@@ -646,7 +239,7 @@ async function wakeup(options = {}) {
646
239
  });
647
240
  continue;
648
241
  }
649
- const startResult = startRunner(project.path);
242
+ const startResult = (0, wakeup_runner_js_1.startRunner)(project.path);
650
243
  if (startResult) {
651
244
  const mode = startResult.parallel ? 'parallel session' : 'runner';
652
245
  results.push({
@@ -713,7 +306,7 @@ async function checkWakeupNeeded() {
713
306
  const registeredProjects = (0, projects_js_1.getRegisteredProjects)(false);
714
307
  let projectsWithWork = 0;
715
308
  for (const project of registeredProjects) {
716
- if ((0, node_fs_1.existsSync)(project.path) && (await projectHasPendingWork(project.path))) {
309
+ if ((0, node_fs_1.existsSync)(project.path) && (await (0, wakeup_checks_js_1.projectHasPendingWork)(project.path))) {
717
310
  projectsWithWork++;
718
311
  }
719
312
  }
@@ -1 +1 @@
1
- {"version":3,"file":"wakeup.js","sourceRoot":"","sources":["../../src/runners/wakeup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wakeup.js","sourceRoot":"","sources":["../../src/runners/wakeup.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "steroids-cli",
3
- "version": "0.9.10",
3
+ "version": "0.9.12",
4
4
  "description": "Automated task execution system with coder/reviewer loop",
5
5
  "main": "dist/index.js",
6
6
  "bin": {