@@ -4,18 +4,15 @@ import { join } from "path";
44import { promisify } from "util" ;
55
66const execFile = promisify ( execFileCb ) ;
7- const FILESTORE_HOST = requireEnv ( "SESSION_FILESTORE_HOST" ) ;
8- const FILESTORE_PORT = requireEnv ( "SESSION_FILESTORE_PORT" ) ;
7+ const FILESTORE_HOST = process . env . SESSION_FILESTORE_HOST ;
8+ const FILESTORE_PORT = process . env . SESSION_FILESTORE_PORT ;
9+ const FILESTORE_ENABLED = ! ! FILESTORE_HOST && ! ! FILESTORE_PORT ;
910const debounceTimeoutMs = 2000 ;
1011const debounceTimers = new Map < string , NodeJS . Timeout > ( ) ;
1112
12- function requireEnv ( name : string ) : string {
13- const value = process . env [ name ] ;
14- if ( ! value ) throw new Error ( `Missing required environment variable: ${ name } ` ) ;
15- return value ;
16- }
17-
1813export async function syncSessionToFilestore ( sessionsDir : string , sessionId : string ) : Promise < void > {
14+ if ( ! FILESTORE_ENABLED ) return ;
15+
1916 const existingTimer = debounceTimers . get ( sessionId ) ;
2017 if ( existingTimer ) {
2118 clearTimeout ( existingTimer ) ;
@@ -36,6 +33,8 @@ export async function syncSessionToFilestore(sessionsDir: string, sessionId: str
3633}
3734
3835export async function restoreSessionFromFilestore ( sessionsDir : string , sessionId : string ) : Promise < void > {
36+ if ( ! FILESTORE_ENABLED ) return ;
37+
3938 const src = `rsync://${ FILESTORE_HOST } :${ FILESTORE_PORT } /sessions/${ sessionId } /` ;
4039 const dest = `${ join ( sessionsDir , sessionId ) } /` ;
4140
0 commit comments