[workspace] resolver = "2" members = [ "crates/cortex-core", "crates/cortex-gateway", "crates/cortex-cli", "crates/neuron", "crates/helexa-acp", ] [workspace.package] version = "0.1.16" edition = "2024" license = "GPL-3.0-or-later" repository = "https://git.lair.cafe/helexa/cortex" [workspace.dependencies] # async runtime tokio = { version = "1", features = ["full"] } # web framework axum = { version = "0.8", features = ["macros"] } tower = "0.5" tower-http = { version = "0.6", features = ["cors", "trace", "timeout"] } # serialization serde = { version = "1", features = ["derive"] } serde_json = "1" toml = "0.8" # http client (for proxying to neuron backends) reqwest = { version = "0.12", features = ["json", "stream"] } # observability tracing = "0.1" tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] } metrics = "0.24" metrics-exporter-prometheus = "0.16" # time chrono = { version = "0.4", features = ["serde"] } # config figment = { version = "0.10", features = ["toml", "env"] } # error handling anyhow = "1" thiserror = "2" # async traits async-trait = "0.1" # CLI clap = { version = "4", features = ["derive"] } # futures / streams (for SSE proxying) futures = "0.3" tokio-stream = "0.1" eventsource-stream = "0.2" # workspace crates cortex-core = { path = "crates/cortex-core" } cortex-gateway = { path = "crates/cortex-gateway" } # Patched cudarc (affects neuron's 0.19.x only; candle's 0.17.x is # untouched since the fork is 0.19.7 and doesn't satisfy a 0.17 req). Adds # Comm::abort / get_async_error / raw comm() — needed for #17 Stage 2 TP # hang-recovery (abort a wedged collective from another thread, then # rebuild the comm). Pinned to a fork revision pending upstream review # (grenade/cudarc @ nccl-comm-abort). [patch.crates-io] cudarc = { git = "https://github.com/grenade/cudarc", rev = "dbc425aa865c178f38a3ec838f1f7a4da3146358" }