pub enum CompressionEvent {
Preparing {
session_id: u64,
tokens_before: usize,
msg_count: usize,
trigger: CompressionTrigger,
},
Started {
session_id: u64,
tokens_before: usize,
msg_count: usize,
trigger: CompressionTrigger,
},
Progress {
session_id: u64,
chars: usize,
},
Completed {
session_id: u64,
tokens_before: usize,
tokens_after: usize,
reduction_pct: i32,
msg_count_before: usize,
msg_count_after: usize,
trigger: CompressionTrigger,
},
Failed {
session_id: u64,
error: String,
trigger: CompressionTrigger,
},
}Expand description
Context compression lifecycle events.
Emitted as UserEvent::Structured { event_type: "compression", data: ... }
so consumers can match on the typed enum for compile-time safety.
§Lifecycle
Preparing → Started → Progress (0..N) → Completed | FailedVariants§
Preparing
Pre-processing — saving snapshot, about to start.
Fields
§
trigger: CompressionTriggerWhat triggered this compression.
Started
Compression started — LLM call about to begin.
Fields
§
trigger: CompressionTriggerWhat triggered this compression.
Progress
Streaming progress — cumulative character count from LLM.
Fields
Completed
Compression completed — session messages replaced.
Fields
§
trigger: CompressionTriggerWhat triggered this compression.
Failed
Compression failed — session restored from snapshot.
Implementations§
Source§impl CompressionEvent
impl CompressionEvent
Sourcepub fn into_user_event(self) -> UserEvent
pub fn into_user_event(self) -> UserEvent
Convert into an agent_base::UserEvent::Structured for transport.
Sourcepub fn from_user_event(event: &UserEvent) -> Option<Self>
pub fn from_user_event(event: &UserEvent) -> Option<Self>
Try to extract a CompressionEvent from a agent_base::UserEvent.
Returns None if the event is not a compression event or if
deserialization fails.
Trait Implementations§
Source§impl Clone for CompressionEvent
impl Clone for CompressionEvent
Source§impl Debug for CompressionEvent
impl Debug for CompressionEvent
Source§impl<'de> Deserialize<'de> for CompressionEvent
impl<'de> Deserialize<'de> for CompressionEvent
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
Source§impl PartialEq for CompressionEvent
impl PartialEq for CompressionEvent
Source§impl Serialize for CompressionEvent
impl Serialize for CompressionEvent
impl StructuralPartialEq for CompressionEvent
Auto Trait Implementations§
impl Freeze for CompressionEvent
impl RefUnwindSafe for CompressionEvent
impl Send for CompressionEvent
impl Sync for CompressionEvent
impl Unpin for CompressionEvent
impl UnsafeUnpin for CompressionEvent
impl UnwindSafe for CompressionEvent
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