#2202

fix: redact protocol values in sensitive plugin errors

Opendarshanrajagoliwants to merge intofrom

Sensitive core plugin calls already suppress response error bodies, but the earlier protocol check still echoes the response's unsupported protocol value. A malformed response can therefore put sensitive response data into diagnostics despite the caller requesting redacted errors.

Apply the existing redaction choice to protocol failures too. This covers credential resolution, browser launch/cleanup, and launch mutation. Manifest discovery and custom commands requesting detailed errors keep their existing diagnostics. No flags, schemas, protocol versions, or login-success semantics change.

The subprocess regression uses synthetic values and checks all four affected entry points against success/failure responses with string, object, or missing protocol metadata. It also checks that detailed diagnostics still include the protocol value. Removing the production guard makes the regression fail; restoring it returns the plugin suite to green. Help, MCP description, README, skill reference, and plugin docs are updated per AGENTS.md.

Validation on Rust 1.99.1 / WSL Linux, with Node 24 for docs:

  • Plugin suite: 14 passed. Full Rust unit executable: 1,471 passed, 157 ignored, zero failed. Separate integration executables and ignored browser E2Es were not included in that full-unit run.
  • Formatting and standard Clippy with warnings denied passed.
  • Docs: 54 tests passed, type-check/build passed, and 439 route checks passed. The unchanged schema resource needed temporary LF normalization for the Windows byte-oracle checks; no schema change is included.
  • Optional all-target Clippy reports three lints in unchanged upstream tests: for_unbounded_range, result_large_err, and chunks_exact_to_as_chunks.

This is diagnostic hardening for malformed responses. Plugins remain trusted local executables; no real credential exposure from a deployed provider has been demonstrated.

Activity

3
vercel[bot]7d ago

@darshanrajagoli is attempting to deploy a commit to the Vercel Labs Team on Vercel.

A member of the Team first needs to authorize it.

copilot-pull-request-reviewer[bot]reviewed7d ago
copilot-pull-request-reviewer[bot]7d ago

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.