From b87ffa2dc82589620c74c3059175f9ae0a5c16f6 Mon Sep 17 00:00:00 2001 From: rajitkhanna Date: Fri, 11 Sep 2026 19:14:20 -0700 Subject: [PATCH] feat(providers): expose Prism responses and messages --- litellm/llms/openai_like/providers.json | 2 +- ...odel_prices_and_context_window_backup.json | 4 ++- .../provider_endpoints_support_backup.json | 4 +-- model_prices_and_context_window.json | 4 ++- provider_endpoints_support.json | 4 +-- .../llms/openai_like/test_prism_provider.py | 36 +++++++++++++++++-- 6 files changed, 45 insertions(+), 9 deletions(-) diff --git a/litellm/llms/openai_like/providers.json b/litellm/llms/openai_like/providers.json index b0f0711b90b..70a690c72df 100644 --- a/litellm/llms/openai_like/providers.json +++ b/litellm/llms/openai_like/providers.json @@ -205,6 +205,6 @@ "base_url": "https://api.prisminference.com/v1", "api_key_env": "PRISM_API_KEY", "api_base_env": "PRISM_API_BASE", - "supported_endpoints": ["/v1/chat/completions"] + "supported_endpoints": ["/v1/chat/completions", "/v1/responses", "/v1/messages"] } } diff --git a/litellm/model_prices_and_context_window_backup.json b/litellm/model_prices_and_context_window_backup.json index ee965d8a7eb..0a5aa18f8b8 100644 --- a/litellm/model_prices_and_context_window_backup.json +++ b/litellm/model_prices_and_context_window_backup.json @@ -74794,7 +74794,9 @@ "output_cost_per_token": 2.8e-07, "source": "https://prisminference.com/pricing", "supported_endpoints": [ - "/v1/chat/completions" + "/v1/chat/completions", + "/v1/responses", + "/v1/messages" ], "supports_function_calling": true, "supports_native_streaming": true, diff --git a/litellm/provider_endpoints_support_backup.json b/litellm/provider_endpoints_support_backup.json index 695d2f80b23..2e015f9b7bb 100644 --- a/litellm/provider_endpoints_support_backup.json +++ b/litellm/provider_endpoints_support_backup.json @@ -1930,8 +1930,8 @@ "url": "https://docs.litellm.ai/docs/providers/prism", "endpoints": { "chat_completions": true, - "messages": false, - "responses": false, + "messages": true, + "responses": true, "embeddings": false, "image_generations": false, "audio_transcriptions": false, diff --git a/model_prices_and_context_window.json b/model_prices_and_context_window.json index ee965d8a7eb..0a5aa18f8b8 100644 --- a/model_prices_and_context_window.json +++ b/model_prices_and_context_window.json @@ -74794,7 +74794,9 @@ "output_cost_per_token": 2.8e-07, "source": "https://prisminference.com/pricing", "supported_endpoints": [ - "/v1/chat/completions" + "/v1/chat/completions", + "/v1/responses", + "/v1/messages" ], "supports_function_calling": true, "supports_native_streaming": true, diff --git a/provider_endpoints_support.json b/provider_endpoints_support.json index f700d4c3a7d..c949a15a36e 100644 --- a/provider_endpoints_support.json +++ b/provider_endpoints_support.json @@ -2147,8 +2147,8 @@ "url": "https://docs.litellm.ai/docs/providers/prism", "endpoints": { "chat_completions": true, - "messages": false, - "responses": false, + "messages": true, + "responses": true, "embeddings": false, "image_generations": false, "audio_transcriptions": false, diff --git a/tests/test_litellm/llms/openai_like/test_prism_provider.py b/tests/test_litellm/llms/openai_like/test_prism_provider.py index 6652bdd84d1..ca79947aa2d 100644 --- a/tests/test_litellm/llms/openai_like/test_prism_provider.py +++ b/tests/test_litellm/llms/openai_like/test_prism_provider.py @@ -83,8 +83,8 @@ def test_prism_supported_endpoints(): assert providers["prism"]["endpoints"] == { "chat_completions": True, - "messages": False, - "responses": False, + "messages": True, + "responses": True, "embeddings": False, "image_generations": False, "audio_transcriptions": False, @@ -94,3 +94,35 @@ def test_prism_supported_endpoints(): "rerank": False, "a2a": False, } + + +def test_prism_resolves_responses_and_messages_configs(): + from litellm.llms.openai_like.json_loader import JSONProviderRegistry + from litellm.llms.openai_like.messages.transformation import ( + JSONProviderAnthropicMessagesConfig, + ) + from litellm.utils import ProviderConfigManager + + assert JSONProviderRegistry.supports_responses_api("prism") is True + responses_config = ProviderConfigManager.get_provider_responses_api_config( + provider="prism", + model="deepseek-v4-flash", + ) + messages_config = ProviderConfigManager.get_provider_anthropic_messages_config( + provider=litellm.LlmProviders.PRISM, + model="deepseek-v4-flash", + ) + + assert responses_config is not None + assert responses_config.custom_llm_provider == "prism" + assert isinstance(messages_config, JSONProviderAnthropicMessagesConfig) + assert ( + messages_config.get_complete_url( + api_base=None, + api_key="prism-test-key", + model="deepseek-v4-flash", + optional_params={}, + litellm_params={}, + ) + == "https://api.prisminference.com/v1/messages" + )