[package]
name = "pforge-runtime"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
authors.workspace = true
description.workspace = true
keywords.workspace = true
categories.workspace = true
homepage.workspace = true
documentation.workspace = true
readme = "README.md"
[features]
default = ["sse", "websocket", "http-handlers"]
sse = ["pmcp/sse"]
websocket = ["pmcp/websocket"]
http-handlers = ["dep:reqwest"]
persistence = ["dep:trueno-db"]
full = ["sse", "websocket", "http-handlers", "persistence"]
[dependencies]
serde = { workspace = true }
serde_json = { workspace = true }
async-trait = { workspace = true }
thiserror = { workspace = true }
tokio = { workspace = true }
pforge-config = { workspace = true }
pmcp = { version = "1.8", default-features = false }
schemars = { version = "0.8", features = ["derive"] }
rustc-hash = "2.0"
dashmap = "6.0"
reqwest = { version = "0.12", features = ["json"], optional = true }
trueno-db = { workspace = true, optional = true }
regex = "1.10"
rand = "0.8"
[dev-dependencies]
tempfile = "3.8"
proptest = "1.4"
criterion = { version = "0.5", features = ["async_tokio"] }
mockito = "1.2"
[[bench]]
name = "dispatch_benchmark"
harness = false
[[bench]]
name = "throughput_benchmark"
harness = false
[lints]
workspace = true