v0.3.1 — Interaction gaps, viewport tools, screenshot file-path, dialogOpened fix
Bundles everything since v0.2.0: the interaction-gaps batch, viewport tools, the
screenshot file-path fix, the to_be_deleted rename, and a real production bug fix
(click's dialogOpened false-positives on backgrounded tabs).
Added
- press_key / hover / drag_and_drop / upload_file — round out interactive-element
coverage beyond click/type - scroll_to — scroll an element or the page into view
- screenshot
fullPage: true— capture the entire scrollable page in one shot instead
of just the current viewport - wait_for — poll a page to a target state (selector appears, text disappears, network
idle) instead of guessing a fixed delay click/type/scroll_to/hover/upload_file/drag_and_drop/press_keynow fall back
to searching other frames whenframeIdis omittedlist_elementsincludes table rows/headers as candidates, plus a per-elementstate
object (checked/disabled/readonly/etc.) anddomEpochfor detecting stale selectors
across page changes
Changed
- screenshot now writes the PNG to a local file and returns its absolute path, instead
of returning inline base64 — the inline-base64 response routinely blew past the calling
model's context/token budget on real pages. Read the file directly instead of expecting
image bytes in the tool response. - move_to_pending_deletion renamed to to_be_deleted (same behavior — reversible move
into a fixed "Pending Deletion" folder, never a real delete) acquire_tabwaits for navigation to commit before returningurl, instead of racing
browser.tabs.create()and sometimes reportingabout:blank
Fixed
click'sdialogOpened/domChangedfields were misreported on backgrounded tabs.
Firefox throttlessetTimeout/setIntervalin a non-visible tab to a ~1000ms minimum
interval, which made the click handler's dialog-detection heuristic time out and report a
falsedialogOpened: trueeven when the click succeeded normally. This was dangerous in
practice: an agent readingdialogOpened: truecould conclude the click didn't register
and retry an already-successful destructive action (e.g. re-submitting a delete/apply on
an admin panel). The fix detects tab visibility (tab.activeAND the tab's window is
OS-focused) and uses a longer timeout on backgrounded tabs instead of misreporting.
Install
Grab the .xpi below, drag into a Firefox window (or about:addons → gear icon → "Install
Add-on From File..."). Same add-on ID as prior releases, so this upgrades an existing install
in place — no need to remove the old one first.