#[non_exhaustive]pub struct ContextDiff {
pub added: Vec<ContextBlock>,
pub removed: Vec<NodeRef>,
pub kept: Vec<NodeRef>,
pub tokens_estimated_added: u32,
}Expand description
Plan 15: result of Memory::build_context_diff.
Splits the post-budget block list into the parts that changed
(added), dropped (removed), and survived (kept) since the
supplied snapshot. Chat-style turn loops can re-emit only added
to the LLM; kept carries anchors with no body so callers know
which blocks the prior turn already saw.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.added: Vec<ContextBlock>Blocks present now but absent at the snapshot.
removed: Vec<NodeRef>Anchors of blocks present at the snapshot but absent now.
kept: Vec<NodeRef>Anchors of blocks present in both — body intentionally omitted so callers don’t double-send.
tokens_estimated_added: u32Cheap upper bound on the additional tokens the caller now needs
to budget for, summed over added.
Trait Implementations§
Source§impl Clone for ContextDiff
impl Clone for ContextDiff
Source§fn clone(&self) -> ContextDiff
fn clone(&self) -> ContextDiff
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 ContextDiff
impl Debug for ContextDiff
Source§impl Default for ContextDiff
impl Default for ContextDiff
Source§fn default() -> ContextDiff
fn default() -> ContextDiff
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for ContextDiff
impl<'de> Deserialize<'de> for ContextDiff
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 ContextDiff
impl RefUnwindSafe for ContextDiff
impl Send for ContextDiff
impl Sync for ContextDiff
impl Unpin for ContextDiff
impl UnsafeUnpin for ContextDiff
impl UnwindSafe for ContextDiff
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