Inventory of how `call_api` works for different providers: - Anthropic - requires different auth header and specialized headers for tool use - AWS - very different, using SDK - DeepSeek - pretty standard - Gemini - different models, versions, streaming modes. Very different - Mistral - standard - OpenAI - slightly but different. The URL depends on version - Perplexity - standard - xAI - standard All in all, 4 out of 8 could be implemented leveraging standard trait implementation.