hexeract 0.5.0

Batteries-included messaging framework for Rust: transactional outbox, message bus and in-process mediator (CQRS) in one SDK.
Documentation
[package]
name = "hexeract"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
authors.workspace = true
rust-version.workspace = true
description = "Batteries-included messaging framework for Rust: transactional outbox, message bus and in-process mediator (CQRS) in one SDK."
readme = "../../README.md"
exclude = ["/tests", "/examples", "/benches"]
keywords = ["messaging", "mediator", "cqrs", "outbox", "rabbitmq"]
categories = ["asynchronous", "network-programming"]

[lints]
workspace = true

[dependencies]
hexeract-bus = { path = "../hexeract-bus", version = "0.5", optional = true }
hexeract-bus-rabbitmq = { path = "../hexeract-bus-rabbitmq", version = "0.5", optional = true }
hexeract-core = { path = "../hexeract-core", version = "0.5", optional = true }
hexeract-macros = { path = "../hexeract-macros", version = "0.5", optional = true }
hexeract-mediator = { path = "../hexeract-mediator", version = "0.5", optional = true }
hexeract-middleware = { path = "../hexeract-middleware", version = "0.5", optional = true }
hexeract-outbox = { path = "../hexeract-outbox", version = "0.5", optional = true }
hexeract-outbox-sql = { path = "../hexeract-outbox-sql", version = "0.5", optional = true, default-features = false }

[features]
default = []

# Cross-cutting primitives. Pulled automatically by every feature that needs them.
core = ["dep:hexeract-core"]

# Outbox pattern: backend-agnostic core + SQL backends.
outbox = ["core", "dep:hexeract-outbox"]
# sqlx-based backends, one Cargo feature per engine.
outbox-sql-postgres = ["outbox", "dep:hexeract-outbox-sql", "hexeract-outbox-sql/postgres"]
outbox-sql-mysql = ["outbox", "dep:hexeract-outbox-sql", "hexeract-outbox-sql/mysql"]
outbox-sql-sqlite = ["outbox", "dep:hexeract-outbox-sql", "hexeract-outbox-sql/sqlite"]

# Bus pattern: backend-agnostic core + RabbitMQ backend.
bus = ["core", "dep:hexeract-bus"]
bus-rabbitmq = ["bus", "dep:hexeract-bus-rabbitmq"]

# In-process CQRS mediator and the `#[handler]` attribute macro.
mediator = ["core", "dep:hexeract-mediator"]
macros = ["core", "dep:hexeract-macros"]

# Built-in middlewares: tracing spans and dispatch timeouts.
middleware = ["core", "dep:hexeract-middleware"]

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]