""" Bootstrap module to register concrete service implementations into the core kernel registry. This decouples backend/core from backend/app while allowing core to use app services. """ import logging # Import concrete services from app.modules.audit.service import audit_service from app.modules.auth.service import auth_service from app.services.ai.ai_service import AIService from app.services.infrastructure.monitoring_service import monitoring_service from app.services.infrastructure.performance_monitor import performance_monitor from app.services.infrastructure.storage.database_service import db_service from core.infrastructure.registry import kernel_registry logger = logging.getLogger(__name__) def bootstrap_kernel(): """Register all services in the kernel registry.""" logger.info("Bootstrapping kernel service registry...") try: # 1. Audit Service kernel_registry.audit_service = audit_service # 2. Auth Service kernel_registry.auth_service = auth_service # 3. AI Service (Instance) # We'll create a shared instance if needed or use a singleton if it exists # AIService in ai_service.py doesn't have a singleton yet, let's create one. ai_service_instance = AIService() kernel_registry.ai_service = ai_service_instance # 4. Monitoring Service kernel_registry.monitoring_service = monitoring_service # 5. Performance Monitor kernel_registry.performance_monitor = performance_monitor # 6. Database Service kernel_registry.db_service = db_service logger.info("Kernel service registry successfully bootstrapped.") except Exception as e: logger.error(f"Failed to bootstrap kernel registry: {e}") # Note: We don't raise here to allow app to start in degraded mode if possible, # but core features using these services will fallback gracefully.