pub async fn cluster_kmeans( file_path: &str, k: usize, cols: &[&str], max_iter: usize, output: &str, ) -> Result<String, String>