#!/usr/bin/env bun /** * Terminal Server - Independent process * This runs separately from the main server to maintain stable Claude Code sessions * even when the main server restarts due to code changes. * Also manages the Whisper GPU server (singleton, persistent). */ import { startTerminalServer } from './services/terminal' import { startSyncServer } from './services/sync-server' import { startWhisperServer } from './services/whisper' import { WORKING_DIR } from './config' console.log('') console.log('='.repeat(50)) console.log('Terminal Server (Independent Process)') console.log(` Terminal WebSocket: ws://localhost:4103`) console.log(` Sync WebSocket (Git + Torch): ws://localhost:4105`) console.log(` Whisper GPU: ws://localhost:4104 (auto-start)`) console.log(` Working Dir: ${WORKING_DIR}`) console.log('') console.log('This process is stable and won\'t restart') console.log('when the main server reloads.') console.log('='.repeat(50)) console.log('') startTerminalServer() startSyncServer() // Auto-start Whisper GPU server (singleton, persistent, auto-restart on crash) startWhisperServer().then(ok => { if (ok) { console.log('[Whisper] GPU server started successfully') } else { console.warn('[Whisper] Failed initial start (will auto-retry)') } }).catch(err => { console.error('[Whisper] Boot error:', err) })