""" 领域规则、解析运行时与技术端口的宿主组合 owner。 """ from app.adapters.network.resolver import SocketDnsResolver from app.adapters.system import rust as rust_accelerator from app.adapters.system.host import SystemUtils from app.application.directory import configure_disk_topology from app.application.recognition import RecognitionRuleService from app.application.rules import configure_filter_rule_parser from app.application.security.url import configure_dns_resolver from app.application.transfer.workflow import configure_directory_size from app.domain.media import configure_search_source_provider from app.domain.meta.customization import configure_customization_provider from app.domain.meta.releasegroup import configure_release_groups_provider from app.domain.meta.runtime import configure_recognition_runtime from app.domain.meta.words import configure_custom_words_provider from app.domain.metainfo import clear_rust_parse_options_cache from app.runtime.settings import get_runtime_setting def compose_domain_dependencies() -> None: """ 构造并发布领域模型使用的规则、配置和技术 Adapter。 """ from app.domain.projection.tmdb import configure_image_url_builder rule_service = RecognitionRuleService() configure_dns_resolver(SocketDnsResolver()) configure_disk_topology(SystemUtils) configure_filter_rule_parser(rust_accelerator) configure_directory_size(SystemUtils) configure_customization_provider(rule_service.get_customization) configure_release_groups_provider(rule_service.get_release_groups) configure_custom_words_provider(rule_service.get_custom_words) configure_search_source_provider(lambda: get_runtime_setting("SEARCH_SOURCE")) configure_image_url_builder(get_runtime_setting("TMDB_IMAGE_URL")) configure_recognition_runtime( media_extensions_provider=lambda: ( *get_runtime_setting("RMT_MEDIAEXT"), *get_runtime_setting("RMT_SUBEXT"), *get_runtime_setting("RMT_AUDIOEXT"), ), audio_extensions_provider=lambda: get_runtime_setting("RMT_AUDIOEXT"), accelerator=rust_accelerator, ) clear_rust_parse_options_cache()