# shellcheck shell=dash

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

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

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

___x_cmd_claude_zhipu___fetch_(){
    local model=""
    local apikey=""
    # local codingplan_apikey=""
    local endpoint="https://open.bigmodel.cn/api/anthropic"

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

    [ -n "$apikey" ] || {
        claude:warn \
            --tip1 'x zhipu --cfg'                       \
            --tip2 'x zhipu --cfg apikey=<YOUR-API-KEY>' \
            "Please setup ZHIPU API-KEY."

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

    x_url="$endpoint"
    x_apikey="$apikey"

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

    x_fastmodel="GLM-4.5-Air"
    x_effortlevel=auto

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