pub struct TokenBudgetMiddleware { /* private fields */ }Expand description
Token budget middleware — tracks and enforces token budgets.
Implementations§
Source§impl TokenBudgetMiddleware
impl TokenBudgetMiddleware
Sourcepub fn new(max_tokens: usize) -> Self
pub fn new(max_tokens: usize) -> Self
Create a token budget that terminates the agent once cumulative usage exceeds max_tokens.
Sourcepub fn with_cost_tracker(
max_tokens: usize,
tracker: Arc<CostTracker>,
budget: f64,
) -> Self
pub fn with_cost_tracker( max_tokens: usize, tracker: Arc<CostTracker>, budget: f64, ) -> Self
Create with cost tracker integration for cost-based budget enforcement.
Trait Implementations§
Source§impl Middleware for TokenBudgetMiddleware
impl Middleware for TokenBudgetMiddleware
Source§fn phases(&self) -> Vec<MiddlewarePhase>
fn phases(&self) -> Vec<MiddlewarePhase>
Phases at which this middleware wishes to be invoked.
Source§fn handle<'a>(
&'a self,
ctx: &'a MiddlewareContext,
) -> Pin<Box<dyn Future<Output = MiddlewareResult> + Send + 'a>>
fn handle<'a>( &'a self, ctx: &'a MiddlewareContext, ) -> Pin<Box<dyn Future<Output = MiddlewareResult> + Send + 'a>>
Inspect the context for the current phase and return a result.
Auto Trait Implementations§
impl !RefUnwindSafe for TokenBudgetMiddleware
impl !UnwindSafe for TokenBudgetMiddleware
impl Freeze for TokenBudgetMiddleware
impl Send for TokenBudgetMiddleware
impl Sync for TokenBudgetMiddleware
impl Unpin for TokenBudgetMiddleware
impl UnsafeUnpin for TokenBudgetMiddleware
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