[package] name = "hero-supervisor" version = "0.1.0" edition = "2021" [dependencies] # Shared job crate hero-job = { git = "https://git.ourworld.tf/herocode/job" } # Async runtime tokio = { version = "1.0", features = ["full"] } # Async trait support async-trait = "0.1" # Redis client redis = { version = "0.25", features = ["aio", "tokio-comp"] } # Job module dependencies (now integrated) uuid = { version = "1.0", features = ["v4"] } # Logging log = "0.4" thiserror = "1.0" chrono = "0.4" serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" env_logger = "0.10" # CLI argument parsing clap = { version = "4.0", features = ["derive"] } toml = "0.8" # OpenRPC dependencies (now always included) jsonrpsee = { version = "0.24", features = ["server", "macros"] } anyhow = "1.0" # CORS support for OpenRPC server tower-http = { version = "0.5", features = ["cors"] } tower = "0.4" # Base64 encoding for Mycelium payloads base64 = "0.22" # Random number generation for message IDs rand = "0.8" [dev-dependencies] tokio-test = "0.4" hero-supervisor-openrpc-client = { path = "clients/openrpc" } escargot = "0.5" [features] default = ["cli"] cli = [] [[bin]] name = "supervisor" path = "cmd/supervisor.rs" # Examples [[example]] name = "openrpc_comprehensive" path = "examples/basic_openrpc_client.rs" [[example]] name = "mock_runner" path = "examples/mock_runner.rs" [[example]] name = "supervisor" path = "examples/supervisor/run_supervisor.rs"