Files
litellm/tests/test_litellm/test_responses_api_bridge_non_stream.py
T
Manuel Schweigert 29adf34313 Add ChatGPT subscription support and responses bridge (#19030)
* Add ChatGPT subscription support and responses bridge

* Fix typing import for responses bridge

* Guard device code timestamp parsing

* add /v1/messages endpoint to chatgpt model
2026-01-19 05:37:45 -08:00

45 lines
1.2 KiB
Python

from litellm.completion_extras.litellm_responses_transformation.handler import (
ResponsesToCompletionBridgeHandler,
)
from litellm.types.llms.openai import ResponsesAPIResponse
class _CompletedEvent:
def __init__(self, response):
self.response = response
class _FakeResponsesStream:
def __init__(self, response):
self._emitted = False
self._response = response
self.completed_response = None
self._hidden_params = {"headers": {"x-test": "1"}}
def __iter__(self):
return self
def __next__(self):
if not self._emitted:
self._emitted = True
self.completed_response = _CompletedEvent(self._response)
return {"type": "response.completed"}
raise StopIteration
def test_should_collect_response_from_stream():
handler = ResponsesToCompletionBridgeHandler()
response = ResponsesAPIResponse.model_construct(
id="resp-1",
created_at=0,
output=[],
object="response",
model="gpt-5.2",
)
stream = _FakeResponsesStream(response)
collected = handler._collect_response_from_stream(stream)
assert collected.id == "resp-1"
assert collected._hidden_params.get("headers") == {"x-test": "1"}