diff --git a/src/agents/pi-embedded-runner-extraparams.test.ts b/src/agents/pi-embedded-runner-extraparams.test.ts index b176de6fab5..bbf6eecd382 100644 --- a/src/agents/pi-embedded-runner-extraparams.test.ts +++ b/src/agents/pi-embedded-runner-extraparams.test.ts @@ -2143,6 +2143,27 @@ describe("applyExtraParamsToAgent", () => { expect(payload.context_management).toEqual([{ type: "compaction", compact_threshold: 12_345 }]); }); + it("strips store from payload for openai-completions providers with supportsStore=false (#51058)", () => { + const payload = runResponsesPayloadMutationCase({ + applyProvider: "cerebras", + applyModelId: "llama3.1-8b", + model: { + api: "openai-completions", + provider: "cerebras", + id: "llama3.1-8b", + name: "llama3.1-8b", + baseUrl: "https://api.cerebras.ai/v1", + reasoning: false, + input: ["text"], + cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }, + contextWindow: 128_000, + maxTokens: 8_192, + compat: { supportsStore: false }, + } as unknown as Model<"openai-completions">, + }); + expect(payload).not.toHaveProperty("store"); + }); + it("auto-injects OpenAI Responses context_management compaction for direct OpenAI models", () => { const payload = runResponsesPayloadMutationCase({ applyProvider: "openai", diff --git a/src/agents/pi-embedded-runner/openai-stream-wrappers.ts b/src/agents/pi-embedded-runner/openai-stream-wrappers.ts index a4433f65b10..cae147f7c0a 100644 --- a/src/agents/pi-embedded-runner/openai-stream-wrappers.ts +++ b/src/agents/pi-embedded-runner/openai-stream-wrappers.ts @@ -148,10 +148,9 @@ function shouldStripResponsesStore( if (forceStore) { return false; } - if (typeof model.api !== "string") { - return false; - } - return OPENAI_RESPONSES_APIS.has(model.api) && model.compat?.supportsStore === false; + // Strip store for ANY API type when the model declares supportsStore=false. + // Providers like Cerebras reject unknown parameters including `store` (#51058). + return model.compat?.supportsStore === false; } function shouldStripResponsesPromptCache(model: { api?: unknown; baseUrl?: unknown }): boolean {