Add WebSocket, Socket.IO, and MCP (HTTP) request protocols#1
Merged
Conversation
…tion chain, import, MCP, UI, tests). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
… MCP tools, sidebar DnD, tests). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…older menu, endpoint, MCP tool, tests). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…tory endpoint/switcher, MCP, tests). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…ween requests. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…erver session manager, ws driver, sidebar/editor UI, tests). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…ce-aware connect, editor UI, tests). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
… tool browser with JSON-Schema arg form, tests. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds three new streaming/stateful request protocols plus the collection-management work that preceded them. None of these commits were on
mainyet, so this PR bundles all unmerged work.Streaming protocols (WebSocket, Socket.IO, MCP)
A single multiplexed live channel underpins all three: the browser opens one
WebSocketto/live, and many protocol sessions multiplex over it keyed bysessionId. The Node server owns every outbound connection, so{{variables}}, headers, auth, and the cookie jar apply just like HTTP requests. Each protocol is a driver behind a sharedLiveDriverinterface; an in-memory session manager enforces per-socket/global caps and a hard lifetime.authpayload, query params, and an events filter), emit named events with JSON args, and watch incoming events. Reusable saved emits.Earlier collection-management work (also unmerged)
Testing
npm run typecheck,npm run build, 69 tests pass — including new integration tests that drive each protocol end-to-end through/liveagainst in-test echo servers (ws,socket.io, and an MCPStreamableHTTPServerTransport), plus persistence round-trips.npm run typecheck,npm run build, 15 tests pass./apiand the existing/mcpserver endpoint unaffected by the/liveupgrade handling.Note: the React editors for the streaming protocols (
ConnectionEditor,McpEditor,JsonSchemaForm) have no automated coverage and were verified manually.🤖 Generated with Claude Code