diff --git a/src/server.ts b/src/server.ts index 607d89e..a551704 100644 --- a/src/server.ts +++ b/src/server.ts @@ -77,14 +77,33 @@ export class WebhookServer { } } + static validateEnv() { + const missing = REQUIRED_ENV.filter(v => !process.env[v]); + if (missing.length) { + console.error('❌ Missing required environment variables:'); + missing.forEach(v => console.error(`- ${v}`)); + console.error('Add these to your CapRover environment configuration'); + process.exit(1); + } + + if (process.env.CHATBOT_PHONE_NUMBER && + !/^\d+$/.test(process.env.CHATBOT_PHONE_NUMBER)) { + console.error('❌ CHATBOT_PHONE_NUMBER must contain only digits'); + process.exit(1); + } + } + static start() { + this.validateEnv(); + + const PORT = process.env.PORT || 3007; + console.log('✅ Environment variables validated'); + if (process.env.NODE_ENV !== 'test') { - const server = Bun.serve({ + return Bun.serve({ port: PORT, - fetch: WebhookServer.handleRequest, + fetch: WebhookServer.handleRequest }); - console.log(`Server running on port ${PORT}`); - return server; } } -} // <-- This closing brace was missing +}