- Add explicit API key retrieval and validation for OpenRouter, OpenAI, Anthropic, and Google providers
- Pass api_key parameter explicitly to ChatOpenAI, ChatAnthropic, and ChatGoogleGenerativeAI constructors
- Provide helpful error messages with instructions when API keys are missing
- Fixes 401 Authentication Error when using OpenRouter without OPENROUTER_API_KEY set
Previously, ChatOpenAI would default to looking for OPENAI_API_KEY even when using OpenRouter,
causing authentication failures. Now each provider correctly uses its own API key.
Resolves authentication issues across all supported LLM providers.