this repo has no description
at main 58 lines 2.0 kB view raw
1/** 2 * Example usage of the config module 3 * 4 * This file demonstrates how to use the configuration in your application. 5 * Run with: bun run src/config.example.ts 6 */ 7 8import { config, validateConfig, isWebhookMode, isAnthropicProxyReady } from './config'; 9 10console.log('=== ADHD Support Agent Configuration ===\n'); 11 12// Validate configuration at startup 13try { 14 validateConfig(); 15 console.log('✅ Configuration is valid\n'); 16} catch (error: unknown) { 17 const message = error instanceof Error ? error.message : String(error); 18 console.error('❌ Configuration error:', message); 19 process.exit(1); 20} 21 22// Display configuration 23console.log('Server Configuration:'); 24console.log(` PORT: ${config.PORT.toString()}`); 25console.log(` DB_PATH: ${config.DB_PATH}`); 26console.log(); 27 28console.log('Letta Configuration:'); 29console.log(` LETTA_BASE_URL: ${config.LETTA_BASE_URL}`); 30console.log(); 31 32console.log('Telegram Configuration:'); 33console.log(` TELEGRAM_BOT_TOKEN: ${config.TELEGRAM_BOT_TOKEN.slice(0, 10)}...`); 34console.log(` Mode: ${isWebhookMode() ? 'Webhook' : 'Polling'}`); 35if (isWebhookMode()) { 36 console.log(` TELEGRAM_WEBHOOK_URL: ${config.TELEGRAM_WEBHOOK_URL}`); 37} 38console.log(); 39 40console.log('Anthropic Proxy Configuration:'); 41console.log(` ANTHROPIC_PROXY_URL: ${config.ANTHROPIC_PROXY_URL}`); 42console.log(` Status: ${isAnthropicProxyReady() ? 'Ready' : 'Needs OAuth setup'}`); 43console.log(); 44 45console.log('OpenAI Configuration:'); 46console.log(` OPENAI_API_KEY: ${config.OPENAI_API_KEY.slice(0, 10)}...`); 47console.log(); 48 49// Example: Conditional logic based on configuration 50if (!isAnthropicProxyReady()) { 51 console.warn('⚠️ Warning: Anthropic proxy is not configured.'); 52 console.warn(' Please complete OAuth flow to set ANTHROPIC_PROXY_SESSION_ID'); 53} 54 55if (!isWebhookMode()) { 56 console.warn('⚠️ Warning: Running in polling mode (development only).'); 57 console.warn(' Set TELEGRAM_WEBHOOK_URL and TELEGRAM_WEBHOOK_SECRET_TOKEN for production.'); 58}