From edd9eb650cd2734f3f7a2a7f21779f14c24dbeea Mon Sep 17 00:00:00 2001 From: ANIRUDDHA ADAK Date: Wed, 26 Aug 2026 09:55:07 +0530 Subject: [PATCH] fix(ai): record provider-returned model in managed openai completions stream (#128324) Co-authored-by: Aniruddha Adak --- packages/ai/src/transports/openai-completions-stream.ts | 6 ++++++ .../provider-transport-parity/openai-success.snap.txt | 1 + 2 files changed, 7 insertions(+) diff --git a/packages/ai/src/transports/openai-completions-stream.ts b/packages/ai/src/transports/openai-completions-stream.ts index 00e06d1eeb95..5020f5455efa 100644 --- a/packages/ai/src/transports/openai-completions-stream.ts +++ b/packages/ai/src/transports/openai-completions-stream.ts @@ -421,6 +421,12 @@ export async function processCompletionsStream( notifyLlmRequestActivity(options?.signal); const chunk = rawChunk as OpenAICompatibleChatCompletionChunk; output.responseId ||= chunk.id; + // Retain the provider-returned model when it differs from the requested id so + // routed/alias responses are not misattributed, matching the direct provider + // stream and the anthropic/responses managed transports. + if (typeof chunk.model === "string" && chunk.model.length > 0 && chunk.model !== model.id) { + output.responseModel ||= chunk.model; + } let hasReasoningUsageActivity = false; if (chunk.usage) { output.usage = parseOpenAICompletionsUsage(chunk.usage, model); diff --git a/packages/ai/test/fixtures/provider-transport-parity/openai-success.snap.txt b/packages/ai/test/fixtures/provider-transport-parity/openai-success.snap.txt index 874375970c90..c60a67948997 100644 --- a/packages/ai/test/fixtures/provider-transport-parity/openai-success.snap.txt +++ b/packages/ai/test/fixtures/provider-transport-parity/openai-success.snap.txt @@ -207,6 +207,7 @@ "provider": "openai", "model": "gpt-5.5", "responseId": "chatcmpl-parity", + "responseModel": "gpt-5.5-response", "openclawDelivery": { "textPhaseRequiresTerminal": true },