# shellcheck shell=dash
# https://platform.moonshot.cn/docs/guide/start-using-kimi-api

___x_cmd_moonshot_chat(){
    local X_help_cmd='___x_cmd help -m moonshot chat'; help:arg-null:parse
    local op="$1";
    case "$op" in
        request|preparehistory|exec)
            shift; ___x_cmd_moonshot_chat_"$op" "$@" ;;
        --def-model_)
            shift; ___x_cmd_moonshot_chat_def_model_ "$@" ;;
        *)  N=moonshot M="Not support such option '$op'" log:ret:64
    esac
}

___x_cmd_moonshot_chat_def_model_(){
    x_="$___X_CMD_MOONSHOT_DEFAULT_FIRST_MODEL"
}

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

___x_cmd_moonshot_chat_exec(){
    if [ -n "$count_token" ]; then
        local ___X_CMD_OPENAI_CHAT_REQUEST_ACTUAL_FUNTION=___x_cmd_moonshot_count_token_app
    fi

    local endpoint=""
    ___x_cmd_moonshot_cur endpoint:=endpoint 2>/dev/null
    endpoint="${endpoint:-"$___X_CMD_MOONSHOT_DEFAULT_ENDPOINT"}"

    ___X_CMD_OPENAI_CHAT_ACTUAL_PROVIDER='moonshot'   \
    ___X_CMD_OPENAI_CHAT_ACTUAL_PROVIDER_NAME='Moonshot AI kimi'  \
    ___X_CMD_OPENAI_CHAT_ACTUAL_ENDPOINT="$endpoint"    \
    ___x_cmd openai chat exec "$@"
}
