Fix: Return NormalizedResponse from send_openai_compatible

This resolves the issue where calling 'send_openai_compatible' discarded the NormalizedResponse details, resulting in an AttributeError when accessing 'raw_response' inside the tool loop.
This commit is contained in:
ed
2026-06-13 17:50:43 -04:00
parent fbcc1db495
commit 3aa7bdca99
3 changed files with 13 additions and 7 deletions
+3 -3
View File
@@ -28,7 +28,7 @@ def test_send_non_streaming_returns_text_in_result(caps: VendorCapabilities) ->
request = OpenAICompatibleRequest(messages=[{"role": "user", "content": "ping"}], model="m", max_tokens=100)
result = send_openai_compatible(client, request, capabilities=caps)
assert result.ok
assert result.data == "hi"
assert result.data.text == "hi"
assert result.errors == []
def test_send_streaming_aggregates_chunks(caps: VendorCapabilities) -> None:
@@ -43,7 +43,7 @@ def test_send_streaming_aggregates_chunks(caps: VendorCapabilities) -> None:
request = OpenAICompatibleRequest(messages=[{"role": "user", "content": "ping"}], model="m", stream=True, stream_callback=received.append)
result = send_openai_compatible(client, request, capabilities=caps)
assert result.ok
assert result.data == "hello"
assert result.data.text == "hello"
assert received == ["hel", "lo"]
def test_tool_call_detection_in_blocking_response(caps: VendorCapabilities) -> None:
@@ -69,7 +69,7 @@ def test_vision_multimodal_message(caps: VendorCapabilities) -> None:
result = send_openai_compatible(client, request, capabilities=caps)
sent_messages = client.chat.completions.create.call_args.kwargs["messages"]
assert sent_messages[0]["content"] == messages[0]["content"]
assert result.data == "looks like a cat"
assert result.data.text == "looks like a cat"
def test_error_classification_429_to_rate_limit(caps: VendorCapabilities) -> None:
from openai import RateLimitError