import * as plugins from '../../../plugins.js'; import { tspmIpcClient } from '../../../classes.ipcclient.js'; import type { CliArguments } from '../../types.js'; import { registerIpcCommand } from '../../registration/index.js'; export function registerRestartAllCommand(smartcli: plugins.smartcli.Smartcli) { registerIpcCommand(smartcli, 'restart-all', async (_argvArg: CliArguments) => { console.log('Restarting all processes...'); const response = await tspmIpcClient.request('restartAll', {}); if (response.restarted.length > 0) { console.log(`✓ Restarted ${response.restarted.length} processes:`); for (const id of response.restarted) { console.log(` - ${id}`); } } if (response.failed.length > 0) { console.log(`✗ Failed to restart ${response.failed.length} processes:`); for (const failure of response.failed) { console.log(` - ${failure.id}: ${failure.error}`); } process.exitCode = 1; // Signal partial failure } }, { actionLabel: 'restart all processes' }); }