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

    local op="$1";          shift
    case "$op" in
        -h|--help)          ___x_cmd help -m agent browser "$@" ;   return 0 ;;
        isready)            ___x_cmd_agent_browser_isready                   ;;
        webfetch)           ___x_cmd_agent_browser_webfetch             "$@" ;;
        *)                  N=agent M="Unknown subcmd -> $op"     log:ret:64 ;;
    esac
}

___x_cmd_agent_browser_isready(){
    ___x_cmd_hascmd agent-browser || return 1
}

___x_cmd_agent_browser_webfetch(){
    local url="$1"; [ -n "$url" ] || N=agent M="Provide a url"     log:ret:64

    if ! ___x_cmd_agent_browser_isready; then
        agent:error -h 'x install --cat agent-browser' "agent-browser not found"
        return 1
    fi

    local session="x.tmp.$$"
    ___x_cmd_cmds agent-browser --session "$session" open "$url" || return $?
    ___x_cmd_cmds agent-browser --session "$session" wait --load networkidle >/dev/null 2>&1 \
        && ___x_cmd_cmds agent-browser --session "$session" get text body
    ___x_cmd_cmds agent-browser --session "$session" close >/dev/null 2>&1
}
