Source code for agent_inspect.metrics.utils.trace_validators

from typing import List

from agent_inspect.exception.error_codes import ErrorCode
from agent_inspect.exception import InvalidInputValueError
from agent_inspect.models.metrics.agent_trace import TurnTrace


[docs] class TraceValidator: """ A utility class for validating agent turn traces. """ @staticmethod def validate_turn_traces(agent_turn_traces: List[TurnTrace]) -> None: for turn_trace in agent_turn_traces: TraceValidator.validate_agent_input(turn_trace) TraceValidator.validate_agent_response(turn_trace) @staticmethod def validate_agent_input(agent_turn_trace: TurnTrace) -> None: if not agent_turn_trace.agent_input: raise InvalidInputValueError(internal_code=ErrorCode.MISSING_VALUE.value, message=f"Turn :{agent_turn_trace.id} is missing agent input.") @staticmethod def validate_agent_response(agent_turn_trace: TurnTrace) -> None: if not agent_turn_trace.agent_response or not agent_turn_trace.agent_response.response: raise InvalidInputValueError(internal_code=ErrorCode.MISSING_VALUE.value, message=f"Turn :{agent_turn_trace.id} is missing agent response.")