ai_upgrade_assistant-0.2.0-alpha2/ai_upgrade_assistant.services.yml
ai_upgrade_assistant.services.yml
services:
# Base services with no dependencies
ai_upgrade_assistant.php_parser:
class: Drupal\ai_upgrade_assistant\Service\PhpParserService
arguments:
- '@logger.factory'
- '@file_system'
ai_upgrade_assistant.subscription_manager:
class: Drupal\ai_upgrade_assistant\Service\SubscriptionManager
arguments:
- '@config.factory'
- '@state'
- '@logger.factory'
ai_upgrade_assistant.ai_model_manager:
class: Drupal\ai_upgrade_assistant\Service\AiModelManager
arguments:
- '@config.factory'
- '@cache.default'
- '@state'
- '@logger.factory'
- '@ai_upgrade_assistant.huggingface'
- '@ai_upgrade_assistant.community_learning'
# Services with dependencies
ai_upgrade_assistant.huggingface:
class: Drupal\ai_upgrade_assistant\Service\HuggingFaceService
arguments:
- '@config.factory'
- '@http_client'
- '@logger.factory'
- '@state'
- '@ai_upgrade_assistant.subscription_manager'
ai_upgrade_assistant.analysis_tracker:
class: Drupal\ai_upgrade_assistant\Service\AnalysisTracker
arguments:
- '@state'
- '@logger.factory'
- '@cache.default'
- '@queue'
- '@ai_upgrade_assistant.huggingface'
ai_upgrade_assistant.community_learning:
class: Drupal\ai_upgrade_assistant\Service\CommunityLearningService
arguments:
- '@config.factory'
- '@database'
- '@entity_type.manager'
- '@current_user'
- '@state'
- '@logger.factory'
- '@cache.default'
- '@queue'
- '@http_client'
# Main analyzer service
ai_upgrade_assistant.project_analyzer:
class: Drupal\ai_upgrade_assistant\Service\ProjectAnalyzer
arguments:
- '@module_handler'
- '@extension.list.module'
- '@config.factory'
- '@file_system'
- '@logger.factory'
- '@ai_upgrade_assistant.huggingface'
- '@ai_upgrade_assistant.php_parser'
- '@ai_upgrade_assistant.ai_model_manager'
- '@ai_upgrade_assistant.community_learning'
- '@http_client'
- '@ai_upgrade_assistant.analysis_tracker'
ai_upgrade_assistant.batch_analyzer:
class: Drupal\ai_upgrade_assistant\Service\BatchAnalyzer
arguments:
- '@ai_upgrade_assistant.project_analyzer'
- '@state'
- '@module_handler'
- '@ai_upgrade_assistant.analysis_tracker'
- '@ai_upgrade_assistant.patch_searcher'
- '@cache.default'
- '@queue'
ai_upgrade_assistant.patch_searcher:
class: Drupal\ai_upgrade_assistant\Service\PatchSearcher
arguments: ['@update.manager', '@module_handler', '@http_client', '@file_system', '@logger.factory', '@state', '@cache.default']
ai_upgrade_assistant.environment_checker:
class: Drupal\ai_upgrade_assistant\Service\EnvironmentCheckerService
arguments: ['@module_handler', '@extension.list.module', '@config.factory', '@state']
ai_upgrade_assistant.environment_detector:
class: Drupal\ai_upgrade_assistant\Service\EnvironmentDetector
arguments: ['@state']
ai_upgrade_assistant.module_analyzer:
class: Drupal\ai_upgrade_assistant\Service\ModuleAnalyzerService
arguments: ['@extension.list.module', '@file_system', '@ai_upgrade_assistant.php_parser', '@logger.factory']
ai_upgrade_assistant.update_monitor:
class: Drupal\ai_upgrade_assistant\Service\UpdateMonitorService
arguments: ['@config.factory', '@state', '@logger.factory', '@queue']
ai_upgrade_assistant.update_scheduler:
class: Drupal\ai_upgrade_assistant\Service\UpdateSchedulerService
arguments: ['@config.factory', '@state', '@logger.factory', '@queue', '@datetime.time']
ai_upgrade_assistant.update_history:
class: Drupal\ai_upgrade_assistant\Service\UpdateHistoryService
arguments: ['@database', '@datetime.time', '@current_user']
ai_upgrade_assistant.achievement:
class: Drupal\ai_upgrade_assistant\Service\AchievementService
arguments: ['@config.factory', '@state', '@logger.factory', '@current_user', '@database']
ai_upgrade_assistant.pattern_learning_manager:
class: Drupal\ai_upgrade_assistant\Service\MachineLearning\PatternLearningManager
arguments: ['@ai_upgrade_assistant.php_parser', '@logger.factory', '@cache.default']
ai_upgrade_assistant.upgrade_path_generator:
class: Drupal\ai_upgrade_assistant\Service\UpgradePathGenerator
arguments: ['@ai_upgrade_assistant.project_analyzer', '@ai_upgrade_assistant.module_analyzer', '@logger.factory']
ai_upgrade_assistant.cache_collector:
class: Drupal\ai_upgrade_assistant\Cache\AiUpgradeCacheCollector
arguments: ['@cache_factory', '@logger.factory']
ai_upgrade_assistant.cache_warmup:
class: Drupal\ai_upgrade_assistant\Cache\AiUpgradeWarmupHelper
arguments: ['@cache_factory', '@queue', '@logger.factory']
ai_upgrade_assistant.dynamic_permission:
class: Drupal\ai_upgrade_assistant\Access\DynamicPermissionHandler
arguments: ['@module_handler', '@current_user']
ai_upgrade_assistant.upgrade_controller:
class: Drupal\ai_upgrade_assistant\Controller\UpgradeController
arguments:
- '@state'
- '@module_handler'
- '@extension.list.module'
- '@ai_upgrade_assistant.project_analyzer'
- '@ai_upgrade_assistant.patch_searcher'
- '@ai_upgrade_assistant.batch_analyzer'
ai_upgrade_assistant.patch_validator:
class: Drupal\ai_upgrade_assistant\Service\PatchValidator
arguments: ['@file_system', '@logger.factory', '@config.factory', '@ai_upgrade_assistant.php_parser']
ai_upgrade_assistant.patch_generator:
class: Drupal\ai_upgrade_assistant\Service\PatchGenerator
arguments: ['@file_system', '@config.factory', '@logger.factory', '@ai_upgrade_assistant.patch_validator']
ai_upgrade_assistant.rollback_manager:
class: Drupal\ai_upgrade_assistant\Service\RollbackManager
arguments: ['@file_system', '@state', '@logger.factory', '@config.factory']
ai_upgrade_assistant.theme_preprocessor:
class: Drupal\ai_upgrade_assistant\Theme\AiUpgradePreprocessor
arguments:
- '@config.factory'
- '@module_handler'
- '@logger.factory'
- '@state'
- '@theme.manager'
- '@renderer'
ai_upgrade_assistant.permission_handler:
class: Drupal\ai_upgrade_assistant\Access\DynamicPermissionHandler
arguments:
- '@config.factory'
- '@state'
- '@module_handler'
ai_upgrade_assistant.cache_warmer:
class: Drupal\ai_upgrade_assistant\Service\CacheWarmer
arguments:
- '@cache.default'
- '@cache_tags.invalidator'
- '@config.factory'
- '@state'
- '@queue'
- '@logger.factory'
- '@ai_upgrade_assistant.community_learning'
tags:
- { name: cache.warmer }
ai_upgrade_assistant.data_anonymizer:
class: Drupal\ai_upgrade_assistant\Service\DataAnonymizer
arguments:
- '@config.factory'
- '@logger.factory'
- '@state'
ai_upgrade_assistant.upgrade_pattern_manager:
class: Drupal\ai_upgrade_assistant\Service\UpgradePatternManager
arguments: ['@ai_upgrade_assistant.php_parser', '@config.factory', '@module_handler', '@cache.default', '@state', '@logger.factory']
ai_upgrade_assistant.upgrade:
class: Drupal\ai_upgrade_assistant\Service\UpgradeService
arguments:
- '@ai_upgrade_assistant.project_analyzer'
- '@ai_upgrade_assistant.patch_generator'
- '@ai_upgrade_assistant.patch_validator'
- '@ai_upgrade_assistant.rollback_manager'
- '@ai_upgrade_assistant.upgrade_pattern_manager'
- '@config.factory'
- '@state'
- '@logger.factory'
ai_upgrade_assistant.access_handler:
class: Drupal\ai_upgrade_assistant\UpgradeAnalysisAccessControlHandler
factory: ['@entity_type.manager', 'getAccessControlHandler']
arguments: ['upgrade_analysis']
tags:
- { name: access_check, applies_to: _upgrade_analysis_access }
ai_upgrade_assistant.update_cron:
class: Drupal\ai_upgrade_assistant\Service\UpdateCronService
arguments:
- '@queue'
- '@ai_upgrade_assistant.update_scheduler'
- '@ai_upgrade_assistant.update_monitor'
- '@ai_upgrade_assistant.update_history'
- '@config.factory'
- '@state'
- '@logger.factory'
