Files
horus/Cargo.toml
2025-11-18 20:39:25 +01:00

141 lines
3.0 KiB
TOML

[workspace]
resolver = "2"
members = [
"bin/coordinator",
"bin/horus",
"bin/osiris",
"bin/runners/osiris",
"bin/runners/sal",
"bin/runners/hero",
"bin/supervisor",
"lib/clients/coordinator",
"lib/clients/job",
"lib/clients/osiris",
"lib/clients/supervisor",
"lib/models/job",
"lib/osiris/core",
"lib/osiris/derive",
"lib/runner",
]
[package]
name = "horus"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
[dependencies]
# Integration test dependencies - no library dependencies, tests spawn binaries
hero-supervisor-openrpc-client = { path = "lib/clients/supervisor" }
hero-job = { path = "lib/models/job" }
hero-job-client = { path = "lib/clients/job" }
tokio = { workspace = true }
lazy_static = { workspace = true }
escargot = "0.5"
ctrlc = "3.4"
[dev-dependencies]
criterion = { version = "0.5", features = ["async_tokio", "html_reports"] }
osiris-client = { path = "lib/clients/osiris" }
reqwest = { version = "0.12", features = ["json"] }
serde_json = { workspace = true }
uuid = { workspace = true }
chrono = { workspace = true }
[[bench]]
name = "horus_stack"
harness = false
[[bench]]
name = "stress_test"
harness = false
[[bench]]
name = "memory_usage"
harness = false
[workspace.package]
version = "0.1.0"
edition = "2024"
authors = ["Hero Team"]
license = "MIT OR Apache-2.0"
repository = "https://git.ourworld.tf/herocode/horus"
[workspace.dependencies]
# Async runtime
tokio = { version = "1.0", features = ["full"] }
async-trait = "0.1"
# Serialization
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
# Error handling
thiserror = "1.0"
anyhow = "1.0"
# Logging
log = "0.4"
env_logger = "0.11"
# Time
chrono = { version = "0.4", features = ["serde"] }
# UUID
uuid = { version = "1.6", features = ["v4", "serde"] }
# Redis
redis = { version = "0.25", features = ["tokio-comp", "connection-manager"] }
# JSON-RPC
jsonrpsee = { version = "0.26", features = ["server", "macros", "http-client"] }
# HTTP/Web
tower = "0.5"
tower-http = { version = "0.5", features = ["cors", "trace"] }
hyper = { version = "1.0", features = ["full"] }
hyper-util = { version = "0.1", features = ["tokio"] }
http = "1.0"
http-body-util = "0.1"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
# CLI
clap = { version = "4.4", features = ["derive", "env"] }
toml = "0.8"
# WASM
wasm-bindgen = "0.2"
wasm-bindgen-futures = "0.4"
js-sys = "0.3"
web-sys = "0.3"
serde-wasm-bindgen = "0.6"
console_log = "1.0"
getrandom = { version = "0.2", features = ["js"] }
# Crypto
secp256k1 = { version = "0.29", features = ["rand", "global-context"] }
sha2 = "0.10"
hex = "0.4"
# Collections
indexmap = "2.0"
dashmap = "6.0"
lazy_static = "1.4"
# Utilities
futures = "0.3"
# Scripting
rhai = { version = "1.21.0", features = ["std", "sync", "serde"] }
# Testing
tempfile = "3.8"
[profile.release]
opt-level = 3
lto = true
codegen-units = 1