[package] name = "clawhdf5-agent" version = "2.4.0" edition = "2024" description = "HDF5-backed persistent memory store for on-device AI agents" license = "MIT" repository = "https://git.redclaw.dev/quantumclaw/clawhdf5" readme = "README.md" keywords = ["agent", "memory", "hdf5", "vector-search", "embedding"] categories = ["database", "science", "algorithms"] [dependencies] clawhdf5-format = { path = "../clawhdf5-format", version = "2.4.0", features = ["parallel", "fast-checksum"] } clawhdf5 = { path = "../clawhdf5", version = "2.4.0" } clawhdf5-io = { path = "../clawhdf5-io", version = "2.4.0", features = ["mmap"] } clawhdf5-accel = { path = "../clawhdf5-accel", version = "2.4.0" } clawhdf5-ann = { path = "../clawhdf5-ann", version = "2.4.0", optional = true } clawhdf5-gpu = { path = "../clawhdf5-gpu", version = "2.4.0", optional = true, default-features = false } serde = { workspace = true } byteorder = "1" half = { workspace = true, optional = true } rayon = { version = "1", optional = true } matrixmultiply = { version = "0.3", optional = true } cblas-sys = { version = "0.1", optional = true } tokio = { version = "1", features = ["rt", "sync", "macros", "time"], optional = true } [target.'cfg(target_os = "macos")'.dependencies] accelerate-src = { version = "0.3", optional = true } [target.'cfg(not(target_os = "macos"))'.dependencies] openblas-src = { version = "0.10", optional = true, features = ["cblas"] } [dev-dependencies] tempfile = { workspace = true } criterion = { workspace = true } rayon = "1" tokio = { version = "1", features = ["rt-multi-thread", "sync", "macros"] } [[bench]] name = "bench" harness = false [[bench]] name = "memory_bench" harness = false [features] default = ["float16", "hnsw", "parallel"] float16 = ["half"] # Rayon-parallel brute-force search strategies, and a parallel bulk build of # the HNSW index (same graph, several times faster on a multi-core machine). parallel = ["rayon", "clawhdf5-ann?/parallel"] # Compress embeddings with Zstd instead of deflate when # `MemoryConfig::compression` is on. Off by default: it links libzstd (C). zstd = ["clawhdf5/zstd"] # HNSW approximate-nearest-neighbour acceleration for the vector stage of # hybrid_search. On by default; the index is rebuilt from the cache on demand # and stays self-consistent with the persisted memory store. Disable with # `--no-default-features` (plus re-enabling other defaults) to force the exact # linear cosine scan. hnsw = ["clawhdf5-ann"] agent = [] gpu = ["clawhdf5-gpu/gpu-wgpu"] fast-math = ["matrixmultiply"] accelerate = ["accelerate-src", "cblas-sys"] openblas = ["openblas-src", "cblas-sys"] async = ["tokio"]