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.";