From 49d997aec36153681ad871adb06be38f14dc2d33 Mon Sep 17 00:00:00 2001 From: Mark Date: Mon, 13 Jul 2026 08:37:12 -0700 Subject: [PATCH] fix(xai): default store to false for Responses (#36629) Co-authored-by: Aiden Cline --- packages/opencode/src/provider/transform.ts | 6 ++- .../opencode/test/provider/transform.test.ts | 37 +++++++++++++++++++ 2 files changed, 41 insertions(+), 2 deletions(-) diff --git a/packages/opencode/src/provider/transform.ts b/packages/opencode/src/provider/transform.ts index 46ce4d9d3d..2b9b8d5930 100644 --- a/packages/opencode/src/provider/transform.ts +++ b/packages/opencode/src/provider/transform.ts @@ -1102,7 +1102,8 @@ export function options(input: { input.model.providerID === "openai" || input.model.api.npm === "@ai-sdk/openai" || input.model.api.npm === "@ai-sdk/github-copilot" || - input.model.api.npm === "@ai-sdk/amazon-bedrock/mantle" + input.model.api.npm === "@ai-sdk/amazon-bedrock/mantle" || + input.model.api.npm === "@ai-sdk/xai" ) { result["store"] = false } @@ -1257,7 +1258,8 @@ export function smallOptions(model: Provider.Model) { if ( model.providerID === "openai" || model.api.npm === "@ai-sdk/openai" || - model.api.npm === "@ai-sdk/github-copilot" + model.api.npm === "@ai-sdk/github-copilot" || + model.api.npm === "@ai-sdk/xai" ) { const base = { store: false } return mergeDeep(base, small) diff --git a/packages/opencode/test/provider/transform.test.ts b/packages/opencode/test/provider/transform.test.ts index a6ebad986e..4c462bd3dc 100644 --- a/packages/opencode/test/provider/transform.test.ts +++ b/packages/opencode/test/provider/transform.test.ts @@ -156,6 +156,43 @@ describe("ProviderTransform.options - setCacheKey", () => { expect(result.store).toBe(false) }) + test("should set store=false for xAI provider by default", () => { + const xaiModel = { + ...mockModel, + providerID: "xai", + api: { + id: "grok-4", + url: "https://api.x.ai", + npm: "@ai-sdk/xai", + }, + } + const result = ProviderTransform.options({ + model: xaiModel, + sessionID, + providerOptions: {}, + }) + expect(result.store).toBe(false) + expect(result.promptCacheKey).toBe(sessionID) + }) + + test("should set store=false for xAI SDK regardless of provider ID", () => { + const xaiModel = { + ...mockModel, + providerID: "custom-xai", + api: { + id: "grok-4", + url: "https://api.x.ai", + npm: "@ai-sdk/xai", + }, + } + const result = ProviderTransform.options({ + model: xaiModel, + sessionID, + providerOptions: {}, + }) + expect(result.store).toBe(false) + }) + test("should set store=false for azure provider by default", () => { const azureModel = { ...mockModel,