#[non_exhaustive]pub enum RoundDecision {
Continue(RoundAdjustment),
Inject {
content: Vec<ContentBlock>,
adjust: RoundAdjustment,
},
Stop,
}Expand description
The decision a RoundStrategy returns at a round boundary.
Construct one with RoundDecision::proceed, RoundDecision::inject, or
RoundDecision::stop for the common cases, or the variants directly to carry
a RoundAdjustment.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Continue(RoundAdjustment)
Proceed with the default flow. At RoundBoundary::AssistantMessageCommitted
this accepts the terminal message and lets the run return; at
RoundBoundary::ToolResultsCommitted it advances to the next round. Any
carried RoundAdjustment applies to subsequent rounds.
Inject
Do not end the run: append content as a corrective user turn and run
another round. At RoundBoundary::AssistantMessageCommitted this prevents
the run from returning. Any carried RoundAdjustment applies to that round.
Fields
content: Vec<ContentBlock>Corrective content appended to the transcript as a user message.
adjust: RoundAdjustmentModel/reasoning override applied before the injected round.
Stop
End the run gracefully at this boundary, committing the transcript exactly
as RunOptions::stop does. A stop request
asserts nothing about whether the run produced a valid answer.