cerebro 1.1.6

A blazing-fast AI memory layer that enables teams of specialized agents to collaborate through a shared cognitive architecture.
Documentation
//! # Cerebro Swarm Module
//!
//! Multi-agent swarming orchestration powered by Cerebro's three-tier memory engine.
//! Agents collaborate through Working Memory (KV), Episodic Memory (conversation logs),
//! and Semantic Memory (vector search) to solve complex tasks.
//!
//! ## Quick Start
//!
//! ```rust,no_run
//! use cerebro::prelude::*;
//! use cerebro::swarm::prelude::*;
//! use std::sync::Arc;
//!
//! #[tokio::main]
//! async fn main() {
//!     // Build Cerebro memory components
//!     let chunker = Arc::new(RecursiveCharacterChunker::new(512, 50));
//!     let embedder = Arc::new(MockEmbedder::new(8));
//!     let store = Arc::new(MemoryVectorStore::new());
//!     let engine = Arc::new(MemoryEngine::new(chunker, embedder, store));
//!     let kv = Arc::new(MemoryKVStore::new());
//!
//!     // Create the memory bus
//!     let memory = Arc::new(CerebroMemoryBus::new(engine, kv));
//!
//!     // Build the orchestrator and register agents
//!     let mut orchestrator = SwarmOrchestrator::new(memory);
//!     orchestrator.register_agent(AgentConfig {
//!         id: "researcher".into(),
//!         name: "Research Agent".into(),
//!         system_prompt: "You research topics thoroughly.".into(),
//!         model: LlmProvider::Ollama {
//!             model: "llama3".into(),
//!             base_url: "http://localhost:11434".into(),
//!         },
//!         tools: vec![],
//!         handoff_targets: vec![],
//!         max_steps: 10,
//!     });
//!
//!     // Execute a swarm
//!     let result = orchestrator.execute(
//!         SwarmPattern::Sequential { agent_order: vec!["researcher".into()] },
//!         "Explain Rust's ownership model",
//!     ).await.unwrap();
//!
//!     println!("{}", result.final_output);
//! }
//! ```

pub mod agent;
pub mod memory_bus;
pub mod trace;
pub mod llm;
pub mod orchestrator;
pub mod patterns;
pub mod tools;

#[cfg(feature = "api")]
pub mod gateway;

/// Convenience prelude for the swarm module.
pub mod prelude {
    pub use super::agent::{AgentConfig, AgentRuntime, ChatMessage, LlmProvider, Role, ToolDefinition};
    pub use super::tools::AgentTool;
    pub use super::memory_bus::CerebroMemoryBus;
    pub use super::trace::{ExecutionTrace, ExecutionTracer, RunStatus, TraceAction, TraceStep};
    pub use super::llm::{LlmClient, LlmResponse};
    pub use super::orchestrator::{SwarmOrchestrator, SwarmPattern};
    pub use super::patterns::SwarmResult;
    pub use crate::storage::kv::MemoryKVStore;
}