Some checks failed
Documentation Lint & Validation / Markdown Linting (push) Has been cancelled
Documentation Lint & Validation / Validate mdBook Configuration (push) Has been cancelled
Documentation Lint & Validation / Content & Structure Validation (push) Has been cancelled
Documentation Lint & Validation / Lint & Validation Summary (push) Has been cancelled
mdBook Build & Deploy / Build mdBook (push) Has been cancelled
mdBook Build & Deploy / Documentation Quality Check (push) Has been cancelled
mdBook Build & Deploy / Deploy to GitHub Pages (push) Has been cancelled
mdBook Build & Deploy / Notification (push) Has been cancelled
Rust CI / Security Audit (push) Has been cancelled
Rust CI / Check + Test + Lint (nightly) (push) Has been cancelled
Rust CI / Check + Test + Lint (stable) (push) Has been cancelled
Nickel Type Check / Nickel Type Checking (push) Has been cancelled
204 lines
5.5 KiB
TOML
204 lines
5.5 KiB
TOML
[workspace]
|
|
resolver = "2"
|
|
|
|
members = [
|
|
"crates/vapora-backend",
|
|
"crates/vapora-frontend",
|
|
"crates/vapora-shared",
|
|
"crates/vapora-agents",
|
|
"crates/vapora-llm-router",
|
|
"crates/vapora-mcp-server",
|
|
"crates/vapora-tracking",
|
|
"crates/vapora-worktree",
|
|
"crates/vapora-knowledge-graph",
|
|
"crates/vapora-analytics",
|
|
"crates/vapora-swarm",
|
|
"crates/vapora-telemetry",
|
|
"crates/vapora-workflow-engine",
|
|
"crates/vapora-cli",
|
|
]
|
|
|
|
[workspace.package]
|
|
version = "1.2.0"
|
|
edition = "2021"
|
|
rust-version = "1.75"
|
|
authors = ["VAPORA Team"]
|
|
license = "MIT OR Apache-2.0"
|
|
repository = "https://github.com/vapora/vapora"
|
|
homepage = "https://vapora.dev"
|
|
keywords = ["multi-agent", "llm", "cloud-native", "orchestration"]
|
|
categories = ["development-tools", "web-programming"]
|
|
|
|
[workspace.dependencies]
|
|
# Vapora internal crates
|
|
vapora-shared = { path = "crates/vapora-shared" }
|
|
vapora-agents = { path = "crates/vapora-agents" }
|
|
vapora-llm-router = { path = "crates/vapora-llm-router" }
|
|
vapora-worktree = { path = "crates/vapora-worktree" }
|
|
vapora-knowledge-graph = { path = "crates/vapora-knowledge-graph" }
|
|
vapora-analytics = { path = "crates/vapora-analytics" }
|
|
vapora-swarm = { path = "crates/vapora-swarm" }
|
|
vapora-telemetry = { path = "crates/vapora-telemetry" }
|
|
vapora-workflow-engine = { path = "crates/vapora-workflow-engine" }
|
|
|
|
# SecretumVault - Post-quantum secrets management
|
|
secretumvault = { path = "../secretumvault", default-features = false, features = ["server", "surrealdb-storage", "openssl", "cedar"] }
|
|
|
|
# Leptos ecosystem (CSR-only for frontend)
|
|
leptos = { version = "0.8.12" }
|
|
leptos_router = { version = "0.8.9" }
|
|
leptos_meta = { version = "0.8.5" }
|
|
|
|
# Web Framework (Backend)
|
|
axum = "0.8.6"
|
|
tower = "0.5.2"
|
|
tower-http = { version = "0.6.6", features = ["fs", "cors", "trace", "compression-full"] }
|
|
|
|
# Async runtime
|
|
tokio = { version = "1.48", features = ["rt-multi-thread", "macros", "fs", "net", "sync"] }
|
|
futures = "0.3.31"
|
|
async-trait = "0.1.89"
|
|
|
|
# Serialization
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
serde_json = "1.0"
|
|
toml = "0.9"
|
|
serde_yaml = { version = "0.9" }
|
|
|
|
# Error handling
|
|
thiserror = "2.0.17"
|
|
anyhow = "1.0.100"
|
|
|
|
# HTTP
|
|
http = "1"
|
|
reqwest = { version = "0.12.24", features = ["json", "rustls-tls"] }
|
|
reqwasm = "0.5.0"
|
|
|
|
# Logging and tracing
|
|
log = "0.4.28"
|
|
env_logger = "0.11"
|
|
tracing = "0.1"
|
|
tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] }
|
|
|
|
# WASM support
|
|
wasm-bindgen = "0.2.105"
|
|
wasm-bindgen-futures = "0.4.55"
|
|
wasm-bindgen-test = "0.3"
|
|
serde-wasm-bindgen = "0.6.5"
|
|
console_error_panic_hook = "0.1.7"
|
|
console_log = "1"
|
|
js-sys = "0.3.82"
|
|
web-sys = { version = "0.3.82", features = ["Clipboard", "Window", "Navigator", "Permissions", "MouseEvent", "Storage", "console", "File"] }
|
|
|
|
# Gloo ecosystem
|
|
gloo-timers = { version = "0.3", features = ["futures"] }
|
|
gloo-net = { version = "0.6.0" }
|
|
|
|
# Utilities
|
|
rand = "0.9"
|
|
rand_core = { version = "0.6", features = ["getrandom"] }
|
|
getrandom = { version = "0.2", features = ["std", "js"] }
|
|
uuid = { version = "1.18", features = ["v4", "serde", "js"] }
|
|
chrono = { version = "0.4", features = ["serde"] }
|
|
regex = "1.12.2"
|
|
hex = "0.4.3"
|
|
base64 = { version = "0.22" }
|
|
|
|
# Configuration
|
|
dotenv = "0.15.0"
|
|
once_cell = "1.21.3"
|
|
|
|
# CLI
|
|
clap = { version = "4.5", features = ["derive", "env"] }
|
|
colored = "2.1"
|
|
comfy-table = "7.1"
|
|
|
|
# TLS Support (native tokio-rustls, no axum-server)
|
|
rustls = { version = "0.23" }
|
|
rustls-pemfile = { version = "2.2" }
|
|
tokio-rustls = { version = "0.26" }
|
|
|
|
# Authentication & Authorization
|
|
jsonwebtoken = { version = "10.2", features = ["rust_crypto"] }
|
|
argon2 = { version = "0.5" }
|
|
oauth2 = { version = "5.0" }
|
|
tower-sessions = { version = "0.14" }
|
|
tower-cookies = { version = "0.11" }
|
|
time = { version = "0.3", features = ["serde"] }
|
|
|
|
# Database
|
|
sqlx = { version = "0.8.6", features = ["runtime-tokio-rustls", "postgres", "sqlite", "chrono", "uuid", "migrate"] }
|
|
# Note: SurrealDB will be added when available in workspace
|
|
surrealdb = "2.3"
|
|
|
|
# Message Queue
|
|
# Note: async-nats will be added when available in workspace
|
|
async-nats = "0.45"
|
|
|
|
# LLM Agent Framework & RAG
|
|
rig-core = "0.15"
|
|
# Embeddings: Use provider APIs (Claude, OpenAI, Gemini, Ollama) instead of fastembed
|
|
# - rig-core integrates with all major providers
|
|
# - Routing through vapora-llm-router for optimal provider selection
|
|
# - Phase 3: Implement embedding service using provider APIs
|
|
|
|
# Cryptography
|
|
aes-gcm = { version = "0.10" }
|
|
sha2 = { version = "0.10" }
|
|
|
|
# Metrics & Observability
|
|
prometheus = { version = "0.14" }
|
|
opentelemetry = { version = "0.22", features = ["trace", "metrics"] }
|
|
opentelemetry-jaeger = { version = "0.21", features = ["rt-tokio"] }
|
|
opentelemetry_sdk = { version = "0.22", features = ["rt-tokio"] }
|
|
tracing-opentelemetry = "0.23"
|
|
|
|
# File system
|
|
glob = "0.3.3"
|
|
walkdir = "2.5"
|
|
tempfile = { version = "3.23" }
|
|
notify = { version = "8.2.0", default-features = false, features = ["macos_fsevent"] }
|
|
ignore = "0.4"
|
|
|
|
# CLI support
|
|
dialoguer = "0.12"
|
|
console = "0.16"
|
|
indicatif = "0.18"
|
|
|
|
# Async compression
|
|
async-compression = { version = "0.4", features = ["gzip", "tokio"] }
|
|
|
|
# Utility
|
|
cfg-if = "1.0"
|
|
paste = "1.0.15"
|
|
typed-builder = "0.23"
|
|
shellexpand = "3.1"
|
|
semver = "1.0"
|
|
pathdiff = "0.2"
|
|
dashmap = "5.5"
|
|
parking_lot = "0.12"
|
|
|
|
# Testing
|
|
mockall = "0.13"
|
|
wiremock = "0.6"
|
|
axum-test = "18.2"
|
|
mockito = "0.31"
|
|
criterion = { version = "0.5", features = ["async_tokio"] }
|
|
|
|
# Proc macros
|
|
syn = { version = "2.0", features = ["full"] }
|
|
quote = "1.0"
|
|
proc-macro2 = "1.0"
|
|
|
|
[profile.release]
|
|
codegen-units = 1
|
|
lto = true
|
|
opt-level = "z"
|
|
|
|
[profile.dev]
|
|
opt-level = 0
|
|
debug = true
|
|
|
|
[profile.test]
|
|
opt-level = 0
|