@@ -1619,17 +1619,16 @@ async def _get_event_iterator(self) -> AsyncIterator[ModelResponseStreamEvent]:
16191619 # Handle the text part of the response
16201620 content = choice .delta .content
16211621 if content is not None :
1622- maybe_event = self ._parts_manager .handle_text_delta (
1622+ for event in self ._parts_manager .handle_text_delta (
16231623 vendor_part_id = 'content' ,
16241624 content = content ,
16251625 thinking_tags = self ._model_profile .thinking_tags ,
16261626 ignore_leading_whitespace = self ._model_profile .ignore_streamed_leading_whitespace ,
1627- )
1628- if maybe_event is not None : # pragma: no branch
1629- if isinstance (maybe_event , PartStartEvent ) and isinstance (maybe_event .part , ThinkingPart ):
1630- maybe_event .part .id = 'content'
1631- maybe_event .part .provider_name = self .provider_name
1632- yield maybe_event
1627+ ):
1628+ if isinstance (event , PartStartEvent ) and isinstance (event .part , ThinkingPart ):
1629+ event .part .id = 'content'
1630+ event .part .provider_name = self .provider_name
1631+ yield event
16331632
16341633 # The `reasoning_content` field is only present in DeepSeek models.
16351634 # https://api-docs.deepseek.com/guides/reasoning_model
@@ -1835,11 +1834,10 @@ async def _get_event_iterator(self) -> AsyncIterator[ModelResponseStreamEvent]:
18351834 pass # there's nothing we need to do here
18361835
18371836 elif isinstance (chunk , responses .ResponseTextDeltaEvent ):
1838- maybe_event = self ._parts_manager .handle_text_delta (
1837+ for event in self ._parts_manager .handle_text_delta (
18391838 vendor_part_id = chunk .item_id , content = chunk .delta , id = chunk .item_id
1840- )
1841- if maybe_event is not None : # pragma: no branch
1842- yield maybe_event
1839+ ):
1840+ yield event
18431841
18441842 elif isinstance (chunk , responses .ResponseTextDoneEvent ):
18451843 pass # there's nothing we need to do here
0 commit comments