← Commit history

Publish 2.0.569

John Lauer ·1c7685dffd ·1mo ago ·parent b808a63
2 files changed +4−4
package.json+2−2
@@ -1,6 +1,6 @@ {   "slug": "pup-bridge",-  "version": "2.0.568",+  "version": "2.0.569",   "type": "app",   "description": "The pup SKILL PACK \u2014 the AI skills that teach a cloud/container AI how to drive the Adom Desktop Puppeteer (pup) bridge (browser_* verbs): the everyday `pup` skill plus focused sub-skills for windows/sessions/tabs, screenshots+recording, browsers+Chrome install, and driving the Adom wiki. Installs into ~/.claude/skills + ~/.codex/skills. DOCS ONLY \u2014 this is NOT the bridge runtime. The bridge itself (the Node program that drives the browser) runs on the DESKTOP: Adom Desktop bundles it and auto-installs/updates it, and it's published separately on the Releases tab as adom-bridge-puppeteer-v<ver>.zip. The pkg version is kept in lockstep with the Release version so the page's max version row always carries BOTH a pkg tarball (skills) and a runtime zip (bridge) \u2014 a skills-only or runtime-only bump on the top row breaks constraint installs. TL;DR: pkg install = the skills for your AI; the bridge = the Release zip, which Adom Desktop manages for you.",   "keywords": [@@ -148,5 +148,5 @@       "prompt": "Download the puppeteer-bridge zip from the wiki and walk me through server.js"     }   ],-  "changelog": "The taskbar overlay badge is composed IN THE BINARY (pup_identity::badge) for both lanes. It used to be JavaScript evaluated inside the page, which a strict Content-Security-Policy refused (Google Docs, claude.ai, the wiki), so those windows never got an overlay: 'no badge could be composed' (John, 2026-09-14, the all-engineering agenda). Same card as before: 48 px, radius 6, #202124 or #f1f3f4 when the icon is dark-dominant and transparent, the icon cover-fitted into a 44 px inset, scaled to overlaySize and pinned north-east; the generic globe and PDF sheet are embedded PNGs. The icon is sourced per lane: the extension reads <link rel=icon> by injected function (page CSP cannot refuse it) and fetches with the page's cookies; the CDP lane reads the hrefs over Runtime.evaluate and the bridge fetches; /favicon.ico is the fallback with the same 30 min negative cache. badge_js and the extension lane's duplicate composer are deleted. Carries 2.0.567 (ext windows branded before first show)."+  "changelog": "Annotate works on the extension lane, and a pup update no longer waits for every window to close. (1) pup_annotate on the default lane: the overlay script is now ONE file shipped in the extension (src/extension/annotate-overlay.js), file-injected into the page's MAIN world on the extension lane (a page CSP cannot refuse a file injection, unlike eval; the pen showed 'Annotating...' and did nothing on Google Docs, John 2026-09-14) and evaluated over CDP on the CDP lane; start, result polling and the Done callback go through lane-generic helpers (inject_script, call_window_fn, read_window, capture_viewport_png); the capture's caption strip and preview are composed in the binary (pup_identity::badge::annotate_compose, fontdue text) instead of an in-page canvas. (2) Worker self-reload: on each health tick, if the lane's worker is behind the bridge version, pup re-stages the extension folder in place and asks the worker to chrome.runtime.reload(); it comes back on the new files with the same lane token and in-flight commands are re-queued. Carries 2.0.568 (overlay badge in the binary) and 2.0.567 (ext windows branded before first show)." }
page.json+2−2
@@ -4,7 +4,7 @@   "slug": "pup-bridge",   "title": "Pup - Puppeteer Bridge",   "brief": "pup is the AI's own browser: a real, full Chrome on the user's desktop that the AI fully controls (a sandbox, not the user's signed-in browser). Rides Bridge; pup_* verbs open windows and tabs, navigate, screenshot, and eval JS.",-  "version": "2.0.568",+  "version": "2.0.569",   "tags": [     "skills",     "pup",@@ -168,5 +168,5 @@       "pup-bridge verbs are invoked through the adom-bridge CLI, not through a binary this package installs, so prefix rules cannot reach them."     ]   },-  "changelog": "The taskbar overlay badge is composed IN THE BINARY (pup_identity::badge) for both lanes. It used to be JavaScript evaluated inside the page, which a strict Content-Security-Policy refused (Google Docs, claude.ai, the wiki), so those windows never got an overlay: 'no badge could be composed' (John, 2026-09-14, the all-engineering agenda). Same card as before: 48 px, radius 6, #202124 or #f1f3f4 when the icon is dark-dominant and transparent, the icon cover-fitted into a 44 px inset, scaled to overlaySize and pinned north-east; the generic globe and PDF sheet are embedded PNGs. The icon is sourced per lane: the extension reads <link rel=icon> by injected function (page CSP cannot refuse it) and fetches with the page's cookies; the CDP lane reads the hrefs over Runtime.evaluate and the bridge fetches; /favicon.ico is the fallback with the same 30 min negative cache. badge_js and the extension lane's duplicate composer are deleted. Carries 2.0.567 (ext windows branded before first show)."+  "changelog": "Annotate works on the extension lane, and a pup update no longer waits for every window to close. (1) pup_annotate on the default lane: the overlay script is now ONE file shipped in the extension (src/extension/annotate-overlay.js), file-injected into the page's MAIN world on the extension lane (a page CSP cannot refuse a file injection, unlike eval; the pen showed 'Annotating...' and did nothing on Google Docs, John 2026-09-14) and evaluated over CDP on the CDP lane; start, result polling and the Done callback go through lane-generic helpers (inject_script, call_window_fn, read_window, capture_viewport_png); the capture's caption strip and preview are composed in the binary (pup_identity::badge::annotate_compose, fontdue text) instead of an in-page canvas. (2) Worker self-reload: on each health tick, if the lane's worker is behind the bridge version, pup re-stages the extension folder in place and asks the worker to chrome.runtime.reload(); it comes back on the new files with the same lane token and in-flight commands are re-queued. Carries 2.0.568 (overlay badge in the binary) and 2.0.567 (ext windows branded before first show)." }\ No newline at end of file