Expand description
Archive validation, content hashing, and namespacing for Aion packages.
This crate loads .aion archives, validates manifests and BEAM entries,
computes stable content hashes, and derives deployed module names for engine
registration.
§Example
use aion_package::{ExtractionLimits, Package};
// Operator-local file: extraction may run unbounded. Network input must
// use `ExtractionLimits::bounded` instead.
let package = Package::load_from_path("workflow.aion", ExtractionLimits::unbounded())?;
println!("entry module: {}", package.manifest().entry_module);Re-exports§
pub use beam::BeamModule;pub use beam::BeamSet;pub use beam::RESERVED_MODULE_NAMES;pub use builder::PackageBuilder;pub use codegen::CodegenError;pub use codegen::CodegenMode;pub use codegen::CodegenReport;pub use codegen::codegen_project;pub use error::PackageError;pub use extraction::ExtractionLimits;pub use hash::ContentHash;pub use hash::content_hash;pub use manifest::CURRENT_FORMAT_VERSION;pub use manifest::DeclaredActivity;pub use manifest::Manifest;pub use manifest::ManifestDigest;pub use manifest::ManifestVersion;pub use namespace::DEPLOYED_NAME_SEPARATOR;pub use namespace::NamespaceError;pub use namespace::ParsedDeployedName;pub use namespace::deployed_name;pub use namespace::deployed_names;pub use namespace::parse_deployed_name;pub use package::Package;pub use project::ExcludedModule;pub use project::ExcludedReason;pub use project::PackageOptions;pub use project::PackagedWorkflow;pub use project::PackagingError;pub use project::ProjectReport;pub use project::package_project;pub use version::WorkflowVersion;
Modules§
- beam
- Compiled BEAM module records extracted from packages.
BeamModuleandBeamSetwith canonical ordering. - builder
- Archive builder utilities for tests and packaging tools.
PackageBuilderdeterministic write path. - codegen
- Gleam type and JSON codec generation from project schemas.
Gleam type + JSON codec generation from a workflow project’s JSON
Schemas (
aion codegen). - error
- Package validation and archive-loading errors.
Error taxonomy for malformed
.aionpackages. - extraction
- Explicit inflate budgets for archive extraction.
Explicit inflate budgets for
.aionarchive extraction. - hash
- Stable content-hash calculation for package contents. Content-hash computation over the canonical beam set.
- manifest
- Manifest structures and format-version constants.
Typed
manifest.jsonmodel and.aionformat-version checks. - namespace
- Deployment namespace helpers for compiled module names. Pure logical-name <-> deployed-name bijection for content-hash namespacing.
- package
- Validated in-memory package loading and accessors.
Packageload path and integrity check. - project
- Project-level packaging driven by
workflow.tomldescriptors. Project-level packaging:workflow.tomldescriptors → built.aionarchives. - version
- Workflow version identifiers derived from package content.
Canonical workflow version record produced from a loaded
Package.