""" Schema Validator Validates tool manifests and tool calls against their schemas. """ from pydantic import ValidationError from tools.schemas.manifest import ToolManifest from tools.schemas.tool_call import ToolCallRequest class ManifestValidationError(Exception): """Manifest validation error""" pass class ToolCallValidationError(Exception): """Tool call validation error""" pass def validate_manifest(data: dict) -> ToolManifest: """Validate manifest data against ToolManifest schema""" try: return ToolManifest(**data) except ValidationError as e: raise ManifestValidationError(str(e)) def validate_tool_call(data: dict) -> ToolCallRequest: """Validate tool call request against ToolCallRequest schema""" try: return ToolCallRequest(**data) except ValidationError as e: raise ToolCallValidationError(str(e))