fix(init): keep protocol metadata out of local tools - #1438
Merged
Conversation
Strip protocolVersion and requestId before dispatching suspended payloads to strict local tool and interactive schemas. Preserve the original envelope for resume correlation and recovery.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
betegon
marked this pull request as ready for review
August 18, 2026 10:05
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.
Summary
Follow-up to #1436. Protocol v1 adds
protocolVersionandrequestIdto each suspended request, but the CLI was forwarding those transport fields into strict local tool schemas.apply-patchsetrejectedprotocolVersionas an unknown key, retried four times, and aborted before writing files.This keeps the wire envelope at the runner boundary:
resumeAsyncstill echoes the original protocol version and request IDTest plan
pnpm --filter sentry exec vitest run test/lib/init/wizard-runner.test.ts— 64 passedpnpm --filter sentry exec vitest run test/lib/init test/commands/init.test.ts— 35 files / 551 passedpnpm --filter sentry exec tsc --noEmit -p tsconfig.jsonpnpm lintpnpm check:depspnpm check:errorspnpm check:patchespnpm check:stale-refspnpm check:fragmentspnpm check:docs-sectionsSENTRY_CLIENT_ID=local-build-smoke pnpm buildsentry-test-projects/nextjs: selected every available feature, applied six changes, installed dependencies, passed CLI startup verification, and passedbun run buildgit diff --checkThe full CLI suite also completed with 9,173 passing and the same eight unrelated environment-sensitive failures already present on main (timezone and Bash completion fixtures).