support Claude 4 models feature of interleaved thinking with tool use, allowing the model to reason between tool calls.
See https://docs.anthropic.com/en/docs/build-with-claude/extended-thinking#extended-thinking-with-tool-use
To support this feature will require
- Store thinking blocks, their signatures, and the order in which they appeared
- Maintain this state between API calls in a multi-turn conversation
- Add support for the interleaved-thinking-2025-05-14 beta header
- Enforce compatible tool_choice settings (auto or none only)
- Allow budget_tokens to exceed max_tokens for interleaved thinking