mod branch_summarization;
mod engine;
mod utils;
pub use crate::core::provider::{
ContextUsageEstimate, calculate_context_tokens, estimate_context_tokens, estimate_tokens,
usable_usage,
};
pub use branch_summarization::{
BRANCH_SUMMARY_PREAMBLE, BRANCH_SUMMARY_PROMPT, SUMMARIZATION_PROMPT,
SUMMARIZATION_SYSTEM_PROMPT, UPDATE_SUMMARIZATION_PROMPT, build_summary_prompt,
};
pub use engine::{
CompactionReason, CompactionSettings, DEFAULT_KEEP_RECENT_TOKENS, DEFAULT_RESERVE_TOKENS,
find_compaction_cut_index, should_compact, usage_anchor_is_stale,
};
pub use utils::{
FileOperations, compute_file_lists, extract_file_ops_from_message, format_file_operations,
serialize_conversation,
};