Operator-configured LLM provider URLs (`llm.ollama.url`, `llm.lmstudio.url`,
`llm.llamacpp.url`, `llm.openai_endpoint.url`) are now validated against the
same SSRF rules as outbound HTTP before the LangChain SDK constructor runs.
Closes an auth-gated SSRF gap where the SDK's internal `httpx` client would
otherwise bypass the existing `safe_requests` guard.

Follow-up review closed two more sites in the same vuln class: the
OpenAI-compatible base class's model-listing (`list_models_for_api`, used by
the custom-endpoint / LM Studio / llama.cpp providers) now validates
`base_url` before constructing the OpenAI client and returns an empty list on
a blocked URL, and `OpenAIProvider` now validates `llm.openai.api_base` before
handing it to `ChatOpenAI`.
