from typing import Optional, Any class AppError(Exception): def __init__(self, message: str, context: Optional[dict[str, Any]] = None): super().__init__(message) self.message = message self.context = context or {} class GuardRejectionError(AppError): pass class CacheError(AppError): pass class RetrievalError(AppError): pass class GenerationError(AppError): pass class PipelineError(AppError): pass class IngestionError(AppError): pass