add date filter to bedesten

This commit is contained in:
saidsurucu
2025-06-24 18:43:50 +03:00
parent 2a24f92702
commit f755cdf438
3 changed files with 106 additions and 28 deletions
+20 -13
View File
@@ -11,12 +11,13 @@ Bu proje, çeşitli Türk hukuk kaynaklarına (Yargıtay, Danıştay, Emsal Kara
* Çeşitli Türk hukuk veritabanlarına programatik erişim için standart bir MCP arayüzü. * Çeşitli Türk hukuk veritabanlarına programatik erişim için standart bir MCP arayüzü.
* **Kapsamlı Mahkeme Daire/Kurul Filtreleme:** 79 farklı daire/kurul filtreleme seçeneği * **Kapsamlı Mahkeme Daire/Kurul Filtreleme:** 79 farklı daire/kurul filtreleme seçeneği
* **Dual/Triple API Desteği:** Her mahkeme için birden fazla API kaynağı ile maksimum kapsama * **Dual/Triple API Desteği:** Her mahkeme için birden fazla API kaynağı ile maksimum kapsama
* **Kapsamlı Tarih Filtreleme:** Tüm Bedesten API araçlarında ISO 8601 formatında tarih aralığı filtreleme
* Aşağıdaki kurumların kararlarını arama ve getirme yeteneği: * Aşağıdaki kurumların kararlarını arama ve getirme yeteneği:
* **Yargıtay:** Detaylı kriterlerle karar arama ve karar metinlerini Markdown formatında getirme. **Dual API** (Ana + Bedesten) + **52 Daire/Kurul Filtreleme** (Hukuk/Ceza Daireleri, Genel Kurullar) * **Yargıtay:** Detaylı kriterlerle karar arama ve karar metinlerini Markdown formatında getirme. **Dual API** (Ana + Bedesten) + **52 Daire/Kurul Filtreleme** + **Tarih Filtreleme** (Hukuk/Ceza Daireleri, Genel Kurullar)
* **Danıştay:** Anahtar kelime bazlı ve detaylı kriterlerle karar arama; karar metinlerini Markdown formatında getirme. **Triple API** (Keyword + Detailed + Bedesten) + **27 Daire/Kurul Filtreleme** (İdari Daireler, Vergi/İdare Kurulları, Askeri Yüksek İdare Mahkemesi) * **Danıştay:** Anahtar kelime bazlı ve detaylı kriterlerle karar arama; karar metinlerini Markdown formatında getirme. **Triple API** (Keyword + Detailed + Bedesten) + **27 Daire/Kurul Filtreleme** + **Tarih Filtreleme** (İdari Daireler, Vergi/İdare Kurulları, Askeri Yüksek İdare Mahkemesi)
* **Yerel Hukuk Mahkemeleri:** Bedesten API ile yerel hukuk mahkemesi kararlarına erişim * **Yerel Hukuk Mahkemeleri:** Bedesten API ile yerel hukuk mahkemesi kararlarına erişim + **Tarih Filtreleme**
* **İstinaf Hukuk Mahkemeleri:** Bedesten API ile istinaf mahkemesi kararlarına erişim * **İstinaf Hukuk Mahkemeleri:** Bedesten API ile istinaf mahkemesi kararlarına erişim + **Tarih Filtreleme**
* **Kanun Yararına Bozma (KYB):** Bedesten API ile olağanüstü kanun yoluna erişim * **Kanun Yararına Bozma (KYB):** Bedesten API ile olağanüstü kanun yoluna erişim + **Tarih Filtreleme**
* **Emsal (UYAP):** Detaylı kriterlerle emsal karar arama ve karar metinlerini Markdown formatında getirme. * **Emsal (UYAP):** Detaylı kriterlerle emsal karar arama ve karar metinlerini Markdown formatında getirme.
* **Uyuşmazlık Mahkemesi:** Form tabanlı kriterlerle karar arama ve karar metinlerini (URL ile erişilen) Markdown formatında getirme. * **Uyuşmazlık Mahkemesi:** Form tabanlı kriterlerle karar arama ve karar metinlerini (URL ile erişilen) Markdown formatında getirme.
* **Anayasa Mahkemesi (Norm Denetimi):** Kapsamlı kriterlerle norm denetimi kararlarını arama; uzun karar metinlerini (5.000 karakterlik) sayfalanmış Markdown formatında getirme. * **Anayasa Mahkemesi (Norm Denetimi):** Kapsamlı kriterlerle norm denetimi kararlarını arama; uzun karar metinlerini (5.000 karakterlik) sayfalanmış Markdown formatında getirme.
@@ -85,7 +86,7 @@ Bu FastMCP sunucusu aşağıdaki temel araçları sunar:
* `search_yargitay_detailed(arananKelime, birimYrgKurulDaire, ...)`: Yargıtay kararlarını detaylı kriterlerle arar. **52 daire/kurul seçeneği** (Hukuk/Ceza Daireleri 1-23, Genel Kurullar, Başkanlar Kurulu) * `search_yargitay_detailed(arananKelime, birimYrgKurulDaire, ...)`: Yargıtay kararlarını detaylı kriterlerle arar. **52 daire/kurul seçeneği** (Hukuk/Ceza Daireleri 1-23, Genel Kurullar, Başkanlar Kurulu)
* `get_yargitay_document_markdown(id: str)`: Belirli bir Yargıtay kararının metnini Markdown formatında getirir. * `get_yargitay_document_markdown(id: str)`: Belirli bir Yargıtay kararının metnini Markdown formatında getirir.
* **Bedesten API (Alternatif):** * **Bedesten API (Alternatif):**
* `search_yargitay_bedesten(phrase, birimAdi, ...)`: Bedesten API ile Yargıtay kararlarını arar. **Aynı 52 daire filtreleme** * `search_yargitay_bedesten(phrase, birimAdi, kararTarihiStart, kararTarihiEnd, ...)`: Bedesten API ile Yargıtay kararlarını arar. **Aynı 52 daire filtreleme** + **Tarih Filtreleme**
* `get_yargitay_bedesten_document_markdown(documentId: str)`: Bedesten'den karar metni (HTML/PDF → Markdown) * `get_yargitay_bedesten_document_markdown(documentId: str)`: Bedesten'den karar metni (HTML/PDF → Markdown)
### **Danıştay Araçları (Triple API + 27 Daire Filtreleme)** ### **Danıştay Araçları (Triple API + 27 Daire Filtreleme)**
@@ -94,18 +95,18 @@ Bu FastMCP sunucusu aşağıdaki temel araçları sunar:
* `search_danistay_detailed(daire, esasYil, ...)`: Danıştay kararlarını detaylı kriterlerle arar. * `search_danistay_detailed(daire, esasYil, ...)`: Danıştay kararlarını detaylı kriterlerle arar.
* `get_danistay_document_markdown(id: str)`: Belirli bir Danıştay kararının metnini Markdown formatında getirir. * `get_danistay_document_markdown(id: str)`: Belirli bir Danıştay kararının metnini Markdown formatında getirir.
* **Bedesten API (Alternatif):** * **Bedesten API (Alternatif):**
* `search_danistay_bedesten(phrase, birimAdi, ...)`: Bedesten API ile Danıştay kararlarını arar. **27 daire/kurul seçeneği** (1-17. Daireler, Vergi/İdare Kurulları, Askeri Mahkemeler) * `search_danistay_bedesten(phrase, birimAdi, kararTarihiStart, kararTarihiEnd, ...)`: Bedesten API ile Danıştay kararlarını arar. **27 daire/kurul seçeneği** + **Tarih Filtreleme** (1-17. Daireler, Vergi/İdare Kurulları, Askeri Mahkemeler)
* `get_danistay_bedesten_document_markdown(documentId: str)`: Bedesten'den karar metni * `get_danistay_bedesten_document_markdown(documentId: str)`: Bedesten'den karar metni
### **Diğer Mahkemeler (Bedesten API)** ### **Diğer Mahkemeler (Bedesten API + Tarih Filtreleme)**
* **Yerel Hukuk Mahkemeleri:** * **Yerel Hukuk Mahkemeleri:**
* `search_yerel_hukuk_bedesten(phrase, pageSize, ...)`: Yerel hukuk mahkemesi kararlarını arar * `search_yerel_hukuk_bedesten(phrase, kararTarihiStart, kararTarihiEnd, ...)`: Yerel hukuk mahkemesi kararlarını arar + **Tarih Filtreleme**
* `get_yerel_hukuk_bedesten_document_markdown(documentId: str)`: Karar metni * `get_yerel_hukuk_bedesten_document_markdown(documentId: str)`: Karar metni
* **İstinaf Hukuk Mahkemeleri:** * **İstinaf Hukuk Mahkemeleri:**
* `search_istinaf_hukuk_bedesten(phrase, pageSize, ...)`: İstinaf mahkemesi kararlarını arar * `search_istinaf_hukuk_bedesten(phrase, kararTarihiStart, kararTarihiEnd, ...)`: İstinaf mahkemesi kararlarını arar + **Tarih Filtreleme**
* `get_istinaf_hukuk_bedesten_document_markdown(documentId: str)`: Karar metni * `get_istinaf_hukuk_bedesten_document_markdown(documentId: str)`: Karar metni
* **Kanun Yararına Bozma (KYB):** * **Kanun Yararına Bozma (KYB):**
* `search_kyb_bedesten(phrase, pageSize, ...)`: Olağanüstü kanun yolu kararlarını arar * `search_kyb_bedesten(phrase, kararTarihiStart, kararTarihiEnd, ...)`: Olağanüstü kanun yolu kararlarını arar + **Tarih Filtreleme**
* `get_kyb_bedesten_document_markdown(documentId: str)`: Karar metni * `get_kyb_bedesten_document_markdown(documentId: str)`: Karar metni
* **Emsal Karar Araçları:** * **Emsal Karar Araçları:**
@@ -138,6 +139,7 @@ Bu FastMCP sunucusu aşağıdaki temel araçları sunar:
- **Toplam Mahkeme/Kurum:** 11 farklı hukuki kurum - **Toplam Mahkeme/Kurum:** 11 farklı hukuki kurum
- **Toplam MCP Tool:** 30+ arama ve belge getirme aracı - **Toplam MCP Tool:** 30+ arama ve belge getirme aracı
- **Daire/Kurul Filtreleme:** 79 farklı seçenek (52 Yargıtay + 27 Danıştay) - **Daire/Kurul Filtreleme:** 79 farklı seçenek (52 Yargıtay + 27 Danıştay)
- **Tarih Filtreleme:** 5 Bedesten API aracında ISO 8601 formatında tam tarih aralığı desteği
- **API Kaynağı:** Dual/Triple API desteği ile maksimum kapsama - **API Kaynağı:** Dual/Triple API desteği ile maksimum kapsama
- **Tam Türk Adalet Sistemi:** Yerel mahkemelerden en yüksek mahkemelere kadar - **Tam Türk Adalet Sistemi:** Yerel mahkemelerden en yüksek mahkemelere kadar
@@ -146,12 +148,17 @@ Bu FastMCP sunucusu aşağıdaki temel araçları sunar:
Yerel Mahkemeler → İstinaf → Yargıtay/Danıştay → Anayasa Mahkemesi Yerel Mahkemeler → İstinaf → Yargıtay/Danıştay → Anayasa Mahkemesi
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
Bedesten API Bedesten API Dual/Triple API Norm+Bireysel API Bedesten API Bedesten API Dual/Triple API Norm+Bireysel API
+ Tarih + Tarih + Daire + Tarih + Gelişmiş
Filtreleme Filtreleme Filtreleme Arama
``` ```
**⚖️ Kapsamlı Daire Filtreleme:** **⚖️ Kapsamlı Filtreleme Özellikleri:**
- **Daire Filtreleme:** 79 seçenek (52 Yargıtay + 27 Danıştay)
- **Yargıtay:** 52 seçenek (1-23 Hukuk, 1-23 Ceza, Genel Kurullar, Başkanlar Kurulu) - **Yargıtay:** 52 seçenek (1-23 Hukuk, 1-23 Ceza, Genel Kurullar, Başkanlar Kurulu)
- **Danıştay:** 27 seçenek (1-17 Daireler, İdare/Vergi Kurulları, Askeri Mahkemeler) - **Danıştay:** 27 seçenek (1-17 Daireler, İdare/Vergi Kurulları, Askeri Mahkemeler)
- **Toplam:** 79 farklı mahkeme dairesi/kurulu - **Tarih Filtreleme:** 5 Bedesten API aracında ISO 8601 formatı (YYYY-MM-DDTHH:MM:SS.000Z)
- Tek tarih, tarih aralığı, tek taraflı filtreleme desteği
- Yargıtay, Danıştay, Yerel Hukuk, İstinaf Hukuk, KYB kararları
📜 **Lisans** 📜 **Lisans**
+11
View File
@@ -2,6 +2,7 @@
from pydantic import BaseModel, Field from pydantic import BaseModel, Field
from typing import List, Optional, Dict, Any, Literal, Union from typing import List, Optional, Dict, Any, Literal, Union
from datetime import datetime
# Import YargitayBirimEnum for chamber filtering # Import YargitayBirimEnum for chamber filtering
from yargitay_mcp_module.models import YargitayBirimEnum from yargitay_mcp_module.models import YargitayBirimEnum
@@ -53,6 +54,16 @@ class BedestenSearchData(BaseModel):
- 'İçtihatları Birleştirme Kurulu', 'İdari İşler Kurulu', 'Başkanlar Kurulu' - 'İçtihatları Birleştirme Kurulu', 'İdari İşler Kurulu', 'Başkanlar Kurulu'
- Military courts: 'Askeri Yüksek İdare Mahkemesi' variants - Military courts: 'Askeri Yüksek İdare Mahkemesi' variants
""") """)
kararTarihiStart: Optional[str] = Field(None, description="""
Decision start date filter (optional). Format: YYYY-MM-DDTHH:MM:SS.000Z
Example: "2024-01-01T00:00:00.000Z"
Use with kararTarihiEnd for date range filtering
""")
kararTarihiEnd: Optional[str] = Field(None, description="""
Decision end date filter (optional). Format: YYYY-MM-DDTHH:MM:SS.000Z
Example: "2024-12-31T23:59:59.999Z"
Use with kararTarihiStart for date range filtering
""")
sortFields: List[str] = ["KARAR_TARIHI"] sortFields: List[str] = ["KARAR_TARIHI"]
sortDirection: str = "desc" sortDirection: str = "desc"
+73 -13
View File
@@ -791,6 +791,16 @@ async def search_yargitay_bedesten(
'Ceza Daireleri Başkanlar Kurulu' (Criminal Chambers Presidents Board) 'Ceza Daireleri Başkanlar Kurulu' (Criminal Chambers Presidents Board)
'Büyük Genel Kurulu' (Grand General Assembly) 'Büyük Genel Kurulu' (Grand General Assembly)
Total: 49 chamber options Total: 49 chamber options
"""),
kararTarihiStart: Optional[str] = Field(None, description="""
Decision start date filter (optional). Format: YYYY-MM-DDTHH:MM:SS.000Z
Example: "2024-01-01T00:00:00.000Z" for decisions from Jan 1, 2024
Use with kararTarihiEnd for date range filtering
"""),
kararTarihiEnd: Optional[str] = Field(None, description="""
Decision end date filter (optional). Format: YYYY-MM-DDTHH:MM:SS.000Z
Example: "2024-12-31T23:59:59.999Z" for decisions until Dec 31, 2024
Use with kararTarihiStart for date range filtering
""") """)
) -> dict: ) -> dict:
""" """
@@ -805,12 +815,14 @@ async def search_yargitay_bedesten(
pageNumber=pageNumber, pageNumber=pageNumber,
itemTypeList=["YARGITAYKARARI"], # Only Yargıtay decisions itemTypeList=["YARGITAYKARARI"], # Only Yargıtay decisions
phrase=phrase, phrase=phrase,
birimAdi=birimAdi birimAdi=birimAdi,
kararTarihiStart=kararTarihiStart,
kararTarihiEnd=kararTarihiEnd
) )
search_request = BedestenSearchRequest(data=search_data) search_request = BedestenSearchRequest(data=search_data)
logger.info(f"Tool 'search_yargitay_bedesten' called: phrase='{phrase}', birimAdi='{birimAdi}', page={pageNumber}") logger.info(f"Tool 'search_yargitay_bedesten' called: phrase='{phrase}', birimAdi='{birimAdi}', dateRange='{kararTarihiStart}' to '{kararTarihiEnd}', page={pageNumber}")
try: try:
response = await bedesten_client_instance.search_documents(search_request) response = await bedesten_client_instance.search_documents(search_request)
@@ -860,6 +872,16 @@ async def search_danistay_bedesten(
• Special Councils: 'İçtihatları Birleştirme Kurulu', 'İdari İşler Kurulu', 'Başkanlar Kurulu' • Special Councils: 'İçtihatları Birleştirme Kurulu', 'İdari İşler Kurulu', 'Başkanlar Kurulu'
• Military: 'Askeri Yüksek İdare Mahkemesi' and its chambers/councils • Military: 'Askeri Yüksek İdare Mahkemesi' and its chambers/councils
Total: 27 chamber options Total: 27 chamber options
"""),
kararTarihiStart: Optional[str] = Field(None, description="""
Decision start date filter (optional). Format: YYYY-MM-DDTHH:MM:SS.000Z
Example: "2024-01-01T00:00:00.000Z" for decisions from Jan 1, 2024
Use with kararTarihiEnd for date range filtering
"""),
kararTarihiEnd: Optional[str] = Field(None, description="""
Decision end date filter (optional). Format: YYYY-MM-DDTHH:MM:SS.000Z
Example: "2024-12-31T23:59:59.999Z" for decisions until Dec 31, 2024
Use with kararTarihiStart for date range filtering
""") """)
) -> dict: ) -> dict:
""" """
@@ -874,12 +896,14 @@ async def search_danistay_bedesten(
pageNumber=pageNumber, pageNumber=pageNumber,
itemTypeList=["DANISTAYKARAR"], # Only Danıştay decisions itemTypeList=["DANISTAYKARAR"], # Only Danıştay decisions
phrase=phrase, phrase=phrase,
birimAdi=birimAdi birimAdi=birimAdi,
kararTarihiStart=kararTarihiStart,
kararTarihiEnd=kararTarihiEnd
) )
search_request = BedestenSearchRequest(data=search_data) search_request = BedestenSearchRequest(data=search_data)
logger.info(f"Tool 'search_danistay_bedesten' called: phrase='{phrase}', birimAdi='{birimAdi}', page={pageNumber}") logger.info(f"Tool 'search_danistay_bedesten' called: phrase='{phrase}', birimAdi='{birimAdi}', dateRange='{kararTarihiStart}' to '{kararTarihiEnd}', page={pageNumber}")
try: try:
response = await bedesten_client_instance.search_documents(search_request) response = await bedesten_client_instance.search_documents(search_request)
@@ -920,7 +944,17 @@ async def get_danistay_bedesten_document_markdown(
async def search_yerel_hukuk_bedesten( async def search_yerel_hukuk_bedesten(
phrase: str = Field(..., description="Aranacak kavram/kelime"), phrase: str = Field(..., description="Aranacak kavram/kelime"),
pageSize: int = Field(10, ge=1, le=100, description="Sayfa başına sonuç sayısı"), pageSize: int = Field(10, ge=1, le=100, description="Sayfa başına sonuç sayısı"),
pageNumber: int = Field(1, ge=1, description="Sayfa numarası") pageNumber: int = Field(1, ge=1, description="Sayfa numarası"),
kararTarihiStart: Optional[str] = Field(None, description="""
Decision start date filter (optional). Format: YYYY-MM-DDTHH:MM:SS.000Z
Example: "2024-01-01T00:00:00.000Z" for decisions from Jan 1, 2024
Use with kararTarihiEnd for date range filtering
"""),
kararTarihiEnd: Optional[str] = Field(None, description="""
Decision end date filter (optional). Format: YYYY-MM-DDTHH:MM:SS.000Z
Example: "2024-12-31T23:59:59.999Z" for decisions until Dec 31, 2024
Use with kararTarihiStart for date range filtering
""")
) -> dict: ) -> dict:
""" """
Searches Yerel Hukuk Mahkemesi (Local Civil Court) decisions using Bedesten API. Searches Yerel Hukuk Mahkemesi (Local Civil Court) decisions using Bedesten API.
@@ -933,12 +967,14 @@ async def search_yerel_hukuk_bedesten(
pageSize=pageSize, pageSize=pageSize,
pageNumber=pageNumber, pageNumber=pageNumber,
itemTypeList=["YERELHUKUK"], # Local Civil Court decisions itemTypeList=["YERELHUKUK"], # Local Civil Court decisions
phrase=phrase phrase=phrase,
kararTarihiStart=kararTarihiStart,
kararTarihiEnd=kararTarihiEnd
) )
search_request = BedestenSearchRequest(data=search_data) search_request = BedestenSearchRequest(data=search_data)
logger.info(f"Tool 'search_yerel_hukuk_bedesten' called: phrase='{phrase}', page={pageNumber}") logger.info(f"Tool 'search_yerel_hukuk_bedesten' called: phrase='{phrase}', dateRange='{kararTarihiStart}' to '{kararTarihiEnd}', page={pageNumber}")
try: try:
response = await bedesten_client_instance.search_documents(search_request) response = await bedesten_client_instance.search_documents(search_request)
@@ -979,7 +1015,17 @@ async def get_yerel_hukuk_bedesten_document_markdown(
async def search_istinaf_hukuk_bedesten( async def search_istinaf_hukuk_bedesten(
phrase: str = Field(..., description="Aranacak kavram/kelime"), phrase: str = Field(..., description="Aranacak kavram/kelime"),
pageSize: int = Field(10, ge=1, le=100, description="Sayfa başına sonuç sayısı"), pageSize: int = Field(10, ge=1, le=100, description="Sayfa başına sonuç sayısı"),
pageNumber: int = Field(1, ge=1, description="Sayfa numarası") pageNumber: int = Field(1, ge=1, description="Sayfa numarası"),
kararTarihiStart: Optional[str] = Field(None, description="""
Decision start date filter (optional). Format: YYYY-MM-DDTHH:MM:SS.000Z
Example: "2024-01-01T00:00:00.000Z" for decisions from Jan 1, 2024
Use with kararTarihiEnd for date range filtering
"""),
kararTarihiEnd: Optional[str] = Field(None, description="""
Decision end date filter (optional). Format: YYYY-MM-DDTHH:MM:SS.000Z
Example: "2024-12-31T23:59:59.999Z" for decisions until Dec 31, 2024
Use with kararTarihiStart for date range filtering
""")
) -> dict: ) -> dict:
""" """
Searches İstinaf Hukuk Mahkemesi (Civil Court of Appeals) decisions using Bedesten API. Searches İstinaf Hukuk Mahkemesi (Civil Court of Appeals) decisions using Bedesten API.
@@ -995,12 +1041,14 @@ async def search_istinaf_hukuk_bedesten(
pageSize=pageSize, pageSize=pageSize,
pageNumber=pageNumber, pageNumber=pageNumber,
itemTypeList=["ISTINAFHUKUK"], # Civil Court of Appeals decisions itemTypeList=["ISTINAFHUKUK"], # Civil Court of Appeals decisions
phrase=phrase phrase=phrase,
kararTarihiStart=kararTarihiStart,
kararTarihiEnd=kararTarihiEnd
) )
search_request = BedestenSearchRequest(data=search_data) search_request = BedestenSearchRequest(data=search_data)
logger.info(f"Tool 'search_istinaf_hukuk_bedesten' called: phrase='{phrase}', page={pageNumber}") logger.info(f"Tool 'search_istinaf_hukuk_bedesten' called: phrase='{phrase}', dateRange='{kararTarihiStart}' to '{kararTarihiEnd}', page={pageNumber}")
try: try:
response = await bedesten_client_instance.search_documents(search_request) response = await bedesten_client_instance.search_documents(search_request)
@@ -1041,7 +1089,17 @@ async def get_istinaf_hukuk_bedesten_document_markdown(
async def search_kyb_bedesten( async def search_kyb_bedesten(
phrase: str = Field(..., description="Aranacak kavram/kelime"), phrase: str = Field(..., description="Aranacak kavram/kelime"),
pageSize: int = Field(10, ge=1, le=100, description="Sayfa başına sonuç sayısı"), pageSize: int = Field(10, ge=1, le=100, description="Sayfa başına sonuç sayısı"),
pageNumber: int = Field(1, ge=1, description="Sayfa numarası") pageNumber: int = Field(1, ge=1, description="Sayfa numarası"),
kararTarihiStart: Optional[str] = Field(None, description="""
Decision start date filter (optional). Format: YYYY-MM-DDTHH:MM:SS.000Z
Example: "2024-01-01T00:00:00.000Z" for decisions from Jan 1, 2024
Use with kararTarihiEnd for date range filtering
"""),
kararTarihiEnd: Optional[str] = Field(None, description="""
Decision end date filter (optional). Format: YYYY-MM-DDTHH:MM:SS.000Z
Example: "2024-12-31T23:59:59.999Z" for decisions until Dec 31, 2024
Use with kararTarihiStart for date range filtering
""")
) -> dict: ) -> dict:
""" """
Searches Kanun Yararına Bozma (KYB - Extraordinary Appeal) decisions using Bedesten API. Searches Kanun Yararına Bozma (KYB - Extraordinary Appeal) decisions using Bedesten API.
@@ -1058,12 +1116,14 @@ async def search_kyb_bedesten(
pageSize=pageSize, pageSize=pageSize,
pageNumber=pageNumber, pageNumber=pageNumber,
itemTypeList=["KYB"], # Kanun Yararına Bozma decisions itemTypeList=["KYB"], # Kanun Yararına Bozma decisions
phrase=phrase phrase=phrase,
kararTarihiStart=kararTarihiStart,
kararTarihiEnd=kararTarihiEnd
) )
search_request = BedestenSearchRequest(data=search_data) search_request = BedestenSearchRequest(data=search_data)
logger.info(f"Tool 'search_kyb_bedesten' called: phrase='{phrase}', page={pageNumber}") logger.info(f"Tool 'search_kyb_bedesten' called: phrase='{phrase}', dateRange='{kararTarihiStart}' to '{kararTarihiEnd}', page={pageNumber}")
try: try:
response = await bedesten_client_instance.search_documents(search_request) response = await bedesten_client_instance.search_documents(search_request)