3ea53b8eed
MiniMax's OpenAI-compatible endpoint has a known issue where tool calls are sometimes returned as XML content (<minimax:tool_call>) instead of structured tool_calls. Their Anthropic Messages API endpoint handles this correctly. Changes: - Switch MiniMax/MiniMax-CN base URLs to Anthropic endpoints (api.minimax.io/anthropic, api.minimaxi.com/anthropic) - Return api_mode='anthropic_messages' for MiniMax providers - Add third_party flag to build_anthropic_client() to skip OAuth detection, Anthropic beta headers, and Claude Code user-agent - Guard normalize_model_name() to not mangle non-Claude model names (MiniMax-M2.5 would incorrectly become MiniMax-M2-5) - Skip Anthropic credential refresh for third-party providers - Show provider-appropriate 401 diagnostics for third-party providers - Add missing MiniMax models (M2.1-highspeed, M2) to metadata/catalog - Update tests for new URLs and third_party kwarg MiniMax's Anthropic compat layer supports: - Tool calling (text, tool_use, tool_result) - Thinking/reasoning (interleaved thinking) - Explicit prompt caching (cache_control with 5min TTL) - Streaming - 204,800 token context for all M2/M2.1/M2.5 models Ref: https://platform.minimax.io/docs/api-reference/text-anthropic-api