"""{{ domain }} — {{ description }}.

Tools:
  {{ domain }}_{{ verb }} — {{ description }}
"""

from pydantic import BaseModel
from vivesca.schemas import ToolOutput

from fastmcp.tools import tool
from mcp.types import ToolAnnotations


class {{ class_name }}Result(ToolOutput):
    """Structured output for {{ domain }}_{{ verb }}.

    Define your output fields here. Every field becomes part of
    the outputSchema that agents can rely on.
    """

    # TODO: Define output fields
    message: str


@tool(
    name="{{ domain }}_{{ verb }}",
    description="{{ description }}",
    annotations=ToolAnnotations(readOnlyHint={{ read_only }}),
)
def {{ domain }}_{{ verb }}() -> {{ class_name }}Result:
    """{{ description }}.

    Args:
        TODO: Define parameters above and document them here.
    """
    # TODO: Implement — call a service or CLI, return structured output
    raise NotImplementedError("Implement {{ domain }}_{{ verb }}")