Skip to main content

magi_code/sessions/
mod.rs

1//! Supported public session API: `SessionManager`, `Session`, session-ID validation, and the
2//! latest-session title helper. Storage, events, diagnostics, pruning, metadata, and mutation
3//! helpers remain crate-private implementation details.
4
5mod event;
6mod export;
7mod frontend;
8mod manager;
9mod metadata;
10mod prune;
11mod read;
12mod rewind;
13mod scope;
14mod store;
15pub(crate) mod usage;
16mod write;
17
18pub(crate) use event::SessionEvent;
19pub(crate) use frontend::{
20    FRONTEND_PAGE_LIMIT, FrontendReplayPage, FrontendSessionList, FrontendSnapshotBusy,
21    PAGE_BYTES as FRONTEND_REPLAY_PAGE_BYTES, REPLAY_BYTES as FRONTEND_REPLAY_WINDOW_BYTES,
22    SCAN_ENTRIES as FRONTEND_LIST_SCAN_ENTRIES, SessionWriterLease,
23};
24pub use manager::{Session, SessionManager};
25pub use metadata::latest_session_title;
26pub(crate) use metadata::session_user_input_count;
27pub use read::validate_session_id;
28pub(crate) use read::{BoundedReadError, SessionReadDiagnostic};
29pub(crate) use write::try_record_session_event_batch;
30pub(crate) use write::{
31    SESSION_TITLE_MAX_CHARS, record_session_event, record_session_title, sanitize_session_title,
32};
33
34pub(crate) use event::{SessionEventKind, TurnStatus, TurnStatusPayload};
35pub(crate) use export::{
36    SessionExportReport, export_destination, export_session, export_session_with_cancellation,
37};
38#[cfg(test)]
39pub(crate) use metadata::latest_valid_compaction_checkpoint;
40pub(crate) use metadata::{
41    SessionDiagnosticOperation, SessionTitleMetadata,
42    latest_valid_compaction_checkpoint_for_replay, report_session_diagnostic,
43    session_title_metadata,
44};
45pub(crate) use prune::parse_prune_sessions_days;
46pub(crate) use read::{MAX_METADATA_VISIT_BYTES, MAX_METADATA_VISIT_LINES, SessionReadStats};
47pub(crate) use scope::resolve_session_scope_path;
48pub(crate) use store::prepare_session_root;
49#[cfg(test)]
50pub(crate) use store::secure_test_session_root;
51#[cfg(unix)]
52pub(crate) use store::{apply_repair_plan, discover_repair_plan};
53#[cfg(test)]
54pub(crate) use write::record_session_compaction;
55pub(crate) use write::{
56    CompactionRotationError, record_session_compaction_at_byte_offset_with_snapshot,
57    sanitize_compaction_summary,
58};