pub mod backend;
pub mod error;
pub mod sandbox;
pub mod tool;
pub mod types;
#[cfg(feature = "process")]
pub mod process;
#[cfg(feature = "wasm")]
pub mod wasm;
#[cfg(feature = "workspace")]
pub mod workspace;
pub use backend::{BackendCapabilities, EnforcedLimits, SandboxBackend};
pub use error::SandboxError;
pub use sandbox::{
AccessMode, AllowedPath, NetworkRule, SandboxEnforcer, SandboxPolicy, SandboxPolicyBuilder,
WrappedCommand, get_enforcer,
};
pub use tool::SandboxTool;
pub use types::{ExecRequest, ExecResult, Language};
#[cfg(feature = "process")]
pub use process::{ProcessBackend, ProcessConfig};
#[cfg(feature = "wasm")]
pub use wasm::WasmBackend;
#[cfg(feature = "workspace")]
pub use workspace::{
Capability, DirEntry, EntryType, ExecOutput, LocalUnixClient, LocalUnixSession, Manifest,
ManifestEntry, SandboxClient, SandboxConfig, SandboxConfigSpec, SandboxSession, SessionHandle,
SnapshotId,
};
#[cfg(feature = "workspace-docker")]
pub use workspace::{DockerClient, DockerSession};
#[cfg(all(feature = "sandbox-native", target_os = "macos"))]
pub use sandbox::macos::MacOsEnforcer;
#[cfg(all(feature = "sandbox-native", target_os = "linux"))]
pub use sandbox::linux::LinuxEnforcer;
#[cfg(all(feature = "sandbox-native", target_os = "windows"))]
pub use sandbox::windows::WindowsEnforcer;