Mountain/ApplicationState/Internal/
mod.rs

1//! # Internal Module (ApplicationState)
2//!
3//! ## RESPONSIBILITIES
4//! Contains internal utility functions for the ApplicationState module,
5//! handling tasks like file I/O, path resolution, and serialization.
6//!
7//! ## ARCHITECTURAL ROLE
8//! The Internal module provides **private utilities** for ApplicationState:
9//!
10//! ```text
11//! ApplicationState (Public API) ──► Internal (Private Utilities)
12//!                                       │
13//!                                       ├── Persistence
14//!                                       ├── PathResolution
15//!                                       ├── Serialization
16//!                                       ├── ExtensionScanner
17//!                                       ├── TextProcessing
18//!                                       └── Recovery
19//! ```
20//!
21//! ## KEY COMPONENTS
22//! - Persistence: Memento loading/saving utilities
23//! - PathResolution: Path resolution utilities
24//! - Serialization: URL serialization helpers
25//! - ExtensionScanner: Extension scanning utilities
26//! - TextProcessing: Text analysis utilities
27//! - Recovery: Recovery utilities
28//!
29//! ## ERROR HANDLING
30//! Functions return Result<T, CommonError> or provide default values with
31//! logging for failures.
32//!
33//! ## LOGGING
34//! All operations are logged at appropriate levels.
35//!
36//! ## PERFORMANCE CONSIDERATIONS
37//! - Synchronous file I/O for initialization
38//! - Async operations where appropriate
39//! - Proper error handling and recovery
40//!
41//! ## TODO
42//! - [ ] Add checksum validation for memento files
43//! - [ ] Implement incremental memento updates
44//! - [ ] Add concurrent extension scanning
45
46pub mod Persistence;
47pub mod PathResolution;
48pub mod Serialization;
49pub mod ExtensionScanner;
50pub mod TextProcessing;
51pub mod Recovery;
52
53pub use Persistence::*;
54pub use PathResolution::*;
55pub use Serialization::*;
56pub use ExtensionScanner::*;
57pub use TextProcessing::*;
58pub use Recovery::*;