← Commit history
Publish 0.4.9
3 files changed
+56−6
package.json+1−1@@ -1,6 +1,6 @@ { "slug": "adom-browser-extension",- "version": "0.4.8",+ "version": "0.4.9", "type": "app", "title": "Adom Browser Extension", "description": "Drive your real, logged-in Chrome/Edge from the Adom ecosystem: the nbrowser_* native-browser bridge (counterpart to pup). Multi-profile driving, a read-only credential-library query over the browser's own saved logins (Chrome + Edge), and hands-free vendor login automation, so chip CAD / datasheets download past every login wall in your real signed-in session.",
page.json+38−5@@ -9,11 +9,11 @@ "chrome", "edge", "nbrowser",- "ai-agent",- "developer-tools",- "vibe-coding",+ "pup", "native-messaging",- "adom-desktop"+ "adom-desktop",+ "credentials",+ "chip-fetcher" ], "status": "live", "discovery_triggers": [@@ -57,5 +57,38 @@ }, "visibility": "public", "brief": "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.",- "discovery_pitch": "The native-browser extension drives the user's REAL signed-in Chrome/Edge via nbrowser_* verbs: use it for LOGGING IN, filling forms, and downloading behind auth with their OWN saved passwords - pup cannot (it is a fresh Chrome-for-Testing with no logins). Next moves: run 'adom-desktop bridge_list' to check it is installed; if not, OFFER to install it (see the installing-the-extension skill) - never make the user do it. If this container lacks the skills, 'adom-wiki pkg install adom/adom-browser-extension'. Check readiness with 'adom-desktop nbrowser_readiness' (state:needs-extension means offer the install)."+ "discovery_pitch": "The native-browser extension drives the user's REAL signed-in Chrome/Edge via nbrowser_* verbs: use it for LOGGING IN, filling forms, and downloading behind auth with their OWN saved passwords - pup cannot (it is a fresh Chrome-for-Testing with no logins). Next moves: run 'adom-desktop bridge_list' to check it is installed; if not, OFFER to install it (see the installing-the-extension skill) - never make the user do it. If this container lacks the skills, 'adom-wiki pkg install adom/adom-browser-extension'. Check readiness with 'adom-desktop nbrowser_readiness' (state:needs-extension means offer the install).",+ "version": "0.4.9",+ "type": "app",+ "description": "Drive your real, logged-in Chrome/Edge from the Adom ecosystem: the nbrowser_* native-browser bridge (counterpart to pup). Multi-profile driving, a read-only credential-library query over the browser's own saved logins (Chrome + Edge), and hands-free vendor login automation, so chip CAD / datasheets download past every login wall in your real signed-in session.",+ "install": {+ "binary_name": "adom-browser-extension"+ },+ "files": [+ "skills/adom-browser-extension/SKILL.md",+ "skills/driving-sites/SKILL.md",+ "skills/driving-the-desktop/SKILL.md",+ "skills/driving-the-extension/SKILL.md",+ "skills/driving-the-extension-demo/SKILL.md",+ "skills/installing-the-extension/SKILL.md",+ "skills/native-browser-recording/SKILL.md",+ "skills/native-browser-safety/SKILL.md",+ "skills/reading-google-messages/SKILL.md",+ "skills/uninstalling-the-extension/SKILL.md",+ "install.sh",+ "uninstall.sh",+ "package.json"+ ],+ "scripts": {+ "install": "./install.sh",+ "uninstall": "./uninstall.sh"+ },+ "dependencies": {+ "adom/adom-desktop": "^1.9.47"+ },+ "org": "adom",+ "author": {+ "name": "John Lauer",+ "email": "[email protected]"+ } }
skills/driving-the-extension/SKILL.md+17@@ -389,6 +389,23 @@ natively on the user's machine, and is cached per profile. `normal`(green) · **`paused`(YELLOW - use for captcha/2FA/login human-gates)** · `error`(red) · `indeterminate`(marquee) · `none`. Overlay `badge:"adom"|"none"` (see lifecycle above). +## File uploads (`nbrowser_set_file_input`) - never the OS picker+Upload into an `<input type=file>` over CDP - background, silent, no OS file dialog (which cannot be+driven with the debugger attached and would foreground). Three shapes:+- **Direct** (the default): `{sessionId, selector|text, filePaths:["C:/abs/laptop/path"]}` - the finder+ walks a Browse button/label to its associated input; HIDDEN inputs work (most real UIs hide them).+ `input` + `change` are dispatched for you so React/Angular notice.+- **Transient inputs** (created inside the Browse click handler - nothing exists to select):+ `{armForNextChooser:true, filePaths}` then `nbrowser_click` the Browse control - the page's file+ chooser is satisfied silently (30s auto-disarm). Confirm with `{chooserStatus:true}` or a screenshot.+- **Cloud-direct small files**: `files:[{name, contentBase64}]` - the bridge stages them in a janitored+ temp dir on the laptop and substitutes the paths. One call, no `send_files` round-trip. Use+ `adom-desktop send_files` + `filePaths` for big payloads.+Errors teach: `file_missing` (bridge stats every path first), `input_not_found` (with a page diagnosis),+`no_files`. **Hard limitation:** sites using the File System Access API (`showOpenFilePicker`) cannot be+driven over CDP at all - use the site's drag-drop zone manually. After injection, most UIs still need+their Submit/Upload button clicked.+ ## OS-level window inventory (`nbrowser_os_windows`) + extension-state diagnosis `nbrowser_os_windows {}` returns every Chrome/Edge/pup window as the LAPTOP sees it (hwnd, title, rect, z), annotated with `abeSession` (the live ABE session that owns it - NEVER force-close those) and