Crate agentdb

Crate agentdb 

Source
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§

error
Error types for AgentDB operations
traits
Core traits for AgentDB

Structs§

Value
Value type for database operations

Enums§

BackendFamily
Backend family identifier