- Add 'stop' parameter to the non_supported_params list in OpenAIGPT5Config
- This ensures the stop parameter is automatically dropped when calling GPT-5 models
- Resolves issue where stop parameter was not being stripped for GPT-5
- Added gpt-5-pro entry to model_prices_and_context_window.json with complete specifications
- Mode: responses (Responses API only)
- Pricing: $15.00 input / $120.00 output (Standard), $7.50 input / $60.00 output (Batch)
- Context: 400,000 input tokens, 272,000 output tokens
- Endpoints: /v1/batch, /v1/responses only
- Features: Web Search, Function Calling, Vision, PDF Input, Prompt Caching, Reasoning
- No streaming support, no Code Interpreter, no Computer Use
- Added gpt-5-pro to supported models list in docs/my-website/src/pages/completion/supported.md
- Added gpt-5-pro to OpenAI provider documentation in docs/my-website/docs/providers/openai.md
- Added comprehensive GPT-5 Pro Special Notes section with usage examples and limitations
* add supported_db_objects
* add _should_load_db_object
* add docs on storing MCP objects in DB
* test_should_load_db_object_with_supported_db_objects
* type fix
* fix: remove func definition from inside client
It makes the function bigger and harder to understand, I left just the wrappers.
* fix: test_arouter_test_team_model failure
- Added fallback to the model_name to index functionality.
Added comprehensive Watson X model support including:
- IBM Granite models (granite-4-h-small, granite-3-3-8b-instruct, granite-guardian variants, granite-vision, granite-ttm time series models)
- Meta Llama models (llama-3-2-1b/3b/11b-vision/90b-vision, llama-3-3-70b, llama-4-maverick-17b, llama-guard-3-11b-vision)
- Mistral models (mistral-medium-2505, mistral-small-2503, pixtral-12b-2409)
- Additional models (BigScience mt0-xxl-13b, Google flan-t5-xl-3b, OpenAI gpt-oss-120b, SDAIA allam-1-13b-instruct, Core42 jais-13b-chat)
All models include proper pricing, token limits, and capability flags (function calling, vision support, etc.) based on IBM Watson X documentation.
* perf(router): add model_name index for O(1) deployment lookups
Add model_name_to_deployment_indices mapping to optimize _get_all_deployments()
from O(n) to O(1) + O(k) lookups.
- Add model_name_to_deployment_indices: Dict[str, List[int]]
- Add _build_model_name_index() to build/maintain the index
- Update _add_model_to_list_and_index_map() to maintain both indices
- Refactor to use idx = len(self.model_list) before append (cleaner)
- Optimize _get_all_deployments() to use index instead of linear scan
* test(router): add test coverage for _build_model_name_index
Add single comprehensive test for _build_model_name_index() function to fix
code coverage CI failure.
The test verifies:
- Index correctly maps model_name to deployment indices
- Handles multiple deployments per model_name
- Clears and rebuilds index correctly
Fixes: CI code coverage error for _build_model_name_index
Add support for function calling (tools) with Snowflake Cortex models that support it (e.g., Claude 3.5 Sonnet).
Changes:
- Add 'tools' and 'tool_choice' to supported OpenAI parameters
- Implement request transformation: OpenAI function format → Snowflake tool_spec format
- Implement response transformation: Snowflake content_list with tool_use → OpenAI tool_calls
- Add tool_choice transformation: OpenAI nested format → Snowflake array format
Request transformation:
- Transform tools from nested {"type": "function", "function": {...}} to Snowflake's {"tool_spec": {"type": "generic", "name": "...", "input_schema": {...}}}
- Transform tool_choice from {"type": "function", "function": {"name": "..."}} to {"type": "tool", "name": ["..."]}
Response transformation:
- Parse Snowflake's content_list array containing tool_use objects
- Extract tool calls with tool_use_id, name, and input
- Convert to OpenAI's tool_calls format with proper JSON serialization
Testing:
- Add 7 unit tests covering request/response transformations
- Add integration test for Responses API with tool calling
- All tests passing
Fixes issue #15218🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>