[package]
name = "meerkat-mob"
description = "Multi-agent orchestration runtime for Meerkat"
version = "0.4.6"
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]
# Internal crates
meerkat-core = { workspace = true }
meerkat-comms = { workspace = true }
meerkat-skills = { workspace = true }
meerkat = { workspace = true, features = ["comms", "skills", "session-compaction", "memory-store", "anthropic", "openai", "gemini"] }
meerkat-session = { workspace = true, features = ["session-compaction"] }
meerkat-client = { workspace = true }

# Async runtime
async-trait = { workspace = true }

# Serialization
serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true }
toml = { workspace = true }

# Error handling
thiserror = { workspace = true }

# Logging
tracing = { workspace = true }

# Skill registration
inventory = { workspace = true }

# Utilities
uuid = { workspace = true, features = ["v4"] }
chrono = { workspace = true }
indexmap = { workspace = true }
jsonschema = { workspace = true }
futures = { workspace = true }
tokio-util = { workspace = true }

[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
tokio = { workspace = true }
redb = { workspace = true }
meerkat-session = { workspace = true, features = ["session-store"] }

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

[dev-dependencies]
tokio = { workspace = true, features = ["test-util", "macros", "rt-multi-thread"] }
serde_json = { workspace = true }
toml = { workspace = true }
tempfile = { workspace = true }
futures = { workspace = true }
async-stream = { workspace = true }
meerkat-store = { workspace = true }

[package.metadata.cargo-machete]
ignored = ["async-stream"]  # proc macro (stream!)

[[example]]
name = "017-mob-coding-swarm"
path = "../examples/017-mob-coding-swarm-rs/main.rs"

[[example]]
name = "018-mob-research-team"
path = "../examples/018-mob-research-team-rs/main.rs"

[[example]]
name = "019-mob-pipeline"
path = "../examples/019-mob-pipeline-rs/main.rs"

[lints]
workspace = true
