[package]
edition = "2024"
name = "ff-sdk"
version = "0.10.0"
authors = ["FlowFabric Contributors"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "FlowFabric worker SDK — public API for worker authors"
homepage = "https://github.com/avifenesh/FlowFabric"
readme = false
keywords = [
"valkey",
"execution-engine",
"workflow",
"async",
]
categories = [
"database",
"asynchronous",
]
license = "Apache-2.0"
repository = "https://github.com/avifenesh/FlowFabric"
[features]
default = ["valkey-default"]
direct-valkey-claim = ["valkey-default"]
iam = ["ferriskey/iam"]
layer-circuit-breaker = ["dep:async-trait"]
layer-metrics = ["dep:async-trait"]
layer-ratelimit = [
"dep:async-trait",
"dep:governor",
]
layer-tracing = ["dep:async-trait"]
valkey-default = [
"dep:ferriskey",
"dep:ff-backend-valkey",
"ff-core/streaming",
"ff-core/suspension",
"ff-core/budget",
"ff-script/valkey-client",
]
[lib]
name = "ff_sdk"
path = "src/lib.rs"
[dependencies.async-trait]
version = "0.1"
optional = true
[dependencies.ferriskey]
version = "0.10.0"
optional = true
[dependencies.ff-backend-valkey]
version = "0.10.0"
optional = true
[dependencies.ff-core]
version = "0.10.0"
features = ["core"]
default-features = false
[dependencies.ff-script]
version = "0.10.0"
[dependencies.governor]
version = "0.7"
features = ["std"]
optional = true
default-features = false
[dependencies.reqwest]
version = "0.12"
features = [
"json",
"rustls-tls",
]
default-features = false
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "1"
features = [
"rt",
"net",
"time",
"sync",
"macros",
]
[dependencies.tracing]
version = "0.1"
[dev-dependencies.tokio]
version = "1"
features = [
"rt",
"net",
"time",
"sync",
"macros",
"macros",
"rt",
"time",
]