a3s-flow 0.4.0

Durable workflow engine and Rust SDK for A3S
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
name = "a3s-flow"
version = "0.4.0"
authors = ["A3S Lab"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Durable workflow engine and Rust SDK for A3S"
documentation = "https://docs.rs/a3s-flow"
readme = "README.md"
keywords = [
    "workflow",
    "durable",
    "event-sourcing",
    "async",
    "sdk",
]
categories = [
    "asynchronous",
    "development-tools",
]
license = "MIT"
repository = "https://github.com/A3S-Lab/Flow"

[features]
default = ["native-ts"]
native-ts = []
postgres = [
    "dep:sqlx",
    "sqlx/postgres",
]
sqlite = [
    "dep:sqlx",
    "sqlx/sqlite",
]

[lib]
name = "a3s_flow"
path = "src/lib.rs"

[[example]]
name = "batch_steps"
path = "examples/batch_steps.rs"

[[example]]
name = "cancellation"
path = "examples/cancellation.rs"

[[example]]
name = "compensation"
path = "examples/compensation.rs"

[[example]]
name = "hook_approval"
path = "examples/hook_approval.rs"

[[example]]
name = "hook_disposal"
path = "examples/hook_disposal.rs"

[[example]]
name = "local_audit_log"
path = "examples/local_audit_log.rs"

[[example]]
name = "local_file_durability"
path = "examples/local_file_durability.rs"

[[example]]
name = "local_retention"
path = "examples/local_retention.rs"

[[example]]
name = "native_ts_greeting"
path = "examples/native_ts_greeting.rs"

[[example]]
name = "native_ts_preflight"
path = "examples/native_ts_preflight.rs"

[[example]]
name = "observer_bridge"
path = "examples/observer_bridge.rs"

[[example]]
name = "observer_fanout"
path = "examples/observer_fanout.rs"

[[example]]
name = "polling_loop"
path = "examples/polling_loop.rs"

[[example]]
name = "postgres_durability"
path = "examples/postgres_durability.rs"

[[example]]
name = "postgres_task_queue_durability"
path = "examples/postgres_task_queue_durability.rs"

[[example]]
name = "recoverable_step_failure"
path = "examples/recoverable_step_failure.rs"

[[example]]
name = "retry_backoff"
path = "examples/retry_backoff.rs"

[[example]]
name = "run_inspection"
path = "examples/run_inspection.rs"

[[example]]
name = "scheduler_worker"
path = "examples/scheduler_worker.rs"

[[example]]
name = "sequential_steps"
path = "examples/sequential_steps.rs"

[[example]]
name = "sqlite_durability"
path = "examples/sqlite_durability.rs"

[[example]]
name = "sqlite_worker"
path = "examples/sqlite_worker.rs"

[[example]]
name = "task_queue_durability"
path = "examples/task_queue_durability.rs"

[[test]]
name = "context"
path = "tests/context.rs"

[[test]]
name = "engine"
path = "tests/engine.rs"

[[test]]
name = "native_ts_runtime"
path = "tests/native_ts_runtime.rs"

[[test]]
name = "protocol"
path = "tests/protocol.rs"

[[test]]
name = "scheduler"
path = "tests/scheduler.rs"

[[test]]
name = "worker"
path = "tests/worker.rs"

[dependencies.async-trait]
version = "0.1"

[dependencies.chrono]
version = "0.4"
features = ["serde"]

[dependencies.serde]
version = "1"
features = ["derive"]

[dependencies.serde_json]
version = "1"

[dependencies.sha2]
version = "0.10"

[dependencies.sqlx]
version = "0.8"
features = ["runtime-tokio"]
optional = true
default-features = false

[dependencies.thiserror]
version = "1"

[dependencies.tokio]
version = "1"
features = [
    "fs",
    "io-util",
    "process",
    "sync",
    "time",
]

[dependencies.tracing]
version = "0.1"

[dependencies.uuid]
version = "1"
features = [
    "serde",
    "v4",
]

[dev-dependencies.tempfile]
version = "3"

[dev-dependencies.tokio]
version = "1"
features = [
    "macros",
    "rt",
    "sync",
    "time",
]