OXYGENHUB
# d17cbc7069ce spectra / Cargo.toml
2.7 KiB · last changed The stdio shim: spectra mcp --agent NAME signs with the agent's key and forwards to the daemon (#9) 2 days ago source blame history raw
1
[workspace]
2
members = ["crates/spectra-core", "crates/spectra-mcp", "crates/spectra-api", "crates/radar", "."]
3
# The pinned Oxygen (deps/oxygen) is a workspace of its own.
4
exclude = ["deps"]
5
resolver = "2"
6
7
[workspace.package]
8
version = "0.1.0"
9
edition = "2021"
10
license = "MIT OR Apache-2.0"
11
12
[workspace.dependencies]
13
# Identities, delegation, composite signatures, deterministic CBOR and
14
# hashing are Oxygen's: Spectra links them from the pinned subrepo and never
15
# reimplements them (spec §7.3, §9.5).
16
oxy-core = { path = "deps/oxygen/crates/oxy-core" }
17
spectra-core = { path = "crates/spectra-core" }
18
spectra-mcp = { path = "crates/spectra-mcp" }
19
spectra-api = { path = "crates/spectra-api" }
20
radar = { path = "crates/radar" }
21
22
# Versions as oxygenhub's workspace has them, so the vendored OxygenFlow
23
# image builds Spectra too (spectra#2; `make deps-check`).
24
anyhow = "1"
25
thiserror = "2"
26
serde = { version = "1", features = ["derive"] }
27
serde_json = "1"
28
tokio = { version = "1", features = ["rt-multi-thread", "macros", "net", "sync", "time", "signal", "fs", "process", "io-util"] }
29
axum = { version = "0.8", features = ["macros", "form", "query"] }
30
tower-http = { version = "0.6", features = ["trace", "set-header", "limit"] }
31
askama = "0.14"
32
sqlx = { version = "0.8", default-features = false, features = ["runtime-tokio", "sqlite", "migrate", "macros"] }
33
tracing = "0.1"
34
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
35
clap = { version = "4", features = ["derive", "env"] }
36
toml = "0.8"
37
pulldown-cmark = { version = "0.13", default-features = false, features = ["html"] }
38
ammonia = "4"
39
hex = "0.4"
40
rand = "0.8"
41
subtle = "2"
42
blake3 = "1"
43
tempfile = "3"
44
schemars = "1"
45
futures = "0.3"
46
tokio-stream = { version = "0.1", features = ["sync"] }
47
48
[package]
49
name = "spectra"
50
version.workspace = true
51
edition.workspace = true
52
license.workspace = true
53
description = "Spectra: a control plane for AI coding agents"
54
default-run = "spectra"
55
56
[[bin]]
57
name = "spectra"
58
path = "src/main.rs"
59
60
[dependencies]
61
spectra-core.workspace = true
62
spectra-mcp.workspace = true
63
spectra-api.workspace = true
64
radar.workspace = true
65
oxy-core.workspace = true
66
anyhow.workspace = true
67
clap.workspace = true
68
serde_json.workspace = true
69
tokio = { workspace = true, features = ["io-std"] }
70
hex.workspace = true
71
toml.workspace = true
72
axum.workspace = true
73
tracing.workspace = true
74
tracing-subscriber.workspace = true
75
sqlx.workspace = true
76
console = "0.15"
77
indicatif = "0.17"
78
libc = "0.2"
79
mimalloc = { version = "0.1", default-features = false }
80
81
[dev-dependencies]
82
tempfile.workspace = true
83
oxy-core.workspace = true
84
spectra-mcp.workspace = true
85
sqlx.workspace = true
86
serde_json.workspace = true
87
88
[profile.release]
89
debug = 1