diff --git a/Cargo.lock b/Cargo.lock index e708e3b..d526304 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -592,6 +592,7 @@ checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" [[package]] name = "hero-job" version = "0.1.0" +source = "git+https://git.ourworld.tf/herocode/job.git#7b9420f3e67802e34de1337bac4e2728ed321657" dependencies = [ "chrono", "hex", @@ -609,6 +610,7 @@ dependencies = [ [[package]] name = "hero-job-client" version = "0.1.0" +source = "git+https://git.ourworld.tf/herocode/job.git#7b9420f3e67802e34de1337bac4e2728ed321657" dependencies = [ "chrono", "hero-job", @@ -651,6 +653,33 @@ 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" @@ -661,7 +690,7 @@ dependencies = [ "getrandom 0.2.16", "hero-job", "hero-job-client", - "hero-supervisor", + "hero-supervisor 0.1.0 (git+https://git.ourworld.tf/herocode/supervisor.git)", "hex", "indexmap", "js-sys", diff --git a/Cargo.toml b/Cargo.toml index ae32625..13c4f51 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -50,7 +50,7 @@ reqwest = { version = "0.12", features = ["json"], optional = true } [dev-dependencies] tokio-test = "0.4" -hero-supervisor-openrpc-client = { path = "clients/openrpc" } +hero-supervisor-openrpc-client = { path = "client" } escargot = "0.5" [features] diff --git a/QUICK_START.md b/QUICK_START.md index 36d7347..c15b3d7 100644 --- a/QUICK_START.md +++ b/QUICK_START.md @@ -175,7 +175,7 @@ RUST_LOG=info cargo run --example simple_e2e 1. **Try different Rhai scripts** - Modify the payload in examples 2. **Add more runners** - Start multiple runners with different IDs 3. **Explore the API** - Use the OpenRPC client library -4. **Build your own client** - See `clients/openrpc/` for examples +4. **Build your own client** - See `client/` for examples ## Useful Commands diff --git a/clients/openrpc/.gitignore b/client/.gitignore similarity index 100% rename from clients/openrpc/.gitignore rename to client/.gitignore diff --git a/clients/openrpc/Cargo-wasm.toml b/client/Cargo-wasm.toml similarity index 100% rename from clients/openrpc/Cargo-wasm.toml rename to client/Cargo-wasm.toml diff --git a/clients/openrpc/Cargo.lock b/client/Cargo.lock similarity index 100% rename from clients/openrpc/Cargo.lock rename to client/Cargo.lock diff --git a/clients/openrpc/Cargo.toml b/client/Cargo.toml similarity index 97% rename from clients/openrpc/Cargo.toml rename to client/Cargo.toml index a8b007d..0d04023 100644 --- a/clients/openrpc/Cargo.toml +++ b/client/Cargo.toml @@ -19,7 +19,6 @@ thiserror = "1.0" log = "0.4" uuid = { version = "1.0", features = ["v4", "serde"] } indexmap = "2.0" -# hero-job = { path = "../../../job/rust" } hero-job = { git = "https://git.ourworld.tf/herocode/job.git" } # Native JSON-RPC client (not WASM compatible) diff --git a/clients/openrpc/README.md b/client/README.md similarity index 100% rename from clients/openrpc/README.md rename to client/README.md diff --git a/clients/openrpc/build-wasm.sh b/client/build-wasm.sh similarity index 100% rename from clients/openrpc/build-wasm.sh rename to client/build-wasm.sh diff --git a/clients/openrpc/example-wasm.html b/client/example-wasm.html similarity index 100% rename from clients/openrpc/example-wasm.html rename to client/example-wasm.html diff --git a/clients/openrpc/examples/generate_test_keys.rs b/client/examples/generate_test_keys.rs similarity index 100% rename from clients/openrpc/examples/generate_test_keys.rs rename to client/examples/generate_test_keys.rs diff --git a/clients/openrpc/src/lib.rs b/client/src/lib.rs similarity index 100% rename from clients/openrpc/src/lib.rs rename to client/src/lib.rs diff --git a/clients/openrpc/src/wasm.rs b/client/src/wasm.rs similarity index 100% rename from clients/openrpc/src/wasm.rs rename to client/src/wasm.rs diff --git a/docs/README.md b/docs/README.md index ef48d2e..00e162a 100644 --- a/docs/README.md +++ b/docs/README.md @@ -204,7 +204,7 @@ cargo build --release cargo build --release --features openrpc # Build client library -cd clients/openrpc +cd client cargo build --release ``` diff --git a/examples/_archive/EXAMPLES_SUMMARY.md b/examples/_archive/EXAMPLES_SUMMARY.md index 819468c..0c740a2 100644 --- a/examples/_archive/EXAMPLES_SUMMARY.md +++ b/examples/_archive/EXAMPLES_SUMMARY.md @@ -6,7 +6,7 @@ All examples now use the official `hero-supervisor-openrpc-client` library for t ### **What Was Updated:** -1. **OpenRPC Client Library** (`clients/openrpc/src/lib.rs`) +1. **OpenRPC Client Library** (`client/src/lib.rs`) - Added `JobRunResponse` - Response from blocking `job.run` - Added `JobStartResponse` - Response from non-blocking `job.start` - Updated `job_run()` method - Now accepts timeout parameter @@ -172,7 +172,7 @@ RUST_LOG=info cargo run --example end_to_end_demo ### **Files Modified:** -- ✅ `clients/openrpc/src/lib.rs` - Updated client methods and response types +- ✅ `client/src/lib.rs` - Updated client methods and response types - ✅ `examples/simple_e2e.rs` - Refactored to use OpenRPC client - ✅ `examples/end_to_end_demo.rs` - Refactored to use OpenRPC client - ✅ `examples/E2E_EXAMPLES.md` - Updated documentation diff --git a/examples/osiris_openrpc/main.rs b/examples/osiris_openrpc/main.rs index 727571a..63e67f5 100644 --- a/examples/osiris_openrpc/main.rs +++ b/examples/osiris_openrpc/main.rs @@ -1,9 +1,13 @@ ///! Comprehensive OSIRIS + OpenRPC + Admin UI Example ///! -///! This example demonstrates: +/// This example demonstrates using the Hero Supervisor OpenRPC client +/// to run OSIRIS scripts through the supervisor. +/// +/// The client library is located at: client/ +///! ///! 1. Starting a Hero Supervisor with OpenRPC server ///! 2. Building and serving the Admin UI (Yew WASM) -///! 3. Starting an OSIRIS runner +///! 3. Building and starting an OSIRIS runner ///! 4. Registering the runner with the supervisor ///! 5. Dispatching multiple OSIRIS jobs via OpenRPC ///! 6. Monitoring job execution via CLI and Web UI @@ -86,7 +90,7 @@ async fn main() -> Result<(), Box> { .arg("8080") .arg("--address") .arg("127.0.0.1") - .current_dir("clients/admin-ui") + .current_dir("ui") .stdout(Stdio::null()) .stderr(Stdio::null()) .spawn()?; diff --git a/scripts/run.sh b/scripts/run.sh index beb00ea..5186e09 100755 --- a/scripts/run.sh +++ b/scripts/run.sh @@ -48,7 +48,7 @@ fi # Start admin UI echo "Starting Admin UI on port $ADMIN_UI_PORT..." -cd "$PROJECT_DIR/clients/admin-ui" +cd "$PROJECT_DIR/ui" trunk serve --port "$ADMIN_UI_PORT" & ADMIN_UI_PID=$! diff --git a/clients/admin-ui/.gitignore b/ui/.gitignore similarity index 100% rename from clients/admin-ui/.gitignore rename to ui/.gitignore diff --git a/clients/admin-ui/BREADCRUMB_NAVIGATION.md b/ui/BREADCRUMB_NAVIGATION.md similarity index 100% rename from clients/admin-ui/BREADCRUMB_NAVIGATION.md rename to ui/BREADCRUMB_NAVIGATION.md diff --git a/clients/admin-ui/Cargo.lock b/ui/Cargo.lock similarity index 100% rename from clients/admin-ui/Cargo.lock rename to ui/Cargo.lock diff --git a/clients/admin-ui/Cargo.toml b/ui/Cargo.toml similarity index 100% rename from clients/admin-ui/Cargo.toml rename to ui/Cargo.toml diff --git a/clients/admin-ui/ENHANCED_JOB_EDITING.md b/ui/ENHANCED_JOB_EDITING.md similarity index 100% rename from clients/admin-ui/ENHANCED_JOB_EDITING.md rename to ui/ENHANCED_JOB_EDITING.md diff --git a/clients/admin-ui/IMPROVEMENTS_SUMMARY.md b/ui/IMPROVEMENTS_SUMMARY.md similarity index 100% rename from clients/admin-ui/IMPROVEMENTS_SUMMARY.md rename to ui/IMPROVEMENTS_SUMMARY.md diff --git a/clients/admin-ui/REFACTORING_COMPLETE.md b/ui/REFACTORING_COMPLETE.md similarity index 100% rename from clients/admin-ui/REFACTORING_COMPLETE.md rename to ui/REFACTORING_COMPLETE.md diff --git a/clients/admin-ui/REFACTORING_PLAN.md b/ui/REFACTORING_PLAN.md similarity index 100% rename from clients/admin-ui/REFACTORING_PLAN.md rename to ui/REFACTORING_PLAN.md diff --git a/clients/admin-ui/Trunk.toml b/ui/Trunk.toml similarity index 100% rename from clients/admin-ui/Trunk.toml rename to ui/Trunk.toml diff --git a/clients/admin-ui/index.html b/ui/index.html similarity index 100% rename from clients/admin-ui/index.html rename to ui/index.html diff --git a/clients/admin-ui/src/app.rs b/ui/src/app.rs similarity index 100% rename from clients/admin-ui/src/app.rs rename to ui/src/app.rs diff --git a/clients/admin-ui/src/app_components/header.rs b/ui/src/app_components/header.rs similarity index 100% rename from clients/admin-ui/src/app_components/header.rs rename to ui/src/app_components/header.rs diff --git a/clients/admin-ui/src/app_components/mod.rs b/ui/src/app_components/mod.rs similarity index 100% rename from clients/admin-ui/src/app_components/mod.rs rename to ui/src/app_components/mod.rs diff --git a/clients/admin-ui/src/lib.rs b/ui/src/lib.rs similarity index 100% rename from clients/admin-ui/src/lib.rs rename to ui/src/lib.rs diff --git a/clients/admin-ui/styles.css b/ui/styles.css similarity index 100% rename from clients/admin-ui/styles.css rename to ui/styles.css diff --git a/clients/admin-ui/styles/components.css b/ui/styles/components.css similarity index 100% rename from clients/admin-ui/styles/components.css rename to ui/styles/components.css diff --git a/clients/admin-ui/styles/header.css b/ui/styles/header.css similarity index 100% rename from clients/admin-ui/styles/header.css rename to ui/styles/header.css diff --git a/clients/admin-ui/styles/jobs.css b/ui/styles/jobs.css similarity index 100% rename from clients/admin-ui/styles/jobs.css rename to ui/styles/jobs.css diff --git a/clients/admin-ui/styles/keys.css b/ui/styles/keys.css similarity index 100% rename from clients/admin-ui/styles/keys.css rename to ui/styles/keys.css diff --git a/clients/admin-ui/styles/main.css b/ui/styles/main.css similarity index 100% rename from clients/admin-ui/styles/main.css rename to ui/styles/main.css diff --git a/clients/admin-ui/styles/runners.css b/ui/styles/runners.css similarity index 100% rename from clients/admin-ui/styles/runners.css rename to ui/styles/runners.css