From 7a1ff0b9ed5c4eedb9644a5c879d234ee72fec34 Mon Sep 17 00:00:00 2001 From: saidsurucu Date: Thu, 17 Jul 2025 22:14:54 +0300 Subject: [PATCH] =?UTF-8?q?shorten=20say=C4=B1=C5=9Ftay=20enums?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mcp_server_main.py | 2 +- sayistay_mcp_module/client.py | 7 ++++++- sayistay_mcp_module/enums.py | 30 +++++++++++++++++++++--------- 3 files changed, 28 insertions(+), 11 deletions(-) diff --git a/mcp_server_main.py b/mcp_server_main.py index 3dc6a62..a8e5550 100644 --- a/mcp_server_main.py +++ b/mcp_server_main.py @@ -1983,7 +1983,7 @@ async def search_sayistay_unified( karar_tarih_bitis: str = Field("", description="End date (DD.MM.YYYY format)"), kamu_idaresi_turu: Literal["ALL", "Genel Bütçe Kapsamındaki İdareler", "Yüksek Öğretim Kurumları", "Diğer Özel Bütçeli İdareler", "Düzenleyici ve Denetleyici Kurumlar", "Sosyal Güvenlik Kurumları", "Özel İdareler", "Belediyeler ve Bağlı İdareler", "Diğer"] = Field("ALL", description="Public administration type filter"), ilam_no: str = Field("", description="Audit report number (İlam No, max 50 chars)"), - web_karar_konusu: Literal["ALL", "Harcırah Mevzuatı ile İlgili Kararlar", "İhale Mevzuatı ile İlgili Kararlar", "İş Mevzuatı ile İlgili Kararlar", "Personel Mevzuatı ile İlgili Kararlar", "Sorumluluk ve Yargılama Usulleri ile İlgili Kararlar", "Vergi Resmi Harç ve Diğer Gelirlerle İlgili Kararlar", "Çeşitli Konuları İlgilendiren Kararlar"] = Field("ALL", description="Decision subject category filter"), + web_karar_konusu: Literal["ALL", "Harcırah Mevzuatı", "İhale Mevzuatı", "İş Mevzuatı", "Personel Mevzuatı", "Sorumluluk ve Yargılama Usulleri", "Vergi Resmi Harç ve Diğer Gelirler", "Çeşitli Konular"] = Field("ALL", description="Decision subject category filter"), # Genel Kurul specific parameters (ignored for other types) karar_no: str = Field("", description="Decision number (genel_kurul only)"), diff --git a/sayistay_mcp_module/client.py b/sayistay_mcp_module/client.py index 952a789..234c981 100644 --- a/sayistay_mcp_module/client.py +++ b/sayistay_mcp_module/client.py @@ -16,7 +16,7 @@ from .models import ( DaireSearchRequest, DaireSearchResponse, DaireDecision, SayistayDocumentMarkdown ) -from .enums import DaireEnum, KamuIdaresiTuruEnum, WebKararKonusuEnum +from .enums import DaireEnum, KamuIdaresiTuruEnum, WebKararKonusuEnum, WEB_KARAR_KONUSU_MAPPING logger = logging.getLogger(__name__) if not logger.hasHandlers(): @@ -134,6 +134,11 @@ class SayistayApiClient: return "Tüm Kurumlar" elif enum_type == "web_karar_konusu": return "Tüm Konular" + + # Apply web_karar_konusu mapping + if enum_type == "web_karar_konusu": + return WEB_KARAR_KONUSU_MAPPING.get(enum_value, enum_value) + return enum_value def _build_datatables_params(self, start: int, length: int, draw: int = 1) -> List[Tuple[str, str]]: diff --git a/sayistay_mcp_module/enums.py b/sayistay_mcp_module/enums.py index 5a62616..de75d22 100644 --- a/sayistay_mcp_module/enums.py +++ b/sayistay_mcp_module/enums.py @@ -28,18 +28,30 @@ KamuIdaresiTuruEnum = Literal[ "Diğer" # Other ] -# Decision Subject Categories (Web Karar Konusu) +# Decision Subject Categories (Web Karar Konusu) - Shortened for token efficiency WebKararKonusuEnum = Literal[ - "ALL", # All subjects - "Harcırah Mevzuatı ile İlgili Kararlar", # Travel Allowance Legislation Related Decisions - "İhale Mevzuatı ile İlgili Kararlar", # Procurement Legislation Related Decisions - "İş Mevzuatı ile İlgili Kararlar", # Labor Legislation Related Decisions - "Personel Mevzuatı ile İlgili Kararlar", # Personnel Legislation Related Decisions - "Sorumluluk ve Yargılama Usulleri ile İlgili Kararlar", # Liability and Trial Procedures Related Decisions - "Vergi Resmi Harç ve Diğer Gelirlerle İlgili Kararlar", # Tax, Official Fee and Other Revenue Related Decisions - "Çeşitli Konuları İlgilendiren Kararlar" # Decisions Concerning Various Topics + "ALL", # All subjects + "Harcırah Mevzuatı", # Travel Allowance Legislation + "İhale Mevzuatı", # Procurement Legislation + "İş Mevzuatı", # Labor Legislation + "Personel Mevzuatı", # Personnel Legislation + "Sorumluluk ve Yargılama Usulleri", # Liability and Trial Procedures + "Vergi Resmi Harç ve Diğer Gelirler", # Tax, Official Fee and Other Revenue + "Çeşitli Konular" # Various Topics ] +# Mapping from shortened enum values to full API values +WEB_KARAR_KONUSU_MAPPING = { + "ALL": "ALL", + "Harcırah Mevzuatı": "Harcırah Mevzuatı ile İlgili Kararlar", + "İhale Mevzuatı": "İhale Mevzuatı ile İlgili Kararlar", + "İş Mevzuatı": "İş Mevzuatı ile İlgili Kararlar", + "Personel Mevzuatı": "Personel Mevzuatı ile İlgili Kararlar", + "Sorumluluk ve Yargılama Usulleri": "Sorumluluk ve Yargılama Usulleri ile İlgili Kararlar", + "Vergi Resmi Harç ve Diğer Gelirler": "Vergi Resmi Harç ve Diğer Gelirlerle İlgili Kararlar", + "Çeşitli Konular": "Çeşitli Konuları İlgilendiren Kararlar" +} + # Year ranges for different endpoints GENEL_KURUL_YEARS = [str(year) for year in range(2006, 2025)] # 2006-2024 TEMYIZ_KURULU_YEARS = [str(year) for year in range(1993, 2023)] # 1993-2022