1pub(crate) mod active_time;
4pub(crate) mod chat;
5#[cfg(unix)]
6mod discovery;
7pub(crate) mod effects;
8mod event;
9mod export;
10mod manager;
11mod metadata;
12pub(crate) mod preferences;
13pub(crate) mod progressive_summaries;
14mod prune;
15mod read;
16mod rewind;
17mod scope;
18mod store;
19pub(crate) mod task_scope;
20pub(crate) mod tool_display;
21pub(crate) mod usage;
22pub(crate) mod usage_recorder;
23mod write;
24mod writer;
25
26pub(crate) use event::SessionEvent;
27#[cfg(unix)]
28pub(crate) use manager::SessionWriterBusy;
29pub(crate) use manager::{Session, SessionManager};
30pub(crate) use metadata::latest_session_title;
31pub(crate) use metadata::session_user_input_count;
32pub(crate) use read::validate_session_id;
33pub(crate) use read::{BoundedReadError, SessionReadDiagnostic};
34pub(crate) use write::record_session_compaction_at_byte_offset_with_snapshot;
35pub(crate) use write::{
36 SESSION_TITLE_MAX_CHARS, record_session_event, record_session_title, sanitize_session_title,
37};
38pub(crate) use write::{
39 SessionAppendBudget, SessionAppendError, SessionAppendOutcome, try_record_session_event_batch,
40};
41
42pub(crate) use event::{SessionEventKind, TurnStatus, TurnStatusPayload};
43pub(crate) use export::{
44 SessionExportReport, export_destination, export_session, export_session_with_cancellation,
45};
46pub(crate) use metadata::{
47 SessionDiagnosticOperation, SessionTitleMetadata,
48 latest_valid_compaction_checkpoint_for_replay, report_session_diagnostic,
49 session_title_metadata,
50};
51pub(crate) use prune::parse_prune_sessions_days;
52pub(crate) use read::{MAX_METADATA_VISIT_BYTES, MAX_METADATA_VISIT_LINES, SessionReadStats};
53pub(crate) use scope::resolve_session_scope_path;
54#[cfg(unix)]
55pub(crate) use store::SESSION_ROOT_MODE;
56pub(crate) use store::{SESSION_FILE_MODE, prepare_session_root};
57#[cfg(unix)]
58pub(crate) use store::{apply_repair_plan, discover_repair_plan};
59pub(crate) use write::{CompactionRotationError, sanitize_compaction_summary};