import * as plugins from '../../plugins.js'; import { TspmServiceManager } from '../../../client/tspm.servicemanager.js'; import { Logger } from '../../../shared/common/utils.errorhandler.js'; import type { CliArguments } from '../../types.js'; export function registerDisableCommand(smartcli: plugins.smartcli.Smartcli) { const cliLogger = new Logger('CLI'); smartcli.addCommand('disable').subscribe({ next: async (argvArg: CliArguments) => { try { const serviceManager = new TspmServiceManager(); console.log('Disabling TSPM daemon service...'); await serviceManager.disableService(); console.log('✓ TSPM daemon service disabled'); console.log(' The daemon will no longer start on system boot'); console.log(' Use "tspm enable" to re-enable the service'); } catch (error) { console.error('Error disabling service:', error.message); if ( error.message.includes('permission') || error.message.includes('denied') ) { console.log('\nNote: You may need to run this command with sudo'); } process.exit(1); } }, error: (err) => { cliLogger.error(err); }, complete: () => {}, }); }