#34692 [Bug]: `ollama_chat` → Anthropic `/v1/messages` streaming sets `stop_reason: "end_turn"` (not `"tool_use"`) and emits a spurious empty leading text block when the turn contains a tool call
### Check for existing issues
- [x] I have searched the existing issues and checked that my issue is not a duplicate.
### What happened?
When an `ollama_chat` model is served through the Anthropic `/v1/messages` adapter with `stream: true`, and the model returns a tool call, the streamed response is malformed in two ways:
1. The final `message_delta` carries `stop_reason: "end_turn"` even though the message contains a `tool_use` block. Per the Anthropic Messages spec it MUST be `stop_reason: "tool_use"`. 2. A spurious empty leading text block is emitted first — `content_block` index 0 is `{"type": "text", "text": ""}` (immediately followed by `content_block_stop`) — before the real content.
The `tool_use` block itself and its `input_json_delta` arrive correctly, so the data is on the wire; only the framing (`stop_reason` + the empty text block) is wrong.
**The identical request with `stream: false` is correct** — it returns `stop_reason: "tool_use"` with the full tool input. So this is specific to the streaming translation path.
### Why it matters
Anthropic-Messages tool-runners (Claude Code, the Anthropic SDK's `messages.stream`, and other `/v1/messages` clients) key off `…