mod inventory_item;
mod message;
mod object_ref;
mod runtime;
mod traits;
use tokio::sync::mpsc;
use ulid::Ulid;
pub mod api;
pub mod prelude;
pub use async_trait::async_trait;
pub use inventory_item::*;
pub use object_ref::*;
pub use rogue_macros::rpc;
pub use runtime::*;
pub use traits::*;
pub use inventory;
pub use serde;
pub use sha2;
pub use tracing;
pub type RuntimeId = String;
pub type TypeId = [u8; 32];
pub type InstanceId = Ulid;
pub(crate) type MessageId = Ulid;
#[derive(Clone)]
pub struct RuntimeContext {
pub target_id: RuntimeId,
pub runtime: Runtime,
pub error_tx: mpsc::Sender<anyhow::Error>,
}
tokio::task_local! {
pub static CONTEXT: RuntimeContext;
}