[[bench]]
harness = false
name = "axiom_bench"
path = "benches/sdforge_bench.rs"
[[bin]]
name = "sdforge"
path = "main.rs"
[build-dependencies.tonic-build]
version = "0.12"
[dependencies.anyhow]
optional = true
version = "1.0"
[dependencies.async-trait]
optional = true
version = "0.1"
[dependencies.axum]
features = ["ws"]
optional = true
version = "0.8.8"
[dependencies.axum-extra]
features = ["typed-header"]
optional = true
version = "0.9"
[dependencies.bytes]
optional = true
version = "1.0"
[dependencies.cached]
optional = true
version = "0.49"
[dependencies.cached_proc_macro]
optional = true
version = "0.23"
[dependencies.chrono]
features = ["serde"]
optional = true
version = "0.4"
[dependencies.clap]
features = ["derive"]
optional = true
version = "4.5"
[dependencies.dashmap]
optional = true
version = "5.5"
[dependencies.futures-util]
optional = true
version = "0.3"
[dependencies.hmac]
optional = true
version = "0.12"
[dependencies.inventory]
optional = true
version = "0.3"
[dependencies.mcp-sdk]
optional = true
version = "0.0.3"
[dependencies.notify]
optional = true
version = "7.0"
[dependencies.once_cell]
optional = true
version = "1.20"
[dependencies.prost]
optional = true
version = "0.13"
[dependencies.redis]
optional = true
version = "1.0"
[dependencies.regex]
optional = true
version = "1.10"
[dependencies.sdforge-macros]
version = "0.1.0"
[dependencies.secrets]
optional = true
version = "1.2"
[dependencies.serde]
features = ["derive", "derive"]
version = "1.0"
[dependencies.serde_json]
version = "1.0"
[dependencies.sha2]
optional = true
version = "0.10"
[dependencies.subtle]
optional = true
version = "2.5"
[dependencies.tera]
optional = true
version = "1.19"
[dependencies.thiserror]
version = "2.0"
[dependencies.tokio]
features = ["sync"]
optional = true
version = "1.41"
[dependencies.tokio-stream]
optional = true
version = "0.1"
[dependencies.tokio-tungstenite]
optional = true
version = "0.23"
[dependencies.toml]
optional = true
version = "0.9"
[dependencies.tonic]
optional = true
version = "0.12"
[dependencies.tonic-build]
optional = true
version = "0.12"
[dependencies.tower]
optional = true
version = "0.5"
[dependencies.tower-http]
features = ["cors", "limit", "timeout", "set-header", "compression-gzip", "compression-deflate"]
optional = true
version = "0.6.3"
[dependencies.tracing]
optional = true
version = "0.1"
[dependencies.tracing-appender]
optional = true
version = "0.2"
[dependencies.tracing-subscriber]
optional = true
version = "0.3"
[dependencies.uuid]
features = ["v4"]
optional = true
version = "1.0"
[dependencies.validator]
features = ["derive"]
optional = true
version = "0.18"
[dependencies.walkdir]
optional = true
version = "2.5"
[dependencies.zeroize]
optional = true
version = "1.5"
[dev-dependencies.axum-test]
version = "16.4"
[dev-dependencies.criterion]
version = "0.5"
[dev-dependencies.http]
version = "1.0"
[dev-dependencies.once_cell]
version = "1.20"
[dev-dependencies.proptest]
version = "1.4"
[dev-dependencies.reqwest]
features = ["json"]
version = "0.12"
[dev-dependencies.sdforge-macros]
version = "0.1.0"
[dev-dependencies.tempfile]
version = "3.10"
[dev-dependencies.tokio]
features = ["rt", "rt-multi-thread", "macros"]
version = "1.41"
[dev-dependencies.trybuild]
version = "1.0"
[features]
cache = ["http", "dep:cached", "dep:sha2", "dep:futures-util", "dep:cached_proc_macro", "dep:bytes"]
cache-redis = ["cache", "dep:redis"]
cli = ["dep:clap", "dep:anyhow", "dep:tera", "dep:walkdir", "dep:tracing", "dep:tracing-subscriber"]
default = ["http"]
full = ["http", "mcp", "streaming", "timestamp", "logging", "security", "hot-reload", "cache", "websocket", "grpc"]
grpc = ["http", "dep:tonic", "dep:prost", "dep:tonic-build"]
hot-reload = ["http", "dep:notify"]
http = ["dep:axum", "dep:tower", "dep:tower-http", "dep:inventory", "dep:chrono", "dep:validator", "dep:regex", "dep:dashmap", "dep:uuid", "dep:toml", "dep:once_cell", "dep:notify", "dep:tokio", "dep:axum-extra"]
logging = ["dep:tracing", "dep:tracing-subscriber", "dep:tracing-appender", "tracing-subscriber/env-filter"]
mcp = ["dep:mcp-sdk", "dep:inventory", "dep:anyhow"]
security = ["http", "dep:dashmap", "dep:uuid", "dep:hmac", "dep:sha2", "dep:chrono", "dep:tokio", "dep:secrets", "dep:zeroize", "dep:subtle", "dep:once_cell"]
streaming = ["http", "dep:tokio-stream", "dep:tokio", "dep:futures-util"]
timestamp = ["dep:chrono"]
websocket = ["http", "streaming", "dep:tokio-tungstenite", "dep:axum-extra", "dep:async-trait"]
[lib]
name = "sdforge"
path = "lib.rs"
[package]
authors = ["Kirky.X"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = "build.rs"
categories = ["web-programming", "development-tools"]
description = "Multi-protocol SDK framework with unified macro configuration"
documentation = "https://docs.rs/sdforge"
edition = "2021"
keywords = ["api", "http", "mcp", "macro", "framework"]
license = "MIT"
name = "sdforge"
readme = false
repository = "https://github.com/Kirky-X/sdforge"
version = "0.1.0"
[package.metadata.docs.rs]
all-features = true