""" 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 .batch_processor import BatchAssetProcessor, BatchImportResult, ConflictResolution from .discovery import AssetDiscoveryEngine, MarkdownScanner, AssetReference from .database import AssetDatabase, DatabaseMigration from .optimizer import AssetOptimizer, OptimizationProfile, OptimizationResult from .cache import AssetCache, CacheStrategy from .performance import PerformanceMonitor, QueryOptimizer from .analyzer import ContentAnalyzer, SimilarityDetector, AssetMetrics from .analytics import AssetAnalytics, UsageReport from .utils import ( PathUtils, ContentHasher, ProgressReporter, BaseResult, TimedOperation, BatchProcessor, ConfigurationValidator, MemoryCache, FileValidator ) 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', # Issue #144 - Advanced Features 'BatchAssetProcessor', 'BatchImportResult', 'ConflictResolution', 'AssetDiscoveryEngine', 'MarkdownScanner', 'AssetReference', 'AssetDatabase', 'DatabaseMigration', 'AssetOptimizer', 'OptimizationProfile', 'OptimizationResult', 'AssetCache', 'CacheStrategy', 'PerformanceMonitor', 'QueryOptimizer', 'ContentAnalyzer', 'SimilarityDetector', 'AssetMetrics', 'AssetAnalytics', 'UsageReport', # Utilities 'PathUtils', 'ContentHasher', 'ProgressReporter', 'BaseResult', 'TimedOperation', 'BatchProcessor', 'ConfigurationValidator', 'MemoryCache', 'FileValidator', # Exceptions 'AssetError', 'RegistryError', 'DeduplicationError', 'PackagingError', 'AssetManagerError', # Constants 'DEFAULT_CONFIG', 'PACKAGE_EXTENSION', 'MANIFEST_FORMAT_VERSION', 'DEFAULT_EXCLUDE_PATTERNS', 'CONFLICT_RESOLUTION_OPTIONS' ]