Skip to main content

Crate aion_package

Crate aion_package 

Source
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. BeamModule and BeamSet with canonical ordering.
builder
Archive builder utilities for tests and packaging tools. PackageBuilder deterministic 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 .aion packages.
extraction
Explicit inflate budgets for archive extraction. Explicit inflate budgets for .aion archive 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.json model and .aion format-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. Package load path and integrity check.
project
Project-level packaging driven by workflow.toml descriptors. Project-level packaging: workflow.toml descriptors → built .aion archives.
version
Workflow version identifiers derived from package content. Canonical workflow version record produced from a loaded Package.