Expand description
Core orchestration and agent traits for RUV Swarm
This crate provides the foundational building blocks for creating distributed AI agent swarms with cognitive diversity patterns.
§Features
- Agent Trait: Core abstraction for all swarm agents
- Task Management: Distributed task queue with priority scheduling
- Swarm Orchestration: Multiple topology and distribution strategies
- Cognitive Patterns: Support for diverse thinking patterns
- No-std Support: Can run in embedded environments
§Example
use ruvswarm_core::{Agent, Swarm, SwarmConfig, Task, Priority};
use async_trait::async_trait;
// Define a simple agent
struct ComputeAgent {
id: String,
capabilities: Vec<String>,
}
#[async_trait]
impl Agent for ComputeAgent {
type Input = f64;
type Output = f64;
type Error = std::io::Error;
async fn process(&mut self, input: Self::Input) -> Result<Self::Output, Self::Error> {
Ok(input * 2.0)
}
fn capabilities(&self) -> &[String] {
&self.capabilities
}
fn id(&self) -> &str {
&self.id
}
}Re-exports§
pub use agent::Agent;pub use agent::AgentMessage;pub use agent::AgentMetadata;pub use agent::AgentMetrics;pub use agent::BoxedAgent;pub use agent::CognitivePattern;pub use agent::ErasedAgent;pub use agent::HealthStatus;pub use agent::MessageType;pub use agent::ResourceRequirements;pub use agent::Capability;pub use agent::DynamicAgent;pub use agent::AgentStatus;pub use agent::AgentId;pub use error::Result;pub use error::SwarmError;pub use swarm::Swarm;pub use swarm::SwarmConfig;pub use swarm::SwarmMetrics;pub use async_swarm::AsyncSwarm;pub use async_swarm::AsyncSwarmConfig;pub use async_swarm::AsyncSwarmMetrics;pub use async_swarm::AsyncSwarmTrait;pub use swarm_trait::SwarmSync;pub use swarm_trait::SwarmAsync;pub use swarm_trait::SwarmMixed;pub use swarm_trait::SwarmOrchestrator;pub use swarm_trait::SwarmFactory;pub use swarm_trait::SwarmBuilder;pub use swarm_trait::SwarmLifecycle;pub use swarm_trait::SwarmLifecycleState;pub use swarm_trait::SwarmMonitoring;pub use swarm_trait::SwarmHealthStatus;pub use swarm_trait::SwarmPerformanceMetrics;pub use swarm_trait::SwarmErrorStatistics;pub use swarm_trait::ErrorTrend;pub use swarm_trait::SwarmConfigSummary;pub use swarm_trait::SwarmMetricsCore;pub use topology::Topology;pub use topology::TopologyType;pub use task::DistributionStrategy;pub use task::Task;pub use task::TaskId;pub use task::TaskPriority as Priority;pub use task::TaskResult;pub use task::TaskStatus;
Modules§
- agent
- Core agent trait and related types
- async_
swarm - Async swarm orchestrator implementation
- error
- Error types for the swarm orchestration system
- prelude
- Prelude module for convenient imports
- swarm
- Swarm orchestrator implementation
- swarm_
trait - Swarm trait definitions and common interfaces
- task
- Task definitions and task distribution logic
- topology
- Swarm topology definitions
Structs§
- Metadata
- Library metadata
Constants§
- VERSION
- Version information