From 345165eabf1952432f61aaeeffff34dfdb459c2b Mon Sep 17 00:00:00 2001 From: Enrico Ros Date: Wed, 22 Apr 2026 13:52:14 -0700 Subject: [PATCH] AIX: fix OpenAI Responses - Tool re-parsing --- .../aix/server/dispatch/wiretypes/openai.wiretypes.ts | 9 +++++---- src/modules/llms/server/gemini/gemini.models.ts | 4 ++-- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/modules/aix/server/dispatch/wiretypes/openai.wiretypes.ts b/src/modules/aix/server/dispatch/wiretypes/openai.wiretypes.ts index c8e79aa7b..c5cf7b3cd 100644 --- a/src/modules/aix/server/dispatch/wiretypes/openai.wiretypes.ts +++ b/src/modules/aix/server/dispatch/wiretypes/openai.wiretypes.ts @@ -1438,10 +1438,11 @@ export namespace OpenAIWire_Responses_Tools { search_context_size: z.enum(['low', 'medium', 'high']).optional(), user_location: z.object({ type: z.literal('approximate'), - city: z.string().optional(), - country: z.string().optional(), - region: z.string().optional(), - timezone: z.string().optional(), + // API echoes these as `null` when unset, not omitted - so .nullish() + city: z.string().nullish(), + country: z.string().nullish(), + region: z.string().nullish(), + timezone: z.string().nullish(), }).optional(), external_web_access: z.boolean().optional(), }); diff --git a/src/modules/llms/server/gemini/gemini.models.ts b/src/modules/llms/server/gemini/gemini.models.ts index 13da30771..76346469e 100644 --- a/src/modules/llms/server/gemini/gemini.models.ts +++ b/src/modules/llms/server/gemini/gemini.models.ts @@ -72,7 +72,7 @@ const geminiExpFree: ModelDescriptionSchema['chatPrice'] = { }; -// Pricing based on https://ai.google.dev/pricing (Apr 15, 2026) +// Pricing based on https://ai.google.dev/pricing (Apr 22, 2026) const gemini31FlashLitePricing: ModelDescriptionSchema['chatPrice'] = { input: 0.25, // text/image/video; audio is $0.50 but we don't differentiate yet @@ -142,7 +142,7 @@ const gemini25ProPreviewTTSPricing: ModelDescriptionSchema['chatPrice'] = { const gemini31FlashTTSPricing: ModelDescriptionSchema['chatPrice'] = { input: 1.00, // text input - // output: 20.00, // AUDIO - not ready for audio output yet (as of Apr 15, 2026) + // output: 20.00, // AUDIO - not ready for audio output yet (as of Apr 22, 2026) }; const geminiRoboticsER16Pricing: ModelDescriptionSchema['chatPrice'] = {