Cargo.toml•5.86 kB
[workspace]
members = [
"crates/codegraph-core",
"crates/codegraph-vector",
"crates/codegraph-cache",
"crates/codegraph-parser",
"crates/codegraph-mcp",
"crates/codegraph-queue",
"crates/codegraph-git",
"crates/codegraph-concurrent",
"crates/codegraph-graph",
"crates/codegraph-zerocopy",
"crates/codegraph-lb",
"crates/codegraph-ai",
"crates/codegraph-api",
"crates/core-rag-mcp-server",
"scripts",
"tests/integration"
]
default-members = [
"crates/codegraph-core"
]
resolver = "2"
[workspace.package]
version = "1.0.0"
edition = "2021"
authors = ["CodeGraph Team"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/codegraph/embedding-system"
[workspace.dependencies]
fastrand = "2.0"
governor = { version = "0.10.1" }
lazy_static = "1.4.0"
# Async Runtime
tokio = { version = "1.39", features = ["full"] }
async-trait = "0.1"
futures = "0.3"
# Serialization
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
toml = "0.9.5"
# Zero-copy serialization
rkyv = { version = "0.7.45", features = ["alloc", "std"] }
bytecheck = "0.8"
rend = "0.5"
# Error Handling
thiserror = "2.0.16"
anyhow = "1.0"
# Utilities
regex = "1.10"
sha2 = "0.10"
uuid = { version = "1.6", features = ["v4", "serde"] }
chrono = { version = "0.4", features = ["serde"] }
# Parallel Processing
rayon = "1.8"
crossbeam-channel = "0.5"
crossbeam-utils = "0.8"
crossbeam-queue = "0.3"
crossbeam-skiplist = "0.1"
arc-swap = "1.7"
# System Information
num_cpus = "1.16"
sysinfo = "0.37.0"
# Database
rocksdb = "0.24"
# Vector Search (FAISS bindings and scientific computing)
faiss = "0.12"
ndarray = "0.16.1"
# OpenAI API client
# Minimize reqwest features for smaller binaries; prefer system TLS
reqwest = { version = "0.12", default-features = false, features = ["json", "stream", "native-tls"] }
# ONNX ort format
# ort = "=2.0.0-rc.10"
ort = { version = "2", features = [ "load-dynamic" ] }
# Additional utilities
bincode = { version = "2.0", features = ["serde"] }
dashmap = "6.0"
parking_lot = "0.12"
tokio-util = "0.7"
tokio-uring = { version = "0.5.0" }
# File system monitoring and diff processing
notify = "8.2.0"
similar = "2.4"
memmap2 = "0.9"
flate2 = "1.0"
# Compression algorithms
zstd = "0.13"
lz4_flex = "0.11"
globset = "0.4"
ignore = "0.4"
rand = "0.9.2"
# Git integration
git2 = "0.20"
# Tree-sitter for parsing - Enhanced error handling and pooling implemented
tree-sitter = "0.25.10"
tree-sitter-rust = "0.24"
tree-sitter-python = "0.25.0"
tree-sitter-javascript = "0.25"
tree-sitter-typescript = "0.23"
tree-sitter-go = "0.25.0"
tree-sitter-java = "0.23"
tree-sitter-cpp = "0.23"
# Additional language support - Revolutionary universal programming language coverage
tree-sitter-swift = "0.7.1"
tree-sitter-kotlin = "0.3.5"
tree-sitter-c-sharp = "0.23.0"
tree-sitter-ruby = "0.23.0"
tree-sitter-php = "0.24.2"
tree-sitter-dart = "0.0.4"
# GraphQL
async-graphql = "7.0"
async-graphql-axum = "7.0"
# Web framework
axum = "0.8"
tower = { version = "0.5.2", features = ["util"] }
tower-http = "0.6.6"
hyper = "1.7.0"
http = "1.3.1"
prometheus = { version = "0.14.0", features = ["process"] }
# OpenAPI / Swagger documentation for Axum
utoipa = { version = "5.4.0", features = ["axum_extras", "uuid", "chrono"] }
utoipa-swagger-ui = { version = "9.0.2", features = ["axum"] }
# Memory leak detection and tracking (optional, feature-gated in binaries)
memscope-rs = "0.1.4"
# WebSocket support
tokio-tungstenite = { version = "0.28", features = ["native-tls"] }
url = "2.5"
# Tracing and logging
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
tracing-appender = "0.2"
once_cell = "1.19"
hashbrown = "0.16.0"
rustc-hash = "2.1.1"
bytes = "1.6"
# Memory allocator + profiling
tikv-jemallocator = { version = "0.6.0", default-features = true }
tikv-jemalloc-ctl = "0.6.0"
backtrace = "0.3"
# Configuration
config = "0.15.15"
schemars = "1.0.4"
secrecy = { version = "0.10.3", features = ["serde"] }
chacha20poly1305 = { version = "0.10", features = ["std"] }
base64 = "0.22"
# CLI
clap = { version = "4.5", features = ["derive", "cargo", "env", "wrap_help"] }
colored = "3.0.0"
indicatif = "0.18.0"
# Security
jsonwebtoken = "9.3"
argon2 = "0.5"
# Testing
tempfile = "3.8"
tokio-test = "0.4"
approx = "0.5"
criterion = { version = "0.7.0", features = ["html_reports"] }
# LRU cache utility
lru = "0.16.1"
# Official MCP Rust SDK
rmcp = { version = "0.7.0", features = ["server", "transport-io", "transport-streamable-http-server"] }
# Internal crates
codegraph-core = { path = "crates/codegraph-core" }
codegraph-graph = { path = "crates/codegraph-graph" }
codegraph-parser = { path = "crates/codegraph-parser" }
codegraph-vector = { path = "crates/codegraph-vector", default-features = false }
codegraph-cache = { path = "crates/codegraph-cache", default-features = false }
codegraph-api = { path = "crates/codegraph-api" }
codegraph-mcp = { path = "crates/codegraph-mcp" }
codegraph-git = { path = "crates/codegraph-git" }
codegraph-zerocopy = { path = "crates/codegraph-zerocopy" }
core-rag-mcp-server = { path = "crates/core-rag-mcp-server" }
codegraph-ai = { path = "crates/codegraph-ai" }
# Development dependencies
[patch.crates-io]
rmcp = { path = "vendor/rmcp" }
[profile.release]
# Performance-oriented release (kept as-is for general builds)
opt-level = 3
lto = "fat"
codegen-units = 1
panic = "abort"
strip = true
[profile.bench]
inherits = "release"
debug = true
[profile.dev]
opt-level = 1
debug = true
incremental = true
[profile.test]
opt-level = 1
debug = true
# Size-optimized release profile for smallest possible binaries
[profile.release-size]
inherits = "release"
opt-level = "z"
codegen-units = 1
lto = "fat"
panic = "abort"
strip = true
debug = false
overflow-checks = false