2162d583b1
_create_request_anthropic_client() built a fresh anthropic.Anthropic client (and httpx pool) on every single LLM call, and _close_request_anthropic_client() always fully closed it right after - unlike the OpenAI-wire path, which caches and reuses one warm client across sequential calls via a single-slot cache keyed on the effective client kwargs. Add the same single-slot cache to the Anthropic-wire path: keyed on credentials, base URL/Bedrock region, per-model timeout, and the 1M-beta flag; in_use guards concurrent calls from sharing one pool's close/abort lifecycle; poisoned marks a cross-thread-aborted slot so the owner-thread close discards it; reuse only on request_complete / stream_request_complete (the same _REQUEST_CLIENT_REUSE_REASONS the OpenAI path already uses). Wires a teardown hook into release_clients()/close() mirroring _close_cached_request_openai_client. Fixes #HPA-02 (cherry picked from commit 37f90df15593e6ded0390f827f8e5604bf0acc86)