[package] name = "hero-supervisor-openrpc-client" version.workspace = true edition.workspace = true description = "OpenRPC client for Hero Supervisor" license = "MIT OR Apache-2.0" [lib] crate-type = ["cdylib", "rlib"] [features] default = [] [dependencies] # Common dependencies for both native and WASM serde.workspace = true serde_json.workspace = true thiserror.workspace = true log.workspace = true uuid.workspace = true indexmap.workspace = true hero-job = { path = "../../models/job" } # Native JSON-RPC client (not WASM compatible) [target.'cfg(not(target_arch = "wasm32"))'.dependencies] jsonrpsee = { workspace = true, features = ["http-client", "macros"] } tokio.workspace = true async-trait.workspace = true reqwest = { version = "0.12", features = ["json"] } base64 = "0.22" tracing.workspace = true # hero-job-client removed - now part of supervisor env_logger.workspace = true http.workspace = true # WASM-specific dependencies [target.'cfg(target_arch = "wasm32")'.dependencies] wasm-bindgen.workspace = true wasm-bindgen-futures.workspace = true js-sys.workspace = true serde-wasm-bindgen.workspace = true web-sys = { workspace = true, features = [ "console", "Request", "RequestInit", "RequestMode", "Response", "Headers", "Window", ] } console_log.workspace = true getrandom.workspace = true # Crypto for signing secp256k1.workspace = true sha2.workspace = true hex.workspace = true [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] workspace = true # Time handling (native) [target.'cfg(not(target_arch = "wasm32"))'.dependencies.chrono] workspace = true # WASM-compatible dependencies [target.'cfg(target_arch = "wasm32")'.dependencies.chrono] workspace = true features = ["wasmbind"] [target.'cfg(target_arch = "wasm32")'.dependencies.uuid] workspace = true features = ["js"] [dev-dependencies] # Testing utilities tokio-test = "0.4"