Skip to content

bug: strip exclusiveMinimum and exclusiveMaximum from Vertex tool schemas - #1799

Open
Tyagiquamar wants to merge 1 commit into
Portkey-AI:mainfrom
Tyagiquamar:bug/vertex-strip-exclusive-bounds-1473
Open

bug: strip exclusiveMinimum and exclusiveMaximum from Vertex tool schemas#1799
Tyagiquamar wants to merge 1 commit into
Portkey-AI:mainfrom
Tyagiquamar:bug/vertex-strip-exclusive-bounds-1473

Conversation

@Tyagiquamar

@Tyagiquamar Tyagiquamar commented Sep 10, 2026

Copy link
Copy Markdown

Fixes #1473.

What

Tool calls with JSON-schema numeric bounds (exclusiveMinimum/exclusiveMaximum, emitted by MCP servers and schema generators) fail on Vertex AI with 400 Unknown name, even though the same tools work elsewhere.

Why

The Vertex Schema reference does not support those keywords. The gateway sanitizer removed additionalProperties and dollar-schema but left these in, so any tool schema using numeric bounds was rejected upstream.

Root cause

recursivelyDeleteUnsupportedParameters in src/providers/google-vertex-ai/utils.ts (used by both the vertex-ai and google provider tool paths) did not strip exclusiveMinimum/exclusiveMaximum.

Fix

Delete both keywords alongside the existing ones, recursively.

Tests

  • Extended src/providers/google-vertex-ai/utils.test.ts with two cases (top-level and nested stripping; other keywords preserved). Both fail on unpatched main; full file passes with the fix (20/20).
  • jest src/providers/google-vertex-ai/utils.test.ts --runInBand in Docker (node 24); prettier clean. Note: 6 unrelated suites under tests/unit/src/handlers/services fail to compile on main with pre-existing TS errors in files this PR does not touch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[google-vertex-ai] Invalid JSON payload received

1 participant