refactor(schemas): remove NormalizedResponse backward-compat __init__; use canonical API

This commit is contained in:
ed
2026-06-24 17:12:49 -04:00
parent 03dd44c642
commit 20236546d7
9 changed files with 29 additions and 48 deletions
+5 -3
View File
@@ -37,10 +37,11 @@ def test_minimax_credentials_template() -> None:
def test_minimax_reasoning_extractor_used_when_caps_reasoning_true() -> None:
"""caps.reasoning=True (M2.5/M2.7) should pass the reasoning_extractor to run_with_tool_loop."""
from src import openai_compatible as oc
from src.openai_schemas import UsageStats
captured_kwargs: list[dict] = []
def _fake_send(client, request, *, capabilities):
captured_kwargs.append({"model": request.model})
return MagicMock(text="ok", tool_calls=[], usage_input_tokens=0, usage_output_tokens=0, usage_cache_read_tokens=0, usage_cache_creation_tokens=0, raw_response=None)
return MagicMock(text="ok", tool_calls=[], usage=UsageStats(input_tokens=0, output_tokens=0, cache_read_tokens=0, cache_creation_tokens=0), raw_response=None)
from src.vendor_capabilities import register, VendorCapabilities
register(VendorCapabilities(vendor='minimax', model='MiniMax-M2.5', reasoning=True))
with patch.object(oc, "send_openai_compatible", side_effect=_fake_send), \
@@ -52,17 +53,18 @@ def test_minimax_reasoning_extractor_used_when_caps_reasoning_true() -> None:
def test_minimax_reasoning_extractor_omitted_when_caps_reasoning_false() -> None:
"""caps.reasoning=False (M2/M2.1) should NOT pass the reasoning_extractor (avoid useless getattr)."""
from src import openai_compatible as oc
from src.openai_schemas import UsageStats
from src.vendor_capabilities import register, VendorCapabilities
register(VendorCapabilities(vendor='minimax', model='MiniMax-M2', reasoning=False))
captured_kwargs: list[dict] = []
def _fake_send(client, request, *, capabilities):
captured_kwargs.append({"model": request.model})
return MagicMock(text="ok", tool_calls=[], usage_input_tokens=0, usage_output_tokens=0, usage_cache_read_tokens=0, usage_cache_creation_tokens=0, raw_response=None)
return MagicMock(text="ok", tool_calls=[], usage=UsageStats(input_tokens=0, output_tokens=0, cache_read_tokens=0, cache_creation_tokens=0), raw_response=None)
with patch.object(oc, "send_openai_compatible", side_effect=_fake_send), \
patch("src.ai_client._ensure_minimax_client", return_value=MagicMock()), \
patch("src.ai_client._get_deepseek_tools", return_value=[]):
ai_client._send_minimax("system", "user", ".", None, "", False, None, None, None)
assert len(captured_kwargs) >= 1
assert len(captured_kwargs) >= 1
def test_minimax_ensure_client_instantiation() -> None:
"""Verify that _ensure_minimax_client instantiates the OpenAI client with correct credentials and base URL."""