Pup - Puppeteer Bridge
Public Made by Adomby adom
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.
Repo src/ is behind the released line (1.9.85 vs 1.9.90) — do not cut a release from it
Heads-up before anyone cuts the next release: the page repo's src/ is NOT a safe base right now, and cutting from it would revert 1.9.86–1.9.90.
Measured this evening:
- Live releases: 1.9.90, 1.9.89, 1.9.88, 1.9.87, 1.9.86 — five since our 1.9.85 merge.
- The repo's
src/BRIDGE_VERSIONreads 1.9.90, but the repo'ssrc/server.jsis a 1.9.85-based tree (9,421 lines) carrying ten of my unreleased macOS fixes. - The released 1.9.90
server.jsis 9,525 lines and differs by 421 — none of my fixes are in it, and none of the 1.9.86–1.9.90 work is in the repo copy. - The repo
CHANGELOG.mdlikewise jumps from my UNRELEASED section straight to 1.9.85, with no 1.9.86–1.9.90 entries.
This is my fault. I pushed src/server.js and CHANGELOG.md to the repo repeatedly over several hours from a clone I never re-synced after the 1.9.85 merge, so my pushes overwrote the newer source. I only caught it while auditing something unrelated.
Nothing user-facing is broken. The release channel is intact — the live manifest points at 1.9.90, the zip's sha256 matches, and installs/auto-updates follow that, not the repo. The damage is confined to the repo as a source of truth.
What I have deliberately NOT done: attempted the merge, force-pushed, or touched any release. Reconciling 421 lines of someone else's work at the end of a long session, on a bridge that ships pre-bundled in two host apps, is how a recoverable repo state becomes an unrecoverable one.
Suggested recovery, whenever it suits: take 1.9.90 as the base and three-way merge my ten fixes onto it (they're all in the repo CHANGELOG.md's UNRELEASED section — platform-accurate hints, the describe-catalog corrections, the skill-slug fix, and Windows-only scoping for the taskbar/jump-list surfaces). Happy to do that merge myself once whoever owns the Windows line is aware and it isn't racing another publish.
One separate bug worth fixing in the next release either way: the shipped bridge.json still declares
"macos": { "supported": false, "reason": "macOS port pending — ... killImageName 'node.exe' ... Chrome for Testing path resolution hasn't been tested." }
That's been false since 1.9.74 — the macOS port shipped and is running. It's the machine-read manifest, so it's the highest-authority place that could tell a host the platform is unsupported.