← Commit history

Publish 2.0.568

John Lauer ·5d3ae06318 ·1mo ago ·parent 08569fb
2 files changed +4−4
package.json+2−2
@@ -1,6 +1,6 @@ {   "slug": "pup-bridge",-  "version": "2.0.567",+  "version": "2.0.568",   "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": "Extension-lane windows are branded BEFORE Chrome shows them, with the same birth watcher the CDP lane has had since 2.0.446 (now one function shared by both opens): the AUMID is registered ahead of time, a thread polls every top-level frame every millisecond from before the window exists, and the newborn is stamped natively while still invisible so the shell bakes pup's icon into the button at its first show. Until now the ext lane stamped only after the page had navigated, so every ext window was born on the stock Chrome icon (John, 2026-09-14, opening the all-engineering agenda). The ext lane's own 6 s bind loop is deleted; the watcher's hwnd is the window."+  "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)." }
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.567",+  "version": "2.0.568",   "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": "Extension-lane windows are branded BEFORE Chrome shows them, with the same birth watcher the CDP lane has had since 2.0.446 (now one function shared by both opens): the AUMID is registered ahead of time, a thread polls every top-level frame every millisecond from before the window exists, and the newborn is stamped natively while still invisible so the shell bakes pup's icon into the button at its first show. Until now the ext lane stamped only after the page had navigated, so every ext window was born on the stock Chrome icon (John, 2026-09-14, opening the all-engineering agenda). The ext lane's own 6 s bind loop is deleted; the watcher's hwnd is the window."+  "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)." }\ No newline at end of file