import { config as loadEnv } from "dotenv"; loadEnv(); loadEnv({ path: ".env.local", override: true }); function requireEnv(name: string, fallback?: string): string { const value = process.env[name] ?? fallback; if (!value) { throw new Error(`Missing environment variable: ${name}`); } return value; } export const env = { nodeEnv: process.env.NODE_ENV ?? "development", port: Number(process.env.PORT ?? 3000), qdrantUrl: requireEnv("QDRANT_URL", "http://localhost:6333"), qdrantApiKey: process.env.QDRANT_API_KEY ?? "", qdrantCollection: requireEnv("QDRANT_COLLECTION", "rag_chunks"), qdrantLogsCollection: requireEnv("QDRANT_LOGS_COLLECTION", "rag_eval_logs"), embeddingProvider: requireEnv("EMBEDDING_PROVIDER", "openrouter"), embeddingModel: requireEnv("EMBEDDING_MODEL", "qwen/qwen3-embedding-8b"), embeddingBaseUrl: requireEnv("EMBEDDING_BASE_URL", "https://openrouter.ai/api/v1"), embeddingApiKey: process.env.EMBEDDING_API_KEY ?? "", answerProvider: requireEnv("ANSWER_PROVIDER", "openrouter"), answerModel: requireEnv("ANSWER_MODEL", "openai/gpt-4.1-mini"), answerBaseUrl: requireEnv("ANSWER_BASE_URL", "https://openrouter.ai/api/v1"), answerApiKey: process.env.ANSWER_API_KEY ?? process.env.EMBEDDING_API_KEY ?? "" } as const;