optimize token usage
This commit is contained in:
+14
-2
@@ -42,7 +42,7 @@ def create_app():
|
|||||||
from yargitay_mcp_module.client import YargitayOfficialApiClient
|
from yargitay_mcp_module.client import YargitayOfficialApiClient
|
||||||
from yargitay_mcp_module.models import (
|
from yargitay_mcp_module.models import (
|
||||||
YargitayDetailedSearchRequest, YargitayDocumentMarkdown, CompactYargitaySearchResult,
|
YargitayDetailedSearchRequest, YargitayDocumentMarkdown, CompactYargitaySearchResult,
|
||||||
YargitayBirimEnum
|
YargitayBirimEnum, CleanYargitayDecisionEntry
|
||||||
)
|
)
|
||||||
from bedesten_mcp_module.client import BedestenApiClient
|
from bedesten_mcp_module.client import BedestenApiClient
|
||||||
from bedesten_mcp_module.models import (
|
from bedesten_mcp_module.models import (
|
||||||
@@ -1004,8 +1004,20 @@ async def search_yargitay_detailed(
|
|||||||
try:
|
try:
|
||||||
api_response = await yargitay_client_instance.search_detailed_decisions(search_query)
|
api_response = await yargitay_client_instance.search_detailed_decisions(search_query)
|
||||||
if api_response.data:
|
if api_response.data:
|
||||||
|
# Convert to clean decision entries without arananKelime field
|
||||||
|
clean_decisions = [
|
||||||
|
CleanYargitayDecisionEntry(
|
||||||
|
id=decision.id,
|
||||||
|
daire=decision.daire,
|
||||||
|
esasNo=decision.esasNo,
|
||||||
|
kararNo=decision.kararNo,
|
||||||
|
kararTarihi=decision.kararTarihi,
|
||||||
|
document_url=decision.document_url
|
||||||
|
)
|
||||||
|
for decision in api_response.data.data
|
||||||
|
]
|
||||||
return CompactYargitaySearchResult(
|
return CompactYargitaySearchResult(
|
||||||
decisions=api_response.data.data,
|
decisions=clean_decisions,
|
||||||
total_records=api_response.data.recordsTotal,
|
total_records=api_response.data.recordsTotal,
|
||||||
requested_page=search_query.pageNumber,
|
requested_page=search_query.pageNumber,
|
||||||
page_size=search_query.pageSize)
|
page_size=search_query.pageSize)
|
||||||
|
|||||||
@@ -64,7 +64,6 @@ class YargitayApiDecisionEntry(BaseModel):
|
|||||||
esasNo: Optional[str] = Field(None, alias="esasNo", description="Case no")
|
esasNo: Optional[str] = Field(None, alias="esasNo", description="Case no")
|
||||||
kararNo: Optional[str] = Field(None, alias="kararNo", description="Decision no")
|
kararNo: Optional[str] = Field(None, alias="kararNo", description="Decision no")
|
||||||
kararTarihi: Optional[str] = Field(None, alias="kararTarihi", description="Date")
|
kararTarihi: Optional[str] = Field(None, alias="kararTarihi", description="Date")
|
||||||
arananKelime: Optional[str] = Field(None, alias="arananKelime", description="Keyword")
|
|
||||||
# 'index' and 'siraNo' from API response are not critical for MCP tool, so omitted for brevity
|
# 'index' and 'siraNo' from API response are not critical for MCP tool, so omitted for brevity
|
||||||
|
|
||||||
# This field will be populated by the client after fetching the search list
|
# This field will be populated by the client after fetching the search list
|
||||||
@@ -91,9 +90,18 @@ class YargitayDocumentMarkdown(BaseModel):
|
|||||||
markdown_content: Optional[str] = Field(None, description="Content")
|
markdown_content: Optional[str] = Field(None, description="Content")
|
||||||
source_url: HttpUrl = Field(..., description="Source URL")
|
source_url: HttpUrl = Field(..., description="Source URL")
|
||||||
|
|
||||||
|
class CleanYargitayDecisionEntry(BaseModel):
|
||||||
|
"""Clean decision entry without arananKelime field to reduce token usage."""
|
||||||
|
id: str
|
||||||
|
daire: Optional[str] = Field(None, description="Chamber")
|
||||||
|
esasNo: Optional[str] = Field(None, description="Case no")
|
||||||
|
kararNo: Optional[str] = Field(None, description="Decision no")
|
||||||
|
kararTarihi: Optional[str] = Field(None, description="Date")
|
||||||
|
document_url: Optional[HttpUrl] = Field(None, description="Document URL")
|
||||||
|
|
||||||
class CompactYargitaySearchResult(BaseModel):
|
class CompactYargitaySearchResult(BaseModel):
|
||||||
"""A more compact search result model for the MCP tool to return."""
|
"""A more compact search result model for the MCP tool to return."""
|
||||||
decisions: List[YargitayApiDecisionEntry]
|
decisions: List[CleanYargitayDecisionEntry]
|
||||||
total_records: int
|
total_records: int
|
||||||
requested_page: int
|
requested_page: int
|
||||||
page_size: int
|
page_size: int
|
||||||
Reference in New Issue
Block a user