# shellcheck shell=dash
# https://api-docs.deepseek.com/

___x_cmd_deepseek_chat(){
    local X_help_cmd='___x_cmd help -m deepseek chat'; help:arg-null:parse
    local op="$1";
    case "$op" in
        request|exec)
            shift; ___x_cmd_deepseek_chat_"$op" "$@" ;;
        --def-model_)
            shift; ___x_cmd_deepseek_chat_def_model_ "$@" ;;
        *)  N=deepseek M="Not support such [subcmd=$op]" log:ret:64
    esac
}

___x_cmd_deepseek_chat_def_model_(){
    x_="$___X_CMD_DEEPSEEK_DEFAULT_FIRST_MODEL"
}

___x_cmd_deepseek_chat_request(){
    local X_help_cmd='___x_cmd help -m deepseek chat request'; help:arg:parse
    ___x_cmd chat --exec --provider deepseek "$@"
}

___x_cmd_deepseek_chat_exec(){
    local endpoint=""
    ___x_cmd_deepseek_cur endpoint:=endpoint 2>/dev/null
    endpoint="${endpoint:-"$___X_CMD_DEEPSEEK_DEFAULT_ENDPOINT"}"

    ___X_CMD_OPENAI_CHAT_ACTUAL_URL_NOT_V1=1 \
    ___X_CMD_OPENAI_CHAT_ACTUAL_PROVIDER='deepseek'   \
    ___X_CMD_OPENAI_CHAT_ACTUAL_PROVIDER_NAME='DeepSeek AI'  \
    ___X_CMD_OPENAI_CHAT_ACTUAL_ENDPOINT="$endpoint"    \
    ___x_cmd openai chat exec "$@"
}
