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}