# shellcheck shell=dash
___x_cmd_openai_handler(){
    local op="$1"
    case "$op" in
        stream_output|get_response|get_history_record)
            shift;  "___x_cmd_openai_handler___$op" "$@" ;;
        *) ;;
    esac
}

___x_cmd_openai_handler___stream_output(){
    ___x_cmd cawk -m j/json,j/jiter \
        -f "$___X_CMD_ROOT_MOD/openai/lib/awk/openai_stream_output_util.awk" \
        -f "$___X_CMD_ROOT_MOD/openai/lib/awk/stream_output.awk"
}

___x_cmd_openai_handler___get_response(){
    ___x_cmd cawk -m j/json,j/jiter,j/jcp \
        -f "$___X_CMD_ROOT_MOD/openai/lib/awk/get_response.awk"
}


___x_cmd_openai_handler___get_history_record(){
    local dir="$1"
    local history_size="$2"
    [ -d "$dir" ] || return $?

    # TODO: Optimized version: Get rid of y2j
    ___x_cmd fsiter "$dir" | sort -r | history_size="$history_size" BASE_PATH="$dir" \
    ___x_cmd cawk  -m j/json,j/jiter \
            -f "$___X_CMD_ROOT_MOD/openai/lib/awk/get_history_record.awk"
}
