[package] name = "hero-supervisor-openrpc-client" version = "0.1.0" edition = "2021" description = "OpenRPC client for Hero Supervisor" license = "MIT OR Apache-2.0" [lib] crate-type = ["cdylib", "rlib"] [dependencies] # Common dependencies for both native and WASM hero-supervisor = { path = "../../" } hero-job = { path = "../../../job" } serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" thiserror = "1.0" log = "0.4" uuid = { version = "1.0", features = ["v4", "serde"] } # Native JSON-RPC client (not WASM compatible) [target.'cfg(not(target_arch = "wasm32"))'.dependencies] jsonrpsee = { version = "0.24", features = ["http-client", "macros"] } tokio = { version = "1.0", features = ["full"] } hero-supervisor = { path = "../.." } env_logger = "0.11" # WASM-specific dependencies [target.'cfg(target_arch = "wasm32")'.dependencies] wasm-bindgen = "0.2" wasm-bindgen-futures = "0.4" js-sys = "0.3" web-sys = { version = "0.3", features = [ "console", "Request", "RequestInit", "RequestMode", "Response", "Headers", "Window", ] } console_log = "1.0" getrandom = { version = "0.2", features = ["js"] } [target.'cfg(target_arch = "wasm32")'.dev-dependencies] wasm-bindgen-test = "0.3" # UUID for job IDs (native) [target.'cfg(not(target_arch = "wasm32"))'.dependencies.uuid] version = "1.0" features = ["v4", "serde"] # Time handling (native) [target.'cfg(not(target_arch = "wasm32"))'.dependencies.chrono] version = "0.4" features = ["serde"] # WASM-compatible dependencies (already defined above) [target.'cfg(target_arch = "wasm32")'.dependencies.chrono] version = "0.4" features = ["serde", "wasmbind"] [target.'cfg(target_arch = "wasm32")'.dependencies.uuid] version = "1.0" features = ["v4", "serde", "js"] # Collections indexmap = "2.0" # Interactive CLI crossterm = "0.27" ratatui = "0.28" # Command line parsing clap = { version = "4.0", features = ["derive"] } [[bin]] name = "openrpc-cli" path = "cmd/main.rs" [dev-dependencies] # Testing utilities tokio-test = "0.4"