Repository navigation
v0.8.6
v0.8.6
The release that finishes the room bridge (issue 1581) and puts its page client on npm. A page can
now tell agents what its user did, and an agent hears it as SEP-3415 events, as a turn in a live
Claude Code session, or by polling when its host speaks neither. A page can also pair with another
user's agent by showing a code. @panyam/mcpkit-rooms publishes with every release from here on, at
the release's version, with npm provenance.
Added
@panyam/mcpkit-roomson npm, the room bridge's page client:
npm install @panyam/mcpkit-rooms@0.8.6. It's versioned with mcpkit, so 0.8.6 is the page side
of the bridge the Go modules carry at v0.8.6; use the same version on both sides. Published from
the release tag bypublish-npm-rooms.ymlthrough npm trusted publishing. (PR 1605)- Page events. A page emits
room.ask,page.selection_changedor a name of its own
(Ask,SelectionChanged,Emitin Go;ask,selectionChanged,emitin TS). Names are
validated and data is capped at 16 KiB. (PR 1602) experimental/integrations/roomsevents, a new module (tagged from this release):- The bridge's page events as SEP-3415 event types, subscribed per resource. A session hears a page
only while attached to its room and only if the page agreed to it. cmd/rooms-channel, a stdio Claude Code channel front end that turns each event into one
notifications/claude/channelin a live session. It has been checked against Claude Code's
channel docs but not yet run inside a real session. (PR 1602)
- The bridge's page events as SEP-3415 event types, subscribed per resource. A session hears a page
- Fallbacks for hosts that speak no events, with
rooms.WithEventFallbacks:next_request, a long-poll tool with a cursor.rooms://events/{resource}, a per-room resource whosenotifications/resources/updatedreaches
only subscribed sessions the page agreed to. (PR 1604)
- Reverse pairing. The page shows a code (
OfferPairingCode/offerPairingCode), and the agent
enters it with the newpairtool. The code is single-use, short-lived and rate-limited, and the
page hears which agent paired. (PR 1604) server.WithExperimentalCapabilitydeclares the spec'scapabilities.experimental. (PR 1602)- The events bridge asks before outward-facing tools.
approvals,approveanddenytools,
with a timeout that denies, are the daemon's default.watch_listreports which tools a watch may
name. (PR 1600) - Client:
ReadResourceWithandGetPromptWithtakeWithProgress.ToolCallWithsendsMcp-Param-*headers.- Progress reaches an in-process (
WithTransport) client. (PR 1601)
Changed
Client.ClosesendsDELETEfor a Streamable HTTP session, so the server'sOnSessionClose
hooks run at once instead of at idle expiry. It's best effort, bounded at 2 s, and a 405 is
ignored. (PR 1601)ext/authbuilds itsinsufficient_scope403s withcore.ScopeChallenge.AuthError. The
response bytes are unchanged and pinned by a test. (PR 1601)- servicekit v0.1.11 and massrelay v0.2.5 across the tree. servicekit v0.1.10 fixed a data race
on every grpcws WebSocket close (servicekit issue 41), so the massrelay transport's tests now run
fully under-race. (PR 1606) - The Makefile's
KC_*variables come from the environment, soKC_PORT=8181 make testkcl-auto
works as documented. (PR 1601)
Upgrading downstream
- agni:
go get github.com/panyam/mcpkit/experimental/ext/rooms@v0.8.6 github.com/panyam/mcpkit/experimental/ext/rooms/massrelay@v0.8.6,
plus…/experimental/integrations/roomsevents@v0.8.6for room events or the channel.- In the browser:
npm install @panyam/mcpkit-rooms@0.8.6instead of a dependency on the source
tree. - This brings in massrelay v0.2.5 and servicekit v0.1.11.
- chakra and others on servicekit: go.mod moves to servicekit v0.1.11.
- Anything implementing a client transport: a transport passed to
WithTransportmay implement
the newcore.NotificationReceiverto deliver server notifications to the client.