Source code for agent_inspect.metrics.utils.user_proxy_validators

from typing import List

from agent_inspect.exception.error_codes import UserProxyComponent, ErrorCode
from agent_inspect.exception import InvalidInputValueError
from agent_inspect.models.user_proxy.terminating_condition import TerminatingCondition



[docs] class UserProxyInputValidator: @staticmethod def validate_terminating_condition(terminating_conditions: List[TerminatingCondition]): if not terminating_conditions: raise InvalidInputValueError( component_code=UserProxyComponent.USER_PROXY_ERROR_CODE.value, internal_code=ErrorCode.MISSING_VALUE.value, message="At least one terminating condition must be provided to create User Proxy." ) for terminating_condition in terminating_conditions: if not terminating_condition.check.strip(): raise InvalidInputValueError( component_code=UserProxyComponent.USER_PROXY_ERROR_CODE.value, internal_code=ErrorCode.MISSING_VALUE.value, message="Terminating check cannot be an empty string." ) @staticmethod def validate_task_summary(task_summary: str): if not task_summary or task_summary.strip() == "": raise InvalidInputValueError( component_code=UserProxyComponent.USER_PROXY_ERROR_CODE.value, internal_code=ErrorCode.MISSING_VALUE.value, message="Task summary cannot be empty to create User Proxy." )