#[non_exhaustive]pub struct RoundAdjustment { /* private fields */ }Expand description
The per-turn steering seam, whole: the trait a host implements and every type its signatures make that host name.
Re-exported rather than wrapped, under the rule stated on
CancellationToken — a mentra type basis’s surface asks a caller to
write is a name basis re-exports, or the caller pins mentra in their own
manifest to spell it. And like the token, a strategy is an identity
rather than a value: TurnOptions::with_round_strategy hands mentra the
caller’s own Arc, so a basis-owned mirror of RoundDecision would be a
translation layer with opinions of its own — the opposite of a seam.
The set is exactly what implementing costs. RoundStrategy is the trait
(spelled with async_trait, which basis already
re-exports); RoundContext and RoundBoundary are its question;
RoundDecision, RoundAdjustment, ReasoningChange and
RoundToolResult are its vocabulary for answering. The last three are
here because the vocabulary’s own signatures demand them:
RoundDecision::inject takes ContentBlocks,
RoundAdjustment::with_model a ModelInfo, and
ReasoningChange::Set a ReasoningOptions — whose effort field an
Effort converts into, so switching effort mid-run never names mentra’s
own level enum.
A model and/or reasoning override applied to the run’s subsequent rounds.
Applying an adjustment reuses the same live-config mechanics as
Agent::set_model and
Agent::set_reasoning: the change takes effect
on the next model request and persists for the remainder of the run (and, under
a persisting store, on the agent record) exactly as those methods do. Build one
with RoundAdjustment::new and the with_* methods.
Implementations§
Source§impl RoundAdjustment
impl RoundAdjustment
Sourcepub fn new() -> RoundAdjustment
pub fn new() -> RoundAdjustment
An adjustment that changes nothing.
Sourcepub fn with_model(self, model: ModelInfo) -> RoundAdjustment
pub fn with_model(self, model: ModelInfo) -> RoundAdjustment
Switch the model (and its provider) for subsequent rounds.
Sourcepub fn with_reasoning(self, reasoning: ReasoningChange) -> RoundAdjustment
pub fn with_reasoning(self, reasoning: ReasoningChange) -> RoundAdjustment
Change the reasoning settings for subsequent rounds.
Trait Implementations§
Source§impl Clone for RoundAdjustment
impl Clone for RoundAdjustment
Source§fn clone(&self) -> RoundAdjustment
fn clone(&self) -> RoundAdjustment
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more