From d2ea58942cf7bbbd2a3e426e623d823eeaff1c51 Mon Sep 17 00:00:00 2001 From: mstfyldz Date: Fri, 14 Aug 2026 11:53:04 +0300 Subject: [PATCH] fix: add stream routes and guarantee finalJson answer property --- src/controllers/document.controller.ts | 12 ++++++++++-- src/routes/chat.routes.ts | 2 ++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/controllers/document.controller.ts b/src/controllers/document.controller.ts index 962a1f2..bb65744 100644 --- a/src/controllers/document.controller.ts +++ b/src/controllers/document.controller.ts @@ -575,7 +575,7 @@ GÖREVİN & SIKI İLKELERİN: 1. Duruşma anında avukatın saniyeler içinde okuyabileceği NOKTA ATIŞI ve NET cevabı ver. 2. Uzun giriş paragrafı, merhaba mesajı veya lakırdı KESİNLİKLE YASAKTIR. Doğrudan sonuca gir. 3. Bulduğun veriyi (Tarih, Saat, Belge Adı/No, İsim, Tutar, Sayfa) açıkça yaz. -4. Aranan bilgi dava evraklarında açıkça yer almıyorsa: "found": false yaz ve "Bu bilgi dosyadaki evraklarda bulunmamaktadır" de. +4. Aranan bilgi dava evraklarında açıkça yer almıyorsa: "found": false yaz ve "answer": "Bu bilgi dosyadaki evraklarda bulunmamaktadır" de. ÇIKTI FORMATI (SADECE GEÇERLİ JSON): { @@ -590,5 +590,13 @@ GÖREVİN & SIKI İLKELERİN: Sadece ve sadece JSON döndür, kod bloğu işareti (\`\`\`) veya başka bir açıklama ekleme.`; const { resultJson, aiModel } = await callAiModel(prompt, combinedText); - return { summaryJson: resultJson, aiModel }; + let finalJson = resultJson; + if (typeof resultJson === 'string') { + finalJson = { found: true, answer: resultJson }; + } else if (!resultJson || typeof resultJson !== 'object') { + finalJson = { found: false, answer: 'Bu bilgi dosyadaki evraklarda bulunmamaktadır.' }; + } else if (!finalJson.answer) { + finalJson.answer = finalJson.summary || finalJson.text || JSON.stringify(finalJson); + } + return { summaryJson: finalJson, aiModel }; } diff --git a/src/routes/chat.routes.ts b/src/routes/chat.routes.ts index ced8185..d8ed165 100644 --- a/src/routes/chat.routes.ts +++ b/src/routes/chat.routes.ts @@ -5,6 +5,8 @@ import { chatMessage, deleteChatHistory, sendThreadMessage } from '../controller const router = Router(); router.post('/threads/:threadId/message', requireAuth, sendThreadMessage); +router.post('/stream', requireAuth, chatMessage); +router.post('/:caseId/stream', requireAuth, chatMessage); router.post('/:caseId/message', requireAuth, chatMessage); router.delete('/:caseId', requireAuth, deleteChatHistory);