feat: GPT-5.2 support

This commit is contained in:
Fahad
2025-12-11 19:11:50 +00:00
parent 5c3dd75ca6
commit 8b16405f06
33 changed files with 216 additions and 119 deletions

View File

@@ -37,14 +37,14 @@ class TestIntelligentFallback:
@patch.dict(os.environ, {"OPENAI_API_KEY": "sk-test-key", "GEMINI_API_KEY": ""}, clear=False)
def test_prefers_openai_o3_mini_when_available(self):
"""Test that gpt-5.1 is preferred when OpenAI API key is available (based on new preference order)"""
"""Test that gpt-5.2 is preferred when OpenAI API key is available (based on new preference order)"""
# Register only OpenAI provider for this test
from providers.openai import OpenAIModelProvider
ModelProviderRegistry.register_provider(ProviderType.OPENAI, OpenAIModelProvider)
fallback_model = ModelProviderRegistry.get_preferred_fallback_model()
assert fallback_model == "gpt-5.1" # Based on new preference order: gpt-5.1 before o4-mini
assert fallback_model == "gpt-5.2" # Based on new preference order: gpt-5.2 before o4-mini
@patch.dict(os.environ, {"OPENAI_API_KEY": "", "GEMINI_API_KEY": "test-gemini-key"}, clear=False)
def test_prefers_gemini_flash_when_openai_unavailable(self):
@@ -147,8 +147,8 @@ class TestIntelligentFallback:
history, tokens = build_conversation_history(context, model_context=None)
# Verify that ModelContext was called with gpt-5.1 (the intelligent fallback based on new preference order)
mock_context_class.assert_called_once_with("gpt-5.1")
# Verify that ModelContext was called with gpt-5.2 (the intelligent fallback based on new preference order)
mock_context_class.assert_called_once_with("gpt-5.2")
def test_auto_mode_with_gemini_only(self):
"""Test auto mode behavior when only Gemini API key is available"""