pub struct BudgetAllocation {
pub full_sections: Vec<String>,
pub truncated_sections: Vec<(String, usize, usize)>,
pub dropped_sections: Vec<String>,
pub tokens_allocated: usize,
pub tokens_remaining: usize,
pub explain: Vec<AllocationDecision>,
}Expand description
Token budget enforcement result
Fields§
§full_sections: Vec<String>Sections that fit fully
truncated_sections: Vec<(String, usize, usize)>Sections that were truncated (name, original_tokens, allocated_tokens)
dropped_sections: Vec<String>Sections that were dropped
tokens_allocated: usizeTotal tokens allocated
tokens_remaining: usizeRemaining budget
explain: Vec<AllocationDecision>Detailed allocation decisions for EXPLAIN CONTEXT
Implementations§
Source§impl BudgetAllocation
impl BudgetAllocation
Sourcepub fn explain_text(&self) -> String
pub fn explain_text(&self) -> String
Generate human-readable explanation of budget allocation
Sourcepub fn explain_json(&self) -> String
pub fn explain_json(&self) -> String
Generate JSON explanation for programmatic use
Trait Implementations§
Source§impl Clone for BudgetAllocation
impl Clone for BudgetAllocation
Source§fn clone(&self) -> BudgetAllocation
fn clone(&self) -> BudgetAllocation
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 moreAuto Trait Implementations§
impl Freeze for BudgetAllocation
impl RefUnwindSafe for BudgetAllocation
impl Send for BudgetAllocation
impl Sync for BudgetAllocation
impl Unpin for BudgetAllocation
impl UnwindSafe for BudgetAllocation
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more