use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq)]
pub struct InstructionMemory {
pub source: String,
pub content: String,
}
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq)]
pub struct FactMemory {
pub key: String,
pub content: String,
pub recorded_at: u64,
}
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq)]
pub struct TaskMemory {
pub current_task: String,
pub pending_steps: Vec<String>,
pub updated_at: u64,
}
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq)]
pub struct PromptHistoryEntry {
pub prompt: String,
pub recorded_at: u64,
}
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq)]
pub struct TokenUsageBaseline {
pub estimated_history_tokens: usize,
pub last_prompt_tokens: usize,
pub last_completion_tokens: usize,
pub recorded_at: u64,
}