[package]
edition = "2024"
rust-version = "1.85"
name = "runx-runtime"
version = "0.6.19"
build = false
include = [
"Cargo.toml",
"README.md",
"src/**/*.rs",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Native Rust runtime for local runx execution, adapters, harness replay, receipts, and sandboxing."
homepage = "https://runx.ai"
readme = "README.md"
keywords = [
"runx",
"runtime",
"agents",
"sandbox",
"mcp",
]
categories = ["development-tools"]
license = "MIT"
repository = "https://github.com/runxhq/runx"
[features]
a2a = []
agent = [
"async-http",
"catalog",
]
async-http = [
"dep:reqwest",
"dep:tokio",
"dep:rustls",
]
catalog = ["cli-tool"]
cli-tool = ["async-http"]
default = []
external-adapter = []
http = ["async-http"]
mcp = [
"dep:rmcp",
"dep:tokio",
"tokio/process",
"tokio/io-util",
"tokio/sync",
"tokio/rt-multi-thread",
]
mcp-http-server = [
"mcp",
"rmcp/transport-streamable-http-server",
"dep:bytes",
"dep:http",
"dep:http-body-util",
"dep:hyper",
"dep:hyper-util",
"dep:tower-service",
]
thread-outbox-provider = []
[lib]
name = "runx_runtime"
path = "src/lib.rs"
[[bin]]
name = "runx-harness-fixture-oracles"
path = "src/bin/runx-harness-fixture-oracles.rs"
test = false
bench = false
[[bin]]
name = "runx-mcp-session-probe"
path = "src/bin/runx-mcp-session-probe.rs"
test = false
bench = false
[dependencies.aes-gcm]
version = "0.11.0"
[dependencies.base64]
version = "0.22.1"
[dependencies.bytes]
version = "1.11.1"
optional = true
[dependencies.http]
version = "1.4.0"
optional = true
[dependencies.http-body-util]
version = "0.1.3"
optional = true
[dependencies.hyper]
version = "=1.10.1"
features = [
"server",
"http1",
]
optional = true
default-features = false
[dependencies.hyper-util]
version = "=0.1.20"
features = [
"service",
"tokio",
]
optional = true
default-features = false
[dependencies.reqwest]
version = "=0.13.4"
features = [
"rustls-no-provider",
"json",
"gzip",
"brotli",
"deflate",
"zstd",
"http2",
]
optional = true
default-features = false
[dependencies.ring]
version = "0.17.14"
[dependencies.rmcp]
version = "=1.8.0"
features = [
"client",
"server",
]
optional = true
default-features = false
[dependencies.runx-contracts]
version = "0.6.19"
[dependencies.runx-core]
version = "0.6.19"
[dependencies.runx-parser]
version = "0.6.19"
[dependencies.runx-receipts]
version = "0.6.19"
[dependencies.rustix]
version = "1.1.4"
features = ["process"]
[dependencies.rustls]
version = "0.23"
features = [
"ring",
"std",
"tls12",
]
optional = true
default-features = false
[dependencies.serde]
version = "1.0.228"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.149"
[dependencies.serde_norway]
version = "0.9.42"
[dependencies.sha2]
version = "0.11.0"
[dependencies.thiserror]
version = "2.0.17"
[dependencies.tokio]
version = "=1.52.3"
features = [
"rt",
"net",
"time",
]
optional = true
default-features = false
[dependencies.tower-service]
version = "0.3.3"
optional = true
[dependencies.url]
version = "2.5.7"
[dependencies.wait-timeout]
version = "0.2.1"
[dev-dependencies.criterion]
version = "0.7.0"
[dev-dependencies.proptest]
version = "1.11.0"
features = ["std"]
default-features = false
[dev-dependencies.tempfile]
version = "3.23.0"
[lints.clippy]
dbg_macro = "deny"
expect_used = "deny"
panic = "deny"
print_stderr = "deny"
print_stdout = "deny"
todo = "deny"
unimplemented = "deny"
unwrap_used = "deny"
wildcard_imports = "deny"
[lints.rust]
unsafe_code = "forbid"