pub mod auto_compact;
pub mod compaction;
pub mod context;
pub mod conversation;
pub mod cost;
pub mod file_history;
pub mod history;
pub mod input_expand;
pub mod llm_compaction_client;
pub mod memory;
pub mod memory_extract;
pub mod micro_compact;
pub mod migration;
pub mod resume;
pub mod resume_sanitize;
pub mod snip_compact;
pub mod telemetry;
pub mod template;

pub use auto_compact::{AutoCompactConfig, AutoCompactState, CompactTrigger, should_auto_compact};
pub use compaction::{
    COMPACT_HEURISTIC_USER_PREFIX, COMPACT_SUMMARY_ACK, COMPACT_SUMMARY_USER_PREFIX,
    CompactionClient, CompactionConfig, CompactionMode, CompactionReport, CompactionStrategy,
    CompactionTrigger, compact, compact_with_config,
};
pub use context::{ContextAction, ContextManager};
pub use conversation::Conversation;
pub use cost::{
    CostAccumulator, CostSummary, ModelPricing, default_cost_path, load_cost_summary,
    lookup_pricing, save_cost_summary,
};
pub use file_history::{FileHistory, Snapshot, SnapshotError};
pub use history::{
    BoundSessionPersister, ExportFormat, SearchResult, SessionHistory, SessionMetadata,
    SessionPersister, SessionStats,
};
pub use input_expand::expand_at_mentions;
pub use llm_compaction_client::NullCompactionClient;
pub use memory::{IndexEntry, MemoryFile, MemoryIndex, MemoryStore};
pub use resume_sanitize::sanitize_for_resume;
pub use snip_compact::SnipConfig;
pub use telemetry::logs::SessionRecorder;
pub use template::{
    SessionKind, SessionSummary, SessionTemplate, builtin_templates, find_template,
    find_template_by_name, quick_resume_list,
};
