Skip to content

Latest commit

 

History

History
726 lines (450 loc) · 50.4 KB

File metadata and controls

726 lines (450 loc) · 50.4 KB

1.24.2 (2026-08-03)

Bug Fixes

  • override conventional-changelog-writer to fix empty changelog notes (5cb0c2e)

1.24.1 (2026-07-23)

Chores

  • deps: update dependencies to latest (71709ff)

1.24.0 (2026-06-06)

Features

  • bridge: clean up mesh state on Claude Code exit (3088e00)
  • core: add hasCoordinatorConnection and onError to transport (1133260)

Bug Fixes

  • bridge: adapt pi bridge to graceful mesh degradation (5ba4e43)
  • mesh-store: degrade gracefully when coordinator port is held by orphan (d9303ff)

1.23.1 (2026-06-03)

Refactoring

  • bridge: use local tsx path instead of npx for claude-code bridge (1629c8e)

1.23.0 (2026-05-30)

Features

  • cli: add /agent-comms:agents slash command (16ea3cc)
  • cli: add slash commands for agent-comms actions (7522d9e)

Bug Fixes

  • bridge: key pending file by Claude Code PID, not just cwd (8ef9149)
  • bridge: use synchronous hooks for Stop and PostToolUse drain (e5714fe)
  • release: sync marketplace.json version on release (8d0e288)

1.22.0 (2026-05-30)

Features

  • bridge: add asyncRewake hooks for idle-Claude delivery (dacdeba)

1.21.2 (2026-05-30)

Bug Fixes

  • bridge: buffer all delivery events for idle-Claude fallback (cb340fe)

1.21.1 (2026-05-30)

Chores

  • deps: upgrade direct deps and add overrides to clear audit warnings (1712222)

1.21.0 (2026-05-30)

Features

  • bridge: reserve channel notifications for actionable events in Claude Code bridge (ffe123d)

1.20.0 (2026-05-30)

Features

  • bridge: populate meta.streamingBehavior on Claude Code channel notifications (8f23cc3)
  • bridge: use streamingBehavior hint to select deliverAs in pi bridge (64be6af)
  • core: add extractStreamingBehavior and delivery hint prefixes (58dbc5b)
  • core: add StreamingBehavior type and extend message/action schemas (0c288a4)
  • core: thread streamingBehavior through store and tool (2481743)

Documentation

  • document streamingBehavior delivery timing field and per-bridge behaviour (9551a2e)

1.19.5 (2026-05-27)

Bug Fixes

  • bridge: use OS-assigned port for auto-started web servers (69d3624)

1.19.4 (2026-05-27)

Refactoring

  • bridge: replace MeshStatePatch type assertion with type guard (d54cbb5)

1.19.3 (2026-05-27)

Bug Fixes

  • core: remove spurious async from synchronous methods (5c594e4)

1.19.2 (2026-05-27)

Bug Fixes

  • build: restore build step in pre-push hook using direct node calls (48ba490)

1.19.1 (2026-05-27)

Bug Fixes

  • core: retry tls.createServer on intermittent OpenSSL ASN.1 race (6af1d19)

1.19.0 (2026-05-27)

Features

Bug Fixes

  • bridge: relax SW activation check for headless Chromium (87e5717)
  • bridge: remove type assertions from PWA E2E test (28d7819)
  • bridge: simplify SW activation test to registration check (6288265)
  • bridge: verify SW activation without requiring controller claim (9131dd5)
  • bridge: wait for SW controller after reload in PWA E2E test (da99706)
  • build: use direct node invocations in pre-push hook (900b7c3)

Styles

  • bridge: apply eslint --fix formatting to PWA E2E test (9a77db6)

Tests

  • bridge: add E2E tests for deferred mesh connection and connect prompt (1da3db4)
  • bridge: add E2E tests for web UI interactions (90a437f)

Chores

  • build: simplify pre-push hook to avoid submodule deadlocks (6eddd38)

1.18.0 (2026-05-27)

Features

  • bridge: extract testable modules and add 31 new tests (b71aaa2)

Bug Fixes

  • bridge: add room-list ID to ProjectTree for E2E test selectors (b930fe9), closes #room-list
  • bridge: capture deep link before rerender clears URL params (c162f0c)
  • bridge: correct /join test assertion from 'Switched to' to 'Joined' (ac1bb24)
  • bridge: fix deep link E2E tests for room ID and message clearing (bfc55e4)
  • bridge: isolate E2E test coordinator ports to prevent EADDRINUSE (c0f03ab)
  • bridge: wait for room items before clicking in E2E tests (c949358)

Styles

  • bridge: apply prettier and eslint formatting fixes (8e5a643)

1.17.1 (2026-05-27)

Bug Fixes

  • render initial UI on first load without REST or mesh connection (496e0ee)

1.17.0 (2026-05-27)

Features

  • defer mesh connection on first visit to avoid browser prompt (e618be3)

1.16.1 (2026-05-27)

Bug Fixes

  • skip REST API calls entirely on standalone PWA (e76698f)

1.16.0 (2026-05-27)

Features

  • sequential port discovery for standalone PWA mesh discovery (d23ba26)

Bug Fixes

  • prettier formatting and void expression in main.tsx (c318dca)
  • wrap void-returning callback in braces for no-confusing-void-expression (b8ef5df)

Styles

1.15.1 (2026-05-27)

Bug Fixes

  • use relative paths for GitHub Pages subpath deployment (3ea54e4)

1.15.0 (2026-05-27)

Features

  • bridge: add mesh_set_visibility and mesh_get_visibility to buildAction (374ad2d)
  • bridge: add PWA manifest, offline caching, and installability (3872e5f)
  • bridge: add root entry point for pi auto-discovery (e16b39b)
  • bridge: add service worker with push notification handling (b91537c)
  • bridge: add URL query parameter deep linking for rooms and DMs (f4ce6e2)
  • bridge: enable TLS transport across all bridges (927ee99)
  • bridge: integrate PushManager into web server (51c7e64)
  • bridge: pass discovery manager to CommsTool in all bridges (ab302d6)
  • bridge: restore project tree sidebar, agent rename, and routeAction (74fd260)
  • build: add mesh-worker.ts as separate esbuild entry point (c615bc8)
  • core: add bidirectional approval wire messages and types (558c68b)
  • core: add cryptographic identity generation (89ec5cb)
  • core: add discovery module with mDNS and Tailscale backends (8063874)
  • core: add federation wire messages and types (aca2526)
  • core: add listener management and network interface discovery to MeshStore (8bb9570)
  • core: add mesh_discover, mesh_advertise, mesh_unadvertise action types (fb9613b)
  • core: add MeshVisibility type and stop() to discovery backends (696f11d)
  • core: add multi-listener coordinator support with per-listener policies (cf897e8)
  • core: add onPatch callback to MeshStore (4fc5676)
  • core: add PushManager for browser push subscriptions (1dad588)
  • core: add TlsTransport with certificate pinning (527429c)
  • core: add VAPID key generation for Web Push (90ce608)
  • core: add visibility state machine to DiscoveryManager (3bd6326)
  • core: add WebSocketTransport for browser mesh participation (1dbe6c6)
  • core: export VAPID and PushManager from public API (b68c4e7)
  • core: handle discovery actions in CommsTool (8cf06c8)
  • core: implement bidirectional connection approval (5fd3d14)
  • core: implement FederationManager (04bb349)
  • core: implement TcpTransport with connection lifecycle and event dispatch (a1d2196)
  • core: implement Web Push encryption and VAPID signing (eacaa95)
  • core: wire discovery backends into MeshStore and exports (e545dde)
  • core: wire federation into MeshStore, CommsTool, and buildAction (9d5a0ac)
  • core: wire listener actions through CommsTool and bridge helpers (5cb4a3b)
  • core: wire visibility through MeshStore and CommsTool (0606977)
  • web: add /ws/mesh bridge endpoint for browser mesh participation (c22e44b)
  • web: add relay SharedWorker for cross-mesh message forwarding (f9d6c31)
  • web: add RelayClient main-thread API (b163e66)
  • web: add RelayPanel component with relay configuration UI (52b3eb7)
  • web: add SharedWorker mesh node and main-thread MeshClient (c889c91)
  • web: integrate MeshClient into frontend for real-time mesh state (b03bbd7)
  • web: wire relay client into App, Sidebar, and main entry point (df4b83e)

Bug Fixes

  • bridge: share mesh store between pi bridge and web server (6438629)
  • build: replace lint-staged with direct eslint in git hooks (a495d81)
  • ci: remove stale _site upload-artifact step (522e93b)
  • ci: skip husky hooks during semantic-release (05eb4bb)
  • core: add federation stubs to FileStore and fix test narrowing (b2abcab)
  • core: handle EADDRINUSE race in coordinator election and graceful degradation (b0c3894)
  • core: prevent event-loop starvation in delivery chain (c54c07d)
  • core: prevent untracked markRead timers after shutdown (b45e215)
  • core: remove invalid adapter reference from meshGetVisibility (58177a0)
  • core: resolve merge conflict leftovers in tool.ts (90152dc)
  • core: resolve merge conflicts from parallel agent integration (9acf30c)
  • core: resolve type errors from parallel agent integration (c1e9af4)
  • core: use listener.server.close() in transport shutdown (4c08bb0)
  • remove noInlineConfig to allow eslint-disable for legitimate casts (e27af8d)
  • resolve all ESLint errors with proper type narrowing and runtime validation (8d47f7d)
  • resolve CI type errors and lint failures (7ffa4f3)
  • resolve TypeScript errors from satisfies-based type narrowing (036b603)
  • test: intercept transport events for listener policy test (b9a0d07)

Refactoring

  • bridge: separate folder toggle from directory room selection (ae2a898)
  • core: extract wire protocol and transport interface (852dc5f)
  • core: inject transport into MeshStore via DI (1ab25b0)

Styles

  • apply prettier formatting across codebase (7879d3b)

Tests

  • add federation integration tests (19b2241)
  • add visibility integration tests and test:visibility script (2ac7298)
  • core: add delivery receipt integration tests (6a59a65)
  • core: add listener policy integration test (386bbac)

Build

  • web: add relay-worker.ts as separate esbuild IIFE entry point (6f0f569)

CI

  • deploy PWA to GitHub Pages on push to main (c9176c1)
  • trigger Pages deployment (1458e38)

Chores

  • ci: update to Node 26 and latest action versions (665e14f)
  • ignore local .worktrees/ directories (11e1a29)

1.14.0 (2026-05-25)

Features

  • bridge: add buildProjectTree function with unit tests (86d0250)
  • bridge: add footer status line with project room, web URL, and unread count (9ce0811)
  • bridge: add ProjectTree component and rebuild sidebar (2c38d16)
  • bridge: categorise delivery events as actionable vs informational (bffbedb)
  • cli: add /comms-url slash command (0877b98)
  • core: add agent renaming via name_changed event and rename_agent action (1740a1a)
  • core: add isActionableEvent for delivery event classification (12cc749)
  • core: auto-create project rooms per working directory (a44a52a)

Bug Fixes

  • bridge: add required display field to sendMessage call (5721170)
  • bridge: correct sendMessage API usage and add name_changed to TUI (40fd3e4)
  • bridge: fix handler return type and exclude frontend tests from tsc (f962966)
  • bridge: fix TypeScript errors in tests and command handler (d7aef53)
  • bridge: resolve ESLint errors in web UI components and tests (ddce4b9)
  • bridge: rewrite garbled pi bridge index from reconstruction (4efcdff)
  • bridge: use requireElement with tag for join form inputs (fc7019a)
  • build: deduplicate package.json keys and add missing preact dependency (8a10193)
  • build: exclude hanging multi-process integration tests from pnpm test (c43cca3)
  • build: remove stale imperative files and fix project-tree.ts (642dcac)
  • core: remove duplicate isActionableEvent export (8a50ae8)
  • lint: add test files to allowDefaultProject and fix prettier formatting (35a831f)
  • lint: downgrade require-await to warning and fix prettier formatting (9d751a8)
  • lint: rename JSX test files to .tsx and delete stale duplicates (5d16af2)
  • lint: resolve all ESLint errors flagged by CI (4bcf690)
  • lint: restore async handler, add non-nullable-type-assertion-style to test overrides (0eeb670)
  • mesh: deduplicate delivery events and clean up stale peers (f78ba74)
  • mesh: deduplicate delivery events at the MeshStore level (d7d67c5)
  • mesh: merge members and subscribedRooms on patch receive (3406c4e)
  • mesh: only owning store broadcasts agent offline status (d84e227)
  • mesh: prevent duplicate name_changed delivery to agent in room (469dce3)
  • mesh: skip setAgentOffline if agent is already offline (0175a55)
  • tool: route /join and /leave through local handlers for correct state (7a8eb36)

Refactoring

  • bridge: replace imperative DOM with Preact components (e0699d6)
  • bridge: serve frontend as static assets instead of generated TS (c700219)
  • web: extract inline HTML frontend into TypeScript modules (c272bd0)

Tests

  • bridge: add message conversion unit tests, component tests, and web server integration tests (9449ce5)

1.13.0 (2026-05-23)

Features

  • bridge: add web_url action to agent_comms tool (db3d73e)
  • bridge: enable DM by clicking agent in sidebar (5d6cb33)

Refactoring

  • bridge: extract inline HTML frontend into TypeScript modules (196dc6b)

Tests

  • bridge: add Playwright e2e tests for web UI (a263eeb)
  • bridge: expand unit and e2e test coverage (ee9c0d4)

Chores

  • build: adopt typed test file suffix convention (b46dc4b)
  • build: fix pre-push ESLint errors (ffc1408)
  • build: relax ESLint rules for test files (d15fe76)

1.12.0 (2026-05-21)

Features

  • add commitlint and lint-staged (020fbdf)

1.11.0 (2026-05-21)

Features

  • bump README version badge on release (73bea55)

Documentation

Styles

  • fix prettier formatting in sync-release-metadata (33140fd)

1.10.2 (2026-05-21)

Chores

  • filter release commits from CHANGELOG.md (6513495)

1.0.0 (2026-04-27)

Features

  • add npm publishing config — entry points, exports, provenance, packageManager (8d87c31)
  • add no-pointless-reassignments custom rule (3f49ba6)
  • add setup CLI with harness auto-detection (c8fae13)
  • add Codex and OpenCode bridges, extract shared helpers, make harness pluggable (489376b)
  • add Codex and OpenCode bridges, fix types and deps (25c2d2e)
  • add pi extension bridge with delivery watcher (c8ef78a)
  • add Claude Code MCP channel server bridge (b20fd11)
  • add barrel export for bus protocol, store, and tool (11b83c3)
  • add BusAction tool handler with human-readable results (e0025f9)
  • add filesystem-based bus store — agents, rooms, DMs, delivery (fd05a5e)
  • add minimal nanoid utility using crypto.getRandomValues (c39d1f5)
  • add bus protocol types — identity, rooms, messages, delivery events (5d33018)

Bug Fixes

  • remove MCP_TOOL_SCHEMA alias, add typebox dep, fix eslint config (cf1c335)
  • resolve type errors — narrow undefined access, use Zod schema for MCP input (bb23867)
  • resolve all ESLint errors (0 errors remaining) (1d863fc)
  • copy cli.ts to temp dir for npx execution (174f297)
  • add .js shim for npx compatibility (3abbbe1)

Refactoring

  • rename package from agent-bus to agent-comms (f513c22)
  • move CLI to src/cli.ts, rename bin to bin.js (09e78ec)
  • convert bin and stop hook to TypeScript, run via tsx (dd57267)
  • make AgentIdentity.harness a plain string (64d41e2)

Documentation

  • use literal path placeholders in JSON/TOML configs (01595dc)
  • replace hardcoded ~/Developer/agent-bus/ paths with $AGENT_BUS_DIR (fd2397d)
  • remove project structure and implicit file paths from README (37d1a98)
  • add README with symlinked AGENTS.md and CLAUDE.md (50dcdf9)

Build

  • update pnpm-lock.yaml (b823e41)
  • add release.config.mjs — semantic-release configuration (552ea2a)
  • add semantic-release with conventionalcommits preset (adbca55)
  • pin Node 22 via .tool-versions (db2df31)
  • initialise project scaffolding with TypeScript config (8d004c0)

CI

  • add GitHub Actions workflow — lint, typecheck, test, release (9f84539)

Chores

  • add *.tgz to gitignore (f44e9a5)
  • clean up stale .mcp.json from local testing (61b9e08)
  • switch from npm to pnpm (59849ec)

Other

1.0.1 (2026-04-27)

Bug Fixes

  • remove registry-url from setup-node to allow OIDC trusted publishing (8f13fc9)

1.0.2 (2026-04-27)

CI

  • bump actions to latest — checkout@v5, pnpm@v5, setup-node@v6 (c284a35)

1.0.3 (2026-04-27)

CI

  • configure dependabot for npm and github-actions weekly updates (72fb7ce)

1.0.4 (2026-04-27)

Bug Fixes

  • add bun types to tsconfig to resolve lint errors (ef62e40)

Build

  • accept dependabot dep bumps and lockfile update (0dcc5b3)

CI

  • bump node to lts/24, add husky pre-push hook (8a036ea)

Chores

  • set 7-day minimum release age in project .npmrc (600f2cb)

1.0.5 (2026-04-27)

Documentation

  • update README install instructions for npm registry (1231709)

1.0.6 (2026-04-27)

Refactoring

  • remove bin.js shim, use compiled dist/cli.js directly (3ba1752)

1.0.7 (2026-04-27)

Bug Fixes

  • add shebang to dist/cli.js via build step (22b99d9)

1.0.8 (2026-04-27)

Bug Fixes

  • handle missing .mcp.json when configuring Claude Code bridge (4dc967c)

1.0.9 (2026-04-27)

Refactoring

  • replace bridge child process spawns with in-process static imports (c4bfa9f)

1.0.10 (2026-04-27)

Bug Fixes

  • move @modelcontextprotocol/sdk to production dependencies (0a018db)

1.0.11 (2026-04-27)

Bug Fixes

  • remove all stale agent-comms/agent-bus pi extension paths (a81bd7a)

1.0.12 (2026-04-27)

Bug Fixes

  • isolate agent identity per harness (fbded01)

1.0.13 (2026-04-27)

Bug Fixes

  • isolate agent identity per harness and working directory (15585f8)

1.0.14 (2026-04-27)

Bug Fixes

  • deliver incoming messages as steering messages (465416c)

1.1.0 (2026-04-27)

Features

  • add Codex PostToolUse hook for mid-turn message delivery (378805e)

1.2.0 (2026-04-28)

Features

  • add stale agent cleanup via PID probing (coordinator) (3561bd7)
  • persist MeshStore identity to disk for cross-restart recovery (de2ad42)
  • wire MeshStore into all bridges, remove filesystem polling (c337e03)
  • add generic MCP bridge for any MCP-compatible harness (addc0b5)
  • add Claude Code marketplace manifest (81b911c)
  • add Claude Code plugin manifest and pi package manifest (10a254e)

Bug Fixes

  • isolate test meshes on separate ports (eb6b407)
  • make tests resilient to stale mesh state between runs (8d44fc6)
  • merge state_sync instead of replacing — prevents losing local state (732b9a0)
  • remove identity file persistence — incompatible with concurrent sessions (1164098)

Refactoring

  • move CommsError import to top of mesh-store.ts (6ee7fb0)
  • remove Codex hooks — delivery now handled by MeshStore (c7ba9dc)
  • rename Bus to Comms, extract interface, add TCP mesh store (bbfbacf)

Documentation

  • update README and package description for TCP mesh architecture (5600f08)
  • document generic MCP bridge for any MCP-compatible harness (2e1d5f5)
  • add marketplace setup to Claude Code install instructions (ad62cdb)
  • fix pi and Claude Code install commands (257d517)
  • add Claude Code and pi install instructions to README (dfa61a3)

Tests

  • add MeshStore end-to-end test (2256965)

Chores

  • update lockfile after dependency resolution (a253ae9)

1.3.0 (2026-04-28)

Features

  • room member awareness — join roster and status change notifications (2399f89)

1.3.1 (2026-04-28)

Documentation

  • add motivation section, fix broken install path, improve punctuation (a57b465)

1.4.0 (2026-04-28)

Features

  • automatic delivery status and read receipts (b61e995)

1.4.1 (2026-04-28)

Documentation

  • add delivery status, read receipts, member awareness to README (d55928f)

1.4.2 (2026-04-28)

Documentation

  • replace ASCII diagrams with Mermaid in README (97ecf78)

1.4.3 (2026-04-28)

Refactoring

  • rename "bus" to "mesh" in package.json and plugin manifest (9954bbf)
  • rename "bus" to "comms" in FileStore comments and default path (21f0894)
  • rename "bus" to "mesh" in CLI, remove legacy "agent-bus" detection (9ea8934)
  • rename "bus" to "mesh" in plugin marketplace manifest (7e03c89)
  • rename "bus" to "mesh" in bridge tool descriptions (5c0807e)

1.5.0 (2026-04-28)

Features

  • add user bridge — TUI, web UI, and non-interactive CLI (97ef406)

1.6.0 (2026-04-28)

Features

  • auto-start web UI from every bridge (5c1af03)

1.7.0 (2026-04-29)

Features

  • add decline_invite action with reason message (809a87f)
  • richer formatDeliveryEvent for room invites (6f570f7)
  • enrich room_invite event with room description, inviter name and cwd (2b5c3f0)
  • show cwd and subscribed rooms in list_agents output (d260d10)
  • expose cwd on AgentIdentity (1104da2)

Styles

  • fix prettier and eslint violations from pre-push hook (d6eabd1)

1.8.0 (2026-05-08)

Features

  • use dynamic port, await controller init, return structured handle (48ae0b4)

Bug Fixes

  • shut down web server before bridge store on session end (a664b4b)
  • track and destroy all TCP sockets on shutdown (4199447)

1.8.1 (2026-05-21)

Refactoring

  • replace custom banEslintDisable rule with noInlineConfig (30fc24b)

Chores

1.8.2 (2026-05-21)

Bug Fixes

  • add error listener to coordinator server sockets (833aeef)

Tests

  • coordinator survives ECONNRESET on accepted socket (2d8c34e)
  • coordinator survives ECONNRESET on accepted socket (567a896)

1.9.0 (2026-05-21)

Features

  • publish agent-comms to the MCP Registry (89c2a4a)

Refactoring

  • rename release config to TypeScript (a8c6eb7)

1.9.1 (2026-05-21)

Bug Fixes

  • correct MCP Registry name casing to io.github.ExaDev (d788fe0)

1.10.0 (2026-05-21)

Features

  • add changelog generation to release pipeline (76038ac)
  • add changelog generation to release pipeline (ea43920)

Chores

  • update pnpm-lock.yaml after adding @semantic-release/changelog (c7bcb2c)

1.10.1 (2026-05-21)

Chores

  • rewrite CHANGELOG.md to match semantic-release format (f030208)