From 92c04c0f1ee1e7c8f7657bd0087142542f6e4cf8 Mon Sep 17 00:00:00 2001 From: bilalgursen Date: Mon, 5 Oct 2026 08:57:18 +0300 Subject: [PATCH] =?UTF-8?q?fix(danisman):=20bedelsiz=20onay=20yaln=C4=B1z?= =?UTF-8?q?=20son=20mesaj=20dan=C4=B1=C5=9Fman=C4=B1n=20sorusuysa=20ge?= =?UTF-8?q?=C3=A7erli=20[KARAR]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Güvenlik denetimi B1: aynı onay sorusuna art arda gönderilen "evet"ler 0 bakiyede bedelsiz model çağrısı açıyordu (09-guvenlik-uyum.md). Co-Authored-By: Claude Fable 5.1 --- src/app/api/soru/route.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/app/api/soru/route.ts b/src/app/api/soru/route.ts index 62d82d5..e7720aa 100644 --- a/src/app/api/soru/route.ts +++ b/src/app/api/soru/route.ts @@ -110,7 +110,10 @@ export async function POST(request: NextRequest) { const gecmis = gecmisHam.reverse(); // Profil onayı ("kaydedeyim mi?" → "evet") kredi harcamaz; iade de yok. - const sonAsistan = [...gecmis].reverse().find((m) => m.role === "assistant")?.content; + // Yalnız geçmişteki EN SON mesaj danışmanın sorusuysa: aynı soruya art arda + // gönderilen "evet"ler bedelsiz model çağrısı açmasın. + const sonMesaj = gecmis.at(-1); + const sonAsistan = sonMesaj?.role === "assistant" ? sonMesaj.content : undefined; const bedelsiz = onayMesajiMi(mesaj, sonAsistan); // Kredi düşümü stream'den önce — yetersizse hiç başlama