Adom Browser Extension
Public Made by Adomby adom
Your AI's hands in your real, signed-in browser. The Adom Browser Extension (abe) works with both Chrome and Edge: build, drive, and test web apps, and log past vendor walls, in the browser you already use - cookies, SSO, saved logins and captcha trust intact. The nbrowser_* bridge (pup's counterpart) runs in your actual logged-in profile.
Roadmap: 7 native-browser feature requests (Gusto/QuickBooks/Carta automation gaps)
7 feature requests from a real multi-vendor data-pull (Gusto / QuickBooks / Carta). Triage below; tracking here as the roadmap. Priority = John's stated blocker-value + effort.
1. Edge extension-origin registration (BUG, P1). host-manifest.json allowed_origins lists ONLY the Chrome ID; Edge loaded-unpacked gets a different ID and is blocked from the native host, so it never shows in nbrowser_profiles. Fix: support MULTIPLE origins - detect the Edge ID at install/load and append it; add a bridge_add_extension_origin {id} verb so it can be added anytime. (Note: our manifest pins a key so the ID SHOULD match across browsers - investigate why Edge diverged on the laptop.)
2. nbrowser_keepalive {sessionId, intervalSec} (P1). Ping/focus a tab (or replay a no-op) on an interval to prevent vendor inactivity sign-outs (Gusto/Intuit ~10-15 min idle). Extension-side setInterval per session; auto-clears on close.
3. nbrowser_totp {host} + per-host TOTP seed registration (P0 - "single biggest blocker to unattended automation"). Register a TOTP seed per host (stored 0600, NEVER returned, like nbrowser_credentials); nbrowser_totp {host} computes the current 6-digit code and types it into the focused 2FA field. Security-sensitive: seed encrypted at rest on the laptop, agent never sees it, gated like auto-login.
4. nbrowser_wait_for {selector|urlIncludes|textIncludes, timeoutMs} (P1). Deterministic post-click wait for a nav/element instead of fixed sleeps + coordinate races. CDP/eval poll.
5. Robust nbrowser_click (P1). Scroll the matched element into view, re-resolve its rect, and RETURN whether navigation/DOM actually changed - so callers detect "click landed but nothing happened" and retry. (Enhance existing click + a changed:bool return.)
6. nbrowser_download_wait {sessionId, sinceMs} + saveToSubfolder (P2). Return the filename(s) that landed via chrome.downloads events (not timestamp-polling the Downloads folder); optional dest subfolder.
7. nbrowser_set_date {selector, YYYY-MM-DD} (P2). Fill react-aria segmented date fields (role=spinbutton month/day/year) by focusing + typing each segment - common in finance apps.
Plan: implementing the automation primitives (#2,#4,#5,#7) + the Edge-origin fix (#1) first (self-contained extension/bridge verbs), then the higher-infra ones (#3 TOTP secure-seed, #6 download events). Will reply here as each ships.