Crate agent_checkpoint

Crate agent_checkpoint 

Source
Expand description

Agent Checkpoint System

Comprehensive checkpoint and session management for software engineering agents.

This crate provides:

  • Session persistence and restoration
  • Checkpoint storage with compression
  • Retention policies and cleanup
  • Project isolation via hash-based directories
  • Atomic file operations

All data is stored centrally in ~/.simpaticoder/ to avoid project directory pollution.

§Usage

use agent_checkpoint::{get_storage_manager, CheckpointResult};
use std::path::Path;

async fn example() -> CheckpointResult<()> {
    let manager = get_storage_manager()?;
    let project_path = Path::new(".");
    let project_storage = manager.get_project_storage(project_path).await?;
    Ok(())
}

Re-exports§

pub use atomic::AtomicFileWriter;
pub use atomic::AtomicOps;
pub use atomic::FileLock;
pub use cleanup::CleanupManager;
pub use config::CleanupReport;
pub use config::ConfigMigrator;
pub use config::GlobalCheckpointConfig;
pub use config::MigrationReport;
pub use config::ProjectCheckpointConfig;
pub use config::ProjectConfigManager;
pub use config::ProjectStats;
pub use config::RetentionPolicy;
pub use config::SessionStats;
pub use config::StorageStats;
pub use errors::CheckpointError;
pub use errors::CheckpointResult;
pub use models::AgentStateSnapshot;
pub use models::Checkpoint;
pub use models::CheckpointMetadata;
pub use models::CheckpointSummary;
pub use models::ConversationSnapshot;
pub use models::EnvironmentSnapshot;
pub use models::FileSystemSnapshot;
pub use models::ProjectHash;
pub use models::SessionMetadata;
pub use models::SessionStatus;
pub use models::ToolStateSnapshot;
pub use restoration::CheckpointRestoration;
pub use restoration::RestorationMetadata;
pub use restoration::RestorationResult;
pub use restoration::RestoredCheckpoint;
pub use restoration::ValidationIssue;
pub use restoration::ValidationResults;
pub use restoration::ValidationSeverity;
pub use resume_tracker::ResumeContext;
pub use resume_tracker::ResumeTracker;
pub use size_calc::SizeCategory;
pub use size_calc::SizeInfo;
pub use size_calc::SizeUtils;
pub use size_calc::StorageSizeCalculator;
pub use storage::CheckpointStorageManager;
pub use storage::ProjectStorage;
pub use storage::SessionStorage;

Modules§

atomic
Atomic file operations for safe checkpoint data handling
cleanup
Cleanup operations for checkpoint storage management
config
Configuration structures for the checkpoint system
errors
Error types for the checkpoint system
models
Data models for the checkpoint system
restoration
Checkpoint restoration functionality
resume_tracker
Resume context tracking for checkpoint restoration
size_calc
Storage size calculation utilities with caching and performance optimization
storage
Storage management for the checkpoint system

Functions§

calculate_total_storage_usage
Calculate total storage usage across all projects
cleanup_expired_data
Cleanup expired checkpoint data across all projects
get_storage_manager
Get the global checkpoint storage manager
initialize
Initialize the checkpoint system