"""Stable relay error types surfaced to callers and MCP tools.""" from __future__ import annotations class RelayError(Exception): """Base error with a stable public code.""" code = "relay_error" class ValidationError(RelayError): code = "validation_error" class PermissionDenied(RelayError): code = "permission_denied" class NotFound(RelayError): code = "not_found" class Conflict(RelayError): code = "conflict" class ProviderUnavailable(RelayError): code = "provider_unavailable" class AuthorityUnavailable(RelayError): code = "authority_unavailable"