Source code for mindroot.migrate

import os
import logging
from .lib.plugins.manifest import create_default_plugin_manifest, _get_absolute_paths, _validate_manifest

# Setup logging
logger = logging.getLogger(__name__)

[docs] def migrate_plugin_manifest(): """Migrate plugin_manifest.json from root to data/ directory if needed. This function now delegates to the consolidated manifest handling logic. """ manifest_abs_path, root_manifest_abs_path, _ = _get_absolute_paths() logger.info("Checking plugin manifest migration...") logger.debug(f"Target manifest path: {manifest_abs_path}") logger.debug(f"Source manifest path: {root_manifest_abs_path}") # Check if target manifest already exists and is valid is_valid, _ = _validate_manifest(manifest_abs_path) if is_valid: logger.info(f"Valid plugin manifest already exists at {manifest_abs_path}") return # Check if source manifest exists source_exists = os.path.exists(root_manifest_abs_path) if source_exists: logger.info(f"Found manifest to migrate from {root_manifest_abs_path}") else: logger.info("No existing plugin manifest found to migrate") # Use the consolidated manifest creation logic which handles migration try: create_default_plugin_manifest() logger.info("Plugin manifest migration/creation completed successfully") except Exception as e: logger.error(f"Plugin manifest migration failed: {e}") raise
[docs] def run_migrations(): """Run all necessary migrations.""" logger.info("Running MindRoot migrations...") try: migrate_plugin_manifest() logger.info("Migrations completed successfully") except Exception as e: logger.error(f"Migration failed: {e}") # Don't raise here - let the system continue with default manifest logger.warning("Continuing with default manifest due to migration failure")