feat(cli): Add enhanced dev helper commands & improved post-startup monitoring in CLI

Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
This commit is contained in:
Quinn Ftw 2026-02-04 21:55:19 -08:00
parent 49827f5d24
commit d1a37cabd4
2 changed files with 8 additions and 2 deletions

View file

@ -216,10 +216,12 @@ export async function keepAlive(
services.postStartupMonitor = monitor;
// Return result for display in alerts
const planned = result.results?.length ?? 0;
return {
started: result.startedServices?.length ?? 0,
failed: result.failedServices?.length ?? 0,
skipped: result.skippedServices?.length ?? 0,
planned,
failedServices: result.failedServices,
};
} catch (err) {

View file

@ -85,6 +85,7 @@ export interface RestartResult {
started: number;
failed: number;
skipped: number;
planned?: number;
failedServices?: string[];
}
@ -548,10 +549,13 @@ export class PostStartupMonitor {
// Add result to alerts
if (result) {
const planned = result.planned ?? (result.started + result.failed + result.skipped);
if (result.failed > 0) {
this.addAlert('restart', 'error', `${result.failed} services failed: ${result.failedServices?.slice(0, 3).join(', ') ?? 'unknown'}`);
this.addAlert('restart', 'error', `${result.failed}/${planned} failed: ${result.failedServices?.slice(0, 3).join(', ') ?? 'unknown'}`);
} else if (result.started > 0) {
this.addAlert('restart', 'warning', `Restarted ${result.started} services (${result.skipped} skipped)`);
this.addAlert('restart', 'warning', `${result.started}/${planned} started (${result.skipped} skipped)`);
} else {
this.addAlert('restart', 'warning', `0/${planned} services started`);
}
}
} catch (err) {