pub struct BudgetAllocation {
pub system_prompt: usize,
pub skills: usize,
pub summaries: usize,
pub semantic_recall: usize,
pub cross_session: usize,
pub code_context: usize,
pub graph_facts: usize,
pub recent_history: usize,
pub response_reserve: usize,
pub session_digest: usize,
}Expand description
Per-slot token budget produced by ContextBudget::allocate.
All fields are in tokens. Zero means the slot is disabled or budget-exhausted for this turn.
Fields§
§system_prompt: usizeTokens consumed by the current system prompt.
skills: usizeTokens consumed by the current skills prompt.
summaries: usizeTokens allocated for past-conversation summaries.
semantic_recall: usizeTokens allocated for semantic (vector) recall results.
cross_session: usizeTokens allocated for cross-session memory recall.
code_context: usizeTokens allocated for code-index RAG context.
graph_facts: usizeTokens reserved for graph facts. Always present; 0 when graph-memory is disabled.
recent_history: usizeTokens allocated for recent conversation history trim.
response_reserve: usizeTokens reserved for the model response (not filled by context sources).
session_digest: usizeTokens pre-reserved for the session digest block. Always present; 0 when digest is disabled or no digest exists for the current conversation.
Implementations§
Source§impl BudgetAllocation
impl BudgetAllocation
Sourcepub fn active_sources(&self) -> usize
pub fn active_sources(&self) -> usize
Count of context source slots with non-zero token budgets.
Trait Implementations§
Source§impl Clone for BudgetAllocation
impl Clone for BudgetAllocation
Source§fn clone(&self) -> BudgetAllocation
fn clone(&self) -> BudgetAllocation
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
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 UnsafeUnpin 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
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>
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>
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request