# 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 = "2024"
rust-version = "1.85.0"
name = "adk-graph"
version = "0.9.0"
authors = ["James Karanja Maina <james.karanja@zavora.ai>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Graph-based workflow orchestration for ADK-Rust agents"
documentation = "https://docs.rs/adk-graph"
readme = "README.md"
keywords = [
    "ai",
    "agents",
    "workflow",
    "graph",
    "langgraph",
]
categories = [
    "science",
    "asynchronous",
]
license = "Apache-2.0"
repository = "https://github.com/zavora-ai/adk-rust"
resolver = "2"

[features]
action = [
    "dep:adk-action",
    "dep:regex",
]
action-code = ["action"]
action-db = ["action"]
action-db-mongo = ["action"]
action-db-redis = ["action"]
action-email = ["action"]
action-full = [
    "action",
    "action-trigger",
    "action-http",
    "action-db",
    "action-code",
    "action-email",
    "action-rss",
]
action-http = [
    "action",
    "dep:reqwest",
]
action-rss = ["action-http"]
action-trigger = [
    "action",
    "dep:tokio-cron-scheduler",
]
default = []
delta-checkpoint = ["dep:similar"]
full = [
    "sqlite",
    "action-full",
]
node-cache = ["dep:blake3"]
redis-cache = [
    "node-cache",
    "dep:fred",
]
sqlite = ["sqlx"]
time-travel = []

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[dependencies.adk-action]
version = "0.9.0"
optional = true

[dependencies.adk-core]
version = "0.9.0"

[dependencies.async-stream]
version = "0.3"

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

[dependencies.blake3]
version = "1"
optional = true

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

[dependencies.fred]
version = "10"
optional = true

[dependencies.futures]
version = "0.3"

[dependencies.regex]
version = "1.10"
optional = true

[dependencies.reqwest]
version = "0.12"
features = [
    "json",
    "stream",
    "rustls-tls-native-roots",
    "multipart",
]
optional = true
default-features = false

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

[dependencies.serde_json]
version = "1.0"

[dependencies.similar]
version = "3"
optional = true

[dependencies.sqlx]
version = "0.8"
features = [
    "runtime-tokio",
    "sqlite",
]
optional = true

[dependencies.thiserror]
version = "2.0"

[dependencies.tokio]
version = "1.40"
features = [
    "sync",
    "time",
    "fs",
    "io-util",
    "macros",
]
default-features = false

[dependencies.tokio-cron-scheduler]
version = "0.15"
optional = true

[dependencies.tracing]
version = "0.1"

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

[dev-dependencies.adk-action]
version = "0.9.0"

[dev-dependencies.proptest]
version = "1.5"

[dev-dependencies.tokio]
version = "1.40"
features = [
    "rt",
    "macros",
    "test-util",
]
default-features = false
