[package]
name = "meerkat-schedule"
description = "Realm-scoped schedule domain for Meerkat"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
authors.workspace = true
repository.workspace = true
homepage.workspace = true
documentation.workspace = true
keywords.workspace = true
categories.workspace = true

[dependencies]
meerkat-capabilities = { workspace = true }
meerkat-core = { workspace = true }
meerkat-skills = { workspace = true, optional = true }
meerkat-machine-schema = { workspace = true }
indexmap = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
chrono = { workspace = true }
chrono-tz = { workspace = true }
uuid = { workspace = true }
async-trait = { workspace = true }
thiserror = { workspace = true }
futures = { workspace = true }
inventory = { workspace = true }
tracing = { workspace = true }
schemars = { workspace = true, optional = true, features = ["chrono04"] }

[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
tokio = { workspace = true }

[target.'cfg(target_arch = "wasm32")'.dependencies]
tokio_with_wasm = { workspace = true }

[features]
default = []
schema = ["dep:schemars", "meerkat-core/schema"]
machine-schema-exports = []
skills = ["dep:meerkat-skills"]

[dev-dependencies]
tokio = { workspace = true, features = ["macros", "rt-multi-thread", "test-util"] }

[lints]
workspace = true

# `indexmap` is consumed through generated machine-schema structures.
[package.metadata.cargo-machete]
ignored = ["indexmap"]
