pub struct UsageLimits {
pub request_limit: Option<usize>,
pub tool_calls_limit: Option<usize>,
pub input_tokens_limit: Option<usize>,
pub output_tokens_limit: Option<usize>,
pub total_tokens_limit: Option<usize>,
}Expand description
Resource usage limits for the agentic loop.
Controls how many requests, tool calls, and tokens the loop may consume
before terminating with LoopError::UsageLimitExceeded.
All limits are optional — only set limits are enforced.
§Example
use neuron_types::UsageLimits;
let limits = UsageLimits::default()
.with_request_limit(50)
.with_total_tokens_limit(100_000);Fields§
§request_limit: Option<usize>Maximum number of LLM requests (provider calls) allowed.
tool_calls_limit: Option<usize>Maximum number of tool calls allowed across all turns.
input_tokens_limit: Option<usize>Maximum input tokens allowed across all turns.
output_tokens_limit: Option<usize>Maximum output tokens allowed across all turns.
total_tokens_limit: Option<usize>Maximum total tokens (input + output) allowed across all turns.
Implementations§
Source§impl UsageLimits
impl UsageLimits
Sourcepub fn with_request_limit(self, limit: usize) -> Self
pub fn with_request_limit(self, limit: usize) -> Self
Set the maximum number of LLM requests.
Sourcepub fn with_tool_calls_limit(self, limit: usize) -> Self
pub fn with_tool_calls_limit(self, limit: usize) -> Self
Set the maximum number of tool calls.
Sourcepub fn with_input_tokens_limit(self, limit: usize) -> Self
pub fn with_input_tokens_limit(self, limit: usize) -> Self
Set the maximum input tokens.
Sourcepub fn with_output_tokens_limit(self, limit: usize) -> Self
pub fn with_output_tokens_limit(self, limit: usize) -> Self
Set the maximum output tokens.
Sourcepub fn with_total_tokens_limit(self, limit: usize) -> Self
pub fn with_total_tokens_limit(self, limit: usize) -> Self
Set the maximum total tokens (input + output).
Trait Implementations§
Source§impl Clone for UsageLimits
impl Clone for UsageLimits
Source§fn clone(&self) -> UsageLimits
fn clone(&self) -> UsageLimits
Returns a duplicate of the value. Read more
1.0.0 · 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 UsageLimits
impl Debug for UsageLimits
Source§impl Default for UsageLimits
impl Default for UsageLimits
Source§fn default() -> UsageLimits
fn default() -> UsageLimits
Returns the “default value” for a type. Read more
Source§impl PartialEq for UsageLimits
impl PartialEq for UsageLimits
impl Eq for UsageLimits
impl StructuralPartialEq for UsageLimits
Auto Trait Implementations§
impl Freeze for UsageLimits
impl RefUnwindSafe for UsageLimits
impl Send for UsageLimits
impl Sync for UsageLimits
impl Unpin for UsageLimits
impl UnsafeUnpin for UsageLimits
impl UnwindSafe for UsageLimits
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