[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"] 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", ] resolver = "2" [workspace.package] version = "2.0.1" 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 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" # 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 = "abort" [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" }