Files
compass_backoffice/mcp_servers/backoffice_mcp_server/models.py
2026-06-13 08:23:21 -03:00

36 lines
951 B
Python

from __future__ import annotations
from typing import Any, Dict, List, Optional
from pydantic import BaseModel, Field, AliasChoices, ConfigDict
class ToolCallRequest(BaseModel):
model_config = ConfigDict(populate_by_name=True)
# O client do seu framework envia {"tool_name": "..."}.
# Mantemos também "name" para chamadas manuais/curl.
name: str = Field(
...,
validation_alias=AliasChoices("name", "tool_name"),
description="Nome da ferramenta a executar",
)
arguments: Dict[str, Any] = Field(default_factory=dict)
context: Dict[str, Any] = Field(default_factory=dict)
class ToolCallResponse(BaseModel):
ok: bool
tool: str
result: Dict[str, Any] = Field(default_factory=dict)
error: Optional[str] = None
class ToolDefinition(BaseModel):
name: str
description: str
input_schema: Dict[str, Any]
class ToolListResponse(BaseModel):
tools: List[ToolDefinition]