ChatMessage gains toolCalls and an opaque providerData; providers may yield providerData once per turn. The assistant loop appends one assistant message per model turn. Anthropic replays its own raw blocks from providerData (no in-memory map) or maps text + tool_use blocks; OpenAI maps toolCalls to tool_calls. Co-Authored-By: Claude Opus 5.5 <[email protected]>