1pub 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#[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 assert!(true);
48 }
49}