Skip to main content

chasm/agency/
mod.rs

1// Copyright (c) 2024-2026 Nervosys LLC
2// SPDX-License-Identifier: AGPL-3.0-only
3//! Agent Development Kit (Agency) - Rust Implementation
4//!
5//! A Rust-native framework for building, orchestrating, and deploying AI agents.
6//! Inspired by multi-agent patterns but built from scratch for performance and control.
7//!
8//! ## Key Features
9
10#![allow(dead_code, unused_imports)]
11//!
12//! - **Code-First Development**: Define agents and tools in Rust for type safety and performance
13//! - **Modular Architecture**: Compose agents into hierarchies (sequential, parallel, loop)
14//! - **Tool Ecosystem**: Built-in tools + custom function registration
15//! - **Multi-Model Support**: Works with any LLM provider (Gemini, OpenAI, Anthropic, local)
16//! - **Session Management**: Persistent conversation state with SQLite backend
17//! - **Streaming Support**: Real-time response streaming via SSE
18//!
19//! ## Example
20//!
21//! ```rust,ignore
22//! use csm::Agency::{Agent, AgentBuilder, Tool, Runtime};
23//!
24//! let search_agent = AgentBuilder::new("researcher")
25//!     .model("gemini-2.5-flash")
26//!     .instruction("You are a helpful research assistant.")
27//!     .tool(Tool::web_search())
28//!     .build();
29//!
30//! let runtime = Runtime::new();
31//! let result = runtime.run(&search_agent, "What is quantum computing?").await?;
32//! ```
33
34pub mod agent;
35pub mod error;
36pub mod executor;
37pub mod memory;
38pub mod modality;
39pub mod models;
40pub mod orchestrator;
41pub mod proactive;
42pub mod remote;
43pub mod runtime;
44pub mod session;
45pub mod tools;
46
47// Autonomous agents
48pub mod archival;
49pub mod search_refinement;
50
51// Re-export main types
52pub use agent::{Agent, AgentBuilder, AgentConfig, AgentRole, AgentStatus};
53pub use error::AgencyError;
54pub use executor::{ExecutionContext, ExecutionResult, Executor};
55pub use memory::{
56    AgentCache, CacheEntry, ChunkingConfig, ChunkingStrategy, ContextSegment, ContextSegmentType,
57    ContextWindow, Document, DocumentChunk, DocumentType, Embedding, EmbeddingModel,
58    EmbeddingProvider, KnowledgeBase, MemoryConfig, MemoryEntry, MemoryError, MemoryManager,
59    MemorySource, MemoryStats, MemoryType, SearchResult, SimilarityMetric, VectorStore,
60    VectorStoreConfig, VectorStoreStats,
61};
62pub use modality::{
63    vla_models, vlm_models, ActionCommand, ActionParameters, ActionType, AudioContent, AudioData,
64    BoundingBoxRegion, ContentPart, ImageContent, ImageData, ImageDetail, ImageFormat, Modality,
65    ModalityCapabilities, ModelCategory, MultimodalMessage, MultimodalModel, SensorData,
66    SensorType, SensorValues, VideoContent, VideoData, Waypoint,
67};
68pub use models::{AgencyEvent, AgencyMessage, EventType, ToolCall, ToolResult};
69pub use orchestrator::{OrchestrationType, Orchestrator, Pipeline, Swarm};
70pub use proactive::{
71    business_agent_config, household_agent_config, ActionRisk, ActionStatus, DetectedProblem,
72    PermissionLevel, ProactiveAction, ProactiveAgentConfig, ProactiveMonitor, ProblemCategory,
73    ProblemSeverity, ProblemStatus,
74};
75pub use remote::{
76    generate_node_id, generate_task_id, ArtifactType, GpuInfo, HardwareInfo, LogLevel,
77    MonitorStats, NodeId, NodeStatus, RemoteAgentClient, RemoteEvent, RemoteMonitor,
78    RemoteMonitorConfig, RemoteMonitorError, RemoteNode, RemoteTask, RemoteTaskBuilder,
79    RemoteTaskId, RemoteTaskStatus, ResourceUsage, TaskArtifact, TaskLogEntry, TaskMetrics,
80    TaskPriority, TaskResult,
81};
82pub use runtime::{Runtime, RuntimeConfig};
83pub use session::{Session, SessionManager, SessionState};
84pub use tools::{BuiltinTools, Tool, ToolBuilder, ToolRegistry};
85
86// Autonomous agent exports
87pub use archival::{ArchivalAgent, ArchivalPolicy, ArchivalResult, ArchivalScheduler, ArchivalStats};
88pub use search_refinement::{
89    EnrichedSearchResult, QueryRefinement, RefinementType, SearchAnalytics,
90    SearchContext, SearchRefinementAgent,
91};