From 6d80801779dfe44ed8dc2f1fef07337acd4249b4 Mon Sep 17 00:00:00 2001 From: mukunda katta Date: Tue, 21 Apr 2026 08:18:19 -0700 Subject: [PATCH] fix(gateway): include caching in provider options --- .../src/gateway-language-model.test.ts | 20 +++++++++++++++++++ .../gateway/src/gateway-provider-options.ts | 6 ++++++ 2 files changed, 26 insertions(+) diff --git a/packages/gateway/src/gateway-language-model.test.ts b/packages/gateway/src/gateway-language-model.test.ts index 1cd8aa488345..5d7ddcb3951c 100644 --- a/packages/gateway/src/gateway-language-model.test.ts +++ b/packages/gateway/src/gateway-language-model.test.ts @@ -1482,6 +1482,26 @@ describe('GatewayLanguageModel', () => { }); }); + it('should allow caching in provider options', async () => { + prepareJsonResponse({ + content: { type: 'text', text: 'Test response' }, + }); + + await createTestModel().doGenerate({ + prompt: TEST_PROMPT, + providerOptions: { + gateway: { + caching: 'auto', + }, + }, + }); + + const requestBody = await server.calls[0].requestBodyJson; + expect(requestBody.providerOptions).toEqual({ + gateway: { caching: 'auto' }, + }); + }); + it('should pass providerTimeouts for doGenerate', async () => { prepareJsonResponse({ content: { type: 'text', text: 'Test response' }, diff --git a/packages/gateway/src/gateway-provider-options.ts b/packages/gateway/src/gateway-provider-options.ts index 5a808d505b7a..61165d04cb4e 100644 --- a/packages/gateway/src/gateway-provider-options.ts +++ b/packages/gateway/src/gateway-provider-options.ts @@ -5,6 +5,12 @@ import { z } from 'zod/v4'; const gatewayProviderOptions = lazySchema(() => zodSchema( z.object({ + /** + * Controls prompt caching behavior for the selected provider/model. + * + * Example: `'auto'` enables provider-managed automatic caching when supported. + */ + caching: z.enum(['auto']).optional(), /** * Array of provider slugs that are the only ones allowed to be used. *