Skip to main content

void_core/pipeline/
mod.rs

1//! Pipeline operations for void
2//!
3//! - **Seal**: collect workspace files → compress → encrypt → store as shards
4//! - **Unseal**: fetch shards → decrypt → decompress → write files
5//! - **Lazy traversal**: explore repos without fetching all shards
6//!   (`list_dir`, `read_file` — each fetches a single shard on demand)
7
8pub mod events;
9mod remote;
10pub mod seal;
11pub mod unseal;
12
13// Re-export event types at pipeline level
14pub use events::{FetchSource, MultiObserver, NullObserver, PipelineEvent, PipelineObserver};
15
16// Re-export seal pipeline types
17pub use seal::{
18    commit_workspace, seal_workspace, CommitOptions, CommitResult, SealOptions, SealResult,
19    SealStats,
20};
21
22// Re-export unseal types
23pub use unseal::{
24    ensure_dir_shard, ensure_file_shard, list_dir, read_file, unseal_commit, unseal_with_share,
25    DirEntryInfo, EnsureShardResult, LazyFetchOptions, LazyOptions, ListDirResult, ReadFileResult,
26    UnsealOptions, UnsealResult, UnsealStats,
27};
28
29// Re-export remote operations
30pub use remote::{
31    clone_repo,
32    // CAR export
33    export_commit_to_car,
34    export_commit_to_car_bytes,
35    pull_repo,
36    push_repo,
37    collect_local_objects,
38    CloneMode,
39    CloneOptions,
40    CloneResult,
41    ExportCarOptions,
42    ExportCarResult,
43    PullOptions,
44    PullResult,
45    PushOptions,
46    PushResult,
47};