Skip to content

Releases: dimdasci/bproxy

v0.9.3

Choose a tag to compare

@github-actions github-actions released this 06 Jul 18:37
b354432

Why upgrade

This release fixes a bug in the Chrome extension that made two documented bproxy links options fail:

  • --offset
  • --href-contains

In v0.9.2, commands such as this could fail with SCRIPT_ERROR:

bproxy links -n <nick> -s <session> --limit 5 --offset 5

The CLI and daemon accepted the options, but the extension rejected the forwarded request before it reached the page. v0.9.3 fixes that validation mismatch.

Fixed

  • bproxy links --offset <N> now works for pagination.
  • bproxy links --href-contains <text> now works for href filtering.
  • The extension now validates offset as a non-negative integer.
  • Regression tests were added for the daemon→extension request boundary.

Upgrade

npm install -g @dimdasci/bproxy@0.9.3

Then download bproxy-extension-v0.9.3.zip from this release, extract it, and load/reload the unpacked extension in chrome://extensions.

After reloading, the popup should show:

Extension 0.9.3 · Protocol 2

Quick check

bproxy links -n <nick> -s <session> --limit 5 --offset 5
bproxy links -n <nick> -s <session> --limit 5 --href-contains example.com

Both commands should return "ok": true.

Links

v0.9.2

Choose a tag to compare

@dimdasci dimdasci released this 24 Jun 10:27
199a9da

Install

npm install -g @dimdasci/bproxy

Extension: Download the attached zip, extract, then load unpacked in chrome://extensions (Developer mode).

npm: https://www.npmjs.com/package/@dimdasci/bproxy


Changes

Bug fix

  • Popup now shows accurate connection status — Previously the popup showed "Not paired" after ~5 minutes even while the extension was actively connected. The popup now queries the background service worker for live WebSocket state, correctly displaying: Paired / Connecting / Disconnected / Not paired. (#31, #32)

Docs & packaging

  • Fix privacy page navigation, footer spacing, and repo link (#29)
  • Add Chrome Web Store listing assets (#30)

Full Changelog: v0.9.1...v0.9.2

v0.9.1

Choose a tag to compare

@dimdasci dimdasci released this 23 Jun 17:38
4d74651

What's new

Extension popup

  • Redesigned layout — product identity, subtitle, and inline icon for immediate context.
  • Pairing status indicator (green/gray dot) with contextual button: "Pair extension" or "Re-pair with new code".
  • Version and protocol metadata visible in the footer.
  • Links to documentation, privacy policy, license, and GitHub.
  • Manifest description updated for Chrome Web Store clarity.

Documentation site

  • Hero illustration on the landing page.
  • Site footer with version, license, and attribution.
  • Privacy policy page added at /privacy/.

Developer experience

  • Extension test suite: 73 s → 2.3 s (fixed O(n²) selector probing in links cap test).

Full changelog: v0.9.0...v0.9.1

v0.9.0

Choose a tag to compare

@github-actions github-actions released this 23 Jun 11:01
0fe06b3

bproxy 0.9.0 — Agent session ergonomics

Five features addressing friction points from real agentic sessions (~100 bproxy commands across 30–40 tasks). Closes #21.

New: tab activate

Foreground a tab explicitly before destructive actions. Eliminates the TAB_NOT_VISIBLE → screenshot → retry pattern.

bproxy tab activate -n agent -s <id>

New: links --href-contains

Filter links at extraction time. No more piping through python to match href patterns.

bproxy links -s <id> --href-contains "/company/" --limit 5

New: links --offset pagination

Paginate large link sets with offset. Response includes total count and capped flag so agents know how many pages remain.

bproxy links -s <id> --offset 50 --limit 50
# → { "links": [...], "total": 230, "capped": false }

New: text --after and --limit-chars

Extract text starting from a known marker. CLI-local post-processing — no protocol change.

bproxy text -s <id> --after "About" --limit-chars 1000
# → { "text": "...", "markerFound": true, "markerOffset": 142 }

Fix: response truncation

Large JSON responses (>64KB) no longer truncate when piped. Stdout writes use synchronous fd-level I/O to guarantee complete output regardless of consumer pipe state.

Breaking: protocol version 1 → 2

ActionResult["links"] gained required total: number field. PROTOCOL_VERSION is now a centralized constant in shared/src/version.ts. All protocol messages reference it via type — no more scattered protocol_version: 1 literals.


Internal

Context-grep Pi extension removed after A/B testing showed it reduces exploration breadth during planning, producing narrower implementations at the same cost. See docs/internal/journal/2026-06-22-context-grep-extension-ab-test.md for analysis.

v0.8.0 — Agent nickname session scoping

Choose a tag to compare

@dimdasci dimdasci released this 20 Jun 09:11
c262997

What's new

Agent nickname scoping — every CLI command now requires --nick / -n, a 6-character identifier that isolates sessions between concurrent agents. Sessions created by one nick are invisible and inaccessible to others.

Session isolation

  • Sessions are stamped with their creator's nick at creation time
  • session list, debug.status, debug.last, and debug.log return only data belonging to the requesting nick
  • Accessing another agent's session returns SESSION_SCOPE_MISMATCH (retry: never)
  • SESSION_NOT_FOUND is now terminal (retry: never) — closed sessions don't come back

Safety guards

Four daemon-enforced mechanisms prevent runaway agents from hammering the browser:

  • Minimum interval (900ms default) — requests arriving too fast are rejected with RATE_LIMITED
  • Per-nick rate cap (60/min default) — sliding window, rejected with RATE_LIMITED
  • Metronome detection — three consecutive equal-interval requests trigger METRONOME_DETECTED (retry: never)
  • Error-path delay — jittered 500ms–2s pause before error responses, making loops self-throttling

Configuration

All pacing and safety parameters are now configurable via BPROXY_HOME/config.json. The daemon validates config at startup and fails closed if pacing ranges undercut the safety floor.

Privacy

Raw nicks never appear in logs or API responses. The daemon generates an ownerHash (8 hex chars from sha256 with a per-instance salt) for log correlation. Bootstrap responses (tab.open, session.create) include ownerHash so the agent knows its own identifier.

Extension

Minimal change — stores session field in trace entries for scoped debug.log filtering. Nick is stripped before WS dispatch and rejected if leaked.


Install

npm install -g @dimdasci/bproxy

Extension: Download the attached zip, extract, then load unpacked in chrome://extensions (Developer mode).


Full design: Phase 8 spec
Decision: ADR-030
Changelog: v0.7.5...v0.8.0

v0.7.5

Choose a tag to compare

@github-actions github-actions released this 17 Jun 21:08
52b58e8

Documentation and packaging release

No functional changes to the CLI, daemon, or extension — the only source diff between v0.7.4 and v0.7.5 is the version string. Pull this release to pick up the new public documentation site and corrected npm package metadata.

What's new

Public documentation site (#19)

Architecture views, design principles, install/usage/upgrade guides, and per-component solution specs now live at https://dimdasci.github.io/bproxy/. Links in the README and in the published npm package point into specific sections of the site instead of at raw markdown files in the repository. The hosting decision (GitHub Pages with a project-site subpath URL) is captured in ADR-029.

npm package metadata

The package page on https://www.npmjs.com/package/@dimdasci/bproxy now surfaces:

  • Homepage — the docs site
  • Issues — GitHub issue tracker
  • README — deep links into the Install and Usage guides instead of raw GitHub markdown

Repository housekeeping (#20)

  • Root README rewritten as a brief pointer to the docs site, with a new hand-drawn hero illustration of the system: agents on the left, CLI terminal in the middle, daemon as a shield, browser tabs on the right, all framed inside a monitor.
  • "Not released" status banner removed now that the package is on npm.
  • Orphan diagram asset removed.

Install

npm install -g @dimdasci/bproxy
bproxy --version    # bproxy v0.7.5 (protocol v1)

Extension: download bproxy-extension-v0.7.5.zip from this release, extract it, then load unpacked in chrome://extensions (Developer mode). See the Upgrade guide for the recommended sequence when bumping from a previous version.

Pull requests in this release

  • feat(docs): publish public docs to GitHub Pages — #19
  • chore(release): 0.7.5 — README refresh and docs-site links — #20

Full changelog: v0.7.4...v0.7.5

v0.7.4

Choose a tag to compare

@github-actions github-actions released this 15 Jun 20:38
62fb56b

v0.7.4 — Agent skill rewrite + skills.sh compatibility

Skill overhauled

The bproxy agent skill is now compact, information-dense, and compatible with the skills.sh ecosystem:

  • Install: npx skills add dimdasci/bproxy
  • Size: 729 → 307 lines (−58%), same coverage
  • New: references/consent.md — cookie banner handling with CMP selector catalog (OneTrust, CookieBot, Didomi, etc.) and a decision tree for custom banners
  • New: Gotchas section — tab visibility, stale handles, scroll inference, cross-origin iframes

Structure change

skill/skills/bproxy/ — follows the standard skills/<name>/SKILL.md layout so npx skills add discovers it automatically.

Docs

Install guide updated: npx skills add as primary install method, pi as secondary.


Install / upgrade

npm install -g @dimdasci/bproxy@0.7.4

Skill: npx skills add dimdasci/bproxy

Extension: Download the attached zip, load unpacked in chrome://extensions.

Full Changelog: v0.7.3...v0.7.4

v0.7.3

Choose a tag to compare

@github-actions github-actions released this 15 Jun 19:16
7bb295f

v0.7.3 — Fix: global install broken for bproxy service start

Bug fix

bproxy service start crashed with ERR_MODULE_NOT_FOUND after global install via npm. The release package was missing runtime dependency declarations for fastify, @fastify/websocket, pino, and zod — the service binary imported them externally but npm install -g had nothing to install.

CI improvement

Added a release smoke test (scripts/smoke-release.sh) that installs the assembled package in an isolated npm prefix and verifies both bproxy and bproxy-service binaries resolve all imports. This gate runs on every PR and before npm publish, preventing this class of bug from shipping again.


Install / upgrade

npm install -g @dimdasci/bproxy@0.7.3

Extension: Download the attached zip, extract, then load unpacked in chrome://extensions (Developer mode).

Full Changelog: v0.7.2...v0.7.3

v0.7.2

Choose a tag to compare

@github-actions github-actions released this 15 Jun 18:43
6b79c1f

Install

npm install -g @dimdasci/bproxy

Extension: Download the attached zip, extract, then load unpacked in chrome://extensions (Developer mode).

npm: https://www.npmjs.com/package/@dimdasci/bproxy

Changes

Internal quality and infrastructure patch — no user-facing changes.

  • Single-source version management (prevents version drift across packages)
  • Tag↔version guard in release workflow
  • GitHub Actions bumped to Node 24 runtime
  • SonarQube findings resolved (all hotspots and issues at zero)

Full Changelog: v0.7.1...v0.7.2

v0.7.1

Choose a tag to compare

@github-actions github-actions released this 15 Jun 17:14
08d503d

Install

npm install -g @dimdasci/bproxy

Extension: Download the attached zip, extract, then load unpacked in chrome://extensions (Developer mode).

npm: https://www.npmjs.com/package/@dimdasci/bproxy

What's Changed

  • Phase 0.7: Architecture Viewer by @dimdasci in #1
  • feat: Phase 1 — Shared types & workspace scaffold by @dimdasci in #2
  • Phase 2: Daemon — close out routing, auth, pacing, lifecycle by @dimdasci in #3
  • Complete Phase 3 extension by @dimdasci in #4
  • Phase 4: CLI + docs polish by @dimdasci in #5
  • Reconcile Phase 4 documentation baseline by @dimdasci in #6
  • feat: Phase 5 — Integration & Hardening by @dimdasci in #7
  • chore: resolve SonarCloud tech debt (138 issues) by @dimdasci in #8
  • feat: add click/hover actuator primitives by @dimdasci in #9
  • feat(phase6): daemon-owned element target aliases by @dimdasci in #10
  • docs: fix 5 cross-document inconsistencies and update roadmap by @dimdasci in #11
  • fix: resolve SonarCloud security & code quality findings by @dimdasci in #12
  • chore: project housekeeping by @dimdasci in #13
  • feat: Phase 7 — Distribution & Installation by @dimdasci in #14

New Contributors

Full Changelog: https://github.com/dimdasci/bproxy/commits/v0.7.1