#34767 [Bug]: /v1/responses with stream=true + file_search (emulated, Anthropic) crashes with "'async for' requires an object with __aiter__ method, got ResponsesAPIResponse"
### What happened?
On LiteLLM Proxy **v1.91.0**, calling `POST /v1/responses` with `stream: true` and a `file_search` tool pointing at a registered non-OpenAI vector store (`custom_llm_provider: s3_vectors`), against an **Anthropic** model, always returns HTTP 500:
```json {"error":{"message":"'async for' requires an object with __aiter__ method, got ResponsesAPIResponse","type":"None","param":"None","code":"500"}} ```
The response headers show the upstream Anthropic call **succeeded** before the crash (`llm_provider-anthropic-*` rate-limit headers present, `x-litellm-response-cost: 0.005721`, `x-litellm-response-duration-ms: 2406`), so the request is billed but still fails. The emulated file_search flow appears to produce a non-streaming `ResponsesAPIResponse` and hand it to the SSE bridge, which tries to `async for` over it.
- Same request with `stream: false` → no crash. - Same request with `stream: true` but **without** the `file_search` tool → streams normally.
So the crash is specific to emulated file_search + streaming.
### Reproduction
```bash curl -sS -N "$PROXY/v1/responses" \ -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \ -d '{ "mode…