All 17 #[tauri::command] entries in offline_cache/commands.rs are
unregistered (V2 owns the live cache commands) and uncalled. The only
surviving consumer was session_lifecycle.rs reaching for
purge_all_cached_files (a non-command helper).
- Move purge_all_cached_files to a new offline_cache/purge.rs module
(drops the LibraryState path through library::commands; uses the
canonical crate::library::LibraryState directly)
- Delete offline_cache/commands.rs along with its dead siblings:
cache_track_for_offline + post_process_cached_track,
is_track_cached, get_cached_track_path, get_cached_track,
get_cached_tracks, get_offline_cache_stats, remove_cached_track,
clear_offline_cache + cleanup_empty_folder, set_offline_cache_limit
+ evict_if_needed, open_offline_cache_folder, open_album_folder,
open_track_folder, check_offline_root_mounted, validate_offline_path,
move_offline_cache_to_path, detect_legacy_cached_files (the command
shim — the helper of the same name lives in migration.rs and is
still consumed by V2), start_legacy_migration,
sync_offline_cache_to_library + SyncResult.
- Update session_lifecycle.rs to import from offline_cache::purge.
cc