from __future__ import annotations

from evalkit.metrics.tool_parameter import ToolParameterMetric
from evalkit.metrics.tool_parameter_similarity import ToolParameterSimilarityMetric
from evalkit.metrics.tool_selection import ToolSelectionMetric
from evalkit.models import Suite
from evalkit.suites.base import EvaluationSuite


def AgentToolCallSuite() -> EvaluationSuite:
    return EvaluationSuite(
        name=Suite.AGENT_TOOL_CALL,
        description="Evaluates agent tool-call behavior: tool selection, parameter accuracy, and semantic parameter similarity",
        metrics=[ToolSelectionMetric(), ToolParameterMetric(), ToolParameterSimilarityMetric()],
    )
