""" Asset management module for MarkiTect. This module provides comprehensive asset management capabilities including: - Content-addressable asset storage with deduplication - JSON-based asset registry and metadata management - Cross-platform symlink support with Windows fallback - ZIP-based .mdpkg package creation and extraction - High-level API for coordinating all asset operations The module follows the Content-Addressable Package System with Symlinks approach, providing efficient storage, deduplication, and cross-platform compatibility. Key Classes: AssetManager: High-level API coordinator for all asset operations AssetRegistry: JSON-based asset metadata persistence and hashing AssetDeduplicator: Content-based deduplication with symlink support MarkdownPackager: .mdpkg package creation and extraction Usage: from markitect.assets import AssetManager # Initialize asset manager manager = AssetManager() # Add an asset result = manager.add_asset(Path("image.png"), "Project logo") # Create a package manager.create_package(Path("project/"), Path("project.mdpkg")) # Extract a package manager.extract_package(Path("project.mdpkg"), Path("workspace/")) """ from .manager import AssetManager from .registry import AssetRegistry from .deduplicator import AssetDeduplicator from .packager import MarkdownPackager from .exceptions import ( AssetError, RegistryError, DeduplicationError, PackagingError, AssetManagerError ) from .constants import ( DEFAULT_CONFIG, PACKAGE_EXTENSION, MANIFEST_FORMAT_VERSION, DEFAULT_EXCLUDE_PATTERNS, CONFLICT_RESOLUTION_OPTIONS ) __version__ = "1.0.0" # Public API exports __all__ = [ # Main classes 'AssetManager', 'AssetRegistry', 'AssetDeduplicator', 'MarkdownPackager', # Exceptions 'AssetError', 'RegistryError', 'DeduplicationError', 'PackagingError', 'AssetManagerError', # Constants 'DEFAULT_CONFIG', 'PACKAGE_EXTENSION', 'MANIFEST_FORMAT_VERSION', 'DEFAULT_EXCLUDE_PATTERNS', 'CONFLICT_RESOLUTION_OPTIONS' ]