/**
 * Startup environment validation.
 * Call assertProductionEnv() early in the server lifecycle to surface missing
 * critical configuration before any requests are served.
 */
export function assertProductionEnv(): void {
  if (process.env["NODE_ENV"] !== "production") return;

  const required = ["REDIS_URL", "DATABASE_URL", "NEXTAUTH_SECRET"] as const;
  const missing = required.filter((k) => !process.env[k]);

  if (missing.length > 0) {
    throw new Error(`Missing required env vars: ${missing.join(", ")}`);
  }
}
