#![cfg_attr(test, allow(clippy::expect_used, clippy::unwrap_used))]
pub mod abi;
#[cfg(feature = "wasmtime-runtime")]
pub mod component;
pub mod config;
pub mod error;
#[cfg(feature = "wasmtime-runtime")]
pub mod host;
pub mod manifest;
pub mod placeholders;
pub mod runtime;
#[cfg(feature = "wasmtime-runtime")]
pub mod wiring;
pub use abi::{GuardRequest, GuardVerdict, WasmGuardAbi};
#[cfg(feature = "wasmtime-runtime")]
pub use component::ComponentBackend;
pub use config::WasmGuardConfig;
pub use error::WasmGuardError;
#[cfg(feature = "wasmtime-runtime")]
pub use host::WasmHostState;
pub use manifest::{
load_signature_sidecar, signature_sidecar_path, signed_module_message, verify_guard_signature,
verify_signed_module, write_signature_sidecar, GuardManifest, SignedWasmModule,
MANIFEST_FILENAME, SIGNATURE_SUFFIX, SUPPORTED_ABI_VERSIONS,
};
pub use placeholders::{
resolve_placeholders, resolve_placeholders_in_json, PlaceholderEnv, PlaceholderError,
ProcessEnv,
};
#[cfg(feature = "wasmtime-runtime")]
pub use runtime::wasmtime_backend::{
create_backend, detect_wasm_format, load_guards_from_policy, load_signed_guard, LoadError,
PolicyCustomGuard, PolicyCustomGuards, PolicyModuleSource, WasmFormat, WasmGuardHandle,
KNOWN_HOST_FUNCTIONS,
};
pub use runtime::{WasmGuard, WasmGuardRuntime};
#[cfg(feature = "wasmtime-runtime")]
pub use wiring::{build_guard_pipeline, load_wasm_guards};