ai-lawyer-agent/api/tools/civil_proceedings.py
2026-03-16 03:16:02 +01:00

56 lines
2.1 KiB
Python

from api.fetch_api_data import fetch_api_data
from api.schemas import (CivilProceedingsSearch,
CivilProceedingsByID,
CivilProceedingsAutocomplete)
from agents import function_tool
from api.config import JUSTICE_API_BASE
class CivilProceedingsAPI:
@function_tool
async def civil_proceedings(self, params: CivilProceedingsSearch) -> dict:
"""
Fetch a list of civil proceedings and publicly announced judgments
from the Justice API with optional filtering.
Args:
params (CivilProceedingsSearch): Filtering and pagination parameters.
Returns:
dict: A dictionary containing a list of civil proceedings and related metadata.
"""
url = f"{JUSTICE_API_BASE}/v1/obcianPojednavania"
return await fetch_api_data(icon="🖊️", url=url, params=params.model_dump(exclude_none=True))
@function_tool
async def civil_proceedings_id(self, params: CivilProceedingsByID) -> dict:
"""
Fetch detailed information about a specific civil proceeding
and publicly announced judgment by its identifier.
Args:
params (CivilProceedingsByID): Unique identifier of the civil proceeding.
Returns:
dict: Details of the specified civil proceeding and judgment.
"""
url = f"{JUSTICE_API_BASE}/v1/obcianPojednavania/{params.id}"
return await fetch_api_data(icon="🖊️", url=url, params={})
@function_tool
async def civil_proceedings_autocomplete(self, params: CivilProceedingsAutocomplete) -> dict:
"""
Fetch autocomplete suggestions for civil proceeding search terms.
Args:
params (CivilProceedingsAutocomplete): Parameters for autocomplete query (e.g., partial text).
Returns:
dict: Suggested values matching the input query.
"""
url = f"{JUSTICE_API_BASE}/v1/obcianPojednavania/autocomplete"
return await fetch_api_data(icon="🖊️", url=url, params=params.model_dump(exclude_none=True))