#![cfg_attr(
test,
allow(
clippy::unwrap_used,
clippy::expect_used,
clippy::panic,
clippy::redundant_clone,
clippy::io_other_error,
clippy::collapsible_if,
clippy::await_holding_lock
)
)]
#[cfg(target_arch = "wasm32")]
pub mod tokio {
pub use tokio_with_wasm::alias::*;
}
pub mod backend;
pub mod build;
pub mod definition;
pub mod error;
pub mod event;
mod generated;
pub mod ids;
pub mod launch;
pub mod profile;
pub mod roster;
pub mod run;
pub mod runtime;
pub mod runtime_mode;
pub mod snapshot;
pub mod spec;
pub mod storage;
pub mod store;
pub mod tasks;
pub mod validate;
pub use backend::{MobBackendKind, RuntimeBinding};
pub use definition::MobDefinition;
pub use error::MobError;
pub use event::{AttributedEvent, MemberRef, MobEvent, MobEventKind, NewMobEvent};
pub use ids::{
BranchId, FlowId, FlowNodeId, FrameId, LoopId, LoopInstanceId, MeerkatId, MobId, ProfileName,
RunId, StepId, TaskId,
};
pub use launch::{BudgetSplitPolicy, ForkContext, MemberLaunchMode};
pub use profile::{Profile, ProfileBinding, ProfileSource, SpawnTooling, ToolConfig};
pub use roster::{
MemberState, MobMemberKickoffPhase, MobMemberKickoffSnapshot, Roster, RosterAddEntry,
RosterEntry,
};
pub use run::{
FailureLedgerEntry, FlowContext, FlowRunConfig, FrameSnapshot, LoopContextHistory,
LoopIterationLedgerEntry, LoopSnapshot, MobRun, MobRunStatus, StepLedgerEntry, StepRunStatus,
};
pub use runtime::RestoreIncompatible;
pub use runtime::{FlowFrameKernel, FlowFrameMutator};
pub use runtime::{FlowTurnExecutor, FlowTurnOutcome, FlowTurnTicket, TimeoutDisposition};
pub use runtime::{
HelperOptions, HelperResult, MemberDeliveryReceipt, MemberHandle, MemberRespawnReceipt,
MemberSessionRef, MobBuilder, MobEventRouterConfig, MobEventRouterHandle, MobHandle,
MobMemberSnapshot, MobMemberStatus, MobPeerConnectivitySnapshot, MobRespawnError,
MobSessionService, MobState, MobUnreachablePeer, PeerTarget, SpawnMemberSpec, SpawnPolicy,
SpawnSpec,
};
pub use runtime::{SchedulerGrant, pump_schedulers_to_exhaustion};
pub use runtime_mode::MobRuntimeMode;
pub use snapshot::ParentToolScopeSnapshot;
pub use spec::SpecValidator;
pub use storage::MobStorage;
pub use store::{
InMemoryMobEventStore, InMemoryMobRunStore, InMemoryMobSpecStore, InMemoryRealmProfileStore,
MobEventStore, MobRunStore, MobSpecStore, MobStoreError, RealmProfileStore, StoredRealmProfile,
};
#[cfg(not(target_arch = "wasm32"))]
pub use store::{
SqliteMobEventStore, SqliteMobRunStore, SqliteMobSpecStore, SqliteMobStores,
SqliteRealmProfileStore,
};
pub use tasks::{MobTask, TaskBoard, TaskStatus};
pub use validate::{
Diagnostic, DiagnosticCode, DiagnosticSeverity, partition_diagnostics, validate_definition,
};
pub type ExternalToolsProvider = std::sync::Arc<
dyn Fn() -> Option<std::sync::Arc<dyn meerkat_core::agent::AgentToolDispatcher>> + Send + Sync,
>;
#[cfg(test)]
mod tests;