From fcf2da9571774cca799b2c4b2472cec949ae31b4 Mon Sep 17 00:00:00 2001 From: Call White Date: Thu, 15 Jan 2026 14:35:53 +0800 Subject: [PATCH] feat: allow provider-level store option (#8000) --- packages/opencode/src/config/config.ts | 1 + packages/opencode/src/provider/transform.ts | 3 +++ 2 files changed, 4 insertions(+) diff --git a/packages/opencode/src/config/config.ts b/packages/opencode/src/config/config.ts index f77fb854b..55e884970 100644 --- a/packages/opencode/src/config/config.ts +++ b/packages/opencode/src/config/config.ts @@ -815,6 +815,7 @@ export namespace Config { apiKey: z.string().optional(), baseURL: z.string().optional(), enterpriseUrl: z.string().optional().describe("GitHub Enterprise URL for copilot authentication"), + store: z.boolean().optional().describe("Set the OpenAI Responses store flag for this provider"), setCacheKey: z.boolean().optional().describe("Enable promptCacheKey for this provider (default false)"), timeout: z .union([ diff --git a/packages/opencode/src/provider/transform.ts b/packages/opencode/src/provider/transform.ts index 4acc28fbf..f755b2702 100644 --- a/packages/opencode/src/provider/transform.ts +++ b/packages/opencode/src/provider/transform.ts @@ -486,6 +486,9 @@ export namespace ProviderTransform { if (model.providerID === "openai" || providerOptions?.setCacheKey) { result["promptCacheKey"] = sessionID } + if (typeof providerOptions?.store === "boolean") { + result["store"] = providerOptions.store + } if (model.api.npm === "@ai-sdk/google" || model.api.npm === "@ai-sdk/google-vertex") { result["thinkingConfig"] = {