diff --git a/Justfile b/Justfile index 5989376c..59e4c4cd 100644 --- a/Justfile +++ b/Justfile @@ -26,7 +26,7 @@ export CMAKE_GENERATOR := if os() == "windows" { "Ninja" } else { "" } # DEFAULT runtime at compile time — it can't carry our native modules. A pinned # release tag of the official repo is not a fork/branch. Bump together with the # hyperlight-js-runtime crate version. -hyperlight-js-tag := "v0.3.3" +hyperlight-js-tag := "v0.4.0" # Local checkout of the hyperlight-js source, cloned at hyperlight-js-tag. hyperlight-src := justfile_dir() / "deps" / "hyperlight-js-src" diff --git a/package-lock.json b/package-lock.json index 5f05b713..783124a2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -41,7 +41,7 @@ }, "deps/js-host-api": { "name": "@hyperlight-dev/js-host-api", - "version": "0.3.3", + "version": "0.4.0", "license": "Apache-2.0", "devDependencies": { "@eslint/js": "^10.0.1", diff --git a/src/code-validator/guest/Cargo.lock b/src/code-validator/guest/Cargo.lock index b73ca736..9af622bc 100644 --- a/src/code-validator/guest/Cargo.lock +++ b/src/code-validator/guest/Cargo.lock @@ -838,7 +838,7 @@ dependencies = [ "bindgen", "clap", "hashbrown", - "hyperlight-common 0.17.0", + "hyperlight-common", "hyperlight-guest", "hyperlight-guest-bin", "nom 8.0.0", @@ -850,26 +850,6 @@ dependencies = [ "spin 0.12.3", ] -[[package]] -name = "hyperlight-common" -version = "0.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "436dac5cc08da3db27de38b174a9b22498ab6443aaffd83b97f66a5d2f1d74cc" -dependencies = [ - "anyhow", - "bitflags 2.13.0", - "bytemuck", - "bytes", - "fixedbitset", - "flatbuffers", - "log", - "smallvec", - "spin 0.12.3", - "thiserror", - "tracing", - "tracing-core", -] - [[package]] name = "hyperlight-common" version = "0.17.0" @@ -886,31 +866,32 @@ dependencies = [ "smallvec", "spin 0.12.3", "thiserror", + "tracing", "tracing-core", ] [[package]] name = "hyperlight-guest" -version = "0.16.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cb2e6548e2b837400a7b27a5ed6a6570c28801253e6ec80959700dd63925c40" +checksum = "816f673f3f8ef6d5703796bf92927b85177ad1baac6f391551a88451a9e46a7e" dependencies = [ "anyhow", "flatbuffers", - "hyperlight-common 0.16.0", + "hyperlight-common", "serde_json", "tracing", ] [[package]] name = "hyperlight-guest-bin" -version = "0.16.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdeccde6490e76aefe2e8ca17e1a225d2da3338f020f17533b8ee0cee7cf9a11" +checksum = "9c2d0ea739be89822992706da9dc6812ce359b654b328efd6141ba1549751907" dependencies = [ "buddy_system_allocator", "flatbuffers", - "hyperlight-common 0.16.0", + "hyperlight-common", "hyperlight-guest", "hyperlight-guest-macro", "hyperlight-guest-tracing", @@ -923,23 +904,23 @@ dependencies = [ [[package]] name = "hyperlight-guest-macro" -version = "0.16.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "620ed77c5c07027c63a6a741da8a9a2462a56e660691da715c3700cb281a3d23" +checksum = "875d03a9e4d302f29d8feb57faff937f80c6f69ec9d31b32f41c41721144e25d" dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.118", + "syn 3.0.3", ] [[package]] name = "hyperlight-guest-tracing" -version = "0.16.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8b39160c2001db5c79916d946d04a601e4e1f2827e2c785d477b31e48f5e514" +checksum = "8f43a3d5d3fa245ce0fccee8a48ad7d94ec479e0898fc8f91fd440a1d65830c6" dependencies = [ - "hyperlight-common 0.16.0", + "hyperlight-common", "spin 0.12.3", "tracing", "tracing-core", @@ -947,21 +928,23 @@ dependencies = [ [[package]] name = "hyperlight-host" -version = "0.16.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef3edc7875e70a3b5cc291a17f78cfc352e24c9a665a5a1bbdbc46ada3df43b5" +checksum = "d85dcf5ae7a578e1b09bdeb76cc3b3ca8e6e57d6395d2f57204aec45c1bbbde9" dependencies = [ "anyhow", + "bindgen", "bitflags 2.13.0", "blake3", "bytemuck", + "cc", "cfg-if", "cfg_aliases", "crossbeam-channel", "flatbuffers", "goblin", "hex", - "hyperlight-common 0.16.0", + "hyperlight-common", "kvm-bindings", "kvm-ioctls", "lazy_static", @@ -972,6 +955,7 @@ dependencies = [ "mshv-ioctls", "oci-spec", "page_size", + "parking_lot", "rand", "rust-embed", "serde", @@ -992,9 +976,9 @@ dependencies = [ [[package]] name = "hyperlight-libc" -version = "0.16.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c258315b4c0ec4aae172c4ff31b34590559fb6699c144f779be2246672b3147" +checksum = "108dd0e7335821a2ef0dfa375c08236c3302a117045822e2aa68c64147f8e895" dependencies = [ "anyhow", "bindgen", @@ -1382,6 +1366,29 @@ dependencies = [ "winapi", ] +[[package]] +name = "parking_lot" +version = "0.12.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "smallvec", + "windows-link", +] + [[package]] name = "pin-project-lite" version = "0.2.17" @@ -1469,6 +1476,15 @@ dependencies = [ "rustversion", ] +[[package]] +name = "redox_syscall" +version = "0.5.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" +dependencies = [ + "bitflags 2.13.0", +] + [[package]] name = "redox_users" version = "0.5.2" diff --git a/src/code-validator/guest/Cargo.toml b/src/code-validator/guest/Cargo.toml index 4d64075e..1ebc9b55 100644 --- a/src/code-validator/guest/Cargo.toml +++ b/src/code-validator/guest/Cargo.toml @@ -18,11 +18,11 @@ repository = "https://github.com/anthropics/hyperagent" [workspace.dependencies] # Hyperlight core crates — published on crates.io, pinned to the version that -# hyperlight-js 0.3.x builds against. +# hyperlight-js 0.4.x builds against. Update these crates together. hyperlight-common = { version = "0.17.0", default-features = false } -hyperlight-guest-bin = { version = "0.16.0" } -hyperlight-guest = { version = "0.16.0" } -hyperlight-host = { version = "0.16.0", default-features = false, features = ["executable_heap", "kvm", "mshv3"] } +hyperlight-guest-bin = { version = "0.17.0" } +hyperlight-guest = { version = "0.17.0" } +hyperlight-host = { version = "0.17.0", default-features = false, features = ["executable_heap", "kvm", "mshv3"] } [profile.dev] panic = "abort" diff --git a/src/code-validator/guest/host/src/sandbox.rs b/src/code-validator/guest/host/src/sandbox.rs index 8067972a..36e9cdae 100644 --- a/src/code-validator/guest/host/src/sandbox.rs +++ b/src/code-validator/guest/host/src/sandbox.rs @@ -117,7 +117,7 @@ fn call_guest_function_sync(function_name: &str, input: String) -> Result