Skip to main content

aether_core/events/
context_event.rs

1use schemars::JsonSchema;
2use serde::{Deserialize, Serialize};
3
4pub use acp_utils::notifications::ContextUsage;
5
6/// Context lifecycle events.
7#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, JsonSchema)]
8#[serde(tag = "type", rename_all = "snake_case")]
9pub enum ContextEvent {
10    /// Context compaction has been triggered.
11    CompactionStarted { message_count: usize },
12    /// Context was compacted to reduce token usage.
13    CompactionResult { summary: String, messages_removed: usize },
14    /// Context usage update for UI display.
15    UsageUpdated { usage: ContextUsage },
16    /// The agent context was cleared and reset to its blank state.
17    Cleared,
18}