[package]
name = "macp-runtime"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
authors.workspace = true
description = "MACP reference runtime: a coordination kernel and gRPC server enforcing session boundaries, message validation, append-only history, modes, and governance policy."
readme = "README.md"
default-run = "macp-runtime"
exclude = ["/temp", "/.macp-data", "/plans", "/scripts", "/.githooks"]
[workspace]
members = ["crates/*"]
exclude = ["integration_tests"]
[workspace.package]
version = "0.7.4"
edition = "2021"
rust-version = "1.89.0"
license = "Apache-2.0"
repository = "https://github.com/multiagentcoordinationprotocol/macp-runtime"
authors = ["Ajit Koti <ajitkoti@zer07labs.com>"]
[workspace.dependencies]
macp-pb = { version = "0.7.4", path = "crates/macp-pb" }
macp-core = { version = "0.7.4", path = "crates/macp-core" }
macp-policy = { version = "0.7.4", path = "crates/macp-policy" }
macp-storage = { version = "0.7.4", path = "crates/macp-storage" }
macp-auth = { version = "0.7.4", path = "crates/macp-auth" }
macp-modes = { version = "0.7.4", path = "crates/macp-modes" }
tokio = { version = "1", features = ["full"] }
tonic = { version = "0.14", features = ["transport", "tls-ring"] }
tonic-health = "0.14"
prost = "0.14"
prost-types = "0.14"
tonic-prost = "0.14"
thiserror = "2"
chrono = "0.4"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
tokio-stream = "0.1"
futures-core = "0.3"
async-stream = "0.3"
async-trait = "0.1"
jsonwebtoken = "9"
reqwest = { version = "0.13", features = ["json"], default-features = false }
uuid = { version = "1", features = ["v4"] }
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
rocksdb = { version = "0.25" }
redis = { version = "1.2", features = ["tokio-comp", "aio"] }
macp-proto = "0.1.9"
tonic-prost-build = "0.14"
tempfile = "3"
base64 = "0.23"
sha2 = "0.11"
[features]
default = []
rocksdb-backend = ["macp-storage/rocksdb-backend"]
redis-backend = ["macp-storage/redis-backend"]
otel = ["dep:opentelemetry", "dep:opentelemetry_sdk", "dep:opentelemetry-otlp", "dep:tracing-opentelemetry"]
[dependencies]
macp-pb = { workspace = true }
macp-core = { workspace = true }
macp-storage = { workspace = true }
macp-policy = { workspace = true }
macp-modes = { workspace = true }
macp-auth = { workspace = true }
tokio = { workspace = true }
tonic = { workspace = true }
tonic-health = { workspace = true }
prost = { workspace = true }
prost-types = { workspace = true }
tonic-prost = { workspace = true }
thiserror = { workspace = true }
chrono = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
tokio-stream = { workspace = true }
futures-core = { workspace = true }
async-stream = { workspace = true }
async-trait = { workspace = true }
uuid = { workspace = true }
base64 = { workspace = true }
tracing = { workspace = true }
tracing-subscriber = { workspace = true }
opentelemetry = { version = "0.32", optional = true }
opentelemetry_sdk = { version = "0.32", optional = true }
opentelemetry-otlp = { version = "0.32", default-features = false, features = [
"grpc-tonic",
"trace",
], optional = true }
tracing-opentelemetry = { version = "0.33", optional = true }
macp-proto = { workspace = true }
[dev-dependencies]
tempfile = { workspace = true }
criterion = "0.5"
[[bench]]
name = "replay_bench"
harness = false
[build-dependencies]
tonic-prost-build = { workspace = true }
macp-proto = { workspace = true }