A Round groups a user Turn with the assistant and tool-result Turns
that follow it, i.e. everything that happens in response to one user message,
including any tool-calling loop. Rounds are an alternative view of a
Chat's flat turn history.
Rounds also expose a read-only @complete property: TRUE if response
is non-empty and its last element is a finished (non-partial) assistant
turn with no pending tool request, FALSE otherwise.
Arguments
- input
A list of the input-side Turns that begin the round: the turns between the end of the previous round and the user turn that triggered this one. In the common case this is a length-1 list holding just that user turn, but it can also be preceded by system turns.
Because Chat's
$set_turns()accepts an arbitrary list of turns,inputmay in principle hold multiple user turns or system turns in other positions; a round consisting solely of system turns is also possible (e.g. a chat that so far only has a system prompt).- response
A list of Turns (assistant and tool-result) that followed
input.
