import OpenAI from "openai";

// Tüm AI akışı OpenRouter üzerinden tek kapıdan gider (kullanıcı kararı,
// 7 Ağu 2026 — önceki Anthropic/Gemini/lokal sağlayıcı seçimi kaldırıldı).
// Model .env'den değiştirilebilir; rapor ve sohbet istenirse ayrışabilir.
const VARSAYILAN_MODEL = "deepseek/deepseek-v4-flash";

export function raporModeli(): string {
  return (
    process.env.OPENROUTER_RAPOR_MODEL?.trim() ||
    process.env.OPENROUTER_MODEL?.trim() ||
    VARSAYILAN_MODEL
  );
}

export function sohbetModeli(): string {
  return (
    process.env.OPENROUTER_SOHBET_MODEL?.trim() ||
    process.env.OPENROUTER_MODEL?.trim() ||
    VARSAYILAN_MODEL
  );
}

/** API anahtarı tanımlı mı (mock moduna düşülecek mi)? */
export function anahtarVar(): boolean {
  return Boolean(process.env.OPENROUTER_API_KEY);
}

const globalForAi = globalThis as unknown as { __openrouter?: OpenAI };

export function getOpenRouter(): OpenAI {
  const apiKey = process.env.OPENROUTER_API_KEY;
  if (!apiKey) {
    throw new Error("AI_KEY_MISSING");
  }
  if (!globalForAi.__openrouter) {
    globalForAi.__openrouter = new OpenAI({
      baseURL: "https://openrouter.ai/api/v1",
      apiKey,
      // Tek retry otoritesi cagri.ts'teki geciciHatadaTekrarla
      maxRetries: 0,
      // OpenRouter panelindeki kullanım dökümünde uygulama atfı (opsiyonel)
      defaultHeaders: {
        "HTTP-Referer": "https://kolaytercih.com",
        "X-Title": "KolayTercih",
      },
    });
  }
  return globalForAi.__openrouter;
}

export const SORUMLULUK_REDDI =
  "KolayTercih bir karar destek aracıdır; öneriler resmî YÖK Atlas verisine dayanır ancak yerleşme garantisi verilmez. Nihai tercih sorumluluğu adaya aittir.";
