Skip to main content

apollo/
lib.rs

1//! apollo — Lightweight agent runtime
2//! Successor to OpenClaw. Best-of-breed from ZeroClaw, NanoClaw, HiClaw.
3//!
4//! Core traits (all swappable):
5//! - `Provider` — LLM backend (Anthropic, OpenAI, Gemini, Ollama, OpenRouter, Groq)
6//! - `Channel` — Communication (CLI, Telegram, Discord, Matrix, WebSocket)
7//! - `Tool` — Agent capability (Shell, File I/O, Vibemania, custom)
8//! - `MemoryBackend` — Persistent SurrealDB state, vector embeddings, file-based tooling
9//!
10//! Embeddings — Vector search for semantic memory
11//! Swarms — Manager/Worker pattern for parallel execution
12//! Plugins — JSON-RPC 2.0 extensibility
13//! Cost — Token counting and billing (Phase 4)
14//! Scheduler — Cron-based task automation (Phase 4)
15
16pub mod agent;
17pub mod agent_http;
18pub mod autonomous;
19pub mod bootstrap;
20pub mod channels;
21pub mod claw_adapter;
22pub mod config;
23pub mod context;
24pub mod cost;
25pub mod cron_scheduler;
26pub mod diagnostics;
27pub mod embeddings;
28pub mod heartbeat;
29pub mod mcp;
30pub mod mcp_server;
31pub mod memory;
32pub mod plugin;
33pub mod plugin_hosts;
34pub mod plugins;
35pub mod policy;
36pub mod process_cmd;
37pub mod prompt;
38pub mod providers;
39pub mod redaction;
40pub mod scheduler;
41pub mod self_update;
42pub mod skills;
43pub mod streaming_parser;
44#[cfg(feature = "swarm")]
45pub mod swarm;
46pub mod telegram_runtime;
47pub mod text;
48pub mod tools;
49pub mod trajectory;
50pub mod workspace_init;
51
52pub use agent::{AgentMode, AgentRunner};
53pub use channels::Channel;
54pub use cost::CostTracker;
55pub use scheduler::Scheduler;
56#[cfg(feature = "swarm")]
57pub use swarm::SwarmCoordinator;
58#[cfg(feature = "swarm")]
59pub use swarm::{ConcurrencyScheduler, DelegationManager, HandoffManager, TeamManager};