ruvector/Cargo.toml
rUv d902f0f1a4 feat(ruvLLM): Complete full-feature ESP32 flash with npx installation
## Changes

### Full Feature Port
- Port all optimizations: binary_quant, product_quant, lookup_tables,
  micro_lora, sparse_attention, pruning
- Port federation module: pipeline, tensor_parallel, speculative, protocol
- Port ruvector module: micro_hnsw, semantic_memory, rag, anomaly

### Cross-Platform Installation
- Add npm package for `npx ruvllm-esp32` commands
- CLI supports: install, build, flash, monitor, config, cluster, info
- Auto-detect serial ports on Windows, Linux, macOS
- Platform-specific toolchain installation

### Build System
- Add GitHub Actions workflow for automated releases
- Build binaries for Linux (x64/ARM64), macOS (x64/ARM64), Windows
- WASM build support for browser/Node.js
- Multi-feature Cargo.toml: esp32, wasm, host-test, federation, full

### Features
- INT8/Binary quantization (32x compression)
- Product quantization (8-32x compression)
- MicroLoRA on-device adaptation
- Sparse attention patterns (sliding window, strided, BigBird)
- HNSW vector search (1000+ vectors in <20KB)
- Semantic memory with context-aware retrieval
- RAG (Retrieval-Augmented Generation)
- Anomaly detection via embedding distance
- Speculative decoding (2-4x speedup potential)
- Multi-chip federation support

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-26 15:37:51 +00:00

135 lines
3.2 KiB
TOML

[workspace]
exclude = ["crates/micro-hnsw-wasm", "examples/ruvLLM/esp32", "examples/ruvLLM/esp32-flash"]
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-postgres",
"examples/refrag-pipeline",
"examples/scipix",
"examples/google-cloud",
"examples/ruvLLM",
"examples/subpolynomial-time",
"crates/sona",
"crates/rvlite",
]
resolver = "2"
[workspace.package]
version = "0.1.29"
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" }