garudust_core/lib.rs
1//! Core traits, types, and error definitions for the Garudust AI agent framework.
2//!
3//! This crate is the foundation that all other `garudust-*` crates build on.
4//! It defines the shared interfaces — tools, transports, memory stores, and
5//! platform adapters — so that every layer of the stack can be swapped or
6//! extended without touching unrelated code.
7//!
8//! # Key abstractions
9//!
10//! | Trait | Purpose |
11//! |---|---|
12//! | [`tool::Tool`] | A single callable capability the agent can invoke |
13//! | [`transport::ProviderTransport`] | LLM backend (Anthropic, Ollama, OpenRouter …) |
14//! | [`memory::MemoryStore`] | Persistent facts and user profile storage |
15//! | [`platform::PlatformAdapter`] | Chat platform (Telegram, Discord, Slack …) |
16//!
17//! # Feature flags
18//!
19//! This crate has no optional features; everything here is always available.
20
21pub mod budget;
22pub mod config;
23pub mod error;
24pub mod memory;
25pub mod net_guard;
26pub mod platform;
27pub mod pricing;
28pub mod tool;
29pub mod transport;
30pub mod types;
31
32pub use error::{AgentError, PlatformError, ToolError, TransportError};
33pub use types::*;