pub struct ExecutionLimits {
pub max_turns: usize,
pub max_total_tokens: usize,
pub max_duration: Duration,
pub max_cost: Option<f64>,
}Expand description
Execution limits for the agent loop — guards against infinite loops and budget overruns.
Fields§
§max_turns: usizeMaximum number of LLM turns (one turn = one LLM call + its tool results)
max_total_tokens: usizeMaximum total tokens consumed across all turns (input + output)
max_duration: DurationMaximum wall-clock duration. Uses std::time::Duration (not f64 seconds) for precision.
max_cost: Option<f64>Maximum cumulative dollar cost for the run. None means no cost cap.
Requires AgentLoopConfig.cost_config to be set — without pricing rates the
accumulated cost is always 0.0 and this limit has no effect.
Trait Implementations§
Source§impl Clone for ExecutionLimits
impl Clone for ExecutionLimits
Source§fn clone(&self) -> ExecutionLimits
fn clone(&self) -> ExecutionLimits
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ExecutionLimits
impl Debug for ExecutionLimits
Source§impl Default for ExecutionLimits
impl Default for ExecutionLimits
Source§impl<'de> Deserialize<'de> for ExecutionLimits
impl<'de> Deserialize<'de> for ExecutionLimits
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for ExecutionLimits
impl RefUnwindSafe for ExecutionLimits
impl Send for ExecutionLimits
impl Sync for ExecutionLimits
impl Unpin for ExecutionLimits
impl UnsafeUnpin for ExecutionLimits
impl UnwindSafe for ExecutionLimits
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