nt_agentdb_client/
lib.rs

1// AgentDB HTTP Client - Fast vector database operations
2//
3// Performance targets:
4// - Query latency: <1ms for indexed lookups
5// - Insert latency: <5ms for batches
6// - Throughput: 1000+ ops/sec
7
8pub mod client;
9pub mod errors;
10pub mod queries;
11pub mod schema;
12
13pub use client::AgentDBClient;
14pub use errors::{AgentDBError, Result};
15pub use schema::{Observation, Order, ReflexionTrace, Signal};
16pub use queries::VectorQuery;
17
18// Re-export commonly used types for convenience
19#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
20pub struct BatchDocument {
21    pub id: String,
22    pub content: String,
23    pub metadata: serde_json::Value,
24    #[serde(skip_serializing_if = "Option::is_none")]
25    pub embedding: Option<Vec<f32>>,
26}
27
28#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
29pub struct CollectionConfig {
30    pub name: String,
31    pub dimension: usize,
32    #[serde(skip_serializing_if = "Option::is_none")]
33    pub distance_metric: Option<String>,
34    #[serde(skip_serializing_if = "Option::is_none")]
35    pub index_type: Option<String>,
36    #[serde(skip_serializing_if = "Option::is_none")]
37    pub metadata_schema: Option<serde_json::Value>,
38}
39
40#[cfg(test)]
41mod tests {
42    use super::*;
43
44    #[test]
45    fn test_module_structure() {
46        // Smoke test
47        assert!(true);
48    }
49}