pub enum RoundBoundary {
ToolResultsCommitted,
AssistantMessageCommitted,
}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.
Identifies which round boundary invoked a RoundStrategy.
Variants§
ToolResultsCommitted
A tool round’s results were just committed to the transcript. The run is about to advance to the next round.
AssistantMessageCommitted
A tool-free assistant message was just committed. The run is about to return it as the final message unless the strategy injects another round.
Trait Implementations§
Source§impl Clone for RoundBoundary
impl Clone for RoundBoundary
Source§fn clone(&self) -> RoundBoundary
fn clone(&self) -> RoundBoundary
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for RoundBoundary
Source§impl Debug for RoundBoundary
impl Debug for RoundBoundary
impl Eq for RoundBoundary
Source§impl PartialEq for RoundBoundary
impl PartialEq for RoundBoundary
impl StructuralPartialEq for RoundBoundary
Auto Trait Implementations§
impl Freeze for RoundBoundary
impl RefUnwindSafe for RoundBoundary
impl Send for RoundBoundary
impl Sync for RoundBoundary
impl Unpin for RoundBoundary
impl UnsafeUnpin for RoundBoundary
impl UnwindSafe for RoundBoundary
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.