aether_core/events/
context_event.rs1use super::CompactionId;
2use schemars::JsonSchema;
3use serde::{Deserialize, Serialize};
4
5use llm::{ContextUsage, MessageId};
6
7#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema)]
9#[serde(tag = "status", rename_all = "snake_case")]
10pub enum CompactionOutcome {
11 Completed,
12 Failed { error: String },
13 Cancelled,
14}
15
16#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, JsonSchema)]
21#[serde(tag = "type", rename_all = "snake_case")]
22pub enum ContextEvent {
23 CompactionStarted { compaction_id: CompactionId, message_count: usize },
25 CompactionEnded { compaction_id: CompactionId, outcome: CompactionOutcome },
27 CompactionResult { compaction_id: CompactionId, message_id: MessageId, summary: String, messages_removed: usize },
29 UsageUpdated { usage: ContextUsage },
31 Cleared,
33}