from pydantic import BaseModel from typing import Dict, Any, Optional, Literal # Deifição de como vou pedir os parâmetros de cada item. class ChatRequest(BaseModel): message: str user_id: Optional[int] = None class ChatResponse(BaseModel): response: str class ToolCreate(BaseModel): name: str description: str parameters: Dict[str, Any] class ToolResponse(BaseModel): id: int name: str description: str parameters: Dict[str, Any] class Config: from_attributes = True class ConsultarEstoqueRequest(BaseModel): preco_max: Optional[float] = None categoria: Optional[str] = None ordenar_preco: Optional[Literal["asc", "desc"]] = None limite: Optional[int] = None class ValidarClienteVendaRequest(BaseModel): cpf: str valor_veiculo: float class HidratarClienteMockRequest(BaseModel): cpf: str user_id: Optional[int] = None class AvaliarVeiculoTrocaRequest(BaseModel): modelo: str ano: int km: int class AgendarRevisaoRequest(BaseModel): placa: str data_hora: str modelo: str ano: int km: int revisao_previa_concessionaria: bool user_id: Optional[int] = None class ListarAgendamentosRevisaoRequest(BaseModel): user_id: Optional[int] = None placa: Optional[str] = None status: Optional[str] = None limite: Optional[int] = 20 class CancelarAgendamentoRevisaoRequest(BaseModel): protocolo: str motivo: Optional[str] = None user_id: Optional[int] = None class EditarDataRevisaoRequest(BaseModel): protocolo: str nova_data_hora: str user_id: Optional[int] = None class CancelarPedidoRequest(BaseModel): numero_pedido: str motivo: str user_id: Optional[int] = None class RealizarPedidoRequest(BaseModel): cpf: str valor_veiculo: float user_id: Optional[int] = None