""" Asset-specific exception classes for the markitect assets module. This module provides a hierarchy of exceptions specific to asset management operations, following the same patterns as the main markitect exception hierarchy. """ from markitect.exceptions import MarkitectError class AssetError(MarkitectError): """Base exception for all asset management operations. Raised when: - Asset file operations fail - Asset validation errors occur - General asset management issues """ pass class RegistryError(AssetError): """Errors related to asset registry operations. Raised when: - Registry file read/write operations fail - Registry data corruption is detected - Registry validation fails """ pass class DeduplicationError(AssetError): """Errors related to asset deduplication operations. Raised when: - Deduplication storage operations fail - Symlink creation fails (and fallback fails too) - Asset integrity verification fails """ pass class PackagingError(AssetError): """Errors related to package creation and extraction. Raised when: - Package creation fails - Package extraction fails - Manifest validation errors - ZIP file operation errors """ pass class AssetManagerError(AssetError): """Errors in high-level asset manager operations. Raised when: - Configuration validation fails - Component initialization fails - High-level workflow errors occur """ pass