pub(super) mod assembler;
mod assembly;
mod summarization;
#[cfg(test)]
use super::Message;
use super::{Agent, Channel};
pub(super) use crate::text::truncate_to_chars as truncate_chars;
pub(super) use zeph_context::slot::{cap_summary, chunk_messages};
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub(super) enum CompactionOutcome {
Compacted,
CompactedWithPersistError,
ProbeRejected,
NoChange,
}
pub(super) const PERSONA_PREFIX: &str = "[Persona context]\n";
pub(super) const TRAJECTORY_PREFIX: &str = "[Past experience]\n";
pub(super) const TREE_MEMORY_PREFIX: &str = "[Memory summary]\n";
impl<C: Channel> Agent<C> {
pub(super) fn compaction_tier(&self) -> super::context_manager::CompactionTier {
self.context_manager
.compaction_tier(self.providers.cached_prompt_tokens)
}
}
#[cfg(test)]
mod tests;