const requireEnv = (key: string): string => { const value = process.env[key]; if (!value) { throw new Error(`Missing required env var: ${key}`); } return value; }; export type WorkerConfig = typeof config; export const config = { get databaseUrl() { return requireEnv("DATABASE_URL"); }, queueSchema: process.env["QUEUE_SCHEMA"] ?? "queue", queueName: process.env["QUEUE_NAME"] ?? "default", pollIntervalMs: Number(process.env["POLL_INTERVAL_MS"] ?? "1000"), pdfOutputDir: process.env["PDF_OUTPUT_DIR"] ?? "./pdf-output", pdfTimeoutMs: Number(process.env["PDF_TIMEOUT_MS"] ?? "30000"), heartbeatFilePath: process.env["HEARTBEAT_FILE_PATH"] ?? "/tmp/worker-heartbeat", heartbeatDbIntervalMs: Number(process.env["HEARTBEAT_DB_INTERVAL_MS"] ?? "0"), chromiumArgs: (process.env["CHROMIUM_ARGS"] ?? "--no-sandbox,--disable-dev-shm-usage") .split(",") .map((s) => s.trim()) .filter(Boolean), } as const;