use crate::checkpoint::execution_history::FileSnapshot;
use crate::workspace::Workspace;
use crate::{ProcessExecutor, RealProcessExecutor};
use serde::{Deserialize, Serialize};
use std::collections::HashMap;
use std::path::Path;
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct FileSystemState {
pub files: HashMap<String, FileSnapshot>,
pub git_head_oid: Option<String>,
pub git_branch: Option<String>,
pub git_status: Option<String>,
pub git_modified_files: Option<Vec<String>>,
}
include!("file_state/capture.rs");
include!("file_state/validation.rs");
include!("file_state/error.rs");
include!("file_state/recovery.rs");
#[cfg(test)]
include!("file_state/tests.rs");