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
//! Task scheduling, agent coordination, and crew execution.
//!
//! The orchestrator is the runtime core of AgnosAI. It manages crew lifecycles,
//! schedules tasks across priority tiers, resolves DAG dependencies, scores
//! agents for task assignment, and provides pub/sub event communication.
//!
//! # Key Components
//!
//! - [`Orchestrator`] — top-level entry point, wraps `Arc<RwLock<State>>`
//! - [`CrewRunner`](crew_runner::CrewRunner) — executes a crew through its full lifecycle
//! - [`Scheduler`](scheduler::Scheduler) — priority queue + DAG topological sort
//! - [`PubSub`](pubsub::PubSub) — topic-based pub/sub with wildcard matching
/// Human-in-the-loop approval gates for task results.
/// Token and cost budget enforcement.
/// Crew lifecycle runner (assemble, execute, aggregate).
/// Durable crew state persistence and recovery.
/// Hierarchical process mode — manager-driven task delegation.
/// Inter-process communication utilities.
/// Multi-turn conversation memory for agents.
/// Multi-tenancy with per-tenant budget enforcement.
/// Top-level orchestrator struct and crew execution.
/// Structured output validation and retry logic.
/// Plan caching for repeated crew executions.
/// Topic-based publish/subscribe with wildcard matching.
/// Priority queue and DAG topological sort.
/// Agent-task scoring and ranking.
pub use Orchestrator;