pub enum LoopOutcome {
Done,
WrappedUp,
HitMaxIterations,
}Expand description
Outcome label for a completed run.
Distinguishes natural termination from budget-pressure terminations so
callers (notably parent agents reading a subagent’s tool result) can
reason about whether the answer is complete or partial. All variants
are non-error — a hard error becomes LoopError.
Variants§
Done
Model emitted a final assistant turn with no tool calls and no pending steering. The natural happy path.
WrappedUp
The graceful turn-limit plugin injected a wrap-up steering message and the model produced a clean final turn within the grace window. Result text reflects the model’s deliberate close-out, not a truncated transcript.
HitMaxIterations
max_iterations was reached before the model wrapped up. The run
stopped at the cap, but earlier turns are still in the transcript.
The most recent assistant turn may have had pending tool calls.
Implementations§
Source§impl LoopOutcome
impl LoopOutcome
Trait Implementations§
Source§impl Clone for LoopOutcome
impl Clone for LoopOutcome
Source§fn clone(&self) -> LoopOutcome
fn clone(&self) -> LoopOutcome
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for LoopOutcome
impl Debug for LoopOutcome
Source§impl PartialEq for LoopOutcome
impl PartialEq for LoopOutcome
Source§fn eq(&self, other: &LoopOutcome) -> bool
fn eq(&self, other: &LoopOutcome) -> bool
self and other values to be equal, and is used by ==.impl Copy for LoopOutcome
impl Eq for LoopOutcome
impl StructuralPartialEq for LoopOutcome
Auto Trait Implementations§
impl Freeze for LoopOutcome
impl RefUnwindSafe for LoopOutcome
impl Send for LoopOutcome
impl Sync for LoopOutcome
impl Unpin for LoopOutcome
impl UnsafeUnpin for LoopOutcome
impl UnwindSafe for LoopOutcome
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
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.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.