import { MCPDevice } from '../remote-device/device.js';
import os from 'os';
export async function runRemote() {
const persistSession = process.argv.includes('--persist-session');
const disableNoSleep = process.argv.includes('--disable-no-sleep');
const verbose = process.argv.includes('--debug');
console.debug('[DEBUG] Verbose mode: ', verbose);
// Override console.debug based on verbose flag
// When --debug is not provided, console.debug becomes a no-op
if (!verbose) {
console.debug = () => { };
}
console.debug('[DEBUG] Platform:', os.platform());
// Start caffeinate on macOS (unless disabled)
// Caffeinate will monitor this process and automatically exit when it terminates
if (!disableNoSleep && os.platform() === 'darwin') {
try {
console.debug('[DEBUG] Start caffeinate', process.pid);
const { default: caffeinate } = await import('caffeinate');
caffeinate({ pid: process.pid });
console.log('☕ No sleep mode enabled');
} catch (error) {
console.warn('⚠️ Failed to start caffeinate:', error);
}
}
const device = new MCPDevice({ persistSession });
await device.start();
}