diff --git a/open-sse/translator/formats/gemini.js b/open-sse/translator/formats/gemini.js index b1d4db34..6393a78b 100644 --- a/open-sse/translator/formats/gemini.js +++ b/open-sse/translator/formats/gemini.js @@ -7,7 +7,13 @@ import { OPENAI_BLOCK } from "../schema/index.js"; export const UNSUPPORTED_SCHEMA_CONSTRAINTS = [ // Basic constraints (not supported by Gemini API) "minLength", "maxLength", "exclusiveMinimum", "exclusiveMaximum", - "minItems", "maxItems", "format", + "minItems", "maxItems", "format", "multipleOf", + // Array keywords the Gemini schema proto has no field for. Agent tool + // schemas set these routinely, and one occurrence rejects the whole request + // with "Unknown name ...: Cannot find field". + "uniqueItems", "contains", + // 2020-12 keywords with no Gemini equivalent + "unevaluatedProperties", "unevaluatedItems", "contentSchema", // Claude rejects these in VALIDATED mode "default", "examples", // JSON Schema meta keywords