diff --git a/.changeset/odd-cows-taste.md b/.changeset/odd-cows-taste.md new file mode 100644 index 000000000000..83d0877c7159 --- /dev/null +++ b/.changeset/odd-cows-taste.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/openai': patch +--- + +refactoring(provider/openai): simplify code diff --git a/packages/openai/src/responses/openai-responses-language-model.ts b/packages/openai/src/responses/openai-responses-language-model.ts index 7690140595a9..8b495685272c 100644 --- a/packages/openai/src/responses/openai-responses-language-model.ts +++ b/packages/openai/src/responses/openai-responses-language-model.ts @@ -1015,11 +1015,21 @@ export class OpenAIResponsesLanguageModel implements LanguageModelV3 { }, }); } - } else if ( - isResponseOutputItemDoneChunk(value) && - value.item.type !== 'message' - ) { - if (value.item.type === 'function_call') { + } else if (isResponseOutputItemDoneChunk(value)) { + if (value.item.type === 'message') { + controller.enqueue({ + type: 'text-end', + id: value.item.id, + providerMetadata: { + [providerKey]: { + itemId: value.item.id, + ...(ongoingAnnotations.length > 0 && { + annotations: ongoingAnnotations, + }), + }, + }, + }); + } else if (value.item.type === 'function_call') { ongoingToolCalls[value.output_index] = undefined; hasFunctionCall = true; @@ -1465,22 +1475,6 @@ export class OpenAIResponsesLanguageModel implements LanguageModelV3 { }, }); } - } else if ( - isResponseOutputItemDoneChunk(value) && - value.item.type === 'message' - ) { - controller.enqueue({ - type: 'text-end', - id: value.item.id, - providerMetadata: { - [providerKey]: { - itemId: value.item.id, - ...(ongoingAnnotations.length > 0 && { - annotations: ongoingAnnotations, - }), - }, - }, - }); } else if (isErrorChunk(value)) { controller.enqueue({ type: 'error', error: value }); }