1mod artifact;
8mod runtime;
9
10pub use artifact::ArtifactError;
11
12pub use runtime::{
13 ArtifactLimits, ExecutionBudget, Receipt, ReceiptDetail, RunMode, RunRequest, Runtime,
14 RuntimeConfig, RuntimeDecision, StageTimings, VshError,
15};
16
17pub use vsh_commit::{
18 CommitConfig, CommitError, CommitPlan, CommitPlanError, CommitReceipt, Committer,
19 FaultInjector, FaultPoint, HostError, JournalError, NoFaults, PlanDecodeError,
20 RecoveryConflict, RecoveryReport, RevalidationConflict, SnapshotLimits, VerificationFailure,
21};
22
23pub use vsh_monty::{
24 DEFAULT_VIRTUAL_ROOT, ExecutionError, ExecutionLimitExceeded, ExecutionLimits,
25 ExecutionOutcome, ExecutionStats, InProcessConfig, InProcessMonty, MontyFailurePhase,
26 MontyObject, MontyType, OsFunctionCall, ResultCompatibility, ResultCompatibilityError,
27 SubprocessConfig, SubprocessMonty, VirtualPathError, VirtualRoot, VirtualRootError,
28 WorkerFailure, WorkerFailureKind, validate_result_compatibility,
29};
30pub use vsh_policy::{
31 AccessKind, AccessSet, CallPolicy, DEFAULT_SECRET_PATTERNS, DeniedAccess, DenyManifest,
32 DenyReason, PatternError, PolicyConfigError, PolicyDecision, PolicyInput, PolicyProfile,
33 PolicyThresholds, ProtectedRule, RiskFlag, RiskManifest, RiskMetrics, TransactionIdentityInput,
34 TransactionPolicy, bind_transaction, read_set_digest, write_set_digest,
35};
36pub use vsh_store::{
37 ApprovalGrant, ApprovalGrantError, BlobStore, BlobStoreError, CommitReservation, DataDirectory,
38 DataDirectoryError, FileStoreConfig, FileTransactionStore, MemoryTransactionStore,
39 TransactionRecord, TransactionStore, TransactionStoreError,
40};
41pub use vsh_types::{
42 ApprovalBinding, ApprovalId, BlobId, ContentVersion, DiffDigest, DiffEntry, DiffKind,
43 DirectoryDigest, FileStamp, IntentDigest, NodeKind, NodeState, ParseDigestError,
44 PlatformFileId, PolicyDigest, PrincipalId, ProgramDigest, ReadSetDigest, RuntimeConfigDigest,
45 SnapshotId, TransactionBinding, TransactionId, TransactionState, TransitionError, VPath,
46 VPathError, WriteSetDigest,
47};
48pub use vsh_vfs::{
49 BaseSnapshot, CanonicalDiff, CanonicalDiffMetrics, CapturedContent, ContentLoadError,
50 ContentLoader, Effect, EffectEvent, EffectOrigin, ReadObservation, SnapshotBuilder,
51 SnapshotError, SnapshotMetrics, VfsError, VfsMetrics, VirtualFs, WritePrecondition,
52};
53
54pub const VERSION: &str = env!("CARGO_PKG_VERSION");
56
57#[must_use]
59pub const fn engine_kind() -> &'static str {
60 "rust"
61}
62
63#[cfg(test)]
64mod tests {
65 use super::*;
66
67 #[test]
68 fn facade_exports_one_versioned_rust_engine() {
69 assert_eq!(VERSION, "0.3.1");
70 assert_eq!(engine_kind(), "rust");
71 assert_eq!(VPath::parse("src/lib.rs").unwrap().as_str(), "src/lib.rs");
72 }
73}