123456789101112131415161718192021222324252627282930313233343536#pragma once
#include <string>#include <vector>
// Ref: https://huggingface.co/docs/hub/local-cache.md
namespace hf_cache {
struct hf_file { std::string path; std::string url; std::string local_path; std::string final_path; std::string oid; std::string repo_id;};
using hf_files = std::vector<hf_file>;
// Get files from HF APIhf_files get_repo_files( const std::string & repo_id, const std::string & token);
hf_files get_cached_files(const std::string & repo_id = {});
// Create snapshot path (link or move/copy) and return itstd::string finalize_file(const hf_file & file);
// Remove the entire cached directory for a repo, returns true if removedbool remove_cached_repo(const std::string & repo_id);
} // namespace hf_cache