//! # BAT Infrastructure - 基础设施层 //! //! 提供技术实现 //! //! 包含: //! - CAS 存储实现 //! - 下载器 //! - 解析器 #![warn(missing_docs)] #![warn(clippy::all)] pub mod cas; mod curl_transfer; pub mod downloader; pub mod import; pub mod localized_patch; pub mod official_changes; pub mod official_download; pub mod official_game_main_config; pub mod official_launcher; pub mod official_parse; pub mod official_pull; pub mod official_repository; pub mod official_sync; pub mod official_textunit_queue; pub mod official_update; pub mod patch_ops; pub mod path_security; pub mod release_flow; pub mod resources; pub mod translation_tasks; mod zip_validation; pub use cas::FileSystemCasRepository; pub use curl_transfer::{ redact_proxy_url, resolve_curl_proxy, CurlProxyConfig, CurlProxyMode, ResolvedCurlProxy, }; pub use downloader::{ DownloadScheduler, DownloaderBackend, DEFAULT_DOWNLOAD_CONCURRENCY, MAX_DOWNLOAD_CONCURRENCY, MIN_DOWNLOAD_CONCURRENCY, }; pub use import::{ BundleSource, ImportedResource, ResourceImportCategory, ResourceImportReport, ResourceImportService, }; pub use localized_patch::{ read_localized_patch_manifest_at, read_localized_version_state, LocalizedPatchConfig, LocalizedPatchFile, LocalizedPatchIntegrity, LocalizedPatchManifest, LocalizedPatchOperation, LocalizedPatchReport, LocalizedPatchRollbackInfo, LocalizedPatchService, LocalizedTextAssetPatch, LocalizedVersionState, LOCALIZED_CURRENT_LINK, LOCALIZED_PATCH_MANIFEST_FILE, LOCALIZED_PATCH_MANIFEST_VERSION, LOCALIZED_STAGING_DIR, LOCALIZED_VERSIONS_DIR, LOCALIZED_VERSION_STATE_FILE, }; pub use official_changes::{ read_resource_change_set_at, write_crowdin_translation_handoff_at, write_official_resource_change_handoff, write_resource_change_set_at, CrowdinTranslationHandoff, OfficialResourceChange, OfficialResourceChangeHandoffReport, OfficialResourceChangeKind, OfficialResourceChangeSet, OfficialResourceChangeSummary, OfficialResourceDescriptor, TranslationHandoffProvider, TranslationHandoffResource, TranslationHandoffStatus, CROWDIN_TRANSLATION_HANDOFF_FILE, CROWDIN_TRANSLATION_HANDOFF_VERSION, OFFICIAL_RESOURCE_CHANGES_FILE, OFFICIAL_RESOURCE_CHANGES_VERSION, }; pub use official_download::{ read_download_manifest_at, DownloadError, OfficialDownloadManifest, OfficialDownloadManifestEntry, OfficialLocalManifestAuditItem, OfficialLocalManifestAuditReport, OfficialLocalManifestAuditStatus, OfficialLocalVerificationReport, OfficialResourceHashAlgorithm, OfficialResourceHashVerification, OfficialResourcePullItem, OfficialResourcePullProgress, OfficialResourcePullProgressKind, OfficialResourcePullReport, OfficialResourcePullService, OfficialResourcePullStatus, OfficialResourceVerification, }; pub use official_game_main_config::OfficialGameMainConfigBootstrapService; pub use official_launcher::{ is_official_launcher_package_url, launcher_api_url, launcher_authorization_header, OfficialLauncherBootstrapService, YostarJpLauncherCdnConfig, YostarJpLauncherGameConfig, YostarJpLauncherManifestUrl, YostarJpLauncherRemoteManifest, }; pub use official_parse::{ query_textunit_index_errors, query_textunit_index_units, read_parse_cache_at, read_textunit_index_at, write_parse_cache_at, write_textunit_index_at, OfficialParseCache, OfficialParseCacheEntry, OfficialParseCacheService, OfficialParseConfig, OfficialParseReport, OfficialParseSourceFingerprint, OfficialParseSourceKind, OfficialParseStatus, OfficialParseSummary, OfficialTextUnitIndex, OfficialTextUnitIndexError, OfficialTextUnitIndexSummary, OfficialTextUnitIndexUnit, OfficialTextUnitQuery, OFFICIAL_PARSE_CACHE_FILE, OFFICIAL_PARSE_CACHE_VERSION, OFFICIAL_TEXTUNIT_INDEX_FILE, OFFICIAL_TEXTUNIT_INDEX_VERSION, }; pub use official_pull::{ build_official_pull_plan, build_official_pull_plan_for_platform_inventory, build_official_pull_plan_for_platforms, build_official_pull_plan_from_platform_inventory, OfficialResourcePullPlan, }; pub use official_repository::{ OfficialReleaseImportConfig, OfficialReleaseImportReport, OfficialReleaseImportService, }; pub use official_sync::{ build_official_sync_plan, changed_endpoint_urls, classify_sync_decision, default_official_platforms, OfficialSyncDecision, OfficialSyncPlan, }; pub use official_textunit_queue::{ query_textunit_tasks, read_textunit_task_queue_at, write_crowdin_textunit_queue_at, write_official_textunit_queues, write_textunit_task_queue_at, CrowdinTextUnitQueue, CrowdinTextUnitQueueItem, OfficialTextUnitQueueReport, OfficialTextUnitTask, OfficialTextUnitTaskQuery, OfficialTextUnitTaskQueue, OfficialTextUnitTaskStatus, OfficialTextUnitTaskSummary, CROWDIN_TEXTUNIT_QUEUE_FILE, CROWDIN_TEXTUNIT_QUEUE_VERSION, OFFICIAL_TEXTUNIT_TASK_QUEUE_FILE, OFFICIAL_TEXTUNIT_TASK_QUEUE_VERSION, }; pub use official_update::{ cached_game_main_config_for_metadata, diff_extended_snapshot, gc_orphan_staging, read_bootstrap_cache, read_snapshot, read_version_state, write_bootstrap_cache, write_snapshot, write_version_state, ExtendedSnapshotDelta, GameMainConfigSnapshot, LauncherMetadataSnapshot, LocalizedReleaseStatus, OfficialBootstrapCache, OfficialEndpointMarkerRole, OfficialEndpointMarkerSnapshot, OfficialFailedVersionRecord, OfficialServerInfoSource, OfficialUpdateConfig, OfficialUpdateProgress, OfficialUpdateReport, OfficialUpdateService, OfficialUpdateSnapshot, OfficialUpdateStatus, OfficialVerificationSummary, OfficialVersionRecord, OfficialVersionState, ResolvedBootstrap, }; pub use patch_ops::{ apply_patch_file, apply_unityfs_field_patch_file, apply_unityfs_string_field_patch_file, apply_unityfs_text_asset_patch_file, PatchApplyKind, PatchApplyParams, PatchApplyReport, UnityFsFieldPatchParams, UnityFsPatchReport, UnityFsStringFieldPatchParams, UnityFsTextAssetPatchParams, }; pub use path_security::{ ensure_path_within_root, ensure_safe_directory_path, ensure_safe_file_target, lexical_absolute, open_append_file, read_file_no_symlink, set_file_mode, validate_output_root, validate_runtime_state_dir, write_file_atomic, PRIVATE_FILE_MODE, STATE_FILE_MODE, }; pub use release_flow::ReleaseFlowStatusCode; pub use resources::{InMemoryResourceRepository, SqliteResourceRepository}; pub use translation_tasks::{ build_translation_handoff, read_translation_handoff_at, sync_translation_task_repository_at, write_translation_handoff_at, PersistedTranslationTask, ProviderRun, ProviderRunStatus, SqliteTranslationTaskRepository, TranslationHandoff, TranslationJob, TranslationJobStatus, TranslationTaskStatus, TranslationTaskSyncReport, TranslationUnit, TranslationUnitStatus, TRANSLATION_HANDOFF_FILE, TRANSLATION_HANDOFF_SCHEMA_VERSION, TRANSLATION_TASK_REPOSITORY_FILE, TRANSLATION_TASK_SCHEMA_VERSION, }; /// Infrastructure 版本号 pub const VERSION: &str = env!("CARGO_PKG_VERSION");