diff --git a/Cargo.lock b/Cargo.lock index d526304..e29e0c0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -76,6 +76,12 @@ version = "1.0.100" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" +[[package]] +name = "anymap2" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d301b3b94cb4b2f23d7917810addbbaff90738e0ca2be692bd027e70d7e0330c" + [[package]] name = "async-stream" version = "0.3.6" @@ -95,7 +101,7 @@ checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.108", ] [[package]] @@ -106,7 +112,7 @@ checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.108", ] [[package]] @@ -127,6 +133,15 @@ version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" +[[package]] +name = "bincode" +version = "1.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" +dependencies = [ + "serde", +] + [[package]] name = "bitflags" version = "2.10.0" @@ -142,6 +157,12 @@ dependencies = [ "generic-array", ] +[[package]] +name = "boolinator" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfa8873f51c92e232f9bac4065cddef41b714152812bfc5f7672ba16d6ef8cd9" + [[package]] name = "bumpalo" version = "3.19.0" @@ -221,7 +242,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn", + "syn 2.0.108", ] [[package]] @@ -250,6 +271,16 @@ dependencies = [ "tokio-util", ] +[[package]] +name = "console_error_panic_hook" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc" +dependencies = [ + "cfg-if", + "wasm-bindgen", +] + [[package]] name = "console_log" version = "1.0.0" @@ -323,7 +354,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.108", ] [[package]] @@ -484,7 +515,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.108", ] [[package]] @@ -552,6 +583,415 @@ dependencies = [ "wasip2", ] +[[package]] +name = "gloo" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28999cda5ef6916ffd33fb4a7b87e1de633c47c0dc6d97905fee1cdaa142b94d" +dependencies = [ + "gloo-console 0.2.3", + "gloo-dialogs 0.1.1", + "gloo-events 0.1.2", + "gloo-file 0.2.3", + "gloo-history 0.1.5", + "gloo-net 0.3.1", + "gloo-render 0.1.1", + "gloo-storage 0.2.2", + "gloo-timers 0.2.6", + "gloo-utils 0.1.7", + "gloo-worker 0.2.1", +] + +[[package]] +name = "gloo" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd35526c28cc55c1db77aed6296de58677dbab863b118483a27845631d870249" +dependencies = [ + "gloo-console 0.3.0", + "gloo-dialogs 0.2.0", + "gloo-events 0.2.0", + "gloo-file 0.3.0", + "gloo-history 0.2.2", + "gloo-net 0.4.0", + "gloo-render 0.2.0", + "gloo-storage 0.3.0", + "gloo-timers 0.3.0", + "gloo-utils 0.2.0", + "gloo-worker 0.4.0", +] + +[[package]] +name = "gloo" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d15282ece24eaf4bd338d73ef580c6714c8615155c4190c781290ee3fa0fd372" +dependencies = [ + "gloo-console 0.3.0", + "gloo-dialogs 0.2.0", + "gloo-events 0.2.0", + "gloo-file 0.3.0", + "gloo-history 0.2.2", + "gloo-net 0.5.0", + "gloo-render 0.2.0", + "gloo-storage 0.3.0", + "gloo-timers 0.3.0", + "gloo-utils 0.2.0", + "gloo-worker 0.5.0", +] + +[[package]] +name = "gloo-console" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82b7ce3c05debe147233596904981848862b068862e9ec3e34be446077190d3f" +dependencies = [ + "gloo-utils 0.1.7", + "js-sys", + "serde", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "gloo-console" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a17868f56b4a24f677b17c8cb69958385102fa879418052d60b50bc1727e261" +dependencies = [ + "gloo-utils 0.2.0", + "js-sys", + "serde", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "gloo-dialogs" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67062364ac72d27f08445a46cab428188e2e224ec9e37efdba48ae8c289002e6" +dependencies = [ + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "gloo-dialogs" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf4748e10122b01435750ff530095b1217cf6546173459448b83913ebe7815df" +dependencies = [ + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "gloo-events" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68b107f8abed8105e4182de63845afcc7b69c098b7852a813ea7462a320992fc" +dependencies = [ + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "gloo-events" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27c26fb45f7c385ba980f5fa87ac677e363949e065a083722697ef1b2cc91e41" +dependencies = [ + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "gloo-file" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8d5564e570a38b43d78bdc063374a0c3098c4f0d64005b12f9bbe87e869b6d7" +dependencies = [ + "gloo-events 0.1.2", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "gloo-file" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97563d71863fb2824b2e974e754a81d19c4a7ec47b09ced8a0e6656b6d54bd1f" +dependencies = [ + "futures-channel", + "gloo-events 0.2.0", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "gloo-history" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85725d90bf0ed47063b3930ef28e863658a7905989e9929a8708aab74a1d5e7f" +dependencies = [ + "gloo-events 0.1.2", + "gloo-utils 0.1.7", + "serde", + "serde-wasm-bindgen 0.5.0", + "serde_urlencoded", + "thiserror", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "gloo-history" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "903f432be5ba34427eac5e16048ef65604a82061fe93789f2212afc73d8617d6" +dependencies = [ + "getrandom 0.2.16", + "gloo-events 0.2.0", + "gloo-utils 0.2.0", + "serde", + "serde-wasm-bindgen 0.6.5", + "serde_urlencoded", + "thiserror", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "gloo-net" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a66b4e3c7d9ed8d315fd6b97c8b1f74a7c6ecbbc2320e65ae7ed38b7068cc620" +dependencies = [ + "futures-channel", + "futures-core", + "futures-sink", + "gloo-utils 0.1.7", + "http 0.2.12", + "js-sys", + "pin-project", + "serde", + "serde_json", + "thiserror", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "gloo-net" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ac9e8288ae2c632fa9f8657ac70bfe38a1530f345282d7ba66a1f70b72b7dc4" +dependencies = [ + "futures-channel", + "futures-core", + "futures-sink", + "gloo-utils 0.2.0", + "http 0.2.12", + "js-sys", + "pin-project", + "serde", + "serde_json", + "thiserror", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "gloo-net" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43aaa242d1239a8822c15c645f02166398da4f8b5c4bae795c1f5b44e9eee173" +dependencies = [ + "futures-channel", + "futures-core", + "futures-sink", + "gloo-utils 0.2.0", + "http 0.2.12", + "js-sys", + "pin-project", + "serde", + "serde_json", + "thiserror", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "gloo-render" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2fd9306aef67cfd4449823aadcd14e3958e0800aa2183955a309112a84ec7764" +dependencies = [ + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "gloo-render" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56008b6744713a8e8d98ac3dcb7d06543d5662358c9c805b4ce2167ad4649833" +dependencies = [ + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "gloo-storage" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d6ab60bf5dbfd6f0ed1f7843da31b41010515c745735c970e821945ca91e480" +dependencies = [ + "gloo-utils 0.1.7", + "js-sys", + "serde", + "serde_json", + "thiserror", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "gloo-storage" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbc8031e8c92758af912f9bc08fbbadd3c6f3cfcbf6b64cdf3d6a81f0139277a" +dependencies = [ + "gloo-utils 0.2.0", + "js-sys", + "serde", + "serde_json", + "thiserror", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "gloo-timers" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "gloo-timers" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbb143cf96099802033e0d4f4963b19fd2e0b728bcf076cd9cf7f6634f092994" +dependencies = [ + "futures-channel", + "futures-core", + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "gloo-utils" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "037fcb07216cb3a30f7292bd0176b050b7b9a052ba830ef7d5d65f6dc64ba58e" +dependencies = [ + "js-sys", + "serde", + "serde_json", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "gloo-utils" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b5555354113b18c547c1d3a98fbf7fb32a9ff4f6fa112ce823a21641a0ba3aa" +dependencies = [ + "js-sys", + "serde", + "serde_json", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "gloo-worker" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13471584da78061a28306d1359dd0178d8d6fc1c7c80e5e35d27260346e0516a" +dependencies = [ + "anymap2", + "bincode", + "gloo-console 0.2.3", + "gloo-utils 0.1.7", + "js-sys", + "serde", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "gloo-worker" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76495d3dd87de51da268fa3a593da118ab43eb7f8809e17eb38d3319b424e400" +dependencies = [ + "bincode", + "futures", + "gloo-utils 0.2.0", + "gloo-worker-macros", + "js-sys", + "pinned", + "serde", + "thiserror", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "gloo-worker" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "085f262d7604911c8150162529cefab3782e91adb20202e8658f7275d2aefe5d" +dependencies = [ + "bincode", + "futures", + "gloo-utils 0.2.0", + "gloo-worker-macros", + "js-sys", + "pinned", + "serde", + "thiserror", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "gloo-worker-macros" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "956caa58d4857bc9941749d55e4bd3000032d8212762586fa5705632967140e7" +dependencies = [ + "proc-macro-crate 1.3.1", + "proc-macro2", + "quote", + "syn 2.0.108", +] + [[package]] name = "h2" version = "0.4.12" @@ -563,7 +1003,7 @@ dependencies = [ "fnv", "futures-core", "futures-sink", - "http", + "http 1.3.1", "indexmap", "slab", "tokio", @@ -599,7 +1039,7 @@ dependencies = [ "log", "secp256k1 0.28.2", "serde", - "serde-wasm-bindgen", + "serde-wasm-bindgen 0.6.5", "serde_json", "sha2", "thiserror", @@ -653,33 +1093,6 @@ dependencies = [ "uuid", ] -[[package]] -name = "hero-supervisor" -version = "0.1.0" -source = "git+https://git.ourworld.tf/herocode/supervisor.git#af5cd3051628db629efa325b5b6dc64630b3a4c2" -dependencies = [ - "anyhow", - "async-trait", - "chrono", - "clap", - "env_logger 0.10.2", - "hero-job", - "hero-job-client", - "hyper", - "hyper-util", - "jsonrpsee", - "log", - "redis", - "serde", - "serde_json", - "thiserror", - "tokio", - "toml", - "tower 0.4.13", - "tower-http 0.5.2", - "uuid", -] - [[package]] name = "hero-supervisor-openrpc-client" version = "0.1.0" @@ -690,7 +1103,7 @@ dependencies = [ "getrandom 0.2.16", "hero-job", "hero-job-client", - "hero-supervisor 0.1.0 (git+https://git.ourworld.tf/herocode/supervisor.git)", + "hero-supervisor", "hex", "indexmap", "js-sys", @@ -698,14 +1111,16 @@ dependencies = [ "log", "secp256k1 0.29.1", "serde", - "serde-wasm-bindgen", + "serde-wasm-bindgen 0.6.5", "serde_json", "sha2", "thiserror", "tokio", + "tokio-test", "uuid", "wasm-bindgen", "wasm-bindgen-futures", + "wasm-bindgen-test", "web-sys", ] @@ -715,6 +1130,17 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" +[[package]] +name = "http" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + [[package]] name = "http" version = "1.3.1" @@ -733,7 +1159,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" dependencies = [ "bytes", - "http", + "http 1.3.1", ] [[package]] @@ -744,7 +1170,7 @@ checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" dependencies = [ "bytes", "futures-core", - "http", + "http 1.3.1", "http-body", "pin-project-lite", ] @@ -778,7 +1204,7 @@ dependencies = [ "futures-channel", "futures-core", "h2", - "http", + "http 1.3.1", "http-body", "httparse", "httpdate", @@ -796,7 +1222,7 @@ version = "0.27.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58" dependencies = [ - "http", + "http 1.3.1", "hyper", "hyper-util", "log", @@ -834,7 +1260,7 @@ dependencies = [ "futures-channel", "futures-core", "futures-util", - "http", + "http 1.3.1", "http-body", "hyper", "ipnet", @@ -975,6 +1401,26 @@ dependencies = [ "icu_properties", ] +[[package]] +name = "implicit-clone" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8a9aa791c7b5a71b636b7a68207fdebf171ddfc593d9c8506ec4cbc527b6a84" +dependencies = [ + "implicit-clone-derive", + "indexmap", +] + +[[package]] +name = "implicit-clone-derive" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "699c1b6d335e63d0ba5c1e1c7f647371ce989c3bcbe1f7ed2b85fa56e3bd1a21" +dependencies = [ + "quote", + "syn 2.0.108", +] + [[package]] name = "indexmap" version = "2.12.0" @@ -1045,7 +1491,7 @@ checksum = "03343451ff899767262ec32146f6d559dd759fdadf42ff0e227c7c48f72594b4" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.108", ] [[package]] @@ -1104,7 +1550,7 @@ dependencies = [ "async-trait", "bytes", "futures-util", - "http", + "http 1.3.1", "http-body", "http-body-util", "jsonrpsee-types", @@ -1150,10 +1596,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7398cddf5013cca4702862a2692b66c48a3bd6cf6ec681a47453c93d63cf8de5" dependencies = [ "heck", - "proc-macro-crate", + "proc-macro-crate 3.4.0", "proc-macro2", "quote", - "syn", + "syn 2.0.108", ] [[package]] @@ -1163,7 +1609,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "21429bcdda37dcf2d43b68621b994adede0e28061f816b038b0f18c70c143d51" dependencies = [ "futures-util", - "http", + "http 1.3.1", "http-body", "http-body-util", "hyper", @@ -1189,7 +1635,7 @@ version = "0.24.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b0f05e0028e55b15dbd2107163b3c744cd3bb4474f193f95d9708acbf5677e44" dependencies = [ - "http", + "http 1.3.1", "serde", "serde_json", "thiserror", @@ -1240,6 +1686,16 @@ version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" +[[package]] +name = "minicov" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f27fe9f1cc3c22e1687f9446c2083c4c5fc7f0bcf1c7a86bdbded14985895b4b" +dependencies = [ + "cc", + "walkdir", +] + [[package]] name = "mio" version = "1.1.0" @@ -1277,6 +1733,16 @@ dependencies = [ "autocfg", ] +[[package]] +name = "num_cpus" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91df4bbde75afed763b708b7eee1e8e7651e02d97f6d5dd763e89367e957b23b" +dependencies = [ + "hermit-abi", + "libc", +] + [[package]] name = "once_cell" version = "1.21.3" @@ -1312,7 +1778,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.108", ] [[package]] @@ -1379,7 +1845,7 @@ checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.108", ] [[package]] @@ -1394,6 +1860,17 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" +[[package]] +name = "pinned" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a829027bd95e54cfe13e3e258a1ae7b645960553fb82b75ff852c29688ee595b" +dependencies = [ + "futures", + "rustversion", + "thiserror", +] + [[package]] name = "pkg-config" version = "0.3.32" @@ -1433,6 +1910,26 @@ dependencies = [ "zerocopy", ] +[[package]] +name = "prettyplease" +version = "0.2.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" +dependencies = [ + "proc-macro2", + "syn 2.0.108", +] + +[[package]] +name = "proc-macro-crate" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" +dependencies = [ + "once_cell", + "toml_edit 0.19.15", +] + [[package]] name = "proc-macro-crate" version = "3.4.0" @@ -1442,6 +1939,30 @@ dependencies = [ "toml_edit 0.23.7", ] +[[package]] +name = "proc-macro-error" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +dependencies = [ + "proc-macro-error-attr", + "proc-macro2", + "quote", + "syn 1.0.109", + "version_check", +] + +[[package]] +name = "proc-macro-error-attr" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +dependencies = [ + "proc-macro2", + "quote", + "version_check", +] + [[package]] name = "proc-macro2" version = "1.0.103" @@ -1451,6 +1972,23 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "prokio" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03b55e106e5791fa5a13abd13c85d6127312e8e09098059ca2bc9b03ca4cf488" +dependencies = [ + "futures", + "gloo 0.8.1", + "num_cpus", + "once_cell", + "pin-project", + "pinned", + "tokio", + "tokio-stream", + "wasm-bindgen-futures", +] + [[package]] name = "quote" version = "1.0.41" @@ -1566,7 +2104,7 @@ dependencies = [ "encoding_rs", "futures-core", "h2", - "http", + "http 1.3.1", "http-body", "http-body-util", "hyper", @@ -1827,6 +2365,17 @@ dependencies = [ "serde_derive", ] +[[package]] +name = "serde-wasm-bindgen" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3b143e2833c57ab9ad3ea280d21fd34e285a42837aeb0ee301f4f41890fa00e" +dependencies = [ + "js-sys", + "serde", + "wasm-bindgen", +] + [[package]] name = "serde-wasm-bindgen" version = "0.6.5" @@ -1855,7 +2404,7 @@ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.108", ] [[package]] @@ -1976,7 +2525,7 @@ dependencies = [ "base64", "bytes", "futures", - "http", + "http 1.3.1", "httparse", "log", "rand", @@ -2001,6 +2550,36 @@ version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" +[[package]] +name = "supervisor-admin-ui" +version = "0.1.0" +dependencies = [ + "chrono", + "gloo 0.11.0", + "hero-supervisor-openrpc-client", + "js-sys", + "log", + "serde", + "serde-wasm-bindgen 0.6.5", + "serde_json", + "uuid", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-logger", + "web-sys", + "yew", +] + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "unicode-ident", +] + [[package]] name = "syn" version = "2.0.108" @@ -2029,7 +2608,7 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.108", ] [[package]] @@ -2092,7 +2671,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.108", ] [[package]] @@ -2130,7 +2709,7 @@ checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.108", ] [[package]] @@ -2222,6 +2801,17 @@ dependencies = [ "serde_core", ] +[[package]] +name = "toml_edit" +version = "0.19.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" +dependencies = [ + "indexmap", + "toml_datetime 0.6.11", + "winnow 0.5.40", +] + [[package]] name = "toml_edit" version = "0.22.27" @@ -2233,7 +2823,7 @@ dependencies = [ "serde_spanned", "toml_datetime 0.6.11", "toml_write", - "winnow", + "winnow 0.7.13", ] [[package]] @@ -2245,7 +2835,7 @@ dependencies = [ "indexmap", "toml_datetime 0.7.3", "toml_parser", - "winnow", + "winnow 0.7.13", ] [[package]] @@ -2254,7 +2844,7 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0cbe268d35bdb4bb5a56a2de88d0ad0eb70af5384a99d648cd4b3d04039800e" dependencies = [ - "winnow", + "winnow 0.7.13", ] [[package]] @@ -2301,7 +2891,7 @@ checksum = "1e9cd434a998747dd2c4276bc96ee2e0c7a2eadf3cae88e52be55a05fa9053f5" dependencies = [ "bitflags", "bytes", - "http", + "http 1.3.1", "http-body", "http-body-util", "pin-project-lite", @@ -2318,7 +2908,7 @@ dependencies = [ "bitflags", "bytes", "futures-util", - "http", + "http 1.3.1", "http-body", "iri-string", "pin-project-lite", @@ -2359,7 +2949,7 @@ checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.108", ] [[package]] @@ -2522,7 +3112,7 @@ dependencies = [ "bumpalo", "proc-macro2", "quote", - "syn", + "syn 2.0.108", "wasm-bindgen-shared", ] @@ -2535,6 +3125,41 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "wasm-bindgen-test" +version = "0.3.55" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfc379bfb624eb59050b509c13e77b4eb53150c350db69628141abce842f2373" +dependencies = [ + "js-sys", + "minicov", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-bindgen-test-macro", +] + +[[package]] +name = "wasm-bindgen-test-macro" +version = "0.3.55" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "085b2df989e1e6f9620c1311df6c996e83fe16f57792b272ce1e024ac16a90f1" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.108", +] + +[[package]] +name = "wasm-logger" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "074649a66bb306c8f2068c9016395fa65d8e08d2affcbf95acf3c24c3ab19718" +dependencies = [ + "log", + "wasm-bindgen", + "web-sys", +] + [[package]] name = "web-sys" version = "0.3.82" @@ -2593,7 +3218,7 @@ checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.108", ] [[package]] @@ -2604,7 +3229,7 @@ checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.108", ] [[package]] @@ -2897,6 +3522,15 @@ version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" +[[package]] +name = "winnow" +version = "0.5.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" +dependencies = [ + "memchr", +] + [[package]] name = "winnow" version = "0.7.13" @@ -2918,6 +3552,46 @@ version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" +[[package]] +name = "yew" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f1a03f255c70c7aa3e9c62e15292f142ede0564123543c1cc0c7a4f31660cac" +dependencies = [ + "console_error_panic_hook", + "futures", + "gloo 0.10.0", + "implicit-clone", + "indexmap", + "js-sys", + "prokio", + "rustversion", + "serde", + "slab", + "thiserror", + "tokio", + "tracing", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "yew-macro", +] + +[[package]] +name = "yew-macro" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02fd8ca5166d69e59f796500a2ce432ff751edecbbb308ca59fd3fe4d0343de2" +dependencies = [ + "boolinator", + "once_cell", + "prettyplease", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 2.0.108", +] + [[package]] name = "yoke" version = "0.8.1" @@ -2937,7 +3611,7 @@ checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.108", "synstructure", ] @@ -2958,7 +3632,7 @@ checksum = "88d2b8d9c68ad2b9e4340d7832716a4d21a22a1154777ad56ea55c51a9cf3831" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.108", ] [[package]] @@ -2978,7 +3652,7 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.108", "synstructure", ] @@ -3018,5 +3692,5 @@ checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.108", ] diff --git a/Cargo.toml b/Cargo.toml index 13c4f51..72f8a28 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,69 +1,8 @@ -[package] -name = "hero-supervisor" +[workspace] +members = ["core", "client", "ui"] +resolver = "2" + +[workspace.package] version = "0.1.0" edition = "2021" -[dependencies] -# Job types -# hero-job = { path = "../job/rust" } -hero-job = { git = "https://git.ourworld.tf/herocode/job.git" } -# hero-job-client = { path = "../job/rust/client" } -hero-job-client = { git = "https://git.ourworld.tf/herocode/job.git" } -# 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" -hyper = { version = "1.0", features = ["full"] } -hyper-util = { version = "0.1", features = ["tokio"] } - -# Mycelium integration (optional) -base64 = { version = "0.22", optional = true } -rand = { version = "0.8", optional = true } -reqwest = { version = "0.12", features = ["json"], optional = true } - -[dev-dependencies] -tokio-test = "0.4" -hero-supervisor-openrpc-client = { path = "client" } -escargot = "0.5" - -[features] -default = ["cli"] -cli = [] -mycelium = ["base64", "rand", "reqwest"] - -[[bin]] -name = "supervisor" -path = "cmd/supervisor.rs" - -# Examples -[[example]] -name = "osiris_openrpc" -path = "examples/osiris_openrpc/main.rs" - diff --git a/client/Cargo.toml b/client/Cargo.toml index 0d04023..daf5c92 100644 --- a/client/Cargo.toml +++ b/client/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "hero-supervisor-openrpc-client" -version = "0.1.0" -edition = "2021" +version.workspace = true +edition.workspace = true description = "OpenRPC client for Hero Supervisor" license = "MIT OR Apache-2.0" @@ -25,7 +25,7 @@ hero-job = { git = "https://git.ourworld.tf/herocode/job.git" } [target.'cfg(not(target_arch = "wasm32"))'.dependencies] jsonrpsee = { version = "0.24", features = ["http-client", "macros"] } tokio = { version = "1.0", features = ["full"] } -hero-supervisor = { git = "https://git.ourworld.tf/herocode/supervisor.git" } +hero-supervisor = { path = "../core" } hero-job-client = { git = "https://git.ourworld.tf/herocode/job.git" } env_logger = "0.11" diff --git a/core/Cargo.toml b/core/Cargo.toml new file mode 100644 index 0000000..4b1eb92 --- /dev/null +++ b/core/Cargo.toml @@ -0,0 +1,71 @@ +[package] +name = "hero-supervisor" +version = "0.1.0" +edition = "2021" + +[lib] +name = "hero_supervisor" +path = "src/lib.rs" + +[[bin]] +name = "supervisor" +path = "src/bin/supervisor.rs" + +[dependencies] +# Job types +hero-job = { git = "https://git.ourworld.tf/herocode/job.git" } +hero-job-client = { git = "https://git.ourworld.tf/herocode/job.git" } + +# 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" +hyper = { version = "1.0", features = ["full"] } +hyper-util = { version = "0.1", features = ["tokio"] } + +# Mycelium integration (optional) +base64 = { version = "0.22", optional = true } +rand = { version = "0.8", optional = true } +reqwest = { version = "0.12", features = ["json"], optional = true } + +[dev-dependencies] +tokio-test = "0.4" +hero-supervisor-openrpc-client = { path = "../client" } +escargot = "0.5" + +[features] +default = ["cli"] +cli = [] +mycelium = ["base64", "rand", "reqwest"] + +# Examples +[[example]] +name = "osiris_openrpc" +path = "examples/osiris_openrpc/main.rs" diff --git a/examples/README.md b/core/examples/README.md similarity index 100% rename from examples/README.md rename to core/examples/README.md diff --git a/examples/_archive/E2E_EXAMPLES.md b/core/examples/_archive/E2E_EXAMPLES.md similarity index 100% rename from examples/_archive/E2E_EXAMPLES.md rename to core/examples/_archive/E2E_EXAMPLES.md diff --git a/examples/_archive/EXAMPLES_SUMMARY.md b/core/examples/_archive/EXAMPLES_SUMMARY.md similarity index 100% rename from examples/_archive/EXAMPLES_SUMMARY.md rename to core/examples/_archive/EXAMPLES_SUMMARY.md diff --git a/examples/_archive/README.md b/core/examples/_archive/README.md similarity index 100% rename from examples/_archive/README.md rename to core/examples/_archive/README.md diff --git a/examples/_archive/basic_openrpc_client.rs b/core/examples/_archive/basic_openrpc_client.rs similarity index 100% rename from examples/_archive/basic_openrpc_client.rs rename to core/examples/_archive/basic_openrpc_client.rs diff --git a/examples/_archive/end_to_end_demo.rs b/core/examples/_archive/end_to_end_demo.rs similarity index 100% rename from examples/_archive/end_to_end_demo.rs rename to core/examples/_archive/end_to_end_demo.rs diff --git a/examples/_archive/integration_test.rs b/core/examples/_archive/integration_test.rs similarity index 100% rename from examples/_archive/integration_test.rs rename to core/examples/_archive/integration_test.rs diff --git a/examples/_archive/job_api_examples.rs b/core/examples/_archive/job_api_examples.rs similarity index 100% rename from examples/_archive/job_api_examples.rs rename to core/examples/_archive/job_api_examples.rs diff --git a/examples/_archive/mock_runner.rs b/core/examples/_archive/mock_runner.rs similarity index 100% rename from examples/_archive/mock_runner.rs rename to core/examples/_archive/mock_runner.rs diff --git a/examples/_archive/simple_e2e.rs b/core/examples/_archive/simple_e2e.rs similarity index 100% rename from examples/_archive/simple_e2e.rs rename to core/examples/_archive/simple_e2e.rs diff --git a/examples/_archive/simple_job_workflow.rs b/core/examples/_archive/simple_job_workflow.rs similarity index 100% rename from examples/_archive/simple_job_workflow.rs rename to core/examples/_archive/simple_job_workflow.rs diff --git a/examples/_archive/supervisor/README.md b/core/examples/_archive/supervisor/README.md similarity index 100% rename from examples/_archive/supervisor/README.md rename to core/examples/_archive/supervisor/README.md diff --git a/examples/_archive/supervisor/config.toml b/core/examples/_archive/supervisor/config.toml similarity index 100% rename from examples/_archive/supervisor/config.toml rename to core/examples/_archive/supervisor/config.toml diff --git a/examples/_archive/supervisor/run_supervisor.rs b/core/examples/_archive/supervisor/run_supervisor.rs similarity index 100% rename from examples/_archive/supervisor/run_supervisor.rs rename to core/examples/_archive/supervisor/run_supervisor.rs diff --git a/examples/_archive/supervisor/run_supervisor.sh b/core/examples/_archive/supervisor/run_supervisor.sh similarity index 100% rename from examples/_archive/supervisor/run_supervisor.sh rename to core/examples/_archive/supervisor/run_supervisor.sh diff --git a/examples/generate_keypairs.rs b/core/examples/generate_keypairs.rs similarity index 100% rename from examples/generate_keypairs.rs rename to core/examples/generate_keypairs.rs diff --git a/examples/osiris_openrpc/README.md b/core/examples/osiris_openrpc/README.md similarity index 100% rename from examples/osiris_openrpc/README.md rename to core/examples/osiris_openrpc/README.md diff --git a/examples/osiris_openrpc/access_denied.rhai b/core/examples/osiris_openrpc/access_denied.rhai similarity index 100% rename from examples/osiris_openrpc/access_denied.rhai rename to core/examples/osiris_openrpc/access_denied.rhai diff --git a/examples/osiris_openrpc/event.rhai b/core/examples/osiris_openrpc/event.rhai similarity index 100% rename from examples/osiris_openrpc/event.rhai rename to core/examples/osiris_openrpc/event.rhai diff --git a/examples/osiris_openrpc/main.rs b/core/examples/osiris_openrpc/main.rs similarity index 100% rename from examples/osiris_openrpc/main.rs rename to core/examples/osiris_openrpc/main.rs diff --git a/examples/osiris_openrpc/note.rhai b/core/examples/osiris_openrpc/note.rhai similarity index 100% rename from examples/osiris_openrpc/note.rhai rename to core/examples/osiris_openrpc/note.rhai diff --git a/examples/osiris_openrpc/query.rhai b/core/examples/osiris_openrpc/query.rhai similarity index 100% rename from examples/osiris_openrpc/query.rhai rename to core/examples/osiris_openrpc/query.rhai diff --git a/src/app.rs b/core/src/app.rs similarity index 100% rename from src/app.rs rename to core/src/app.rs diff --git a/src/auth.rs b/core/src/auth.rs similarity index 100% rename from src/auth.rs rename to core/src/auth.rs diff --git a/cmd/supervisor.rs b/core/src/bin/supervisor.rs similarity index 100% rename from cmd/supervisor.rs rename to core/src/bin/supervisor.rs diff --git a/src/job.rs b/core/src/job.rs similarity index 100% rename from src/job.rs rename to core/src/job.rs diff --git a/src/lib.rs b/core/src/lib.rs similarity index 100% rename from src/lib.rs rename to core/src/lib.rs diff --git a/src/mycelium.rs b/core/src/mycelium.rs similarity index 100% rename from src/mycelium.rs rename to core/src/mycelium.rs diff --git a/src/openrpc.rs b/core/src/openrpc.rs similarity index 100% rename from src/openrpc.rs rename to core/src/openrpc.rs diff --git a/src/openrpc/tests.rs b/core/src/openrpc/tests.rs similarity index 100% rename from src/openrpc/tests.rs rename to core/src/openrpc/tests.rs diff --git a/src/runner.rs b/core/src/runner.rs similarity index 100% rename from src/runner.rs rename to core/src/runner.rs diff --git a/src/services.rs b/core/src/services.rs similarity index 100% rename from src/services.rs rename to core/src/services.rs diff --git a/src/supervisor.rs b/core/src/supervisor.rs similarity index 100% rename from src/supervisor.rs rename to core/src/supervisor.rs diff --git a/tests/job_api_integration_tests.rs b/core/tests/job_api_integration_tests.rs similarity index 100% rename from tests/job_api_integration_tests.rs rename to core/tests/job_api_integration_tests.rs diff --git a/ui/Cargo.toml b/ui/Cargo.toml index 938f60f..7ce395f 100644 --- a/ui/Cargo.toml +++ b/ui/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "supervisor-admin-ui" -version = "0.1.0" -edition = "2021" +version.workspace = true +edition.workspace = true [lib] crate-type = ["cdylib"] @@ -32,4 +32,4 @@ wasm-logger = "0.2" uuid = { version = "1.0", features = ["v4", "js"] } # Use our new WASM OpenRPC client -hero-supervisor-openrpc-client = { path = "../openrpc" } +hero-supervisor-openrpc-client = { path = "../client" }