Skip to main content

erebyx_sdk/
lib.rs

1// SPDX-License-Identifier: MIT OR Apache-2.0
2//! # EREBYX SDK
3//!
4//! Rust SDK for EREBYX — persistent AI memory across every AI you use.
5//!
6//! Memory is encrypted in transit (TLS 1.3) and at rest using
7//! XChaCha20-Poly1305 envelope encryption (AES-256-GCM legacy supported on
8//! existing rows) with per-tenant Key Encryption Keys wrapped under a
9//! server-held master KEK. At v0.1.1 EREBYX operationally holds the master
10//! KEK; per-user zero-knowledge encryption (passphrase-derived keys, EREBYX
11//! cannot decrypt) ships in v0.2.
12//!
13//! ## Quick Start
14//!
15//! ```rust,no_run
16//! use erebyx_sdk::Memory;
17//!
18//! #[tokio::main]
19//! async fn main() -> Result<(), erebyx_sdk::Error> {
20//!     let memory = Memory::new("erebyx_your_key")?;
21//!
22//!     // Save a memory
23//!     memory.save("User prefers AES-256-GCM encryption", "knowledge")
24//!         .anchors(vec!["security", "encryption"])
25//!         .send().await?;
26//!
27//!     // Search memories
28//!     let results = memory.search("encryption decisions").send().await?;
29//!     for m in &results.memories {
30//!         println!("{}: {}", m.id, m.content);
31//!     }
32//!
33//!     Ok(())
34//! }
35//! ```
36
37pub mod client;
38pub mod error;
39pub mod middleware;
40pub mod types;
41
42pub use client::Memory;
43pub use error::Error;
44pub use types::*;