1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#![warn(missing_docs)]

//! Arbiter Engine is a library for creating and running automations or
//! simulations of multi-agent systems. It is designed to be used in a
//! distributed fashion where each agent is running in its own process and
//! communicating with other agents via a messaging layer.

use std::{collections::HashMap, fmt::Debug, sync::Arc};

use futures_util::future::join_all;
use serde::{de::DeserializeOwned, Deserialize, Serialize};
use tokio::task::{spawn, JoinError};
use tracing::{debug, info, trace, warn};

use crate::{errors::ArbiterEngineError, messager::Messager};

pub mod agent;
pub mod errors;
pub mod machine;
pub mod messager;
pub mod universe;
pub mod world;