# Pydantic Template
from pydantic import BaseModel, Field
from typing import List


class FunctionCall(BaseModel):
    name: str = Field(description="Naam van de functie")
    arguments: dict = Field(description="Argumenten als JSON object")


class AgentResponse(BaseModel):
    answer: str = Field(description="Antwoord in het Nederlands")
    tool_calls: List[FunctionCall] = Field(default_factory=list)
    confidence: float = Field(ge=0.0, le=1.0)


example = AgentResponse(
    answer="Het weer is 18 graden.",
    tool_calls=[FunctionCall(name="get_weather", arguments={"city": "Amsterdam"})],
    confidence=0.95,
)
print(example.model_dump_json(indent=2))
