stasis-rs 0.9.3

Durable AI orchestration framework with runtime jobs, lineage, and memory integration
# 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"
name = "stasis-rs"
version = "0.9.3"
build = "build.rs"
include = [
    "/Cargo.toml",
    "/README.md",
    "/LICENSE-MIT",
    "/LICENSE-APACHE",
    "/build.rs",
    "/src/**",
    "/stasis-macros/**",
    "/templates/**",
    "/dashboard_assets/static/**",
    "/dashboard_assets/styles/**",
    "/docs/README.md",
    "/docs/architecture/**",
    "/docs/adr/**",
    "/docs/v1-runtime-draft.md",
    "/docs/design/stasis-framework-rfc.md",
    "/docs/design/stasis-api-sdk-layer-design.md",
    "/scripts/check-doc-metadata.sh",
    "/examples/**",
    "/tests/**",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Durable AI orchestration framework with runtime jobs, lineage, and memory integration"
homepage = "https://github.com/EntasisLabs/stasis"
documentation = "https://docs.rs/stasis-rs"
readme = "README.md"
keywords = [
    "ai",
    "agent",
    "orchestration",
    "runtime",
    "workflow",
]
categories = [
    "asynchronous",
    "development-tools",
    "web-programming",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/EntasisLabs/stasis"
resolver = "2"

[features]
dashboard-embedded = []
dashboard-lsp = ["dep:grapheme-lsp"]
default = []
grapheme-full = [
    "grapheme-sdk/full",
    "grapheme-compiler/full",
]
otel = [
    "dep:opentelemetry",
    "dep:opentelemetry_sdk",
    "dep:opentelemetry-otlp",
]
transport-kafka = ["dep:rskafka"]
transport-kafka-wasm = []
transport-rabbitmq = ["dep:lapin"]

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

[[bin]]
name = "stasis_dashboard"
path = "src/bin/stasis_dashboard.rs"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[dependencies.anyhow]
version = "1"

[dependencies.askama]
version = "0.12"
features = ["with-axum"]

[dependencies.askama_axum]
version = "0.4"

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

[dependencies.axum]
version = "0.8"

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

[dependencies.chrono-tz]
version = "0.10"

[dependencies.cron]
version = "0.12"

[dependencies.dotenvy]
version = "0.15"

[dependencies.futures-util]
version = "0.3"

[dependencies.genai]
version = "0.6.5"

[dependencies.grapheme-compiler]
version = "0.7.1"
default-features = false

[dependencies.grapheme-lsp]
version = "0.7.1"
optional = true
default-features = false

[dependencies.grapheme-sdk]
version = "0.7.1"
features = ["host"]
default-features = false

[dependencies.hex]
version = "0.4"

[dependencies.lapin]
version = "2"
optional = true

[dependencies.locus-core-rs]
version = "=0.5.0"

[dependencies.locus-sdk]
version = "=0.3.0"

[dependencies.opentelemetry]
version = "0.29"
optional = true

[dependencies.opentelemetry-otlp]
version = "0.29"
features = [
    "grpc-tonic",
    "metrics",
]
optional = true

[dependencies.opentelemetry_sdk]
version = "0.29"
features = ["rt-tokio"]
optional = true

[dependencies.regex]
version = "1"

[dependencies.reqwest]
version = "0.12"
features = [
    "json",
    "rustls-tls",
]
default-features = false

[dependencies.rskafka]
version = "0.5"
optional = true

[dependencies.rust-embed]
version = "8"

[dependencies.schemars]
version = "0.8"

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

[dependencies.serde_json]
version = "1"

[dependencies.sha2]
version = "0.10"

[dependencies.stasis-macros]
version = "0.1.0"
package = "stasis-rs-macros"

[dependencies.surrealdb]
version = "3"
features = [
    "kv-surrealkv",
    "rustls",
    "kv-mem",
    "protocol-ws",
]
default-features = false

[dependencies.surrealdb-types]
version = "3"

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

[dev-dependencies.tower]
version = "0.5"
features = ["util"]

[build-dependencies]