Expand description
browser-control eval — evaluate a JS expression in a page.
Three routing paths, picked by what the caller supplies:
eval <browser>/<tab>— named-tab path. Resolves<tab>in thetabsSQLite table via the engine-agnostic [TabBackend]; if missing, returnsTabNotFoundso the agent cantab open <browser>/<tab>first. Mutually exclusive with--target. Works for both CDP and BiDi browsers.eval <browser>with no--target— routes through the daemon-style scratch tab with recover-once. The default, and the architectural fix for the iLO failure mode: lock-freeevalnever silently lands on a user’s admin tab. Engine-agnostic.eval <browser> --target <regex>— explicit selector against a user tab matching the URL regex. The original behaviour, kept for ad-hoc targeted use.
The shared preamble and the named-tab arm live in crate::cli::route;
see that module for the routing-path overview. The bare-browser arm here is
scratch-with-recover-once (the iLO fix), and the External-endpoint fallback
is the legacy direct attach.