File size: 802 Bytes
52a9af3 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | use super::ContextualUserFragment;
use codex_protocol::models::ContentItemKind;
#[derive(Debug, Clone, PartialEq, Eq)]
pub(crate) struct CompactionSummary {
summary: String,
}
impl CompactionSummary {
pub(crate) fn new(summary: impl Into<String>) -> Self {
Self {
summary: summary.into(),
}
}
}
impl ContextualUserFragment for CompactionSummary {
fn content_kind(&self) -> ContentItemKind {
ContentItemKind("compaction.summary".to_string())
}
fn role(&self) -> &'static str {
"user"
}
fn markers(&self) -> (&'static str, &'static str) {
Self::type_markers()
}
fn type_markers() -> (&'static str, &'static str) {
("", "")
}
fn body(&self) -> String {
self.summary.clone()
}
}
|