agent-teams 0.1.0

Generic Rust agent teams framework replicating Claude Code Agent Teams architecture with pluggable backends for Claude Code, Codex, and Gemini CLI
Documentation
//! # agent-teams
//!
//! A generic Rust Agent Teams framework replicating the Claude Code Agent Teams
//! architecture (lead, teammates, task list, mailbox), with pluggable backends
//! for **Claude Code** (via `cc-sdk`) and **Codex** (via JSON-RPC 2.0 subprocess).

#![warn(clippy::all)]

pub mod error;
pub mod models;
pub mod util;

pub mod team;
pub mod task;
pub mod messaging;

pub mod consensus;
pub mod memory;

pub mod backend;
pub mod orchestrator;

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

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

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

pub use error::{Error, Result};
pub use backend::{AgentBackend, AgentOutput, AgentOutputStream, AgentSession, BackendType, SpawnConfig, SpawnConfigBuilder};
pub use backend::delegation::{CliDelegation, CliTool};
pub use models::{CreateTaskRequest, InboxMessage, SessionState, TaskFile, TaskFilter, TaskStatus, TaskUpdate, TeamConfig};
pub use models::{TokenUsage, ToolCallRecord, CostSummary, AgentTokenUsage};
pub use consensus::{AgentResponse, ConsensusRequest, ConsensusResult, ConsensusStrategy};
pub use memory::{ConversationMemory, MemoryConfig, MemoryManager, Role, TurnRecord};
pub use orchestrator::TeamOrchestrator;
pub use task::DependencyGraph;

/// Convenience re-exports for common usage patterns.
///
/// ```rust
/// use agent_teams::prelude::*;
/// ```
pub mod prelude {
    pub use crate::backend::claude_code::ClaudeCodeBackend;
    pub use crate::backend::codex::CodexBackend;
    pub use crate::backend::gemini::GeminiCliBackend;
    pub use crate::backend::router::{BackendRouter, CapabilityRouter, ChainRouter, KeywordRouter, SmartRouter, PromptComplexity};
    pub use crate::backend::delegation::{CliDelegation, CliTool};
    pub use crate::backend::{
        AgentBackend, AgentOutput, AgentOutputStream, AgentSession, BackendType, SpawnConfig,
        SpawnConfigBuilder,
    };
    pub use crate::error::{Error, Result};
    pub use crate::models::{
        CreateTaskRequest, InboxMessage, SessionState, TaskFile, TaskFilter, TaskStatus, TaskUpdate, TeamConfig,
    };
    pub use crate::consensus::{AgentResponse, ConsensusRequest, ConsensusResult, ConsensusStrategy};
    pub use crate::memory::{ConversationMemory, MemoryConfig, MemoryManager};
    pub use crate::orchestrator::TeamOrchestrator;
    pub use crate::task::DependencyGraph;

    pub use crate::models::token::{TokenUsage, ToolCallRecord, CostSummary, AgentTokenUsage, estimate_cost};

    #[cfg(feature = "checkpoint")]
    pub use crate::checkpoint::{CheckpointCollector, CheckpointStore, CheckpointQuery, CheckpointFilter, CheckpointDiff, AutoCheckpointTrigger};
    #[cfg(feature = "checkpoint")]
    pub use crate::models::checkpoint::{Checkpoint, CheckpointSession, CheckpointFile, FileRole};
}