diff --git a/src/config/types.ts b/src/config/types.ts index af5bb99..9bc56b8 100644 --- a/src/config/types.ts +++ b/src/config/types.ts @@ -230,6 +230,7 @@ export interface SlackConfig { export interface WhatsAppConfig { enabled: boolean; + sessionPath?: string; // Auth/session directory (default: ./data/whatsapp-session) selfChat?: boolean; dmPolicy?: 'pairing' | 'allowlist' | 'open'; allowedUsers?: string[]; @@ -246,6 +247,9 @@ export interface WhatsAppConfig { export interface SignalConfig { enabled: boolean; phone?: string; + cliPath?: string; // Path to signal-cli binary (default: "signal-cli") + httpHost?: string; // Daemon HTTP host (default: "127.0.0.1") + httpPort?: number; // Daemon HTTP port (default: 8090) selfChat?: boolean; dmPolicy?: 'pairing' | 'allowlist' | 'open'; allowedUsers?: string[]; diff --git a/src/main.ts b/src/main.ts index fc8555e..0ca9806 100644 --- a/src/main.ts +++ b/src/main.ts @@ -344,7 +344,7 @@ function createChannelsForAgent( console.warn('[WhatsApp] Only use this if this is a dedicated bot number, not your personal WhatsApp.'); } adapters.push(new WhatsAppAdapter({ - sessionPath: process.env.WHATSAPP_SESSION_PATH || './data/whatsapp-session', + sessionPath: agentConfig.channels.whatsapp.sessionPath || process.env.WHATSAPP_SESSION_PATH || './data/whatsapp-session', dmPolicy: agentConfig.channels.whatsapp.dmPolicy || 'pairing', allowedUsers: agentConfig.channels.whatsapp.allowedUsers && agentConfig.channels.whatsapp.allowedUsers.length > 0 ? agentConfig.channels.whatsapp.allowedUsers @@ -365,9 +365,9 @@ function createChannelsForAgent( } adapters.push(new SignalAdapter({ phoneNumber: agentConfig.channels.signal.phone, - cliPath: process.env.SIGNAL_CLI_PATH || 'signal-cli', - httpHost: process.env.SIGNAL_HTTP_HOST || '127.0.0.1', - httpPort: parseInt(process.env.SIGNAL_HTTP_PORT || '8090', 10), + cliPath: agentConfig.channels.signal.cliPath || process.env.SIGNAL_CLI_PATH || 'signal-cli', + httpHost: agentConfig.channels.signal.httpHost || process.env.SIGNAL_HTTP_HOST || '127.0.0.1', + httpPort: agentConfig.channels.signal.httpPort || parseInt(process.env.SIGNAL_HTTP_PORT || '8090', 10), dmPolicy: agentConfig.channels.signal.dmPolicy || 'pairing', allowedUsers: agentConfig.channels.signal.allowedUsers && agentConfig.channels.signal.allowedUsers.length > 0 ? agentConfig.channels.signal.allowedUsers