""" Legacy Compatibility System for MarkiTect CLI This module provides comprehensive legacy compatibility management allowing deprecated interfaces to be controlled via versioned switches while providing clear migration paths and automated lifecycle management. Key Components: - LegacyRegistry: Central registry of legacy interfaces and their versions - LegacySwitch: Version-controlled behavior switches (--legacy-v1, etc.) - DeprecationManager: Graduated deprecation warnings and lifecycle - LegacyAgent: Automated legacy interface management - GitStateTracker: Binding legacy versions to specific git commits Architecture: CLI Layer -> LegacySwitch -> LegacyRegistry -> LegacyAgent -> GitStateTracker Example Usage: # CLI with legacy support @click.option('--legacy-v1', is_flag=True, help='Use v1.0 legacy behavior') def my_command(legacy_v1): registry = LegacyRegistry() if legacy_v1: return registry.execute_legacy('my_command', 'v1.0', args) return new_implementation(args) """ from .registry import LegacyRegistry, LegacyStatus from .switches import LegacySwitch, legacy_option, with_legacy_support from .deprecation import DeprecationManager, DeprecationLevel from .agent import LegacyAgent, AgentConfig from .git_tracker import GitStateTracker from .compatibility import CompatibilityLayer from .exceptions import LegacyError, LegacyVersionNotFoundError, DeprecationError __all__ = [ 'LegacyRegistry', 'LegacyStatus', 'LegacySwitch', 'legacy_option', 'with_legacy_support', 'DeprecationManager', 'DeprecationLevel', 'LegacyAgent', 'AgentConfig', 'GitStateTracker', 'CompatibilityLayer', 'LegacyError', 'LegacyVersionNotFoundError', 'DeprecationError' ] __version__ = '1.0.0'