# shellcheck shell=dash

___x_cmd_claude_minimax(){
    local op="$1"
    case "$op" in
        -h|--help)      ___x_cmd help -m claude minimax; return 0 ;;
        --cfg)          ___x_cmd minimax --cfg "$@";     return 0 ;;
        --)             shift ;;
    esac

    claude:provider:fetch:init
    ___x_cmd_claude_minimax___fetch_    || return $?

    ANTHROPIC_API_KEY="" API_TIMEOUT_MS="$x_timeout"    \
        ___x_cmd_claude_other___use  minimax            \
        "$x_url" "$x_apikey" "$x_model" "$x_fastmodel" "$x_nonessential_traffic" "$x_effortlevel" "$@"
}


___x_cmd_claude_minimax___fetch_(){
    local model=""
    local apikey=""
    local codingplan_apikey=""
    local endpoint=""

    ___x_cmd minimax --cur model:=    apikey:=    codingplan_apikey:=     endpoint:=    2>/dev/null

    if [ -n "$codingplan_apikey" ]; then
        x_apikey="$codingplan_apikey"
        x_url="https://api.minimaxi.com/anthropic"
    elif [ -n "$apikey" ]; then
        x_apikey="$apikey"
        x_url="$endpoint";  [ -n "$x_url" ] || x_url="https://api.minimaxi.com/anthropic"
    else
        claude:warn \
            --tip1 'x minimax --cfg'                       \
            --tip2 'x minimax --cfg codingplan_apikey=<YOUR-CODING-PLAN-API-KEY>' \
            --tip2 'x minimax --cfg apikey=<YOUR-API-KEY>' \
            "Please setup MINIMAX API-KEY."

        if ___x_cmd_runmode_allow_manual; then
            ___x_cmd minimax --cfg|| return $?
            ___x_cmd minimax --cur model:=    apikey:=    codingplan_apikey:=     endpoint:=    2>/dev/null
            x_apikey="$apikey"
            [ -z "$codingplan_apikey" ] || x_apikey="$codingplan_apikey"
        fi
        [ -n "$x_apikey" ] || N=claude M="Failed to retrieve API-KEY. Please check your configuration." log:ret:1
    fi

    x_model="$model"
    case "$model" in
        MiniMax-M3|"")     x_model="MiniMax-M3[1m]"   ;;
        *)                 x_model="${model}"         ;;
    esac

    x_fastmodel="$x_model"
    x_effortlevel=auto

    x_timeout="${API_TIMEOUT_MS:-"3000000"}"
}

