feat(config): add environment configuration module
Implements src/config.ts for ADHD Support Agent (bead assistant-69t.4)
Features:
- requireEnv(): throws clear error for missing required vars
- optionalEnv(): provides default values for optional vars
- numberEnv(): parses numeric env vars with validation
- validateConfig(): performs cross-field validation at startup
- isWebhookMode(): determines Telegram mode (webhook vs polling)
- isAnthropicProxyReady(): checks if OAuth session is configured
Environment variables:
- PORT (optional, default 3000)
- LETTA_BASE_URL (required)
- TELEGRAM_BOT_TOKEN (required)
- TELEGRAM_WEBHOOK_URL (optional, enables webhook mode)
- TELEGRAM_WEBHOOK_SECRET_TOKEN (required if webhook URL set)
- ANTHROPIC_PROXY_URL (required)
- ANTHROPIC_PROXY_SESSION_SECRET (required)
- ANTHROPIC_PROXY_SESSION_ID (optional, needed after OAuth)
- OPENAI_API_KEY (required, for embeddings)
- DB_PATH (optional, default ./data/assistant.db)
Includes:
- config.test.ts: unit tests for validation logic
- config.example.ts: usage examples
- config.md: documentation
- .env.example: template with all variables documented
- .env.test: test environment defaults
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>