[workspace] exclude = ["crates/micro-hnsw-wasm", "crates/ruvector-hyperbolic-hnsw", "crates/ruvector-hyperbolic-hnsw-wasm", "examples/ruvLLM/esp32", "examples/ruvLLM/esp32-flash", "examples/edge-net", "examples/data", "examples/ruvLLM", "examples/delta-behavior", "crates/rvf", "examples/rvf-desktop"] members = [ "crates/ruvector-core", "crates/ruvector-node", "crates/ruvector-wasm", "crates/ruvector-cli", "crates/ruvector-bench", "crates/ruvector-metrics", "crates/ruvector-filter", "crates/ruvector-router-core", "crates/ruvector-router-cli", "crates/ruvector-router-ffi", "crates/ruvector-router-wasm", "crates/ruvector-server", "crates/ruvector-snapshot", "crates/ruvector-tiny-dancer-core", "crates/ruvector-tiny-dancer-wasm", "crates/ruvector-tiny-dancer-node", "crates/ruvector-collections", "crates/ruvector-cluster", "crates/ruvector-raft", "crates/ruvector-replication", "crates/ruvector-graph", "crates/ruvector-graph-node", "crates/ruvector-graph-wasm", "crates/ruvector-gnn", "crates/ruvector-gnn-node", "crates/ruvector-gnn-wasm", "crates/ruvector-attention", "crates/ruvector-attention-wasm", "crates/ruvector-attention-node", "crates/ruvector-mincut", "crates/ruvector-mincut-wasm", "crates/ruvector-mincut-node", "crates/ruvector-mincut-gated-transformer", "crates/ruvector-mincut-gated-transformer-wasm", "crates/ruvector-postgres", "crates/ruvector-nervous-system", "examples/refrag-pipeline", "examples/scipix", "examples/google-cloud", "examples/subpolynomial-time", "crates/sona", "crates/rvlite", "crates/ruvector-nervous-system", "crates/ruvector-dag", "crates/ruvector-dag-wasm", "crates/ruvector-nervous-system-wasm", "crates/ruvector-economy-wasm", "crates/ruvector-learning-wasm", "crates/ruvector-exotic-wasm", "crates/ruvector-attention-unified-wasm", "crates/ruvector-fpga-transformer", "crates/ruvector-fpga-transformer-wasm", "crates/ruvector-sparse-inference", "crates/ruvector-sparse-inference-wasm", "crates/ruvector-math", "crates/ruvector-math-wasm", "examples/benchmarks", "crates/cognitum-gate-kernel", "crates/cognitum-gate-tilezero", "crates/mcp-gate", "crates/ruQu", "crates/ruvllm", "crates/ruvllm-cli", "crates/ruvllm-wasm", "crates/prime-radiant", "crates/ruvector-delta-core", "crates/ruvector-delta-wasm", "crates/ruvector-delta-index", "crates/ruvector-delta-graph", "crates/ruvector-delta-consensus", "crates/ruvector-crv", "crates/ruvector-temporal-tensor", "crates/ruqu-core", "crates/ruqu-algorithms", "crates/ruqu-wasm", "crates/ruqu-exotic", "crates/ruvector-domain-expansion", "crates/ruvector-domain-expansion-wasm", "crates/ruvector-solver", "crates/ruvector-solver-wasm", "crates/ruvector-solver-node", "examples/dna", "examples/OSpipe", "crates/rvf/rvf-adapters/rvlite", "crates/rvf/rvf-types", "crates/rvf/rvf-wire", "crates/rvf/rvf-quant", "crates/rvf/rvf-crypto", "crates/rvf/rvf-manifest", "crates/rvf/rvf-index", "crates/rvf/rvf-runtime", "crates/rvf/rvf-kernel", "crates/rvf/rvf-ebpf", "crates/rvf/rvf-launch", "crates/rvf/rvf-server", "crates/rvf/rvf-import", "crates/rvf/rvf-cli", "crates/rvf/rvf-federation", "crates/rvf/tests/rvf-integration", "crates/rvf/benches", "crates/ruvector-coherence", "crates/ruvector-profiler", "crates/ruvector-attn-mincut", "crates/ruvector-cognitive-container", "crates/ruvector-verified", "crates/ruvector-verified-wasm", "crates/ruvector-graph-transformer", "crates/ruvector-graph-transformer-wasm", "crates/ruvector-graph-transformer-node", "examples/rvf-kernel-optimized", "examples/verified-applications", "crates/thermorust", "crates/ruvector-dither", "crates/ruvector-robotics", "examples/robotics", ] resolver = "2" [workspace.package] version = "2.0.5" edition = "2021" rust-version = "1.77" license = "MIT" authors = ["Ruvector Team"] repository = "https://github.com/ruvnet/ruvector" [workspace.dependencies] # Core functionality redb = "2.1" memmap2 = "0.9" hnsw_rs = "0.3" simsimd = "5.9" rayon = "1.10" crossbeam = "0.8" # Serialization rkyv = "0.8" bincode = { version = "2.0.0-rc.3", features = ["serde"] } serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" # Node.js bindings napi = { version = "2.16", default-features = false, features = ["napi9", "async", "tokio_rt"] } napi-derive = "2.16" # WASM wasm-bindgen = "0.2" wasm-bindgen-futures = "0.4" js-sys = "0.3" web-sys = { version = "0.3", features = ["Worker", "MessagePort", "console"] } getrandom = { version = "0.3", features = ["wasm_js"] } # Async runtime tokio = { version = "1.41", features = ["rt-multi-thread", "sync", "macros"] } futures = "0.3" # Error handling and utilities thiserror = "2.0" anyhow = "1.0" tracing = "0.1" tracing-subscriber = { version = "0.3", features = ["env-filter"] } # Math and numerics nalgebra = { version = "0.33", default-features = false, features = ["std"] } ndarray = "0.16" rand = "0.8" rand_distr = "0.4" # Time and UUID chrono = "0.4" uuid = { version = "1.11", features = ["v4", "serde", "js"] } # CLI clap = { version = "4.5", features = ["derive", "cargo"] } indicatif = "0.17" console = "0.15" # Testing and benchmarking criterion = { version = "0.5", features = ["html_reports"] } proptest = "1.5" mockall = "0.13" # Formal verification lean-agentic = "=0.1.0" # Performance dashmap = "6.1" parking_lot = "0.12" once_cell = "1.20" [profile.release] opt-level = 3 lto = "fat" codegen-units = 1 strip = true panic = "unwind" [profile.bench] inherits = "release" debug = true [profile.dev] opt-level = 0 debug = true [profile.test] # Patch hnsw_rs to use rand 0.8 instead of 0.9 for WASM compatibility # This resolves the getrandom version conflict (0.2 vs 0.3) [patch.crates-io] hnsw_rs = { path = "./patches/hnsw_rs" }