use crate::paths;
use anyhow::Result;
use mecha10_core::fs_utils::{dir_size, format_size};
pub async fn handle_cache_clean() -> Result<()> {
let dirs = [
("Templates", paths::user::templates_dir()),
("Binaries", paths::user::bin_dir()),
];
let mut total_freed = 0u64;
let mut any_removed = false;
for (label, dir) in &dirs {
if dir.exists() {
let size = dir_size(dir);
tokio::fs::remove_dir_all(dir).await?;
println!(" Removed {} ({})", label, format_size(size));
total_freed += size;
any_removed = true;
}
}
if any_removed {
println!();
println!("Freed {}", format_size(total_freed));
} else {
println!("No cached artifacts found.");
}
Ok(())
}