diff --git a/src/openai/lib/streaming/responses/_responses.py b/src/openai/lib/streaming/responses/_responses.py index 6975a9260d..2c803889c4 100644 --- a/src/openai/lib/streaming/responses/_responses.py +++ b/src/openai/lib/streaming/responses/_responses.py @@ -328,7 +328,9 @@ def accumulate_event(self, event: RawResponseStreamEvent) -> ParsedResponseSnaps return self._create_initial_response(event) if event.type == "response.output_item.added": - if event.item.type == "function_call": + if event.item is None: + pass + elif event.item.type == "function_call": snapshot.output.append( construct_type_unchecked( type_=cast(Any, ParsedResponseFunctionToolCall), value=event.item.to_dict() diff --git a/src/openai/types/beta/beta_response_output_item_added_event.py b/src/openai/types/beta/beta_response_output_item_added_event.py index 4e12b9d3d0..cddf411acb 100644 --- a/src/openai/types/beta/beta_response_output_item_added_event.py +++ b/src/openai/types/beta/beta_response_output_item_added_event.py @@ -19,7 +19,7 @@ class Agent(BaseModel): class BetaResponseOutputItemAddedEvent(BaseModel): """Emitted when a new output item is added.""" - item: BetaResponseOutputItem + item: Optional[BetaResponseOutputItem] = None """The output item that was added. For reasoning items, `encrypted_content` may be incomplete while the item is in diff --git a/src/openai/types/responses/response.py b/src/openai/types/responses/response.py index 762080dc0f..39c0590de8 100644 --- a/src/openai/types/responses/response.py +++ b/src/openai/types/responses/response.py @@ -486,7 +486,7 @@ def output_text(self) -> str: for output in self.output: if output.type == "message": for content in output.content: - if content.type == "output_text": + if content.type == "output_text" and content.text is not None: texts.append(content.text) return "".join(texts) diff --git a/src/openai/types/responses/response_output_item_added_event.py b/src/openai/types/responses/response_output_item_added_event.py index 36ac0e2245..a8754b95d8 100644 --- a/src/openai/types/responses/response_output_item_added_event.py +++ b/src/openai/types/responses/response_output_item_added_event.py @@ -1,5 +1,6 @@ # File generated from our OpenAPI spec by Castiron. See CONTRIBUTING.md for details. +from typing import Optional from typing_extensions import Literal from ..._models import BaseModel @@ -11,7 +12,7 @@ class ResponseOutputItemAddedEvent(BaseModel): """Emitted when a new output item is added.""" - item: ResponseOutputItem + item: Optional[ResponseOutputItem] = None """The output item that was added. For reasoning items, `encrypted_content` may be incomplete while the item is in