mod event;
mod export;
mod frontend;
mod manager;
mod metadata;
mod prune;
mod read;
mod rewind;
mod scope;
mod store;
pub(crate) mod usage;
mod write;
pub(crate) use event::SessionEvent;
pub(crate) use frontend::{
FRONTEND_PAGE_LIMIT, FrontendReplayPage, FrontendSessionList, FrontendSnapshotBusy,
PAGE_BYTES as FRONTEND_REPLAY_PAGE_BYTES, REPLAY_BYTES as FRONTEND_REPLAY_WINDOW_BYTES,
SCAN_ENTRIES as FRONTEND_LIST_SCAN_ENTRIES, SessionWriterLease,
};
pub use manager::{Session, SessionManager};
pub use metadata::latest_session_title;
pub(crate) use metadata::session_user_input_count;
pub use read::validate_session_id;
pub(crate) use read::{BoundedReadError, SessionReadDiagnostic};
pub(crate) use write::try_record_session_event_batch;
pub(crate) use write::{
SESSION_TITLE_MAX_CHARS, record_session_event, record_session_title, sanitize_session_title,
};
pub(crate) use event::{SessionEventKind, TurnStatus, TurnStatusPayload};
pub(crate) use export::{
SessionExportReport, export_destination, export_session, export_session_with_cancellation,
};
#[cfg(test)]
pub(crate) use metadata::latest_valid_compaction_checkpoint;
pub(crate) use metadata::{
SessionDiagnosticOperation, SessionTitleMetadata,
latest_valid_compaction_checkpoint_for_replay, report_session_diagnostic,
session_title_metadata,
};
pub(crate) use prune::parse_prune_sessions_days;
pub(crate) use read::{MAX_METADATA_VISIT_BYTES, MAX_METADATA_VISIT_LINES, SessionReadStats};
pub(crate) use scope::resolve_session_scope_path;
pub(crate) use store::prepare_session_root;
#[cfg(test)]
pub(crate) use store::secure_test_session_root;
#[cfg(unix)]
pub(crate) use store::{apply_repair_plan, discover_repair_plan};
#[cfg(test)]
pub(crate) use write::record_session_compaction;
pub(crate) use write::{
CompactionRotationError, record_session_compaction_at_byte_offset_with_snapshot,
sanitize_compaction_summary,
};