import "dotenv/config";

function req(name: string) {
  const v = process.env[name];
  if (!v) throw new Error(`Missing env: ${name}`);
  return v;
}

export const ENV = {
  PORT: Number(process.env.PORT || 3000),
  APP_URL: req("APP_URL"),
  SHOPIFY_API_KEY: req("SHOPIFY_API_KEY"),
  SHOPIFY_API_SECRET: req("SHOPIFY_API_SECRET"),
  SCOPES: req("SCOPES"),
  REDIRECT_PATH: process.env.REDIRECT_PATH || "/auth/callback",
  POSTGRES_URL: req("POSTGRES_URL"),
  ENCRYPTION_KEY: req("ENCRYPTION_KEY"),
  OPENAI_API_KEY: req("OPENAI_API_KEY"),
  EMBEDDING_MODEL:
    process.env.EMBEDDING_MODEL ||
    process.env.OPENAI_EMBEDDING_MODEL ||
    "text-embedding-3-small",
  EMBEDDING_MAX_ATTEMPTS: Number(process.env.EMBEDDING_MAX_ATTEMPTS || 5),
  WORKER_POLL_MS: Number(process.env.WORKER_POLL_MS || 1500)
};
