[package]
edition = "2024"
name = "effectfence"
version = "0.1.1"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Causal concurrency fence for multi-agent tool calls: an intent ledger, OCC read-sets, and atomic CAS domain reservation stop double-execution — same-instant races and late duplicate retries alike. Ships as a library and an MCP server."
readme = "README.md"
keywords = [
"mcp",
"concurrency",
"agents",
"idempotency",
"fencing",
]
categories = [
"concurrency",
"development-tools",
]
license = "MIT"
repository = "https://github.com/aurumflux20/effectfence"
[features]
default = ["mcp-server"]
mcp-server = [
"dep:rmcp",
"dep:tokio",
"dep:anyhow",
]
[lib]
name = "effectfence"
path = "src/lib.rs"
[[bin]]
name = "effectfence"
path = "src/main.rs"
required-features = ["mcp-server"]
[[example]]
name = "storm"
path = "examples/storm.rs"
[[test]]
name = "chaos_test"
path = "tests/chaos_test.rs"
[dependencies.anyhow]
version = "1.0.104"
optional = true
[dependencies.rmcp]
version = "3.1.0"
features = [
"transport-io",
"schemars",
]
optional = true
[dependencies.schemars]
version = "1.2.2"
[dependencies.serde]
version = "1.0.229"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.151"
[dependencies.sha2]
version = "0.11.0"
[dependencies.thiserror]
version = "2.0.19"
[dependencies.tokio]
version = "1.53.1"
features = ["full"]
optional = true