# shellcheck shell=sh disable=SC3043

# ___x_cmd_llmf_model_which <name>/<version>/<quant>.<format>
___x_cmd_llmf_model_which(){
    local x_=""; ___x_cmd_llmf_model_which_ "$@" || return $?
    printf "%s\n" "$x_"
}

___x_cmd_llmf_model_which_(){
    x_=""
    local model="$1"
    local fp="$___X_CMD_LLMF_MODEL_DATA_CACHE/$model"
    [ -f "$fp" ] || return $?
    x_="$fp"
}

___x_cmd_llmf_model_exist(){
    local model="$1"
    local fp="$___X_CMD_LLMF_MODEL_DATA_CACHE/$model"
    [ -f "$fp" ]
}

___x_cmd_llmf_model_remove(){
    local model="$1"
    [ -n "$model" ] || {
        ___x_cmd_runmode_allow_chatty || N=llmf M="Please provide model name" log:ret:64
        x_=""; ___x_cmd_llmf_model_ls___app_ || return $?
        model="$x_"
        [ -n "$model" ] || return $?
    }

    local x_=; ___x_cmd_llmf_model_which_ "$model" || {
        llmf:info "[model=$model] no exist"
        return 0
    }
    ___x_cmd ui yesno "Confirm remove [model=$model]" || return $?
    ___x_cmd rmrf "$x_"
    llmf:info "Remove [model=$model] successful"
}
