fix: dilekçe kataloğunu tek, DB-destekli kaynağa birleştir (Faz 3.5)
Gerçek bir sessiz veri kalitesi hatası bulundu: laawos-backend'deki dilekçe kataloğu (petitionKnowledge.ts, 18 tür) ile laawos/Drafting.tsx ekranının GERÇEKTEN kullandığı frontend kataloğu (petitionController.ts, 79 tür) birbirinden bağımsız iki ayrı kopyaydı. Drafting.tsx backend'in /drafting/catalog endpoint'ini hiç çağırmıyordu — kullanıcı ekrandaki 79 türden backend'in bilmediği 61'ini seçtiğinde, AI'ya hiçbir özel talimat/ zorunlu unsur listesi gitmiyordu (resolvePetitionContext sessizce boş addon dönüyordu). Yeni petitionCatalogService.ts, frontend'deki daha zengin 79'luk kataloğu tek doğru kaynak olarak Supabase'e (sql/24_petition_types.sql, laawos reposunda) taşıyor — 5dk cache + Supabase okunamazsa/migration henüz çalıştırılmamışsa FALLBACK_PETITION_TYPES'a (programatik olarak birebir çıkarılmış) düşme garantisi. getPetitionById/resolvePetitionContext artık async ve bu servisi kullanıyor. Kategoriler (10 adet) kodda sabit kaldı. Gerçek testle doğrulandı: "Kira Tespit / Kira Uyarlama Dava Dilekçesi" (TBK m. 344) — eskiden backend'in 18'lik listesinde olmayan, artık doğru şekilde zengin systemPromptAddon üretiyor.
This commit is contained in:
@@ -4,7 +4,7 @@ import { AuthenticatedRequest } from '../middleware/auth';
|
|||||||
import { callAiModelRaw, CEZA_MUHAKEMESI_REFERANSI, HUKUK_MAHKEMELERI_REFERANSI } from './document.controller';
|
import { callAiModelRaw, CEZA_MUHAKEMESI_REFERANSI, HUKUK_MAHKEMELERI_REFERANSI } from './document.controller';
|
||||||
import { findRelevantLegislation, LegislationMatch } from '../lib/legislationLookup';
|
import { findRelevantLegislation, LegislationMatch } from '../lib/legislationLookup';
|
||||||
import { shouldPersistLegacyTables } from '../lib/localFirstFlag';
|
import { shouldPersistLegacyTables } from '../lib/localFirstFlag';
|
||||||
import { resolvePetitionContext, PETITION_CATEGORIES, PETITION_TYPES_CATALOG } from '../lib/petitionKnowledge';
|
import * as petitionCatalogService from '../lib/petitionCatalogService';
|
||||||
import * as promptService from '../lib/promptService';
|
import * as promptService from '../lib/promptService';
|
||||||
import crypto from 'crypto';
|
import crypto from 'crypto';
|
||||||
|
|
||||||
@@ -22,10 +22,8 @@ function toTraceableLegislation(matches: LegislationMatch[]) {
|
|||||||
|
|
||||||
export const getPetitionCatalog = async (_req: Request, res: Response) => {
|
export const getPetitionCatalog = async (_req: Request, res: Response) => {
|
||||||
try {
|
try {
|
||||||
res.json({
|
const catalog = await petitionCatalogService.getCatalog();
|
||||||
categories: PETITION_CATEGORIES,
|
res.json(catalog);
|
||||||
types: PETITION_TYPES_CATALOG,
|
|
||||||
});
|
|
||||||
} catch (error: any) {
|
} catch (error: any) {
|
||||||
res.status(500).json({ error: error.message || 'Internal Server Error' });
|
res.status(500).json({ error: error.message || 'Internal Server Error' });
|
||||||
}
|
}
|
||||||
@@ -89,7 +87,7 @@ export const generateDraft = async (req: AuthenticatedRequest, res: Response) =>
|
|||||||
const ozet = lastAnalysis?.summary_json?.ozet;
|
const ozet = lastAnalysis?.summary_json?.ozet;
|
||||||
|
|
||||||
// Backend Merkezi Hukuki Prompt & Kural Çözümleyici
|
// Backend Merkezi Hukuki Prompt & Kural Çözümleyici
|
||||||
const resolvedContext = resolvePetitionContext(petition_type, notes);
|
const resolvedContext = await petitionCatalogService.resolvePetitionContext(petition_type, notes);
|
||||||
|
|
||||||
const baseDraftPrompt = await promptService.getPrompt('draft_base', { CEZA_MUHAKEMESI_REFERANSI, HUKUK_MAHKEMELERI_REFERANSI });
|
const baseDraftPrompt = await promptService.getPrompt('draft_base', { CEZA_MUHAKEMESI_REFERANSI, HUKUK_MAHKEMELERI_REFERANSI });
|
||||||
const fullSystemPrompt = `
|
const fullSystemPrompt = `
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -107,352 +107,3 @@ export const PETITION_CATEGORIES: PetitionCategory[] = [
|
|||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
export const PETITION_TYPES_CATALOG: PetitionTypeItem[] = [
|
|
||||||
// 1. HUKUK YARGILAMASI (HMK)
|
|
||||||
{
|
|
||||||
id: 'hmk-dava',
|
|
||||||
title: 'Dava Dilekçesi',
|
|
||||||
shortTitle: 'Dava Dilekçesi',
|
|
||||||
categoryId: 'hmk',
|
|
||||||
lawRef: 'HMK m. 119',
|
|
||||||
courtType: 'Asliye Hukuk / Asliye Ticaret / İş Mahkemesi',
|
|
||||||
keyElements: [
|
|
||||||
'Mahkeme Adı ve Dosya Konusu',
|
|
||||||
'Tarafların Kimlik/Adres Bilgileri ve T.C. No',
|
|
||||||
'Davanın Konusu ve Dava Değeri',
|
|
||||||
'Somut Vakıalar ve Maddeler Halinde Açıklamalar',
|
|
||||||
'Dayanılan Hukuki Sebepler ve Deliller Listesi',
|
|
||||||
'Açık ve Net Netice-i Talep (Faiz, Vekalet Ücreti, Yargılama Giderleri)'
|
|
||||||
],
|
|
||||||
suggestedNotes: 'Müvekkilin uğradığı maddi zarar ve alacak kalemlerini madde madde belirtiniz.',
|
|
||||||
aiPromptGuide: 'Dava dilekçesini HMK 119 zorunlu unsurlarına tam uyumlu olarak hazırla. Vakıaları kronolojik ve somut olay örgüsüyle açıkla.'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 'hmk-cevap',
|
|
||||||
title: 'Cevap Dilekçesi',
|
|
||||||
shortTitle: 'Cevap Dilekçesi',
|
|
||||||
categoryId: 'hmk',
|
|
||||||
lawRef: 'HMK m. 129',
|
|
||||||
courtType: 'İlgili Hukuk Mahkemesi',
|
|
||||||
keyElements: [
|
|
||||||
'İlk İtirazlar (Yetki, Görev, Derdestlik, Zamanaşımı vb.)',
|
|
||||||
'Davacının İddialarına Karşı Madde Madde Cevap ve İtiraflar/İnkarlar',
|
|
||||||
'Karşı Savunma Delilleri (Yemin, Tanık, Bilirkişi vb.)',
|
|
||||||
'Davanın Reddi ve Yargılama Giderleri Talebi'
|
|
||||||
],
|
|
||||||
suggestedNotes: 'Davacının iddialarından kabul etmediklerinizi ve zamanaşımı/yetki gibi ilk itirazları belirtiniz.',
|
|
||||||
aiPromptGuide: 'HMK 129 uyarınca cevap dilekçesini yapılandır. İlk itirazları en başta ayrı başlık altında ele al. Davacının her bir iddiasını somut delillerle çürüt.'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 'hmk-cevaba-cevap',
|
|
||||||
title: 'Cevaba Cevap (Replik) Dilekçesi',
|
|
||||||
shortTitle: 'Cevaba Cevap',
|
|
||||||
categoryId: 'hmk',
|
|
||||||
lawRef: 'HMK m. 136',
|
|
||||||
courtType: 'İlgili Hukuk Mahkemesi',
|
|
||||||
keyElements: [
|
|
||||||
'Davalının Cevap Dilekçesindeki İddiaların Çürütülmesi',
|
|
||||||
'Davanın Genişletilmesi Yasağı Sınırları İçinde Yeni Açıklamalar',
|
|
||||||
'Davalının İlk İtirazlarının Hukuken Geçersizliğinin İzahı'
|
|
||||||
],
|
|
||||||
suggestedNotes: 'Davalının cevap dilekçesindeki iddialarına karşı cevabi hususları giriniz.',
|
|
||||||
aiPromptGuide: 'Replik dilekçesini davalının cevaplarına nokta atışı karşı argümanlar sunacak şekilde yaz.'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 'hmk-istinaf',
|
|
||||||
title: 'İstinaf Başvuru Dilekçesi (Hukuk)',
|
|
||||||
shortTitle: 'Hukuk İstinaf',
|
|
||||||
categoryId: 'hmk',
|
|
||||||
lawRef: 'HMK m. 342',
|
|
||||||
courtType: 'Bölge Adliye Mahkemesi (BAM) İlgili Hukuk Dairesi',
|
|
||||||
keyElements: [
|
|
||||||
'İlk Derece Mahkemesi Karar Bilgileri (Esas ve Karar No)',
|
|
||||||
'Tebliğ Tarihi ve Süresinde Başvuru Kaydı',
|
|
||||||
'Somut İstinaf Sebepleri (Usul ve Esas Yönünden Hukuka Aykırılıklar)',
|
|
||||||
'Kararın Kaldırılması ve Yeniden Hüküm Kurulması İstemi'
|
|
||||||
],
|
|
||||||
suggestedNotes: 'Mahkeme kararındaki usul ve esas hatalarını ve eksik bilirkişi incelemesini belirtiniz.',
|
|
||||||
aiPromptGuide: 'HMK 342 kapsamında gerekçeli istinaf dilekçesi yaz. Mahkemenin hangi delili eksik incelediğini ve hangi kanun hükmünü yanlış uyguladığını detaylandır.'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 'hmk-temyiz',
|
|
||||||
title: 'Temyiz Başvuru Dilekçesi (Hukuk)',
|
|
||||||
shortTitle: 'Hukuk Temyiz',
|
|
||||||
categoryId: 'hmk',
|
|
||||||
lawRef: 'HMK m. 364',
|
|
||||||
courtType: 'Yargıtay İlgili Hukuk Dairesi',
|
|
||||||
keyElements: [
|
|
||||||
'BAM Karar Bilgileri ve Tebliğ Tarihi',
|
|
||||||
'Bozma Sebepleri (Kanun Maddesinin Yanlış Uygulanması, Görev/Yetki Hatası)',
|
|
||||||
'Yargıtay İçtihatları ile Çelişki Göstergeleri',
|
|
||||||
'BAM Kararının Bozulması Talebi'
|
|
||||||
],
|
|
||||||
suggestedNotes: 'BAM kararının Yargıtay içtihatlarına ve kanuna aykırı kısımlarını giriniz.',
|
|
||||||
aiPromptGuide: 'Yargıtay temyiz incelemesi için HMK 364 gerekçeli temyiz dilekçesi kurgula.'
|
|
||||||
},
|
|
||||||
|
|
||||||
// 2. CEZA YARGILAMASI (CMK & TCK)
|
|
||||||
{
|
|
||||||
id: 'cmk-savunma',
|
|
||||||
title: 'Esas Hakkında Savunma Dilekçesi',
|
|
||||||
shortTitle: 'Esas Hakkında Savunma',
|
|
||||||
categoryId: 'cmk',
|
|
||||||
lawRef: 'CMK m. 216',
|
|
||||||
courtType: 'Ağır Ceza Mahkemesi / Asliye Ceza Mahkemesi',
|
|
||||||
keyElements: [
|
|
||||||
'İddianame ve Mütalaadaki Suçlamaların Analizi',
|
|
||||||
'Maddi ve Manevi Unsur Yokluğu İzahı',
|
|
||||||
'Hukuka Aykırı Delillerin Dosyadan Çıkarılması Talebi (CMK 206/2-a, 217/2)',
|
|
||||||
'Şüpheden Sanık Yararlanır İlkesi Vurgusu',
|
|
||||||
'Öncelikle Beraat, Aksi Halde Lehe Hükümlerin Uygulanması Talebi'
|
|
||||||
],
|
|
||||||
suggestedNotes: 'Mütalaadaki hangi suçlamaların mesnetsiz olduğunu ve sanığın masumiyet delillerini yazınız.',
|
|
||||||
aiPromptGuide: 'CMK 216 esas hakkında savunma dilekçesi oluştur. Dosya kovuşturma evresindedir, kişi "Sanık"tır. Suçun unsurlarının oluşmadığını ve şüpheden sanık yararlanır ilkesini vurgula.'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 'cmk-tutuklama-itiraz',
|
|
||||||
title: 'Tutukluluğa İtiraz ve Tahliye Talebi',
|
|
||||||
shortTitle: 'Tutukluluğa İtiraz',
|
|
||||||
categoryId: 'cmk',
|
|
||||||
lawRef: 'CMK m. 101, 104, 267',
|
|
||||||
courtType: 'Nöbetçi Asliye Ceza / Nöbetçi Ağır Ceza Mahkemesi',
|
|
||||||
keyElements: [
|
|
||||||
'Tutuklama Karar Tarihi ve Gerekçelerinin Hukuki Eleştirisi',
|
|
||||||
'Kaçma ve Delil Karartma Şüphesinin Somut Olmadığı İzahı',
|
|
||||||
'Kuvvetli Suç Şüphesini Gösteren Somut Delil Bulunmadığı',
|
|
||||||
'Ölçülülük İlkesi ve Adli Kontrolün Yeterli Olacağı Vurgusu (CMK 109)',
|
|
||||||
'Tahliye veya Adli Kontrol Talebi'
|
|
||||||
],
|
|
||||||
suggestedNotes: 'Şüphelinin/sanığın sabit ikametgâhı, kaçma şüphesinin bulunmadığı ve delillerin toplandığını belirtiniz.',
|
|
||||||
aiPromptGuide: 'CMK 101-104 tutukluluğa itiraz dilekçesi yaz. AİHM ve AYM içtihatları doğrultusunda tutuklamanın son çare olduğu ve adli kontrol tedbirlerinin ölçülü olacağını vurgula.'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 'cmk-kyok-itiraz',
|
|
||||||
title: 'Kovuşturmaya Yer Olmadığı Kararına (KYOK) İtiraz',
|
|
||||||
shortTitle: 'KYOK İtiraz',
|
|
||||||
categoryId: 'cmk',
|
|
||||||
lawRef: 'CMK m. 173',
|
|
||||||
courtType: 'Nöbetçi Sulh Ceza Hâkimliği',
|
|
||||||
keyElements: [
|
|
||||||
'KYOK Veren Savcılık ve Soruşturma No',
|
|
||||||
'Tebliğ Tarihi ve 15 Günlük Yasal Süre Kaydı',
|
|
||||||
'Eksik Soruşturma İddiası (Toplanmayan Kamera, HTS, Tanık Delilleri)',
|
|
||||||
'Kamu Davası Açılması İçin Yeterli Şüphenin Mevcut Olduğu',
|
|
||||||
'KYOK Kararının Kaldırılması ve Dava Açılması Talebi'
|
|
||||||
],
|
|
||||||
suggestedNotes: 'Savcılığın hangi delilleri toplamadan veya araştırmadan takipsizlik verdiğini yazınız.',
|
|
||||||
aiPromptGuide: 'CMK 173 takipsizlik kararına itiraz dilekçesi yaz. Eksik soruşturma yürütüldüğünü ve kamu davası açmaya yeterli şüphe bulunduğunu net delillerle ortaya koy.'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 'cmk-istinaf',
|
|
||||||
title: 'İstinaf Başvuru Dilekçesi (Ceza)',
|
|
||||||
shortTitle: 'Ceza İstinaf',
|
|
||||||
categoryId: 'cmk',
|
|
||||||
lawRef: 'CMK m. 272, 273',
|
|
||||||
courtType: 'Bölge Adliye Mahkemesi (BAM) İlgili Ceza Dairesi',
|
|
||||||
keyElements: [
|
|
||||||
'İlk Derece Mahkemesi Kararı ve Tebliğ Tarihi',
|
|
||||||
'Hukuka Aykırılık Nedenleri (Eksik İnceleme, Hatalı Niteleme, Savunma Hakkı Kısıtlaması)',
|
|
||||||
'Hükmün Bozulması ve Beraat Talebi'
|
|
||||||
],
|
|
||||||
suggestedNotes: 'Hükümdeki usul ve esas hatalarını, dinlenmeyen tanıkları veya eksik raporları giriniz.',
|
|
||||||
aiPromptGuide: 'CMK 273 uyarınca gerekçeli ceza istinaf dilekçesi oluştur.'
|
|
||||||
},
|
|
||||||
|
|
||||||
// 3. İCRA VE İFLAS (İİK)
|
|
||||||
{
|
|
||||||
id: 'iik-itiraz',
|
|
||||||
title: 'Ödeme Emrine İtiraz Dilekçesi (İlamsız İcra)',
|
|
||||||
shortTitle: 'Ödeme Emrine İtiraz',
|
|
||||||
categoryId: 'iik',
|
|
||||||
lawRef: 'İİK m. 62',
|
|
||||||
courtType: 'İlgili İcra Dairesi',
|
|
||||||
keyElements: [
|
|
||||||
'İcra Dosya No ve Tebliğ Tarihi (7 Günlük Süre)',
|
|
||||||
'Borca, Faize ve Yetkiye Açık ve Koşulsuz İtiraz',
|
|
||||||
'Takibin Durdurulması Talebi'
|
|
||||||
],
|
|
||||||
suggestedNotes: 'Borcun bulunmadığı, faiz oranının fahiş olduğu veya icra dairesinin yetkisiz olduğunu belirtiniz.',
|
|
||||||
aiPromptGuide: 'İİK 62 ilamsız icra takibine itiraz dilekçesi yaz. Borcun tamamına, faize, ferilerine ve icra dairesinin yetkisine itiraz ederek takibin durdurulmasını sağla.'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 'iik-itirazin-iptali',
|
|
||||||
title: 'İtirazın İptali Dava Dilekçesi',
|
|
||||||
shortTitle: 'İtirazın İptali',
|
|
||||||
categoryId: 'iik',
|
|
||||||
lawRef: 'İİK m. 67',
|
|
||||||
courtType: 'Asliye Ticaret / Asliye Hukuk Mahkemesi',
|
|
||||||
keyElements: [
|
|
||||||
'İcra Takibi ve Borçlunun Haksız İtirazı Bilgisi',
|
|
||||||
'Alacağın Likit ve Belirli Olduğunun İspatı (Fatura, Sözleşme, Cari Hesap)',
|
|
||||||
'İtirazın İptali ile Takibin Devamı',
|
|
||||||
'%20\'den Aşağı Olmamak Üzere İcra İnkâr Tazminatı Talebi'
|
|
||||||
],
|
|
||||||
suggestedNotes: 'Alacağın dayanağı olan fatura, teslim tutanağı veya sözleşme detaylarını giriniz.',
|
|
||||||
aiPromptGuide: 'İİK 67 itirazın iptali dava dilekçesi yaz. İtirazın haksız ve kötü niyetli olduğunu, alacağın likit olduğunu kanıtla ve icra inkar tazminatını talep et.'
|
|
||||||
},
|
|
||||||
|
|
||||||
// 4. İDARE VE VERGİ (İYUK)
|
|
||||||
{
|
|
||||||
id: 'iyuk-iptal',
|
|
||||||
title: 'İdari İşlemin İptali ve Yürütmenin Durdurulması (YD)',
|
|
||||||
shortTitle: 'İptal & YD Davası',
|
|
||||||
categoryId: 'iyuk',
|
|
||||||
lawRef: 'İYUK m. 2, 27',
|
|
||||||
courtType: 'Nöbetçi İdare Mahkemesi',
|
|
||||||
keyElements: [
|
|
||||||
'İptali İstenen İdari İşlemin Tarih, Sayı ve Tebliğ Tarihi',
|
|
||||||
'İşlemin Yetki, Şekil, Sebep, Konu ve Maksat Yönlerinden Sakatlığı',
|
|
||||||
'Telafisi Güç veya İmkânsız Zarar ve Açık Hukuka Aykırılık Şartlarının Gerçekleştiği',
|
|
||||||
'Öncelikle YD Kararı Verilmesi, Neticeten İşlemin İptali Talebi'
|
|
||||||
],
|
|
||||||
suggestedNotes: 'İdari işlemin hangi hukuka aykırılıklar içerdiğini ve derhal durdurulmazsa doğacak zararları yazınız.',
|
|
||||||
aiPromptGuide: 'İYUK 2 ve 27 uyarınca yürütmenin durdurulması istemli idari iptal davası dilekçesi hazırla.'
|
|
||||||
},
|
|
||||||
|
|
||||||
// 5. İŞ VE SOSYAL GÜVENLİK
|
|
||||||
{
|
|
||||||
id: 'is-ise-iade',
|
|
||||||
title: 'İşe İade Dava Dilekçesi',
|
|
||||||
shortTitle: 'İşe İade Davası',
|
|
||||||
categoryId: 'is',
|
|
||||||
lawRef: 'İş Kanunu m. 18-21, 7036 sayılı Kanun',
|
|
||||||
courtType: 'Nöbetçi İş Mahkemesi',
|
|
||||||
keyElements: [
|
|
||||||
'Fesih Bildirim Tarihi ve Arabuluculuk Son Tutanağı Tarihi (Süre Kaydı)',
|
|
||||||
'Feshin Geçerli Bir Sebebe Dayanmadığı',
|
|
||||||
'Feshin Geçersizliğinin Tespiti ve İşe İade',
|
|
||||||
'4 Aya Kadar Boşta Geçen Süre Ücreti ve 4-8 Ay Arası İşe Başlatmama Tazminatı'
|
|
||||||
],
|
|
||||||
suggestedNotes: 'İşçinin kıdemi, işyerindeki çalışan sayısı ve feshin haksız gerekçesini giriniz.',
|
|
||||||
aiPromptGuide: 'İş Kanunu m. 18-21 uyarınca işe iade dava dilekçesi kurgula.'
|
|
||||||
},
|
|
||||||
|
|
||||||
// 6. AİLE VE KİŞİLER HUKUKU (TMK)
|
|
||||||
{
|
|
||||||
id: 'tmk-bosanma-cekimeli',
|
|
||||||
title: 'Çekişmeli Boşanma Dava Dilekçesi',
|
|
||||||
shortTitle: 'Çekişmeli Boşanma',
|
|
||||||
categoryId: 'tmk',
|
|
||||||
lawRef: 'TMK m. 166',
|
|
||||||
courtType: 'Nöbetçi Aile Mahkemesi',
|
|
||||||
keyElements: [
|
|
||||||
'Evlilik Birliğinin Temelden Sarsılması Vakıaları (Kronolojik Olaylar)',
|
|
||||||
'Kusur Durumu ve Karşı Tarafın Ağır Kusuru',
|
|
||||||
'Müşterek Çocukların Tedbiren ve Kalıcı Velayeti Talebi',
|
|
||||||
'Tedbir, İştirak ve Yoksulluk Nafakası Talepleri',
|
|
||||||
'Maddi ve Manevi Tazminat Talepleri (TMK 174/1-2)'
|
|
||||||
],
|
|
||||||
suggestedNotes: 'Karşı tarafın kusurlu davranışlarını, çocukların durumunu ve nafaka/tazminat taleplerinizi yazınız.',
|
|
||||||
aiPromptGuide: 'TMK 166/1 evlilik birliğinin temelden sarsılması nedeniyle çekişmeli boşanma dilekçesi yaz.'
|
|
||||||
},
|
|
||||||
|
|
||||||
// 7. GAYRİMENKUL & KİRA (TBK)
|
|
||||||
{
|
|
||||||
id: 'tbk-tahliye-ihtiyac',
|
|
||||||
title: 'Konut/İşyeri İhtiyacı Nedeniyle Tahliye Davası',
|
|
||||||
shortTitle: 'İhtiyaç Nedeniyle Tahliye',
|
|
||||||
categoryId: 'tbk',
|
|
||||||
lawRef: 'TBK m. 350',
|
|
||||||
courtType: 'Nöbetçi Sulh Hukuk Mahkemesi',
|
|
||||||
keyElements: [
|
|
||||||
'Kira Sözleşmesi Bilgileri ve Kira Başlangıç Tarihi',
|
|
||||||
'İhtiyacın Gerçek, Samimi ve Zorunlu Olduğunun Somut Kanıtları',
|
|
||||||
'Kira Dönemi Sonu ve Yasal Süresinde Açılan Dava',
|
|
||||||
'Kiralananın Tahliyesi ve Teslimi İstemi'
|
|
||||||
],
|
|
||||||
suggestedNotes: 'İhtiyaç sahibinin (ev sahibi veya 1. derece yakını) neden bu eve/işyerine zorunlu ihtiyacı olduğunu yazınız.',
|
|
||||||
aiPromptGuide: 'TBK 350 uyarınca konut veya işyeri ihtiyacı sebebiyle tahliye dava dilekçesi hazırla.'
|
|
||||||
},
|
|
||||||
|
|
||||||
// 8. USUL & KALEM TALEPLERİ
|
|
||||||
{
|
|
||||||
id: 'usul-mazeret',
|
|
||||||
title: 'Mesleki Mazeret Bildirim Dilekçesi',
|
|
||||||
shortTitle: 'Mazeret Dilekçesi',
|
|
||||||
categoryId: 'usul',
|
|
||||||
lawRef: 'HMK / CMK Usul Hükümleri',
|
|
||||||
courtType: 'İlgili Mahkeme',
|
|
||||||
keyElements: [
|
|
||||||
'Duruşma Gün ve Saati Bilgisi',
|
|
||||||
'Mesleki Mazeret Sebebi (Çakışan Duruşma Mahkeme ve Dosya Bilgisi)',
|
|
||||||
'Mazeretin Kabulü ve Yeni Duruşma Gününün UYAP Üzerinden Öğrenilmesine Karar Verilmesi'
|
|
||||||
],
|
|
||||||
suggestedNotes: 'Çakışan diğer duruşmanızın mahkemesini ve dosya numarasını belirtiniz.',
|
|
||||||
aiPromptGuide: 'Standart mesleki mazeret dilekçesi hazırla. Kısa, net ve resmî dille mazeretin kabulünü talep et.'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 'usul-sure-tutum',
|
|
||||||
title: 'Süre Tutum (Müddet-i Muhafaza) Dilekçesi',
|
|
||||||
shortTitle: 'Süre Tutum Dilekçesi',
|
|
||||||
categoryId: 'usul',
|
|
||||||
lawRef: 'CMK m. 273 / HMK m. 342',
|
|
||||||
courtType: 'Kararı Veren Mahkeme',
|
|
||||||
keyElements: [
|
|
||||||
'Tefhim Edilen Kısa Karar Bilgisi',
|
|
||||||
'Yasal İstinaf/Temyiz Süresinin Korunması Kaydı',
|
|
||||||
'Gerekçeli Kararın Tebliği Akabinde Ayrıntılı Gerekçeli İstinaf/Temyiz Dilekçesi Sunulacağı Beyanı'
|
|
||||||
],
|
|
||||||
suggestedNotes: 'Kısa kararın tefhim tarihini belirtiniz.',
|
|
||||||
aiPromptGuide: 'Süre tutum dilekçesi yaz. Gerekçeli kararın tebliğine kadar istinaf süresinin tutulduğunu resmî üslupla beyan et.'
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
export function getPetitionById(idOrTitle: string): PetitionTypeItem | undefined {
|
|
||||||
if (!idOrTitle) return undefined;
|
|
||||||
const norm = idOrTitle.trim().toLowerCase();
|
|
||||||
return PETITION_TYPES_CATALOG.find(
|
|
||||||
(p) =>
|
|
||||||
p.id.toLowerCase() === norm ||
|
|
||||||
p.title.toLowerCase() === norm ||
|
|
||||||
p.shortTitle.toLowerCase() === norm ||
|
|
||||||
norm.includes(p.title.toLowerCase())
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function resolvePetitionContext(petitionIdOrTitle: string, userNotes?: string): {
|
|
||||||
systemPromptAddon: string;
|
|
||||||
enhancedNotes: string;
|
|
||||||
selectedItem?: PetitionTypeItem;
|
|
||||||
} {
|
|
||||||
const item = getPetitionById(petitionIdOrTitle);
|
|
||||||
if (!item) {
|
|
||||||
return {
|
|
||||||
systemPromptAddon: '',
|
|
||||||
enhancedNotes: userNotes || ''
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
const isCmk = item.categoryId === 'cmk';
|
|
||||||
const cmkAddon = isCmk ? `
|
|
||||||
[CEZA MUHAKEMESİ HUKUKU (CMK & TCK) KESİN KURALLARI]:
|
|
||||||
1. Soruşturma aşamasında kişi "Şüpheli", iddianamenin kabulü / tensip zaptından sonraki kovuşturma aşamasında "Sanık", kesinleşen hüküm sonrası "Hükümlü" olarak adlandırılır.
|
|
||||||
2. Mahkemede dava açıldıktan sonra dosya asla "iddianame aşamasında" veya "soruşturma evresinde" olamaz; dosya "Kovuşturma Evresi"ndedir.
|
|
||||||
3. İstinabe / talimat evrakları kovuşturma safhasında bir delil toplama işlemidir.
|
|
||||||
` : '';
|
|
||||||
|
|
||||||
const systemPromptAddon = `
|
|
||||||
${cmkAddon}
|
|
||||||
DİLEKÇE TÜRÜ ÖZEL HUKUKİ TALİMATI:
|
|
||||||
Seçilen Dilekçe Türü: ${item.title} (${item.lawRef})
|
|
||||||
Hedef Görevli Makam: ${item.courtType}
|
|
||||||
Zorunlu Hukuki Unsurlar & Kontrol Listesi:
|
|
||||||
${item.keyElements.map(el => `- ${el}`).join('\n')}
|
|
||||||
|
|
||||||
DİLEKÇE OLUŞTURMA REHBERİ:
|
|
||||||
${item.aiPromptGuide}
|
|
||||||
`.trim();
|
|
||||||
|
|
||||||
const enhancedNotes = `
|
|
||||||
[Dilekçe Türü: ${item.title} - Dayanak: ${item.lawRef}]
|
|
||||||
[Görevli Makam: ${item.courtType}]
|
|
||||||
Zorunlu Unsurlar: ${item.keyElements.join(', ')}
|
|
||||||
${userNotes && userNotes.trim() ? `Avukat Notları & Ek Talepler:\n${userNotes.trim()}` : ''}
|
|
||||||
`.trim();
|
|
||||||
|
|
||||||
return {
|
|
||||||
systemPromptAddon,
|
|
||||||
enhancedNotes,
|
|
||||||
selectedItem: item
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|||||||
Reference in New Issue
Block a user