pub struct CompactionWindow {
pub eligible_messages: Vec<Message>,
pub preserved_messages: Vec<Message>,
pub reserved_response_block: bool,
}Expand description
Split of messages selected for provider compaction.
Fields§
§eligible_messages: Vec<Message>§preserved_messages: Vec<Message>§reserved_response_block: boolImplementations§
Source§impl CompactionWindow
impl CompactionWindow
Sourcepub fn preserve_latest_assistant_response_block(messages: &[Message]) -> Self
pub fn preserve_latest_assistant_response_block(messages: &[Message]) -> Self
Preserve the latest assistant response block and compact the older prefix. Providers with a first-class compaction endpoint use this broader window because the provider restores the compacted context as provider-native content.
Sourcepub fn preserve_through_latest_user(messages: &[Message]) -> Self
pub fn preserve_through_latest_user(messages: &[Message]) -> Self
Preserve every message through the latest user message and compact only the post-user tail. Inline compaction providers use this narrower window so system, tool, skill, and latest-user cache anchors remain verbatim.
Trait Implementations§
Source§impl Clone for CompactionWindow
impl Clone for CompactionWindow
Source§fn clone(&self) -> CompactionWindow
fn clone(&self) -> CompactionWindow
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 CompactionWindow
impl Debug for CompactionWindow
Source§impl Default for CompactionWindow
impl Default for CompactionWindow
Source§fn default() -> CompactionWindow
fn default() -> CompactionWindow
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for CompactionWindow
impl<'de> Deserialize<'de> for CompactionWindow
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
impl Eq for CompactionWindow
Source§impl JsonSchema for CompactionWindow
impl JsonSchema for CompactionWindow
Source§fn schema_name() -> String
fn schema_name() -> String
The name of the generated JSON Schema. Read more
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Returns a string that uniquely identifies the schema produced by this type. Read more
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
Source§fn is_referenceable() -> bool
fn is_referenceable() -> bool
Whether JSON Schemas generated for this type should be re-used where possible using the
$ref keyword. Read moreSource§impl PartialEq for CompactionWindow
impl PartialEq for CompactionWindow
Source§fn eq(&self, other: &CompactionWindow) -> bool
fn eq(&self, other: &CompactionWindow) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl Serialize for CompactionWindow
impl Serialize for CompactionWindow
impl StructuralPartialEq for CompactionWindow
Auto Trait Implementations§
impl Freeze for CompactionWindow
impl RefUnwindSafe for CompactionWindow
impl Send for CompactionWindow
impl Sync for CompactionWindow
impl Unpin for CompactionWindow
impl UnsafeUnpin for CompactionWindow
impl UnwindSafe for CompactionWindow
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.