mirror of
https://github.com/Wei-Shaw/sub2api.git
synced 2026-10-24 23:43:46 +08:00
Vertex AI's Anthropic endpoint rejects unknown anthropic-beta tokens with HTTP 400. buildUpstreamRequestAnthropicVertex forwarded the client header verbatim via the allowedHeaders whitelist, so recent Claude Code CLIs that send advisor-tool-2026-03-01, prompt-caching-scope-2026-01-05, redact-thinking-2026-02-12 and thinking-token-count-2026-05-13 broke every Vertex service_account request, even though plain account-test requests passed. This is the only upstream builder that bypassed beta filtering: the OAuth/API-key path uses computeFinalAnthropicBeta and the Bedrock path uses filterBedrockBetaTokens. Close the gap with a Vertex-specific whitelist (vertexSupportedBetaTokens) mirroring bedrockSupportedBetaTokens, plus the existing BetaPolicy block check: - evaluateBetaPolicy block check (symmetric to resolveBedrockBetaTokensForRequest) - filterVertexBetaTokens strips policy-filtered + non-whitelisted tokens - body context_management sanitize now keys on the final beta, not the raw client value - overwrite the anthropic-beta header after the whitelist copy loop with the final value Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>