| 1 |
[workspace] |
| 2 |
members = ["crates/spectra-core", "crates/spectra-mcp", "crates/spectra-api", "."] |
| 3 |
resolver = "2" |
| 4 |
|
| 5 |
[workspace.package] |
| 6 |
version = "0.1.0" |
| 7 |
edition = "2021" |
| 8 |
license = "MIT OR Apache-2.0" |
| 9 |
|
| 10 |
[workspace.dependencies] |
| 11 |
spectra-core = { path = "crates/spectra-core" } |
| 12 |
spectra-mcp = { path = "crates/spectra-mcp" } |
| 13 |
spectra-api = { path = "crates/spectra-api" } |
| 14 |
|
| 15 |
# Versions as oxygenhub's workspace has them, so the vendored OxygenFlow |
| 16 |
# image builds Spectra too (spectra#2; `make deps-check`). |
| 17 |
anyhow = "1" |
| 18 |
thiserror = "2" |
| 19 |
serde = { version = "1", features = ["derive"] } |
| 20 |
serde_json = "1" |
| 21 |
tokio = { version = "1", features = ["rt-multi-thread", "macros", "net", "sync", "time", "signal", "fs", "process", "io-util"] } |
| 22 |
axum = { version = "0.8", features = ["macros", "form", "query"] } |
| 23 |
tower-http = { version = "0.6", features = ["trace", "set-header", "limit"] } |
| 24 |
askama = "0.14" |
| 25 |
sqlx = { version = "0.8", default-features = false, features = ["runtime-tokio", "sqlite", "migrate", "macros"] } |
| 26 |
tracing = "0.1" |
| 27 |
tracing-subscriber = { version = "0.3", features = ["env-filter"] } |
| 28 |
clap = { version = "4", features = ["derive", "env"] } |
| 29 |
toml = "0.8" |
| 30 |
pulldown-cmark = { version = "0.13", default-features = false, features = ["html"] } |
| 31 |
ammonia = "4" |
| 32 |
hex = "0.4" |
| 33 |
rand = "0.8" |
| 34 |
subtle = "2" |
| 35 |
blake3 = "1" |
| 36 |
tempfile = "3" |
| 37 |
schemars = "1" |
| 38 |
futures = "0.3" |
| 39 |
tokio-stream = { version = "0.1", features = ["sync"] } |
| 40 |
|
| 41 |
[package] |
| 42 |
name = "spectra" |
| 43 |
version.workspace = true |
| 44 |
edition.workspace = true |
| 45 |
license.workspace = true |
| 46 |
description = "Spectra: a control plane for AI coding agents" |
| 47 |
default-run = "spectra" |
| 48 |
|
| 49 |
[[bin]] |
| 50 |
name = "spectra" |
| 51 |
path = "src/main.rs" |
| 52 |
|
| 53 |
[dependencies] |
| 54 |
spectra-core.workspace = true |
| 55 |
spectra-mcp.workspace = true |
| 56 |
spectra-api.workspace = true |
| 57 |
anyhow.workspace = true |
| 58 |
clap.workspace = true |
| 59 |
serde_json.workspace = true |
| 60 |
tokio = { workspace = true, features = ["io-std"] } |
| 61 |
hex.workspace = true |
| 62 |
toml.workspace = true |
| 63 |
axum.workspace = true |
| 64 |
tracing.workspace = true |
| 65 |
tracing-subscriber.workspace = true |
| 66 |
sqlx.workspace = true |
| 67 |
console = "0.15" |
| 68 |
indicatif = "0.17" |
| 69 |
libc = "0.2" |
| 70 |
mimalloc = { version = "0.1", default-features = false } |
| 71 |
tempfile.workspace = true |
| 72 |
|
| 73 |
[dev-dependencies] |
| 74 |
tempfile.workspace = true |
| 75 |
spectra-mcp.workspace = true |
| 76 |
sqlx.workspace = true |
| 77 |
serde_json.workspace = true |
| 78 |
|
| 79 |
[profile.release] |
| 80 |
debug = 1 |