From f1e945a7e6fa9b0b361985ab09a12b8c0abf2c97 Mon Sep 17 00:00:00 2001 From: Badri Narayanan S Date: Sat, 10 Jan 2026 00:35:50 +0530 Subject: [PATCH] change cleanSchemaForGemini to cleanSchema --- src/format/request-converter.js | 4 ++-- src/format/schema-sanitizer.js | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/format/request-converter.js b/src/format/request-converter.js index fe8b5c8..a03bfc8 100644 --- a/src/format/request-converter.js +++ b/src/format/request-converter.js @@ -9,7 +9,7 @@ import { isThinkingModel } from '../constants.js'; import { convertContentToParts, convertRole } from './content-converter.js'; -import { sanitizeSchema, cleanSchemaForGemini } from './schema-sanitizer.js'; +import { sanitizeSchema, cleanSchema } from './schema-sanitizer.js'; import { restoreThinkingSignatures, removeTrailingThinkingBlocks, @@ -214,7 +214,7 @@ export function convertAnthropicToGoogle(anthropicRequest) { // Cloud Code API which validates schemas using Google's protobuf format. // This fixes issue #82: /compact command fails with schema transformation error // "Proto field is not repeating, cannot start list" for Claude models. - parameters = cleanSchemaForGemini(parameters); + parameters = cleanSchema(parameters); return { name: String(name).replace(/[^a-zA-Z0-9_-]/g, '_').slice(0, 64), diff --git a/src/format/schema-sanitizer.js b/src/format/schema-sanitizer.js index 5cb9110..b6a8569 100644 --- a/src/format/schema-sanitizer.js +++ b/src/format/schema-sanitizer.js @@ -592,9 +592,9 @@ function toGoogleType(type) { * @param {Object} schema - The JSON schema to clean * @returns {Object} Cleaned schema safe for Gemini API */ -export function cleanSchemaForGemini(schema) { +export function cleanSchema(schema) { if (!schema || typeof schema !== 'object') return schema; - if (Array.isArray(schema)) return schema.map(cleanSchemaForGemini); + if (Array.isArray(schema)) return schema.map(cleanSchema); // Phase 1: Convert $refs to hints let result = convertRefsToHints(schema); @@ -641,16 +641,16 @@ export function cleanSchemaForGemini(schema) { if (result.properties && typeof result.properties === 'object') { const newProps = {}; for (const [key, value] of Object.entries(result.properties)) { - newProps[key] = cleanSchemaForGemini(value); + newProps[key] = cleanSchema(value); } result.properties = newProps; } if (result.items) { if (Array.isArray(result.items)) { - result.items = result.items.map(cleanSchemaForGemini); + result.items = result.items.map(cleanSchema); } else if (typeof result.items === 'object') { - result.items = cleanSchemaForGemini(result.items); + result.items = cleanSchema(result.items); } } @@ -664,7 +664,7 @@ export function cleanSchemaForGemini(schema) { } // Phase 5: Convert type to Google's uppercase format (STRING, OBJECT, ARRAY, etc.) - // Only convert at current level - nested types already converted by recursive cleanSchemaForGemini calls + // Only convert at current level - nested types already converted by recursive cleanSchema calls if (result.type && typeof result.type === 'string') { result.type = toGoogleType(result.type); }