- Remove risky __dict__ fallback for non-BaseModel objects
- Only convert BaseModel objects to dicts using model_dump() (consistent with line 4745-4746)
- Keep other objects unchanged to maintain backward compatibility
- Follows existing codebase patterns for Pydantic model serialization
- Convert Pydantic BaseModel objects (TextContent, ImageContent, etc.) to dicts in get_final_response_obj
- Fixes TypeError: Object of type TextContent is not JSON serializable
- Resolves test failures in test_mcp_tool_call_hook and test_mcp_cost_tracking
- Fix type incompatibility in vertex_ai/videos/transformation.py by casting litellm_params to Dict[str, Any]
- Add await to async add_update_server call in mcp_server_manager.py
- Resolves 4 type checking errors across 2 files
- Remove excessive comments and simplify documentation
- Remove @overload decorators (type stubs are sufficient)
- Remove Logging type stub to avoid redefinition errors
- Keep only essential type stubs for cost_per_token and completion_cost
- Fixes type checking errors without using type: ignore comments
- Add type stubs and @overload decorators for cost_per_token and completion_cost
- Refactor lazy loading system with centralized registry for better maintainability
- Add comprehensive documentation for adding new lazy-loaded functions
- Fixes 'Any? not callable' errors at lines 111, 139, and 146 in budget_manager.py
* Added tool search support for anthropic
* Add programtic tool calling support
* Add tool use input examples support
* Add anthropic effort param support
* Add anthropic effort param support
* Add blog for new features
* fix mypy and lint errors
* fix mypy and lint errors
* fix mypy and lint errors
* fix mypy and lint errors
* Add better handling
* Add better handling
* feat: add _fix_enum_types function to remove enums from non-string fields in schema
* test: add test for _fix_enum_types function to validate enum removal from non-string fields
* fix(gemini): exclude image models from automatic thinking_level parameter (#17013)
- gemini-3-pro-image-preview does not support thinking_level parameter
- Added check to skip adding thinkingConfig for models containing "image"
- Fixes BadRequestError: "Thinking level is not supported for this model"
- Only affects automatic default behavior, user can still pass reasoning_effort explicitly
Fixes#17013
* test: add tests for gemini-3 image models thinking_level exclusion
* update docs