Crate ruvswarm_core

Crate ruvswarm_core 

Source
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