feat: add deficiency analysis route

This commit is contained in:
mstfyldz
2026-08-11 16:30:22 +03:00
parent 05fcc00de9
commit 5c8c676d45
3 changed files with 89 additions and 2 deletions
+25
View File
@@ -57,6 +57,26 @@ const CASE_NARRATIVE_SYSTEM_PROMPT = `
veya başka bir açıklama ekleme.
`;
const DEFICIENCY_ANALYSIS_SYSTEM_PROMPT = `Sen kıdemli bir avukatsın. Dosyadaki evrakları (özellikle tensip tutanakları, müzekkereler, duruşma zabıtları) inceleyerek dosyanın röntgenini çekeceksin.
Görevin, dosyadaki süreçte ne aşamada olunduğunu özetlemek ve EKSİK olan işlemleri veya beklenen evrakları (örn: bilirkişi raporu bekleniyor, tanıklar dinlenmedi, harç yatırılmadı vb.) tespit etmektir.
Çıktını SADECE aşağıdaki JSON formatında ver, fazladan tek kelime etme:
{
"currentStage": "Dosyanın şu anki aşaması (örn: Ön inceleme aşamasında, Tahkikat aşamasında vb.)",
"deficiencies": [
{
"type": "Eksik türü (örn: Belge, İşlem, Ara Karar)",
"description": "Eksiğin açıklaması (örn: Trafik şubesinden hasar kayıtları bekleniyor)",
"urgency": "high" | "medium" | "low" (Eksikliğin aciliyet veya önem derecesi)
}
],
"completedSteps": [
"Tamamlanmış önemli işlemler (örn: Tensip zaptı düzenlendi, Harçlar yatırıldı)"
]
}
DİKKAT: JSON formatı tam ve geçerli olmalıdır.
`;
const STATEMENT_ANALYSIS_SYSTEM_PROMPT = `
Sen uzman bir Türk ceza avukatısın. Sana bir dava dosyasındaki "ifade", "sorgu" veya "beyan" içeren çeşitli belgelerin metinleri verilecek.
Amacın, bu belgelerdeki kişi beyanlarını analiz edip "Yalan Dedektörü" mantığıyla çelişkileri bulmaktır.
@@ -129,6 +149,11 @@ export async function runStatementAnalysis(combinedText: string): Promise<{ summ
return { summaryJson: resultJson, aiModel };
}
export async function runDeficiencyAnalysis(combinedText: string): Promise<{ summaryJson: any; aiModel: string }> {
const { resultJson, aiModel } = await callAiModel(DEFICIENCY_ANALYSIS_SYSTEM_PROMPT, combinedText);
return { summaryJson: resultJson, aiModel };
}
// UYAP Evrak İndirici eklentisinden gelen, Electron ana sürecinde YERELDE metni
// çıkarılmış belgeleri kaydeder. Ham dosya baytları bu isteğe hiç dahil değil —
// sadece çıkarılan metin (JSON) geliyor, Supabase Storage'a hiçbir yükleme yapılmıyor.