# shellcheck shell=dash

___x_cmd_gemini_chat_exec(){
    ___x_cmd_gemini_has_apikey || return $?

    local cfg_model=; local cfg_temperature=
    ___x_cmd_gemini_cfg --var cfg_model=model cfg_temperature=temperature 2>/dev/null

    gemini:debug --cfg_model "$cfg_model" --cfg_temperature "$cfg_temperature"

    {
        userlang="${cfg_userlang:-$LANG}" \
        ___x_cmd cawk  -E XCMD_CHAT_SESSION_DIR,XCMD_CHAT_HISTSESSION_DIR,is_stream,is_reasoning,is_debug,session,history_num,minion,model,chatid,minion_json_cache,system,type,filelist_attach,temperature \
                -E cfg_history_num,cfg_session,cfg_minion,cfg_stream,cfg_reasoning,cfg_model,cfg_temperature  \
                -m j/json,j/jiter,j/jcp,re,u/unicode                      \
                -f "$___X_CMD_ROOT_MOD/chat/lib/awk/history.awk"          \
                -f "$___X_CMD_ROOT_MOD/chat/lib/awk/util.awk"             \
                -f "$___X_CMD_ROOT_MOD/chat/lib/awk/minion.awk"           \
                -f "$___X_CMD_ROOT_MOD/chat/lib/awk/creq.awk"             \
                -f "$___X_CMD_ROOT_MOD/chat/lib/awk/cres.awk"             \
                -f "$___X_CMD_ROOT_MOD/gemini/lib/awk/gemini.awk"        \
                -f "$___X_CMD_ROOT_MOD/gemini/lib/awk/handle_request.awk" <<A
${question}
A
        # generate req.yml
        # generate requestbody.json
    } | ( ___x_cmd_gemini_chat_request___launch )

}
