mirror of
https://github.com/ruvnet/RuVector.git
synced 2026-05-31 21:49:52 +00:00
HNSW fixes: - Extract vector dimensions from column atttypmod instead of hardcoding 128, which caused corrupted indexes for non-128-dim embeddings (#171, #164) - Add page boundary checks in read_vector/read_neighbors to prevent segfaults on large tables with >100K rows (#164) - Use BinaryHeap::into_sorted_vec() for deterministic result ordering instead of into_iter() which yields arbitrary order (#171) - Handle non-kNN scans (COUNT, WHERE IS NOT NULL) gracefully by returning false from hnsw_gettuple when no ORDER BY operator is present (#152) Agent/SPARQL fixes: - Fix SQL type mismatch: ruvector_list_agents() and ruvector_find_agents_by_capability() now use RETURNS TABLE(...) matching the Rust TableIterator signatures instead of RETURNS SETOF jsonb (#167) - Add empty query validation to ruvector_sparql() and ruvector_sparql_json() to prevent panics on invalid input (#167) - Change workspace panic profile from "abort" to "unwind" so pgrx can convert Rust panics to PostgreSQL errors instead of killing the backend (#167) Security: - Bump lru dependency from 0.12 to 0.16 in ruvector-graph, ruvector-cli, and ruvLLM to resolve GHSA-xpfx-fvgv-hgqp Stacked Borrows violation (#148) Version bumps: workspace 2.0.3, ruvector-postgres 2.0.2 Co-Authored-By: claude-flow <ruv@ruv.net>
91 lines
1.9 KiB
TOML
91 lines
1.9 KiB
TOML
[package]
|
|
name = "ruvector-cli"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
rust-version.workspace = true
|
|
license.workspace = true
|
|
authors.workspace = true
|
|
repository.workspace = true
|
|
readme = "README.md"
|
|
description = "CLI and MCP server for Ruvector"
|
|
|
|
[[bin]]
|
|
name = "ruvector"
|
|
path = "src/main.rs"
|
|
|
|
[[bin]]
|
|
name = "ruvector-mcp"
|
|
path = "src/mcp_server.rs"
|
|
|
|
[features]
|
|
default = []
|
|
postgres = ["tokio-postgres", "deadpool-postgres"]
|
|
|
|
[dependencies]
|
|
ruvector-core = { path = "../ruvector-core" }
|
|
ruvector-graph = { path = "../ruvector-graph", features = ["storage"] }
|
|
ruvector-gnn = { path = "../ruvector-gnn" }
|
|
|
|
# PostgreSQL support (optional)
|
|
tokio-postgres = { version = "0.7", optional = true }
|
|
deadpool-postgres = { version = "0.14", optional = true }
|
|
|
|
# LRU cache for performance optimization
|
|
lru = "0.16"
|
|
|
|
# Compression for storage
|
|
flate2 = "1.0"
|
|
|
|
# CLI
|
|
clap = { workspace = true }
|
|
indicatif = { workspace = true }
|
|
console = { workspace = true }
|
|
|
|
# Async
|
|
tokio = { workspace = true }
|
|
futures = { workspace = true }
|
|
|
|
# Error handling
|
|
thiserror = { workspace = true }
|
|
anyhow = { workspace = true }
|
|
tracing = { workspace = true }
|
|
tracing-subscriber = { workspace = true }
|
|
|
|
# Serialization
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
|
|
# Configuration
|
|
toml = "0.8"
|
|
|
|
# Data formats
|
|
csv = "1.3"
|
|
ndarray-npy = "0.9"
|
|
ndarray = { workspace = true }
|
|
|
|
# Terminal colors
|
|
colored = "2.1"
|
|
prettytable-rs = "0.10"
|
|
|
|
# HTTP for MCP SSE transport
|
|
hyper = { version = "1.5", features = ["full"] }
|
|
hyper-util = { version = "0.1", features = ["full"] }
|
|
http-body-util = "0.1"
|
|
|
|
# MCP support
|
|
async-trait = "0.1"
|
|
tower = "0.5"
|
|
axum = { version = "0.7", features = ["ws"] }
|
|
tower-http = { version = "0.6", features = ["cors", "trace"] }
|
|
async-stream = "0.3"
|
|
|
|
# Additional utilities
|
|
uuid = { version = "1.11", features = ["v4"] }
|
|
chrono = "0.4"
|
|
shellexpand = "3.1"
|
|
rand = { workspace = true }
|
|
|
|
[dev-dependencies]
|
|
assert_cmd = "2.0"
|
|
predicates = "3.1"
|
|
tempfile = "3.13"
|