Manages a ReqLLM conversation loop with tool calls.
This module is the primary orchestration API for tool-enabled conversations.
Each assistant tool-call turn is appended before its tool results. Earlier messages remain unchanged, including their reasoning and provider metadata.