# shellcheck shell=dash

___x_cmd log init jina
xrc:mod:lib     jina        \
    reader reranker/_index    embed/_index cfg search   \
    ground/_index

___x_cmd_jina___main(){
    [ "$#" -gt 0 ]  ||      set -   --help

    local op="$1";  shift
    case "$op" in
        embedding|embed)    ___x_cmd_jina_embed             "$@" ;;
        reranker)           ___x_cmd_jina_"${op}"           "$@" ;;
        r|reader)           ___x_cmd_jina_reader            "$@" ;;
        s|search)           ___x_cmd_jina_search            "$@" ;;

        --cfg|cfg)          ___x_cmd_jina_cfg               "$@" ;;
        --init|init)        ___x_cmd_jina_init              "$@" ;;

        --)                 ___x_cmd_jina_reader            "$@" ;;
        --help|-h)          ___x_cmd help -m jina;        return ;;
        *)                  ___x_cmd_jina___nv "$op"        "$@" ;;
    esac
}


___x_cmd_jina___nv(){
    local IFS=" "
    local argstr="$*"
    case "$1" in
        *" "*)
            jina:info "Using jina search -> x jina s $argstr"
            ___x_cmd jina s "$@"
            ;;
        http*://*|www.*|*.com)
            ___x_cmd_jina_reader "$1" ;;
        *)
            if ___x_cmd_is_stdout2tty && ___x_cmd_runmode_allow_manual; then
                local id
                ___x_cmd ui select id "Operation selection:" \
                    "search in jina    -> \"$argstr\"" \
                    "using jina reader -> \"$argstr'" \
                    "return 1"

                case "$id" in
                    1)      ___x_cmd_jina_search "$@" ;;
                    2)      ___x_cmd_jina_reader "$@" ;;
                    *)      return 1
                esac
            else
                jina:info "Using jina search -> x jina s $argstr"
                ___x_cmd jina s "$argstr"
            fi
    esac
}
