mod diagnostics; pub mod events; pub mod import_plan; pub(crate) mod missing_content; pub mod model; pub mod recovery; pub mod runner; pub mod store; pub use events::InstallProgressReporter; pub use import_plan::{ ImportPlanCounts, ImportPlanRequest, ImportPlanSnapshot, ImportPlanStage, cancel_import_plan, start_import_plan, }; pub use missing_content::{ MissingModpackContentView, MissingModpackFileView, MissingModpackScanError, MissingModpackScanResult, import_missing_modpack_file, list_missing_modpack_files, retry_missing_modpack_file, scan_missing_modpack_files, }; pub use model::{ DownloadItemSnapshot, DownloadItemStatus, DownloadJobSummary, InstallErrorContext, InstallErrorView, InstallJavaStep, InstallJobEventKind, InstallJobKind, InstallJobProvider, InstallJobSnapshot, InstallJobStatus, InstallModpackPreview, InstallPhaseDetails, InstallPhaseId, InstallPostInstallEdit, InstallProgress, InstallProgressSecondary, InstallRequest, InstanceUpgradeCompatibilityWarning, InstanceUpgradeDisplayNames, InstanceUpgradeExecution, InstanceUpgradeExternalChange, InstanceUpgradeExternalChangeKind, InstanceUpgradeResult, InstanceUpgradeWatchBaseline, SharedUpgradeMode, }; pub use runner::{ cancel_job, clear_job_history, create_instance, create_instance_with_adjuncts, create_modpack_instance, dismiss_job, download_java, duplicate_instance, get_job, import_instance, import_instance_with_path, import_instance_with_plan, install_content, install_curseforge_content, install_curseforge_world, install_existing_instance, install_pack_to_existing_instance, job_support_details, list_jobs, repair_cache_and_retry_job, resume_job, retry_job, retry_job_as_new, skip_missing_content_and_resume_job, update_managed_curseforge_modpack, upgrade_unmanaged_instance, }; /// Replaces credentials and IP addresses in text the user may share publicly /// (support reports, exported logs) with placeholders. pub async fn censor_shared_text( text: String, state: &crate::State, ) -> crate::Result { diagnostics::censor_support_text(text, state).await }