ruvector-cli 0.1.29

CLI and MCP server for Ruvector
[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 = { version = "0.1.2", path = "../ruvector-core" }
ruvector-graph = { version = "0.1.0", path = "../ruvector-graph", features = ["storage"] }
ruvector-gnn = { version = "0.1.0", 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.12"

# 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"