← Commit history

v0.16.29 (insiders): screenshot fullPath/safePath (and sizes) are promoted to the top level of the reply, where ab's delivery contract reads them, so ab pulls the image to the caller's machine

John Lauer ·393f7a9f96 ·1mo ago ·parent 7cda2c5
6 files changed +13−6
bin/nb-dashboard+1−1
@@ -20,7 +20,7 @@ const { execFile, spawn } = require('child_process'); const fs = require('fs'); const crypto = require('crypto'); -const VERSION = '0.16.28';           // keep in lockstep with package.json (pkg version)+const VERSION = '0.16.29';           // keep in lockstep with package.json (pkg version) // SEND TO AI IS UN-PARKED (John: "yeah, we are re-enabling the send to ai. it seems to be good now"). // The ah build thread certified the crash family dead on the gate-fixed build and the delivery leg is // proven end to end. The park const is DELETED rather than flipped, so no dead branch can resurrect it.
bridge/BRIDGE_VERSION+1−1
@@ -1 +1 @@-0.16.28\ No newline at end of file+0.16.29\ No newline at end of file
bridge/bridge.json+1−1
@@ -2,7 +2,7 @@   "manifest_version": 1,   "name": "native-browser",   "displayName": "Adom Native Browser",-  "version": "0.16.28",+  "version": "0.16.29",   "expectedExtensionVersion": "0.2.15",   "description": "Drives the user's REAL signed-in Chrome/Edge, in two layers. Layer 1 (nb) needs NOTHING installed and works on any machine: nbrowser_open_os_window (open a URL in the user's real profile, background+flashing, the OAuth/consent path), nbrowser_os_windows, nbrowser_profiles, nbrowser_wake_profile, nbrowser_force_close. Layer 2 (nbe, the Adom Native Browser Extension) unlocks the rest: CDP driving (navigate/click/read/screenshot) inside their logged-in profile. The bridge binds an ephemeral loopback port and the native-messaging host pumps stdio <-> bridge.",   "homepage": "https://wiki.adom.inc/adom/nb-bridge",
bridge/package.json+1−1
@@ -1,6 +1,6 @@ {   "name": "adom-native-browser-bridge",-  "version": "0.16.28",+  "version": "0.16.29",   "private": true,   "description": "Native-browser bridge for Bridge (ab): layer 1 (nb) plus layer 2 via nbe, the Adom Native Browser Extension (Chrome + Edge).",   "main": "server.js",
bridge/server.js+8−1
@@ -3138,7 +3138,14 @@ async function onHostFrameInner(frame) {   }   // Unsolicited events are surfaced to the AI via nbrowser_events (the extension buffers them). }-function resolve_ok(resolve, payload) { resolve({ success: true, output: JSON.stringify(payload) }); }+// ab's file-delivery contract reads the TOP level of a bridge reply (nb-bridge#49): fullPath/safePath nested+// inside `output` are never pulled to the caller. Hoist them (with their sizes) beside `output`.+const DELIVERY_KEYS = ['fullPath', 'safePath', 'fullWidth', 'fullHeight', 'safeWidth', 'safeHeight', 'resizeMax'];+function resolve_ok(resolve, payload) {+  const env = { success: true, output: JSON.stringify(payload) };+  if (payload && payload.fullPath) for (const k of DELIVERY_KEYS) if (payload[k] != null) env[k] = payload[k];+  resolve(env);+}  // Loopback bind host. ab (v1.9.63+) passes ADOM_BIND_HOST (always 127.0.0.1) to every bridge it // spawns; bind to it so we never default to 0.0.0.0 and pop a Windows Firewall "allow access?"
package.json+1−1
@@ -1,6 +1,6 @@ {   "slug": "nb-bridge",-  "version": "0.16.28",+  "version": "0.16.29",   "type": "app",   "title": "NB - Native Browser Bridge",   "description": "This package installs the SKILLS into your container so your AI knows how to drive your real signed-in Chrome and Edge; Bridge loads the bridge runtime itself from the release zip.",