1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
//! Cross-thread persistent key-value storage for Juncture.
//!
//! This crate re-exports the Store types from `juncture-core::store` so that
//! consumers can depend on `juncture-store` directly without pulling in the
//! full `juncture-core` facade.
//!
//! All types originate from the authoritative implementation in
//! `juncture-core::store`. There are no duplicate definitions.
//!
//! # Re-exported items
//!
//! | Type | Description |
//! |------|-------------|
//! | [`Store`] | Async key-value store trait |
//! | [`StoreError`] | Error type for store operations |
//! | [`Item`] | Stored item with metadata |
//! | [`FilterExpr`] | Filter expression for search queries |
//! | [`SearchQuery`] | Search query builder |
//! | [`SearchResult`] | Search result set |
//! | [`SearchItem`] | Search result item with optional score |
//! | [`StoreOp`] | Batch operation type |
//! | [`StoreResult`] | Batch operation result |
//! | [`MemoryStore`] | In-memory store implementation |
//! | [`TTLConfig`] | Time-to-live configuration |
//! | [`IndexConfig`] | Vector index configuration |
//! | [`EmbeddingFunc`] | Embedding generation trait |
//!
//! # Example
//!
//! ```ignore
//! use juncture_store::{MemoryStore, Store};
//! use serde_json::json;
//!
//! #[tokio::main]
//! async fn main() -> Result<(), Box<dyn std::error::Error>> {
//! let store = MemoryStore::new();
//!
//! // Store a value
//! store.put(
//! "checkpoint",
//! "run_1",
//! json!({"step": 5, "data": "example"}),
//! None,
//! ).await?;
//!
//! // Retrieve it
//! let item = store.get("checkpoint", "run_1").await?;
//! assert!(item.is_some());
//!
//! Ok(())
//! }
//! ```
pub use ;
// Rust guideline compliant 2026-05-22