use std::path::PathBuf;
use clap::Args;
use frink_models::hf_pull;
#[derive(Args, Debug, Clone)]
pub struct PullArgs {
pub repo: String,
#[arg(long = "file", default_value = "*.gguf")]
pub file_pattern: String,
#[arg(long = "dir")]
pub local_dir: Option<PathBuf>,
}
pub fn run_pull(args: PullArgs) -> anyhow::Result<()> {
let path = hf_pull::pull_hf_gguf(&args.repo, &args.file_pattern, args.local_dir)?;
println!("{}", path.display());
Ok(())
}
pub fn resolve_model_path(model: &str) -> anyhow::Result<String> {
hf_pull::resolve_model_path(model)
}