pub enum Outcome {
#[non_exhaustive] Done {
text: Option<String>,
iters: u32,
tools_called: u32,
usage: Usage,
},
#[non_exhaustive] BudgetExhausted {
iters: u32,
last_text: Option<String>,
tools_called: u32,
usage: Usage,
},
}Expand description
Where a run finished. Marked #[non_exhaustive] so future fields don’t break
downstream matches — always include .. when destructuring.
Variants§
#[non_exhaustive]Done
Model returned text with no tool calls (natural end).
Fields
This variant is marked as non-exhaustive
Non-exhaustive enum variants could have additional fields added in future. Therefore, non-exhaustive enum variants cannot be constructed in external crates and cannot be matched against.
#[non_exhaustive]BudgetExhausted
Policy budget exhausted before the model stopped requesting tools. Carries everything we know so the caller can recover partial work (saved notes, files written by tools, the last assistant text, etc.) instead of seeing a single bare “budget out” string.
Fields
This variant is marked as non-exhaustive
Non-exhaustive enum variants could have additional fields added in future. Therefore, non-exhaustive enum variants cannot be constructed in external crates and cannot be matched against.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Outcome
impl RefUnwindSafe for Outcome
impl Send for Outcome
impl Sync for Outcome
impl Unpin for Outcome
impl UnsafeUnpin for Outcome
impl UnwindSafe for Outcome
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
Mutably borrows from an owned value. Read more