pub struct ItemCountTrigger {
pub max_items: usize,
}Expand description
A CompactionTrigger that fires when the transcript exceeds a fixed
number of items.
This is the simplest built-in trigger: once transcript.len() is greater
than max_items, it returns
CompactionReason::TranscriptTooLong.
§Example
use agentkit_compaction::{CompactionTrigger, ItemCountTrigger};
use agentkit_core::SessionId;
let trigger = ItemCountTrigger::new(100);
// An empty transcript does not trigger compaction.
assert!(trigger.should_compact(&SessionId::new("s"), None, &[]).is_none());Fields§
§max_items: usizeMaximum number of items allowed before compaction fires.
Implementations§
Trait Implementations§
Source§impl Clone for ItemCountTrigger
impl Clone for ItemCountTrigger
Source§fn clone(&self) -> ItemCountTrigger
fn clone(&self) -> ItemCountTrigger
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 CompactionTrigger for ItemCountTrigger
impl CompactionTrigger for ItemCountTrigger
Source§fn should_compact(
&self,
_session_id: &SessionId,
_turn_id: Option<&TurnId>,
transcript: &[Item],
) -> Option<CompactionReason>
fn should_compact( &self, _session_id: &SessionId, _turn_id: Option<&TurnId>, transcript: &[Item], ) -> Option<CompactionReason>
Source§impl Debug for ItemCountTrigger
impl Debug for ItemCountTrigger
Source§impl<'de> Deserialize<'de> for ItemCountTrigger
impl<'de> Deserialize<'de> for ItemCountTrigger
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 ItemCountTrigger
impl PartialEq for ItemCountTrigger
Source§impl Serialize for ItemCountTrigger
impl Serialize for ItemCountTrigger
impl Eq for ItemCountTrigger
impl StructuralPartialEq for ItemCountTrigger
Auto Trait Implementations§
impl Freeze for ItemCountTrigger
impl RefUnwindSafe for ItemCountTrigger
impl Send for ItemCountTrigger
impl Sync for ItemCountTrigger
impl Unpin for ItemCountTrigger
impl UnsafeUnpin for ItemCountTrigger
impl UnwindSafe for ItemCountTrigger
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