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.
Motivation and Context
Jira Link:
Description
How has this been tested?
Screenshots (if appropriate):
Types of changes
Checklist:
Note
Medium Risk
Adds a new JSON-RPC processing path and changes shared error serialization logic, which could affect middleware behavior and error shapes if adopted by consumers.
Overview
Introduces a new
src/jrpc/v2JSON-RPC engine and server API, includingJsonRpcEngineV2,JsonRpcServer, and a frozenMiddlewareContext, with stricter semantics around request vs. notification handling, immutability, and middleware composition/destroy lifecycle.Adds a V1↔V2 bridge via
asLegacyMiddlewareplus cloning/context propagation helpers, and updates error handling to better preserve/serializecausedata for JSON-RPC errors (with deterministictoString). Extensive newvitestcoverage is added for the v2 engine/server, compatibility layer, and error serialization behavior.Written by Cursor Bugbot for commit b3352a9. This will update automatically on new commits. Configure here.