pub struct CompactionRequest {
pub session_id: SessionId,
pub turn_id: Option<TurnId>,
pub transcript: Vec<Item>,
pub reason: CompactionReason,
pub metadata: MetadataMap,
}Expand description
Input to a CompactionStrategy.
Carries the full transcript together with session context so that strategies can decide which items to keep, drop, or summarise.
Fields§
§session_id: SessionIdIdentifier for the current session.
turn_id: Option<TurnId>Identifier for the turn that triggered compaction, if any.
transcript: Vec<Item>The transcript to compact.
reason: CompactionReasonWhy compaction was triggered.
metadata: MetadataMapArbitrary key-value metadata forwarded through the pipeline.
Implementations§
Source§impl CompactionRequest
impl CompactionRequest
Sourcepub fn new(
session_id: impl Into<SessionId>,
transcript: Vec<Item>,
reason: CompactionReason,
) -> Self
pub fn new( session_id: impl Into<SessionId>, transcript: Vec<Item>, reason: CompactionReason, ) -> Self
Builds a compaction request without an associated turn id.
Sourcepub fn for_turn(
session_id: impl Into<SessionId>,
turn_id: impl Into<TurnId>,
transcript: Vec<Item>,
reason: CompactionReason,
) -> Self
pub fn for_turn( session_id: impl Into<SessionId>, turn_id: impl Into<TurnId>, transcript: Vec<Item>, reason: CompactionReason, ) -> Self
Builds a compaction request for a specific turn.
Sourcepub fn with_turn_id(self, turn_id: impl Into<TurnId>) -> Self
pub fn with_turn_id(self, turn_id: impl Into<TurnId>) -> Self
Sets the turn id.
Sourcepub fn with_metadata(self, metadata: MetadataMap) -> Self
pub fn with_metadata(self, metadata: MetadataMap) -> Self
Replaces the request metadata.
Trait Implementations§
Source§impl Clone for CompactionRequest
impl Clone for CompactionRequest
Source§fn clone(&self) -> CompactionRequest
fn clone(&self) -> CompactionRequest
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 CompactionRequest
impl Debug for CompactionRequest
Source§impl<'de> Deserialize<'de> for CompactionRequest
impl<'de> Deserialize<'de> for CompactionRequest
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 CompactionRequest
impl PartialEq for CompactionRequest
Source§impl Serialize for CompactionRequest
impl Serialize for CompactionRequest
impl StructuralPartialEq for CompactionRequest
Auto Trait Implementations§
impl Freeze for CompactionRequest
impl RefUnwindSafe for CompactionRequest
impl Send for CompactionRequest
impl Sync for CompactionRequest
impl Unpin for CompactionRequest
impl UnsafeUnpin for CompactionRequest
impl UnwindSafe for CompactionRequest
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