1pub use phoxal_runtime_contract::identity::ParticipantArtifactId;
17
18mod path;
19pub use path::{BundlePath, BundlePathError, DigestError, Sha256Digest};
20mod asset;
21pub use asset::{AssetIndex, AssetRecord, ParticipantAssets};
22mod reader;
23pub use reader::{ParticipantBundle, ParticipantRuntimeInputs, RuntimeBundle};
24mod error;
25pub use error::{BundleError, DocumentError, SelectionError};
26mod writer;
27pub use writer::BundleWriter;
28mod fs;
29pub(crate) use fs::{
30 BundleRoot, copy_executable_source, create_staging_root, ensure_staging_directory,
31 mark_staging_root_ready, open_bundle_file, open_executable_source, prepare_publish_parent,
32 publish_staging_root, read_and_verify, read_runtime_document, reject_existing_target,
33 require_layout_directories, validate_layout, write_new_file,
34};
35mod artifact;
36pub use artifact::{BinaryReference, BinarySource};
37mod participant;
38pub use participant::RuntimeParticipant;
39mod document;
40pub use document::{ParticipantClock, Runtime, RuntimeDocument, RuntimeRouterConfig};
41
42pub const RUNTIME_SCHEMA: &str = "phoxal/runtime-bundle/v0";
44pub const RUNTIME_FILE: &str = "runtime.json";
46pub const ASSETS_DIR: &str = "assets";
48pub const BIN_DIR: &str = "bin";
50pub use phoxal_runtime_contract::metadata::MAX_RUNTIME_PARTICIPANTS;
51#[cfg(test)]
52mod bundle_boundary_tests;