1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#![cfg_attr(docsrs, feature(doc_cfg))]
#![warn(missing_debug_implementations, missing_docs, rust_2018_idioms)]
#![deny(unreachable_pub)]

//! `homestar-invocation` is an underlying foundation for Homestar
//! packages, implementing much of the [Ucan Invocation]
//! specification, among other useful library features.
//!
//! ## Related crates/packages:
//!
//! - [homestar-runtime]
//! - [homestar-wasm]
//! - [homestar-workflow]
//!
//! ## Getting Started
//!
//! For getting started with Homestar in general, please check out our
//! [README] and [Quickstart] guide.
//!
//! ## Feature flags
//!
//! - `diesel`: Enables diesel-sqlite implementations of data structures.
//! - `test-utils`: Enables utilities for unit testing and benchmarking.
//!
//! [homestar-runtime]: https://docs.rs/homestar-runtime
//! [homestar-wasm]: https://docs.rs/homestar-wasm
//! [homestar-workflow]: https://docs.rs/homestar-workflow
//! [IPVM]: https://github.com/ipvm-wg
//! [Quickstart]: https://github.com/ipvm-wg/homestar/blob/main/README.md#quickstart
//! [README]: https://github.com/ipvm-wg/homestar/blob/main/README.md
//! [Ucan invocation]: https://github.com/ucan-wg/invocation

pub mod authority;
pub mod consts;
pub mod error;
mod invocation;
pub mod ipld;
pub mod macros;
pub mod pointer;
pub mod receipt;
pub mod task;
#[cfg(any(test, feature = "test-utils"))]
#[cfg_attr(docsrs, doc(cfg(feature = "test-utils")))]
pub mod test_utils;
pub mod unit;

pub use consts::*;
pub use error::Error;
pub use invocation::Invocation;
pub use pointer::Pointer;
pub use receipt::Receipt;
pub use task::Task;
pub use unit::*;