Skip to main content

agentics_storage/
lib.rs

1#![cfg_attr(
2    test,
3    allow(
4        clippy::arithmetic_side_effects,
5        clippy::cast_possible_truncation,
6        clippy::cast_possible_wrap,
7        clippy::cast_sign_loss,
8        clippy::enum_glob_use,
9        clippy::expect_used,
10        clippy::indexing_slicing,
11        clippy::panic,
12        clippy::unwrap_used,
13        clippy::wildcard_imports,
14        reason = "unit tests use direct assertions and fixture indexing for concise failure diagnostics"
15    )
16)]
17
18//! Durable object storage for submissions, private assets, logs, and challenge bundles.
19//!
20//! A storage key is an opaque object locator inside the configured storage
21//! backend. Local development maps it onto a filesystem path, while hosted
22//! deployments may map it to an S3 object key. Runner writable storage is a
23//! separate local filesystem concern and is not represented by this crate.
24
25pub use agentics_domain::storage::{StorageKey, StorageKeyError};
26
27mod backend;
28mod error;
29mod factory;
30mod fs_utils;
31mod intent;
32mod local;
33mod s3;
34mod tar_archive;
35
36pub use backend::Storage;
37pub use error::{Result, StorageError};
38pub use factory::{StorageFactoryOptions, build_storage, storage_work_root};
39pub use intent::StorageWriteIntent;
40pub use local::{LocalStorage, LocalStorageOptions};
41pub use s3::{S3Storage, S3StorageOptions};
42pub use tar_archive::{pack_directory_to_tar, unpack_tar_to_directory};
43
44#[cfg(test)]
45mod tests;