# ==================== API KEYS ==================== # LLM Provider — choose one or both (Gemini is the default fallback) # Get Gemini key: https://aistudio.google.com/ GEMINI_API_KEY=your_gemini_api_key_here # Get Groq key: https://console.groq.com/ GROQ_API_KEY=your_groq_api_key_here # Optional: Jina AI API key for faster content extraction # Get Jina key: https://jina.ai/reader/ JINA_API_KEY=your_jina_api_key_here # Optional: Multi-LLM fallback chain (JSON array — overrides single-key above) # Each entry: { "provider": "gemini"|"groq", "apiKey": "...", "model": "Auto" } # LLM_CHAIN=[{"provider":"gemini","apiKey":"key1","model":"Auto"},{"provider":"groq","apiKey":"key2","model":"Auto"}] # ==================== NOTIFICATION ==================== # WhatsApp number to receive notifications (format: +923001234567) NOTIFICATION_TARGET=+923001234567 # WhatsApp source mode (chats, channels, or both) WHATSAPP_SOURCE_MODE=chats # Comma-separated list of whitelisted WhatsApp Channel IDs or display names # (e.g. 123456789@newsletter, Scholarship Alerts) WHATSAPP_ALLOWED_CHANNELS= # ==================== ENVIRONMENT ==================== # Development, staging, or production NODE_ENV=development # ==================== RESILIENCE ==================== # Maximum retry attempts for transient failures MAX_RETRIES=3 # Base backoff delay in milliseconds RETRY_BACKOFF_MS=1000 # Maximum URLs to cache (default: 500) CACHE_MAX_SIZE=500 # Cache TTL in milliseconds (default: 86400000 = 24 hours) CACHE_TTL_MS=86400000 # Health check interval in milliseconds (default: 60000 = 60 seconds) HEALTH_CHECK_INTERVAL_MS=60000 # Dead-letter queue scan interval in milliseconds (default: 300000 = 5 minutes) QUEUE_SCAN_INTERVAL_MS=300000 # Enable automatic queue retry for failed items ENABLE_QUEUE_RETRY=true # ==================== PIPELINES ==================== # Comma-separated list of active pipelines # Examples: scholarships, jobs, internships ACTIVE_PIPELINES=scholarships # ==================== LOGGING ==================== # Log level: debug, info, warn, error LOG_LEVEL=info # Write logs to file LOG_FILE=./logs/noria.log # ==================== MONITORING ==================== # Enable metrics reporting ENABLE_METRICS=true # Metrics report interval in milliseconds METRICS_INTERVAL_MS=60000