fix(responses): emit content_part.added event for non-OpenAI models

LiteLLMCompletionStreamingIterator defined create_content_part_added_event()
but never called it, so non-OpenAI providers (Claude, Gemini, etc.) skipped
this spec-required event. Downstream parsers that process content_part.added
to initialize the text part structure would fail when output_text.delta
arrived before the text part existed.
This commit is contained in:
Lei Nie
2026-03-23 22:25:37 +00:00
parent 63425b4cb4
commit d560e4c009
@@ -845,6 +845,14 @@ class LiteLLMCompletionStreamingIterator(ResponsesAPIStreamingIterator):
)
event.__dict__["sequence_number"] = self._sequence_number
self._pending_response_events.append(event)
# Emit content_part.added immediately after output_item.added for message
# items. The OpenAI Responses spec requires this event before any
# output_text.delta events so downstream parsers can initialize the
# text part structure.
self.sent_content_part_added_event = True
content_part_event = self.create_content_part_added_event()
self._pending_response_events.append(content_part_event)
return
async def __anext__(