Expand description
§AgentDB - Database Abstraction Layer for AI Agents
AgentDB provides a unified interface for agent storage operations across multiple backend families (SQL, KV, Graph). It serves as the middleware between high-level agent operations (AgentFS) and concrete database implementations.
§Architecture
AgentFS → AgentDB → (AgentSQL | AgentKV | AgentGraph) → Concrete Backends§Core Traits
AgentDB: Main trait for database operations (CRUD, transactions, queries)Capabilities: Describes backend capabilities (transactions, indexes, etc.)Transaction: Transaction management interface
§Example
ⓘ
use agentdb::{AgentDB, Capabilities};
async fn example(db: impl AgentDB) -> Result<(), Box<dyn std::error::Error>> {
// Check capabilities
if db.capabilities().supports_transactions() {
let tx = db.begin().await?;
db.put("key", b"value").await?;
tx.commit().await?;
}
Ok(())
}Re-exports§
pub use error::AgentDbError;pub use error::Result;pub use traits::AgentDB;pub use traits::Capabilities;pub use traits::DefaultCapabilities;pub use traits::Row;pub use traits::Transaction;pub use traits::QueryResult;pub use traits::ScanResult;
Modules§
Structs§
- Value
- Value type for database operations
Enums§
- Backend
Family - Backend family identifier