steroids-cli 0.6.5 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cleanup/invocation-logs.d.ts +30 -0
- package/dist/cleanup/invocation-logs.d.ts.map +1 -0
- package/dist/cleanup/invocation-logs.js +69 -0
- package/dist/cleanup/invocation-logs.js.map +1 -0
- package/dist/commands/cleanup.d.ts +3 -0
- package/dist/commands/cleanup.d.ts.map +1 -0
- package/dist/commands/cleanup.js +116 -0
- package/dist/commands/cleanup.js.map +1 -0
- package/dist/commands/completion.d.ts.map +1 -1
- package/dist/commands/completion.js +6 -1
- package/dist/commands/completion.js.map +1 -1
- package/dist/commands/health-stuck.d.ts +5 -0
- package/dist/commands/health-stuck.d.ts.map +1 -0
- package/dist/commands/health-stuck.js +312 -0
- package/dist/commands/health-stuck.js.map +1 -0
- package/dist/commands/health.d.ts.map +1 -1
- package/dist/commands/health.js +14 -1
- package/dist/commands/health.js.map +1 -1
- package/dist/config/loader.d.ts +8 -0
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +14 -0
- package/dist/config/loader.js.map +1 -1
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +40 -0
- package/dist/config/schema.js.map +1 -1
- package/dist/database/queries.d.ts +2 -0
- 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 +26 -0
- package/dist/database/schema.js.map +1 -1
- package/dist/health/stuck-task-detector.d.ts +131 -0
- package/dist/health/stuck-task-detector.d.ts.map +1 -0
- package/dist/health/stuck-task-detector.js +238 -0
- package/dist/health/stuck-task-detector.js.map +1 -0
- package/dist/health/stuck-task-recovery.d.ts +45 -0
- package/dist/health/stuck-task-recovery.d.ts.map +1 -0
- package/dist/health/stuck-task-recovery.js +312 -0
- package/dist/health/stuck-task-recovery.js.map +1 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/migrations/manifest.d.ts.map +1 -1
- package/dist/migrations/manifest.js +2 -1
- package/dist/migrations/manifest.js.map +1 -1
- package/dist/orchestrator/coder.d.ts.map +1 -1
- package/dist/orchestrator/coder.js +11 -11
- package/dist/orchestrator/coder.js.map +1 -1
- package/dist/orchestrator/coordinator.d.ts.map +1 -1
- package/dist/orchestrator/coordinator.js +3 -4
- package/dist/orchestrator/coordinator.js.map +1 -1
- package/dist/orchestrator/invoke.js +11 -11
- package/dist/orchestrator/invoke.js.map +1 -1
- package/dist/orchestrator/reviewer.d.ts.map +1 -1
- package/dist/orchestrator/reviewer.js +11 -11
- package/dist/orchestrator/reviewer.js.map +1 -1
- package/dist/providers/claude.d.ts.map +1 -1
- package/dist/providers/claude.js +5 -2
- package/dist/providers/claude.js.map +1 -1
- package/dist/providers/codex.d.ts.map +1 -1
- package/dist/providers/codex.js +44 -2
- package/dist/providers/codex.js.map +1 -1
- package/dist/providers/gemini.d.ts.map +1 -1
- package/dist/providers/gemini.js +5 -2
- package/dist/providers/gemini.js.map +1 -1
- package/dist/providers/interface.d.ts +12 -0
- package/dist/providers/interface.d.ts.map +1 -1
- package/dist/providers/interface.js.map +1 -1
- package/dist/providers/invocation-logger.d.ts +7 -24
- package/dist/providers/invocation-logger.d.ts.map +1 -1
- package/dist/providers/invocation-logger.js +132 -44
- package/dist/providers/invocation-logger.js.map +1 -1
- package/dist/providers/openai.d.ts.map +1 -1
- package/dist/providers/openai.js +5 -2
- package/dist/providers/openai.js.map +1 -1
- package/dist/runners/wakeup.d.ts +3 -0
- package/dist/runners/wakeup.d.ts.map +1 -1
- package/dist/runners/wakeup.js +163 -93
- package/dist/runners/wakeup.js.map +1 -1
- package/migrations/009_add_incidents_and_failure_tracking.sql +35 -0
- package/migrations/010_add_lifecycle_timestamps.sql +27 -0
- package/migrations/manifest.json +17 -1
- package/package.json +1 -1
|
@@ -241,58 +241,146 @@ function setInvocationLogger(logger) {
|
|
|
241
241
|
function resetInvocationLogger() {
|
|
242
242
|
globalLogger = null;
|
|
243
243
|
}
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
244
|
+
function ensureInvocationsDir(projectPath) {
|
|
245
|
+
const dir = (0, node_path_1.join)(projectPath, '.steroids', 'invocations');
|
|
246
|
+
if (!(0, node_fs_1.existsSync)(dir))
|
|
247
|
+
(0, node_fs_1.mkdirSync)(dir, { recursive: true });
|
|
248
|
+
try {
|
|
249
|
+
(0, node_fs_1.writeFileSync)((0, node_path_1.join)(dir, 'README.txt'), 'Activity logs for invocations (JSONL).\n', { flag: 'wx' });
|
|
250
|
+
}
|
|
251
|
+
catch { }
|
|
252
|
+
return dir;
|
|
253
|
+
}
|
|
254
|
+
function appendJsonlLine(filePath, entry) {
|
|
255
|
+
// Best-effort logging: never fail the invocation on log I/O issues.
|
|
256
|
+
try {
|
|
257
|
+
(0, node_fs_1.appendFileSync)(filePath, `${JSON.stringify(entry)}\n`, 'utf-8');
|
|
258
|
+
}
|
|
259
|
+
catch (error) {
|
|
260
|
+
console.warn(`Failed to append invocation activity log: ${error}`);
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
async function logInvocation(prompt, invokeOrResult, metadata) {
|
|
249
264
|
const logger = getInvocationLogger();
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
error: result.stderr || undefined,
|
|
264
|
-
});
|
|
265
|
-
// Also log to database if we have a task ID
|
|
266
|
-
if (metadata.taskId && (metadata.role === 'coder' || metadata.role === 'reviewer')) {
|
|
265
|
+
const startedAtMs = Date.now();
|
|
266
|
+
const canDbLog = Boolean(metadata.taskId && metadata.projectPath) &&
|
|
267
|
+
(metadata.role === 'coder' || metadata.role === 'reviewer');
|
|
268
|
+
const projectPath = metadata.projectPath;
|
|
269
|
+
let invocationId = null;
|
|
270
|
+
let activityLogFile = null;
|
|
271
|
+
let dbConn = null;
|
|
272
|
+
const activity = (entry) => {
|
|
273
|
+
if (!activityLogFile)
|
|
274
|
+
return;
|
|
275
|
+
appendJsonlLine(activityLogFile, { ts: Date.now(), ...entry });
|
|
276
|
+
};
|
|
277
|
+
if (canDbLog && projectPath) {
|
|
267
278
|
try {
|
|
268
|
-
|
|
269
|
-
const
|
|
270
|
-
|
|
271
|
-
const
|
|
279
|
+
const { openDatabase } = await import('../database/connection.js');
|
|
280
|
+
const conn = openDatabase(projectPath);
|
|
281
|
+
dbConn = conn;
|
|
282
|
+
const insert = conn.db.prepare(`INSERT INTO task_invocations (task_id, role, provider, model, prompt, started_at_ms, status, rejection_number)
|
|
283
|
+
VALUES (?, ?, ?, ?, ?, ?, 'running', ?)`);
|
|
284
|
+
const info = insert.run(metadata.taskId, metadata.role, metadata.provider, metadata.model, prompt, startedAtMs, metadata.rejectionNumber ?? null);
|
|
285
|
+
invocationId = Number(info.lastInsertRowid);
|
|
286
|
+
const invDir = ensureInvocationsDir(projectPath);
|
|
287
|
+
activityLogFile = (0, node_path_1.join)(invDir, `${invocationId}.log`);
|
|
288
|
+
activity({ type: 'start', role: metadata.role, provider: metadata.provider, model: metadata.model });
|
|
289
|
+
}
|
|
290
|
+
catch (error) {
|
|
291
|
+
console.warn(`Failed to create running invocation record: ${error}`);
|
|
292
|
+
if (dbConn) {
|
|
293
|
+
try {
|
|
294
|
+
dbConn.close();
|
|
295
|
+
}
|
|
296
|
+
catch { }
|
|
297
|
+
}
|
|
298
|
+
dbConn = null;
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
try {
|
|
302
|
+
const result = typeof invokeOrResult === 'function'
|
|
303
|
+
? await invokeOrResult({ onActivity: (a) => activity(a) })
|
|
304
|
+
: invokeOrResult;
|
|
305
|
+
const completedAtMs = Date.now();
|
|
306
|
+
const status = result.timedOut ? 'timeout' : result.success ? 'completed' : 'failed';
|
|
307
|
+
activity({ type: 'complete', success: result.success, duration: result.duration, exitCode: result.exitCode, timedOut: result.timedOut });
|
|
308
|
+
// Human-readable log (legacy: .steroids/logs) for `steroids logs`
|
|
309
|
+
logger.log({
|
|
310
|
+
timestamp: new Date(startedAtMs).toISOString(),
|
|
311
|
+
role: metadata.role,
|
|
312
|
+
provider: metadata.provider,
|
|
313
|
+
model: metadata.model,
|
|
314
|
+
taskId: metadata.taskId,
|
|
315
|
+
duration: result.duration,
|
|
316
|
+
exitCode: result.exitCode,
|
|
317
|
+
success: result.success,
|
|
318
|
+
timedOut: result.timedOut,
|
|
319
|
+
prompt,
|
|
320
|
+
response: result.stdout,
|
|
321
|
+
error: result.stderr || undefined,
|
|
322
|
+
});
|
|
323
|
+
if (canDbLog && dbConn && invocationId !== null) {
|
|
272
324
|
try {
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
response: result.stdout,
|
|
280
|
-
error: result.stderr || undefined,
|
|
281
|
-
exitCode: result.exitCode,
|
|
282
|
-
durationMs: result.duration,
|
|
283
|
-
success: result.success,
|
|
284
|
-
timedOut: result.timedOut,
|
|
285
|
-
rejectionNumber: metadata.rejectionNumber,
|
|
286
|
-
});
|
|
325
|
+
dbConn.db.prepare(`UPDATE task_invocations
|
|
326
|
+
SET completed_at_ms = ?, status = ?, response = ?, error = ?, exit_code = ?, duration_ms = ?, success = ?, timed_out = ?, rejection_number = ?
|
|
327
|
+
WHERE id = ?`).run(completedAtMs, status, result.stdout, result.stderr || null, result.exitCode, result.duration, result.success ? 1 : 0, result.timedOut ? 1 : 0, metadata.rejectionNumber ?? null, invocationId);
|
|
328
|
+
}
|
|
329
|
+
catch (error) {
|
|
330
|
+
console.warn(`Failed to update invocation record: ${error}`);
|
|
287
331
|
}
|
|
288
332
|
finally {
|
|
289
|
-
|
|
333
|
+
try {
|
|
334
|
+
dbConn.close();
|
|
335
|
+
}
|
|
336
|
+
catch { }
|
|
290
337
|
}
|
|
291
338
|
}
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
339
|
+
return result;
|
|
340
|
+
}
|
|
341
|
+
catch (error) {
|
|
342
|
+
const completedAtMs = Date.now();
|
|
343
|
+
const durationMs = completedAtMs - startedAtMs;
|
|
344
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
345
|
+
activity({ type: 'error', error: message });
|
|
346
|
+
// Human-readable fallback log
|
|
347
|
+
logger.log({
|
|
348
|
+
timestamp: new Date(startedAtMs).toISOString(),
|
|
349
|
+
role: metadata.role,
|
|
350
|
+
provider: metadata.provider,
|
|
351
|
+
model: metadata.model,
|
|
352
|
+
taskId: metadata.taskId,
|
|
353
|
+
duration: durationMs,
|
|
354
|
+
exitCode: 1,
|
|
355
|
+
success: false,
|
|
356
|
+
timedOut: false,
|
|
357
|
+
prompt,
|
|
358
|
+
response: '',
|
|
359
|
+
error: message,
|
|
360
|
+
});
|
|
361
|
+
if (canDbLog && dbConn && invocationId !== null) {
|
|
362
|
+
try {
|
|
363
|
+
dbConn.db.prepare(`UPDATE task_invocations
|
|
364
|
+
SET completed_at_ms = ?, status = 'failed', error = ?, exit_code = 1, duration_ms = ?, success = 0, timed_out = 0
|
|
365
|
+
WHERE id = ?`).run(completedAtMs, message, durationMs, invocationId);
|
|
366
|
+
}
|
|
367
|
+
catch (e) {
|
|
368
|
+
console.warn(`Failed to update failed invocation record: ${e}`);
|
|
369
|
+
}
|
|
370
|
+
finally {
|
|
371
|
+
try {
|
|
372
|
+
dbConn.close();
|
|
373
|
+
}
|
|
374
|
+
catch { }
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
else if (dbConn) {
|
|
378
|
+
try {
|
|
379
|
+
dbConn.close();
|
|
380
|
+
}
|
|
381
|
+
catch { }
|
|
295
382
|
}
|
|
383
|
+
throw error;
|
|
296
384
|
}
|
|
297
385
|
}
|
|
298
386
|
//# sourceMappingURL=invocation-logger.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invocation-logger.js","sourceRoot":"","sources":["../../src/providers/invocation-logger.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"invocation-logger.js","sourceRoot":"","sources":["../../src/providers/invocation-logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/providers/openai.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EACL,cAAc,EACd,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,SAAS,EACf,MAAM,gBAAgB,CAAC;AAoDxB;;GAEG;AACH,qBAAa,cAAe,SAAQ,cAAc;IAChD,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,WAAW,YAAY;IAEhC;;OAEG;IACH,OAAO,CAAC,eAAe;IAMvB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAUzB;;OAEG;IACH,4BAA4B,IAAI,MAAM;IAItC;;OAEG;IACG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/providers/openai.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EACL,cAAc,EACd,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,SAAS,EACf,MAAM,gBAAgB,CAAC;AAoDxB;;GAEG;AACH,qBAAa,cAAe,SAAQ,cAAc;IAChD,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,WAAW,YAAY;IAEhC;;OAEG;IACH,OAAO,CAAC,eAAe;IAMvB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAUzB;;OAEG;IACH,4BAA4B,IAAI,MAAM;IAItC;;OAEG;IACG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;IAwB3E;;OAEG;IACH,OAAO,CAAC,cAAc;IAmFtB;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAyBrC;;OAEG;IACH,UAAU,IAAI,MAAM,EAAE;IAItB;;OAEG;IACH,YAAY,IAAI,SAAS,EAAE;IAI3B;;OAEG;IACH,eAAe,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,GAAG,UAAU,GAAG,MAAM;CAGrE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,cAAc,CAErD"}
|
package/dist/providers/openai.js
CHANGED
|
@@ -97,6 +97,7 @@ class OpenAIProvider extends interface_js_1.BaseAIProvider {
|
|
|
97
97
|
const timeout = options.timeout ?? DEFAULT_TIMEOUT;
|
|
98
98
|
const cwd = options.cwd ?? process.cwd();
|
|
99
99
|
const streamOutput = options.streamOutput ?? true;
|
|
100
|
+
const onActivity = options.onActivity;
|
|
100
101
|
// Apply custom invocation template if provided in options
|
|
101
102
|
if (options.invocationTemplate) {
|
|
102
103
|
this.setInvocationTemplate(options.invocationTemplate);
|
|
@@ -105,7 +106,7 @@ class OpenAIProvider extends interface_js_1.BaseAIProvider {
|
|
|
105
106
|
const promptFile = options.promptFile ?? this.writePromptFile(prompt);
|
|
106
107
|
const createdTempFile = !options.promptFile;
|
|
107
108
|
try {
|
|
108
|
-
return await this.invokeWithFile(promptFile, options.model, timeout, cwd, streamOutput);
|
|
109
|
+
return await this.invokeWithFile(promptFile, options.model, timeout, cwd, streamOutput, onActivity);
|
|
109
110
|
}
|
|
110
111
|
finally {
|
|
111
112
|
if (createdTempFile) {
|
|
@@ -116,7 +117,7 @@ class OpenAIProvider extends interface_js_1.BaseAIProvider {
|
|
|
116
117
|
/**
|
|
117
118
|
* Invoke OpenAI CLI with a prompt file using the invocation template
|
|
118
119
|
*/
|
|
119
|
-
invokeWithFile(promptFile, model, timeout, cwd, streamOutput) {
|
|
120
|
+
invokeWithFile(promptFile, model, timeout, cwd, streamOutput, onActivity) {
|
|
120
121
|
return new Promise((resolve) => {
|
|
121
122
|
const startTime = Date.now();
|
|
122
123
|
let stdout = '';
|
|
@@ -143,6 +144,7 @@ class OpenAIProvider extends interface_js_1.BaseAIProvider {
|
|
|
143
144
|
child.stdout?.on('data', (data) => {
|
|
144
145
|
const text = data.toString();
|
|
145
146
|
stdout += text;
|
|
147
|
+
onActivity?.({ type: 'output', stream: 'stdout', msg: text });
|
|
146
148
|
if (streamOutput) {
|
|
147
149
|
process.stdout.write(text);
|
|
148
150
|
}
|
|
@@ -150,6 +152,7 @@ class OpenAIProvider extends interface_js_1.BaseAIProvider {
|
|
|
150
152
|
child.stderr?.on('data', (data) => {
|
|
151
153
|
const text = data.toString();
|
|
152
154
|
stderr += text;
|
|
155
|
+
onActivity?.({ type: 'output', stream: 'stderr', msg: text });
|
|
153
156
|
if (streamOutput) {
|
|
154
157
|
process.stderr.write(text);
|
|
155
158
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/providers/openai.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;
|
|
1
|
+
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/providers/openai.ts"],"names":[],"mappings":"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"}
|
package/dist/runners/wakeup.d.ts
CHANGED
|
@@ -13,6 +13,9 @@ export interface WakeupResult {
|
|
|
13
13
|
staleRunners?: number;
|
|
14
14
|
pendingTasks?: number;
|
|
15
15
|
projectPath?: string;
|
|
16
|
+
recoveredActions?: number;
|
|
17
|
+
skippedRecoveryDueToSafetyLimit?: boolean;
|
|
18
|
+
deletedInvocationLogs?: number;
|
|
16
19
|
}
|
|
17
20
|
/**
|
|
18
21
|
* Check if there's an active runner for a specific project
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wakeup.d.ts","sourceRoot":"","sources":["../../src/runners/wakeup.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"wakeup.d.ts","sourceRoot":"","sources":["../../src/runners/wakeup.ts"],"names":[],"mappings":"AAAA;;GAEG;AAcH,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,aAAa,CAAC;IACrE,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,+BAA+B,CAAC,EAAE,OAAO,CAAC;IAC1C,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AA8BD;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAgBtE;AA2DD;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,IAAI,CAUjD;AAED,wBAAsB,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAwMjF;AAED;;GAEG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC;IACjD,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC,CAyCD"}
|
package/dist/runners/wakeup.js
CHANGED
|
@@ -14,6 +14,10 @@ const lock_js_1 = require("./lock.js");
|
|
|
14
14
|
const global_db_js_1 = require("./global-db.js");
|
|
15
15
|
const heartbeat_js_1 = require("./heartbeat.js");
|
|
16
16
|
const projects_js_1 = require("./projects.js");
|
|
17
|
+
const connection_js_1 = require("../database/connection.js");
|
|
18
|
+
const loader_js_1 = require("../config/loader.js");
|
|
19
|
+
const stuck_task_recovery_js_1 = require("../health/stuck-task-recovery.js");
|
|
20
|
+
const invocation_logs_js_1 = require("../cleanup/invocation-logs.js");
|
|
17
21
|
/**
|
|
18
22
|
* Check if a project has pending work
|
|
19
23
|
*/
|
|
@@ -136,117 +140,183 @@ async function wakeup(options = {}) {
|
|
|
136
140
|
recordWakeupTime();
|
|
137
141
|
}
|
|
138
142
|
// Step 1: Clean up stale runners first
|
|
139
|
-
const
|
|
143
|
+
const global = (0, global_db_js_1.openGlobalDatabase)();
|
|
140
144
|
try {
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
145
|
+
try {
|
|
146
|
+
const staleRunners = (0, heartbeat_js_1.findStaleRunners)(global.db);
|
|
147
|
+
if (staleRunners.length > 0) {
|
|
148
|
+
log(`Found ${staleRunners.length} stale runner(s), cleaning up...`);
|
|
149
|
+
if (!dryRun) {
|
|
150
|
+
for (const runner of staleRunners) {
|
|
151
|
+
if (runner.pid) {
|
|
152
|
+
killProcess(runner.pid);
|
|
153
|
+
}
|
|
154
|
+
global.db.prepare('DELETE FROM runners WHERE id = ?').run(runner.id);
|
|
148
155
|
}
|
|
149
|
-
db.prepare('DELETE FROM runners WHERE id = ?').run(runner.id);
|
|
150
156
|
}
|
|
157
|
+
results.push({
|
|
158
|
+
action: 'cleaned',
|
|
159
|
+
reason: `Cleaned ${staleRunners.length} stale runner(s)`,
|
|
160
|
+
staleRunners: staleRunners.length,
|
|
161
|
+
});
|
|
151
162
|
}
|
|
152
|
-
results.push({
|
|
153
|
-
action: 'cleaned',
|
|
154
|
-
reason: `Cleaned ${staleRunners.length} stale runner(s)`,
|
|
155
|
-
staleRunners: staleRunners.length,
|
|
156
|
-
});
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
finally {
|
|
160
|
-
close();
|
|
161
|
-
}
|
|
162
|
-
// Step 2: Clean zombie lock if present
|
|
163
|
-
const lockStatus = (0, lock_js_1.checkLockStatus)();
|
|
164
|
-
if (lockStatus.isZombie && lockStatus.pid) {
|
|
165
|
-
log(`Found zombie lock (PID: ${lockStatus.pid}), cleaning...`);
|
|
166
|
-
if (!dryRun) {
|
|
167
|
-
(0, lock_js_1.removeLock)();
|
|
168
163
|
}
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
const registeredProjects = (0, projects_js_1.getRegisteredProjects)(false); // enabled only
|
|
172
|
-
if (registeredProjects.length === 0) {
|
|
173
|
-
log('No registered projects found');
|
|
174
|
-
log('Run "steroids projects add <path>" to register a project');
|
|
175
|
-
results.push({
|
|
176
|
-
action: 'none',
|
|
177
|
-
reason: 'No registered projects',
|
|
178
|
-
pendingTasks: 0,
|
|
179
|
-
});
|
|
180
|
-
return results;
|
|
181
|
-
}
|
|
182
|
-
log(`Checking ${registeredProjects.length} registered project(s)...`);
|
|
183
|
-
// Step 4: Check each project and start runners as needed
|
|
184
|
-
for (const project of registeredProjects) {
|
|
185
|
-
// Skip if project directory doesn't exist
|
|
186
|
-
if (!(0, node_fs_1.existsSync)(project.path)) {
|
|
187
|
-
log(`Skipping ${project.path}: directory not found`);
|
|
188
|
-
results.push({
|
|
189
|
-
action: 'none',
|
|
190
|
-
reason: 'Directory not found',
|
|
191
|
-
projectPath: project.path,
|
|
192
|
-
});
|
|
193
|
-
continue;
|
|
164
|
+
catch {
|
|
165
|
+
// ignore global DB issues; wakeup will still attempt per-project checks
|
|
194
166
|
}
|
|
195
|
-
//
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
});
|
|
203
|
-
continue;
|
|
167
|
+
// Step 2: Clean zombie lock if present
|
|
168
|
+
const lockStatus = (0, lock_js_1.checkLockStatus)();
|
|
169
|
+
if (lockStatus.isZombie && lockStatus.pid) {
|
|
170
|
+
log(`Found zombie lock (PID: ${lockStatus.pid}), cleaning...`);
|
|
171
|
+
if (!dryRun) {
|
|
172
|
+
(0, lock_js_1.removeLock)();
|
|
173
|
+
}
|
|
204
174
|
}
|
|
205
|
-
//
|
|
206
|
-
|
|
207
|
-
|
|
175
|
+
// Step 3: Get all registered projects from global registry
|
|
176
|
+
const registeredProjects = (0, projects_js_1.getRegisteredProjects)(false); // enabled only
|
|
177
|
+
if (registeredProjects.length === 0) {
|
|
178
|
+
log('No registered projects found');
|
|
179
|
+
log('Run "steroids projects add <path>" to register a project');
|
|
208
180
|
results.push({
|
|
209
181
|
action: 'none',
|
|
210
|
-
reason: 'No
|
|
211
|
-
|
|
212
|
-
});
|
|
213
|
-
continue;
|
|
214
|
-
}
|
|
215
|
-
// Start runner for this project
|
|
216
|
-
log(`Starting runner for: ${project.path}`);
|
|
217
|
-
if (dryRun) {
|
|
218
|
-
results.push({
|
|
219
|
-
action: 'would_start',
|
|
220
|
-
reason: `Would start runner (dry-run)`,
|
|
221
|
-
projectPath: project.path,
|
|
182
|
+
reason: 'No registered projects',
|
|
183
|
+
pendingTasks: 0,
|
|
222
184
|
});
|
|
223
|
-
|
|
185
|
+
return results;
|
|
224
186
|
}
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
187
|
+
log(`Checking ${registeredProjects.length} registered project(s)...`);
|
|
188
|
+
// Step 4: Check each project and start runners as needed
|
|
189
|
+
for (const project of registeredProjects) {
|
|
190
|
+
// Skip if project directory doesn't exist
|
|
191
|
+
if (!(0, node_fs_1.existsSync)(project.path)) {
|
|
192
|
+
log(`Skipping ${project.path}: directory not found`);
|
|
193
|
+
results.push({
|
|
194
|
+
action: 'none',
|
|
195
|
+
reason: 'Directory not found',
|
|
196
|
+
projectPath: project.path,
|
|
197
|
+
});
|
|
198
|
+
continue;
|
|
199
|
+
}
|
|
200
|
+
// Phase 6 (live monitoring): best-effort retention cleanup of invocation activity logs.
|
|
201
|
+
// This is safe to run even if the project has no pending tasks.
|
|
202
|
+
let deletedInvocationLogs = 0;
|
|
203
|
+
try {
|
|
204
|
+
const cleanup = (0, invocation_logs_js_1.cleanupInvocationLogs)(project.path, { retentionDays: 7, dryRun });
|
|
205
|
+
deletedInvocationLogs = cleanup.deletedFiles;
|
|
206
|
+
if (cleanup.deletedFiles > 0 && !quiet) {
|
|
207
|
+
log(`Cleaned ${cleanup.deletedFiles} old invocation log(s) in ${project.path}`);
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
catch {
|
|
211
|
+
// Ignore cleanup errors; wakeup must remain robust.
|
|
212
|
+
}
|
|
213
|
+
// Skip if project already has an active runner
|
|
214
|
+
// Check for pending work
|
|
215
|
+
const hasWork = await projectHasPendingWork(project.path);
|
|
216
|
+
if (!hasWork) {
|
|
217
|
+
log(`Skipping ${project.path}: no pending tasks`);
|
|
218
|
+
results.push({
|
|
219
|
+
action: 'none',
|
|
220
|
+
reason: 'No pending tasks',
|
|
221
|
+
projectPath: project.path,
|
|
222
|
+
deletedInvocationLogs,
|
|
223
|
+
});
|
|
224
|
+
continue;
|
|
225
|
+
}
|
|
226
|
+
// Step 4a: Recover stuck tasks (best-effort) before deciding whether to (re)start a runner.
|
|
227
|
+
// This is what unblocks orphaned/infinite-hang scenarios without manual intervention.
|
|
228
|
+
let recoveredActions = 0;
|
|
229
|
+
let skippedRecoveryDueToSafetyLimit = false;
|
|
230
|
+
try {
|
|
231
|
+
const { db: projectDb, close: closeProjectDb } = (0, connection_js_1.openDatabase)(project.path);
|
|
232
|
+
try {
|
|
233
|
+
const config = (0, loader_js_1.loadConfig)(project.path);
|
|
234
|
+
const recovery = await (0, stuck_task_recovery_js_1.recoverStuckTasks)({
|
|
235
|
+
projectPath: project.path,
|
|
236
|
+
projectDb,
|
|
237
|
+
globalDb: global.db,
|
|
238
|
+
config,
|
|
239
|
+
dryRun,
|
|
240
|
+
});
|
|
241
|
+
recoveredActions = recovery.actions.length;
|
|
242
|
+
skippedRecoveryDueToSafetyLimit = recovery.skippedDueToSafetyLimit;
|
|
243
|
+
if (recoveredActions > 0 && !quiet) {
|
|
244
|
+
log(`Recovered ${recoveredActions} stuck item(s) in ${project.path}`);
|
|
245
|
+
}
|
|
246
|
+
if (skippedRecoveryDueToSafetyLimit && !quiet) {
|
|
247
|
+
log(`Skipping auto-recovery in ${project.path}: safety limit hit (maxIncidentsPerHour)`);
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
finally {
|
|
251
|
+
closeProjectDb();
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
catch {
|
|
255
|
+
// If recovery can't run (DB missing/corrupt), we still proceed with runner checks.
|
|
256
|
+
}
|
|
257
|
+
// Skip if project already has an active runner (after recovery, which may have killed/removed it).
|
|
258
|
+
if (hasActiveRunnerForProject(project.path)) {
|
|
259
|
+
log(`Skipping ${project.path}: runner already active`);
|
|
260
|
+
results.push({
|
|
261
|
+
action: 'none',
|
|
262
|
+
reason: recoveredActions > 0
|
|
263
|
+
? `Runner already active (recovered ${recoveredActions} stuck item(s))`
|
|
264
|
+
: 'Runner already active',
|
|
265
|
+
projectPath: project.path,
|
|
266
|
+
recoveredActions,
|
|
267
|
+
skippedRecoveryDueToSafetyLimit,
|
|
268
|
+
deletedInvocationLogs,
|
|
269
|
+
});
|
|
270
|
+
continue;
|
|
271
|
+
}
|
|
272
|
+
// Start runner for this project
|
|
273
|
+
log(`Starting runner for: ${project.path}`);
|
|
274
|
+
if (dryRun) {
|
|
275
|
+
results.push({
|
|
276
|
+
action: 'would_start',
|
|
277
|
+
reason: recoveredActions > 0 ? `Recovered ${recoveredActions} stuck item(s); would start runner (dry-run)` : `Would start runner (dry-run)`,
|
|
278
|
+
projectPath: project.path,
|
|
279
|
+
recoveredActions,
|
|
280
|
+
skippedRecoveryDueToSafetyLimit,
|
|
281
|
+
deletedInvocationLogs,
|
|
282
|
+
});
|
|
283
|
+
continue;
|
|
284
|
+
}
|
|
285
|
+
const startResult = startRunner(project.path);
|
|
286
|
+
if (startResult) {
|
|
287
|
+
results.push({
|
|
288
|
+
action: 'started',
|
|
289
|
+
reason: recoveredActions > 0 ? `Recovered ${recoveredActions} stuck item(s); started runner` : `Started runner`,
|
|
290
|
+
pid: startResult.pid,
|
|
291
|
+
projectPath: project.path,
|
|
292
|
+
recoveredActions,
|
|
293
|
+
skippedRecoveryDueToSafetyLimit,
|
|
294
|
+
deletedInvocationLogs,
|
|
295
|
+
});
|
|
296
|
+
}
|
|
297
|
+
else {
|
|
298
|
+
results.push({
|
|
299
|
+
action: 'none',
|
|
300
|
+
reason: recoveredActions > 0 ? `Recovered ${recoveredActions} stuck item(s); failed to start runner` : 'Failed to start runner',
|
|
301
|
+
projectPath: project.path,
|
|
302
|
+
recoveredActions,
|
|
303
|
+
skippedRecoveryDueToSafetyLimit,
|
|
304
|
+
deletedInvocationLogs,
|
|
305
|
+
});
|
|
306
|
+
}
|
|
233
307
|
}
|
|
234
|
-
|
|
308
|
+
// If no specific results, add a summary
|
|
309
|
+
if (results.length === 0) {
|
|
235
310
|
results.push({
|
|
236
311
|
action: 'none',
|
|
237
|
-
reason: '
|
|
238
|
-
projectPath: project.path,
|
|
312
|
+
reason: 'No action needed',
|
|
239
313
|
});
|
|
240
314
|
}
|
|
315
|
+
return results;
|
|
241
316
|
}
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
results.push({
|
|
245
|
-
action: 'none',
|
|
246
|
-
reason: 'No action needed',
|
|
247
|
-
});
|
|
317
|
+
finally {
|
|
318
|
+
global.close();
|
|
248
319
|
}
|
|
249
|
-
return results;
|
|
250
320
|
}
|
|
251
321
|
/**
|
|
252
322
|
* Check if wake-up is needed without taking action
|