[package]
edition = "2021"
name = "mecha10-core"
version = "4.2.2"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Mecha10 core runtime and foundational types"
readme = "README.md"
license = "MIT"
repository = "https://github.com/mecha-industries/mecha10"
[package.metadata.cargo-machete]
ignored = ["workspace-hack"]
[features]
default = []
examples = []
hal-compat = [
"dep:embedded-hal-compat",
"dep:linux-embedded-hal",
]
macros = ["mecha10-macros"]
messaging = ["mecha10-messaging"]
schema-validation = []
[lib]
name = "mecha10_core"
path = "src/lib.rs"
[[example]]
name = "backpressure_usage"
path = "examples/backpressure_usage.rs"
required-features = ["examples"]
[[example]]
name = "bag_player"
path = "examples/bag_player.rs"
required-features = ["examples"]
[[example]]
name = "bag_recorder"
path = "examples/bag_recorder.rs"
required-features = ["examples"]
[[example]]
name = "circuit_breaker_usage"
path = "examples/circuit_breaker_usage.rs"
required-features = ["examples"]
[[example]]
name = "dead_letter_queue_usage"
path = "examples/dead_letter_queue_usage.rs"
required-features = ["examples"]
[[example]]
name = "dependency_ordering_usage"
path = "examples/dependency_ordering_usage.rs"
required-features = ["examples"]
[[example]]
name = "distributed_tracing_usage"
path = "examples/distributed_tracing_usage.rs"
required-features = ["examples"]
[[example]]
name = "profiling_usage"
path = "examples/profiling_usage.rs"
required-features = ["examples"]
[[example]]
name = "rate_config_usage"
path = "examples/rate_config_usage.rs"
required-features = ["examples"]
[[example]]
name = "recovery_policies_usage"
path = "examples/recovery_policies_usage.rs"
required-features = ["examples"]
[[example]]
name = "rpc_streaming_usage"
path = "examples/rpc_streaming_usage.rs"
required-features = ["examples"]
[[example]]
name = "schema_validation_usage"
path = "examples/schema_validation_usage.rs"
required-features = ["examples"]
[[example]]
name = "schema_versioning_usage"
path = "examples/schema_versioning_usage.rs"
required-features = ["examples"]
[[example]]
name = "state_management_usage"
path = "examples/state_management_usage.rs"
required-features = ["examples"]
[[example]]
name = "topic_registry_usage"
path = "examples/topic_registry_usage.rs"
required-features = ["examples"]
[[test]]
name = "aggregated_tests"
path = "tests/aggregated_tests.rs"
[[test]]
name = "aggregated_topics_integration"
path = "tests/aggregated_topics_integration.rs"
required-features = ["messaging"]
[[test]]
name = "aggregated_unit_tests"
path = "tests/aggregated_unit_tests.rs"
[[test]]
name = "auth_tests"
path = "tests/auth_tests.rs"
[[test]]
name = "circuit_breaker_tests"
path = "tests/circuit_breaker_tests.rs"
[[test]]
name = "config_tests"
path = "tests/config_tests.rs"
[[test]]
name = "context_features_unit_tests"
path = "tests/context_features_unit_tests.rs"
[[test]]
name = "context_unit_tests"
path = "tests/context_unit_tests.rs"
required-features = ["messaging"]
[[test]]
name = "dead_letter_tests"
path = "tests/dead_letter_tests.rs"
required-features = ["messaging"]
[[test]]
name = "dependency_tests"
path = "tests/dependency_tests.rs"
[[test]]
name = "error_tests"
path = "tests/error_tests.rs"
[[test]]
name = "error_unit_tests"
path = "tests/error_unit_tests.rs"
[[test]]
name = "health_tests"
path = "tests/health_tests.rs"
required-features = ["messaging"]
[[test]]
name = "lib_tests"
path = "tests/lib_tests.rs"
[[test]]
name = "metrics_tests"
path = "tests/metrics_tests.rs"
[[test]]
name = "node_tests"
path = "tests/node_tests.rs"
[[test]]
name = "node_unit_tests"
path = "tests/node_unit_tests.rs"
[[test]]
name = "prelude_tests"
path = "tests/prelude_tests.rs"
[[test]]
name = "profiling_tests"
path = "tests/profiling_tests.rs"
[[test]]
name = "publish_tests"
path = "tests/publish_tests.rs"
[[test]]
name = "rate_limit_tests"
path = "tests/rate_limit_tests.rs"
[[test]]
name = "receiver_unit_tests"
path = "tests/receiver_unit_tests.rs"
[[test]]
name = "recorder_tests"
path = "tests/recorder_tests.rs"
required-features = ["messaging"]
[[test]]
name = "recovery_tests"
path = "tests/recovery_tests.rs"
[[test]]
name = "redis_bridge_tests"
path = "tests/redis_bridge_tests.rs"
required-features = ["messaging"]
[[test]]
name = "rpc_breaker_tests"
path = "tests/rpc_breaker_tests.rs"
required-features = ["messaging"]
[[test]]
name = "rpc_streaming_tests"
path = "tests/rpc_streaming_tests.rs"
required-features = ["messaging"]
[[test]]
name = "rpc_unit_tests"
path = "tests/rpc_unit_tests.rs"
required-features = ["messaging"]
[[test]]
name = "schema_validation_tests"
path = "tests/schema_validation_tests.rs"
[[test]]
name = "service_manager_tests"
path = "tests/service_manager_tests.rs"
required-features = ["messaging"]
[[test]]
name = "service_manager_unit_tests"
path = "tests/service_manager_unit_tests.rs"
required-features = ["messaging"]
[[test]]
name = "state_tests"
path = "tests/state_tests.rs"
[[test]]
name = "stream_tests"
path = "tests/stream_tests.rs"
[[test]]
name = "stream_unit_tests"
path = "tests/stream_unit_tests.rs"
required-features = ["messaging"]
[[test]]
name = "topic_registry_tests"
path = "tests/topic_registry_tests.rs"
[[test]]
name = "topic_utils_tests"
path = "tests/topic_utils_tests.rs"
[[test]]
name = "topics_tests"
path = "tests/topics_tests.rs"
[[test]]
name = "tracing_otel_tests"
path = "tests/tracing_otel_tests.rs"
required-features = ["messaging"]
[[test]]
name = "types_tests"
path = "tests/types_tests.rs"
[dependencies.anyhow]
version = "1.0"
[dependencies.async-trait]
version = "0.1"
[dependencies.base64]
version = "0.23"
[dependencies.ciborium]
version = "0.2"
[dependencies.dirs]
version = "6.0"
[dependencies.embedded-hal-compat]
version = "0.13"
optional = true
[dependencies.futures]
version = "0.3"
[dependencies.glob]
version = "0.3"
[dependencies.globset]
version = "0.4"
[dependencies.inventory]
version = "0.3"
[dependencies.jsonschema]
version = "0.53"
features = [
"resolve-http",
"resolve-file",
"idna",
"tls-ring",
]
default-features = false
[dependencies.linux-embedded-hal]
version = "0.5"
optional = true
[dependencies.mecha10-macros]
version = "4"
optional = true
[dependencies.mecha10-messaging]
version = "4"
optional = true
[dependencies.notify]
version = "8.2"
[dependencies.once_cell]
version = "1.21"
[dependencies.redis]
version = "0.27"
features = [
"tokio-comp",
"connection-manager",
]
[dependencies.regex]
version = "1.12"
[dependencies.reqwest]
version = "0.12"
features = [
"json",
"rustls-tls",
"multipart",
]
default-features = false
[dependencies.schemars]
version = "1.2"
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.serde_yaml]
version = "0.9"
[dependencies.thiserror]
version = "2.0"
[dependencies.tokio]
version = "1.52"
features = [
"sync",
"time",
"signal",
"fs",
"process",
"macros",
"rt-multi-thread",
]
[dependencies.toml]
version = "1.1"
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
[dependencies.uuid]
version = "1.23"
features = ["v4"]
[dependencies.workspace-hack]
version = "0.1"
[dev-dependencies.serial_test]
version = "4"
[dev-dependencies.tempfile]
version = "3.27"
[dev-dependencies.tokio]
version = "1.52"
features = ["test-util"]
[target."cfg(unix)".dependencies.nix]
version = "0.31"
features = [
"signal",
"process",
]
[lints.clippy]
dbg_macro = "deny"
print_stderr = "deny"
print_stdout = "deny"