40 lines
1.3 KiB
TypeScript
40 lines
1.3 KiB
TypeScript
#!/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)
|
|
})
|