From 9d23556460596686275acd08493e517545fd4967 Mon Sep 17 00:00:00 2001 From: Alexander Medvedev Date: Sat, 5 Sep 2026 08:15:34 +0200 Subject: [PATCH] update to latest pumpkin --- rust/Cargo.lock | 940 +++++++++++---------- rust/src/commands/mod.rs | 151 ++-- rust/src/java/jvm/commands.rs | 4 +- rust/src/java/jvm/worker.rs | 4 +- rust/src/java/native_callbacks/command.rs | 11 +- rust/src/java/native_callbacks/entity.rs | 2 +- rust/src/java/native_callbacks/location.rs | 47 +- rust/src/java/native_callbacks/sound.rs | 18 +- rust/src/java/plugin/command_manager.rs | 7 +- 9 files changed, 623 insertions(+), 561 deletions(-) diff --git a/rust/Cargo.lock b/rust/Cargo.lock index 988d960..f96ae9a 100644 --- a/rust/Cargo.lock +++ b/rust/Cargo.lock @@ -40,13 +40,13 @@ dependencies = [ [[package]] name = "aes" -version = "0.9.2" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8eb277bec05f56a0e0591f155a484cbd0f4f07ff2905051a48c72f004f7ed58" +checksum = "35f0f96ce78e38c3dc6d8948aa8163d06385be74000f3c7a95bf1eef35d3ea32" dependencies = [ "cipher 0.5.2", "cpubits", - "cpufeatures 0.3.0", + "cpufeatures 0.3.1", ] [[package]] @@ -265,9 +265,9 @@ dependencies = [ [[package]] name = "async-compression" -version = "0.4.43" +version = "0.4.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3976abdc8fe7d1133d43d304afd42abdf5bc3e1319d263d223bde07b5efc4be8" +checksum = "515a1f282e33d55983c499d7e9e87082e81cbc32974825bf9032f928392d5844" dependencies = [ "compression-codecs", "compression-core", @@ -283,7 +283,7 @@ checksum = "82f6aeea286b8eb4dd3431a1be1b59d290ace00f5bfd8e2a159bc2a05e2c1667" dependencies = [ "proc-macro2", "quote", - "syn 3.0.4", + "syn 3.0.5", ] [[package]] @@ -461,7 +461,7 @@ checksum = "46d07918caa9eeaaf06b7873925c53a61daac173539b4f7715090745e44e4e69" dependencies = [ "proc-macro2", "quote", - "syn 3.0.4", + "syn 3.0.5", ] [[package]] @@ -487,6 +487,9 @@ name = "bytes" version = "1.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc652a48c352aef3ea3aed32080501cf3ef6ed5da78602a020c991775b0aff04" +dependencies = [ + "serde", +] [[package]] name = "bzip2" @@ -497,18 +500,6 @@ dependencies = [ "libbz2-rs-sys", ] -[[package]] -name = "cap-fs-ext" -version = "4.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56ff379b70af8e08307a8f65e7040c7301cb4a572538ade16b4984f0da77847f" -dependencies = [ - "cap-primitives", - "cap-std", - "io-lifetimes 3.0.1", - "windows-sys 0.61.2", -] - [[package]] name = "cap-primitives" version = "4.0.3" @@ -527,18 +518,6 @@ dependencies = [ "winx", ] -[[package]] -name = "cap-std" -version = "4.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1ec78e242cfa2cfe276807ac2ecc00315a6c97786977414bcd1c3963b6c91b8" -dependencies = [ - "cap-primitives", - "io-extras", - "io-lifetimes 3.0.1", - "rustix", -] - [[package]] name = "cbc" version = "0.1.2" @@ -550,9 +529,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.4.4" +version = "1.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ad534f4357a5264cce5019c989cf66a4f0dc4e0d1b1d15f8aacec0ff7360273" +checksum = "005ec2760ca554fae18df7a11195552ec576cd665632a881bc011d5bb2fd4d80" dependencies = [ "find-msvc-tools", "jobserver", @@ -617,7 +596,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "65c35e4b699c7e15ccbe7ee35c005e4fc0a278d22238a2857e6ce2dadeda1b06" dependencies = [ "cfg-if", - "cpufeatures 0.3.0", + "cpufeatures 0.3.1", "rand_core 0.10.1", ] @@ -706,9 +685,9 @@ dependencies = [ [[package]] name = "compression-codecs" -version = "0.4.38" +version = "0.4.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce2548391e9c1929c21bf6aa2680af86fe4c1b33e6cea9ac1cfeec0bd11218cf" +checksum = "2fe67f2944eef52fc7b106b8c9450d243a88701a0c065f7f57235e76abaed7df" dependencies = [ "compression-core", "flate2", @@ -716,9 +695,9 @@ dependencies = [ [[package]] name = "compression-core" -version = "0.4.32" +version = "0.4.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc14f565cf027a105f7a44ccf9e5b424348421a1d8952a8fc9d499d313107789" +checksum = "6e8ccc4ea9f6acc32d102c0f6d471d11d913ad15f20c04de743374861fa1d414" [[package]] name = "concurrent-queue" @@ -748,33 +727,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3d52eff69cd5e647efe296129160853a42795992097e8af39800e1060caeea9b" [[package]] -name = "cookie" -version = "0.18.2" +name = "core-foundation" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a373e3602691c3cdea496d2f0ee5935151e6168fe87739483c463db1b2f2f87" +checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6" dependencies = [ - "percent-encoding", - "time", - "version_check", + "core-foundation-sys", + "libc", ] [[package]] -name = "cookie_store" -version = "0.22.1" +name = "core-foundation-sys" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15b2c103cf610ec6cae3da84a766285b42fd16aad564758459e6ecf128c75206" -dependencies = [ - "cookie", - "document-features", - "idna", - "indexmap", - "log", - "serde", - "serde_derive", - "serde_json", - "time", - "url", -] +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "cpp_demangle" @@ -802,36 +768,33 @@ dependencies = [ [[package]] name = "cpufeatures" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b2a41393f66f16b0823bb79094d54ac5fbd34ab292ddafb9a0456ac9f87d201" +checksum = "5ca28b0ae3115b884660db4118d803791fd6756b6e88f39c0f3f7859060d7566" dependencies = [ "libc", ] [[package]] name = "cranelift-assembler-x64" -version = "0.134.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16c273ba1bfc3a1cb27cb4f83df27134f3cb638a61f5ed79ab22cf86eb13da0d" +version = "0.136.0-dev" +source = "git+https://github.com/bytecodealliance/wasmtime?rev=f6b3140dbb1d9b436ef523d14740292c956b0364#f6b3140dbb1d9b436ef523d14740292c956b0364" dependencies = [ "cranelift-assembler-x64-meta", ] [[package]] name = "cranelift-assembler-x64-meta" -version = "0.134.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbf8909326a466739e83ffe11e74c0c8c6b4bfa911b612aece915daa746cff58" +version = "0.136.0-dev" +source = "git+https://github.com/bytecodealliance/wasmtime?rev=f6b3140dbb1d9b436ef523d14740292c956b0364#f6b3140dbb1d9b436ef523d14740292c956b0364" dependencies = [ "cranelift-srcgen", ] [[package]] name = "cranelift-bforest" -version = "0.134.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3cb26b06b54d8b2f8cdf4d440a32fc3b3b91c71c162333a69a70a66fa265fc45" +version = "0.136.0-dev" +source = "git+https://github.com/bytecodealliance/wasmtime?rev=f6b3140dbb1d9b436ef523d14740292c956b0364#f6b3140dbb1d9b436ef523d14740292c956b0364" dependencies = [ "cranelift-entity", "wasmtime-internal-core", @@ -839,9 +802,8 @@ dependencies = [ [[package]] name = "cranelift-bitset" -version = "0.134.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ce4e57dbb7f73d08011808a19787c3a03c3e7854b2a479ed0b788915fb671be" +version = "0.136.0-dev" +source = "git+https://github.com/bytecodealliance/wasmtime?rev=f6b3140dbb1d9b436ef523d14740292c956b0364#f6b3140dbb1d9b436ef523d14740292c956b0364" dependencies = [ "serde", "serde_derive", @@ -850,9 +812,8 @@ dependencies = [ [[package]] name = "cranelift-codegen" -version = "0.134.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74b0a8968f33d0bc13bc86fe70dd3947e93acc9f358ed9848e9988448972a9be" +version = "0.136.0-dev" +source = "git+https://github.com/bytecodealliance/wasmtime?rev=f6b3140dbb1d9b436ef523d14740292c956b0364#f6b3140dbb1d9b436ef523d14740292c956b0364" dependencies = [ "bumpalo", "cranelift-assembler-x64", @@ -881,9 +842,8 @@ dependencies = [ [[package]] name = "cranelift-codegen-meta" -version = "0.134.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f69e8e2fe9deb48ef7b8d0c61612f8c1e2277d0421c201e30a4c844a4ebac698" +version = "0.136.0-dev" +source = "git+https://github.com/bytecodealliance/wasmtime?rev=f6b3140dbb1d9b436ef523d14740292c956b0364#f6b3140dbb1d9b436ef523d14740292c956b0364" dependencies = [ "cranelift-assembler-x64-meta", "cranelift-codegen-shared", @@ -894,24 +854,21 @@ dependencies = [ [[package]] name = "cranelift-codegen-shared" -version = "0.134.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad4db1e87a65e9c5a832e3ede160830d4e34df938ac38b5604819f8825687e73" +version = "0.136.0-dev" +source = "git+https://github.com/bytecodealliance/wasmtime?rev=f6b3140dbb1d9b436ef523d14740292c956b0364#f6b3140dbb1d9b436ef523d14740292c956b0364" [[package]] name = "cranelift-control" -version = "0.134.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9248cd37bb6ec460981f57ead368e32b1eca7a207ad50e3e9c7adc3b161f20e9" +version = "0.136.0-dev" +source = "git+https://github.com/bytecodealliance/wasmtime?rev=f6b3140dbb1d9b436ef523d14740292c956b0364#f6b3140dbb1d9b436ef523d14740292c956b0364" dependencies = [ "arbitrary", ] [[package]] name = "cranelift-entity" -version = "0.134.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b8bc91c0a3530d132acbf118965dabe9a084029eb0fa74b64760360dec3316" +version = "0.136.0-dev" +source = "git+https://github.com/bytecodealliance/wasmtime?rev=f6b3140dbb1d9b436ef523d14740292c956b0364#f6b3140dbb1d9b436ef523d14740292c956b0364" dependencies = [ "cranelift-bitset", "serde", @@ -921,9 +878,8 @@ dependencies = [ [[package]] name = "cranelift-frontend" -version = "0.134.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5086f2ebc084a98b387e522680f62ef65a512444d8382151e03088716d3a1714" +version = "0.136.0-dev" +source = "git+https://github.com/bytecodealliance/wasmtime?rev=f6b3140dbb1d9b436ef523d14740292c956b0364#f6b3140dbb1d9b436ef523d14740292c956b0364" dependencies = [ "cranelift-codegen", "hashbrown 0.17.1", @@ -934,15 +890,13 @@ dependencies = [ [[package]] name = "cranelift-isle" -version = "0.134.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6a658670f779afc2df083be201ebe54805f69b7b9ffa8dab04142b72ed751c9" +version = "0.136.0-dev" +source = "git+https://github.com/bytecodealliance/wasmtime?rev=f6b3140dbb1d9b436ef523d14740292c956b0364#f6b3140dbb1d9b436ef523d14740292c956b0364" [[package]] name = "cranelift-native" -version = "0.134.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16a41083b1fd953debd6f32d21fcda765b258f323ce907fdd6b4715f2769c478" +version = "0.136.0-dev" +source = "git+https://github.com/bytecodealliance/wasmtime?rev=f6b3140dbb1d9b436ef523d14740292c956b0364#f6b3140dbb1d9b436ef523d14740292c956b0364" dependencies = [ "cranelift-codegen", "libc", @@ -951,9 +905,8 @@ dependencies = [ [[package]] name = "cranelift-srcgen" -version = "0.134.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "244d9cd0759b0a3ccdd587cafb13434f9ea43b5c9d07701d277daf5cd0f7b7c1" +version = "0.136.0-dev" +source = "git+https://github.com/bytecodealliance/wasmtime?rev=f6b3140dbb1d9b436ef523d14740292c956b0364#f6b3140dbb1d9b436ef523d14740292c956b0364" [[package]] name = "crc" @@ -1162,7 +1115,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b5eed333089e2e1c1ac8c6c0398e5e2497b4c9926ca6d0365ed1e099afa5bc23" dependencies = [ "cfg-if", - "cpufeatures 0.3.0", + "cpufeatures 0.3.1", "curve25519-dalek-derive", "digest 0.11.3", "fiat-crypto 0.3.0", @@ -1369,16 +1322,7 @@ checksum = "c6232dd377dcc64799954cbd3a9bb882e9cdc1308ccd87b1c098f1fb2eaf82a8" dependencies = [ "proc-macro2", "quote", - "syn 3.0.4", -] - -[[package]] -name = "document-features" -version = "0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4b8a88685455ed29a21542a33abd9cb6510b6b129abadabdcef0f4c55bc8f61" -dependencies = [ - "litrs", + "syn 3.0.5", ] [[package]] @@ -1622,9 +1566,9 @@ checksum = "64cd1e32ddd350061ae6edb1b082d7c54915b5c672c389143b9a63403a109f24" [[package]] name = "find-msvc-tools" -version = "0.1.11" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d45db016d36b838f563236e9193d0ee6ce38f3f68b6c94e914b4929c96bbb890" +checksum = "3e0f1c7c3a72c66fd80abe965175f7523475c0489a87d3ff9d6e8c87d87a9d2d" [[package]] name = "fixedbitset" @@ -1634,12 +1578,12 @@ checksum = "1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99" [[package]] name = "flate2" -version = "1.1.9" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "843fba2746e448b37e26a819579957415c8cef339bf08564fe8b7ddbd959573c" +checksum = "6e634e2e0ebac1ee034020da1ca582e17ffe4e0f5e985823721e168928136dcb" dependencies = [ "crc32fast", - "miniz_oxide", + "miniz_oxide 0.9.1", "zlib-rs", ] @@ -1746,7 +1690,7 @@ checksum = "9fb9654ba8355388abeb8dcb4fc62f511300867002afc858860463bdd9fe0c44" dependencies = [ "proc-macro2", "quote", - "syn 3.0.4", + "syn 3.0.5", ] [[package]] @@ -1844,9 +1788,9 @@ checksum = "e4eba85ea1d0a966a983acd07deee566e67395d2d96b6fb39e62b5a833f1eb0b" [[package]] name = "granit-parser" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ccd1be9ebf2bd5520dbfcfb72b70ef492f654061299a097056f3e73410e38ec" +checksum = "65ec0d45986cd51c847c75c5b69a00852c4fc84d0e5e79f041173f73437d0cdf" dependencies = [ "arraydeque", "smallvec", @@ -2045,9 +1989,9 @@ dependencies = [ [[package]] name = "hyper" -version = "1.11.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d22053281f852e11534f5198498373cbb59295120a20771d90f7ed1897490a72" +checksum = "27b501faa50e7a26c3d3560ca625132f4078a17771f4810baf70475ae48cbe43" dependencies = [ "atomic-waker", "bytes", @@ -2065,19 +2009,42 @@ dependencies = [ "want", ] +[[package]] +name = "hyper-rustls" +version = "0.27.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33ca68d021ef39cf6463ab54c1d0f5daf03377b70561305bb89a8f83aab66e0f" +dependencies = [ + "http", + "hyper", + "hyper-util", + "rustls", + "tokio", + "tokio-rustls", + "tower-service", +] + [[package]] name = "hyper-util" version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96547c2556ec9d12fb1578c4eaf448b04993e7fb79cbaad930a656880a6bdfa0" dependencies = [ + "base64 0.22.1", "bytes", + "futures-channel", + "futures-util", "http", "http-body", "hyper", + "ipnet", + "libc", + "percent-encoding", "pin-project-lite", + "socket2", "tokio", "tower-service", + "tracing", ] [[package]] @@ -2205,9 +2172,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.14.0" +version = "2.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9" +checksum = "cc4e190f5d26ca7051642629da2c52fc03bde85a03197c99408dcd291734c855" dependencies = [ "equivalent", "hashbrown 0.17.1", @@ -2420,9 +2387,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.104" +version = "0.3.105" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e0c1080212aad755ea003d18543e8768dd432c48819efd73a7bf1e39b7a5a3a" +checksum = "ce57d20d1ea864ce2ac172ab472d409214f4fd359f0b2a2775abdf522e2af99e" dependencies = [ "cfg-if", "futures-util", @@ -2501,9 +2468,9 @@ checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" [[package]] name = "libredox" -version = "0.1.21" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7955dfc218a8afb29dfeffd540e3a6e96baeb94fe7138228dd7cc6937fbbf96" +checksum = "8d8f1ea3f21fd3405dcaf6c9b5c1630af9afc422d9073ea39c5f6d6c772e08ed" dependencies = [ "libc", ] @@ -2520,12 +2487,6 @@ version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "47d9d19d1d6efa0109d2f65ff4c85cddd50bd572e5a00127ab10987290bcefae" -[[package]] -name = "litrs" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11d3d7f243d5c5a8b9bb5d6dd2b1602c0cb0b9db1621bafc7ed66e35ff9fe092" - [[package]] name = "lock_api" version = "0.4.14" @@ -2617,9 +2578,9 @@ checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" [[package]] name = "memfd" -version = "0.6.5" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad38eb12aea514a0466ea40a80fd8cc83637065948eb4a426e4aa46261175227" +checksum = "57804b2c9b69967f1536a56f86297e367a33b19e98852ed624b84551cdbc0d90" dependencies = [ "rustix", ] @@ -2666,10 +2627,20 @@ dependencies = [ ] [[package]] -name = "mio" -version = "1.2.2" +name = "miniz_oxide" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30d65c71f1ce40ab09135ce117d742b9f8a19ff91a41a8b57ed50bc2de59c427" +checksum = "b63fbc4a50860e98e7b2aa7804ded1db5cbc3aff9193adaff57a6931bf7c4b4c" +dependencies = [ + "adler2", + "simd-adler32", +] + +[[package]] +name = "mio" +version = "1.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b18443e9c262bfe8fa82f51666e2642c53393f7e5c27b3e1aeab922cff5b9d8" dependencies = [ "libc", "log", @@ -2821,7 +2792,7 @@ checksum = "e4e98dc3b890f6c23a0f9d3d491a2823d0dea0fa656302a13dd225fa924112a8" dependencies = [ "proc-macro2", "quote", - "syn 3.0.4", + "syn 3.0.5", ] [[package]] @@ -2872,9 +2843,9 @@ dependencies = [ [[package]] name = "object" -version = "0.39.1" +version = "0.40.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e5a6c098c7a3b6547378093f5cc30bc54fd361ce711e05293a5cc589562739b" +checksum = "dd229a0361b9d0d4396176e02d65897f487eebeab7caa6d443855ee152ca0b9c" dependencies = [ "crc32fast", "hashbrown 0.17.1", @@ -2918,6 +2889,12 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" +[[package]] +name = "openssl-probe" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c87def4c32ab89d880effc9e097653c8da5d6ef28e6b539d313baaacfbafcbe" + [[package]] name = "option-ext" version = "0.2.0" @@ -3015,7 +2992,7 @@ dependencies = [ "serde_json", "time", "tokio", - "toml 1.1.4+spec-1.1.0", + "toml", "tracing", "uuid", "walkdir", @@ -3034,11 +3011,11 @@ dependencies = [ [[package]] name = "pem" -version = "3.0.6" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d30c53c26bc5b31a98cd02d20f25a7c8567146caf63ed593a9d87b2775291be" +checksum = "d354a98a3d1251555de99e8fdd8afda05573c31b82f59063a7b0a29b5527f120" dependencies = [ - "base64 0.22.1", + "base64 0.23.1", "serde_core", ] @@ -3172,7 +3149,7 @@ dependencies = [ "crc32fast", "fdeflate", "flate2", - "miniz_oxide", + "miniz_oxide 0.8.9", ] [[package]] @@ -3206,9 +3183,9 @@ checksum = "05c8b63e8d9609db387f0324918f81d68fe27748f084ef092fb35954d0539a85" [[package]] name = "portable-atomic-util" -version = "0.2.7" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2a106d1259c23fac8e543272398ae0e3c0b8d33c88ed73d0cc71b0f1d902618" +checksum = "10ab3eb7f3becc3a1cbc4f2c6f20267996cfc1a6467a873763411b136a122715" dependencies = [ "portable-atomic", ] @@ -3242,9 +3219,9 @@ checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" [[package]] name = "ppmd-rust" -version = "1.4.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efca4c95a19a79d1c98f791f10aebd5c1363b473244630bb7dbde1dc98455a24" +checksum = "9e9219bcb9d7aca6b2f63c83cf100cf78bcd619ac46e6ecbd0dd90869a39345d" [[package]] name = "prettyplease" @@ -3454,14 +3431,13 @@ checksum = "1c8d9ca532f185d5d4db7a7c9d51420b452168ea1c2b913953281bd6fe1fcbd0" dependencies = [ "proc-macro2", "quote", - "syn 3.0.4", + "syn 3.0.5", ] [[package]] name = "pulley-interpreter" -version = "47.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed2bd641cb6a3ec5bffe60405568933163e0ea619da0943e9d2a417ceaa7fe82" +version = "49.0.0-dev" +source = "git+https://github.com/bytecodealliance/wasmtime?rev=f6b3140dbb1d9b436ef523d14740292c956b0364#f6b3140dbb1d9b436ef523d14740292c956b0364" dependencies = [ "cranelift-bitset", "log", @@ -3471,9 +3447,8 @@ dependencies = [ [[package]] name = "pulley-macros" -version = "47.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3fd4024d1e559eaf5579bc8ad84a2b5915f34b47acc13a06ffba7dac401b166" +version = "49.0.0-dev" +source = "git+https://github.com/bytecodealliance/wasmtime?rev=f6b3140dbb1d9b436ef523d14740292c956b0364#f6b3140dbb1d9b436ef523d14740292c956b0364" dependencies = [ "proc-macro2", "quote", @@ -3482,10 +3457,10 @@ dependencies = [ [[package]] name = "pumpkin" -version = "0.1.0-dev+26.2-26.40" -source = "git+https://github.com/Pumpkin-MC/Pumpkin.git?branch=master#37437ee0a013f3d8a776227516be151f5a490b4c" +version = "0.1.0-dev+26.2-26.45" +source = "git+https://github.com/Pumpkin-MC/Pumpkin.git?branch=master#55762a50d21ecaff480c95f1ac4017342b017d02" dependencies = [ - "aes 0.9.2", + "aes 0.9.3", "arc-swap", "async-trait", "axum", @@ -3503,6 +3478,7 @@ dependencies = [ "hyper", "image", "indexmap", + "libc", "libloading 0.9.0", "notify", "num-bigint 0.5.1", @@ -3511,17 +3487,21 @@ dependencies = [ "pumpkin-codecs", "pumpkin-config", "pumpkin-data", + "pumpkin-gametest", "pumpkin-inventory", "pumpkin-macros", "pumpkin-nbt", + "pumpkin-plugin-runtime", "pumpkin-protocol", "pumpkin-util", "pumpkin-world", "rand 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)", "rayon", + "reqwest", "rsa", "rustc-hash", "rustc_version_runtime", + "rustls", "rustyline", "serde", "serde_json", @@ -3536,10 +3516,9 @@ dependencies = [ "tracing", "tracing-serde-structured", "tracing-subscriber", - "ureq", "uuid", - "wasm-encoder 0.257.1", - "wasmparser 0.257.1", + "wasm-encoder", + "wasmparser", "wasmtime", "wasmtime-wasi", "wasmtime-wasi-http", @@ -3548,19 +3527,19 @@ dependencies = [ [[package]] name = "pumpkin-api-macros" -version = "0.1.0-dev+26.2-26.40" -source = "git+https://github.com/Pumpkin-MC/Pumpkin.git?branch=master#37437ee0a013f3d8a776227516be151f5a490b4c" +version = "0.1.0-dev+26.2-26.45" +source = "git+https://github.com/Pumpkin-MC/Pumpkin.git?branch=master#55762a50d21ecaff480c95f1ac4017342b017d02" dependencies = [ "proc-macro-error2", "proc-macro2", "quote", - "syn 3.0.4", + "syn 3.0.5", ] [[package]] name = "pumpkin-codecs" -version = "0.1.0-dev+26.2-26.40" -source = "git+https://github.com/Pumpkin-MC/Pumpkin.git?branch=master#37437ee0a013f3d8a776227516be151f5a490b4c" +version = "0.1.0-dev+26.2-26.45" +source = "git+https://github.com/Pumpkin-MC/Pumpkin.git?branch=master#55762a50d21ecaff480c95f1ac4017342b017d02" dependencies = [ "serde_json", "tracing", @@ -3568,20 +3547,20 @@ dependencies = [ [[package]] name = "pumpkin-config" -version = "0.1.0-dev+26.2-26.40" -source = "git+https://github.com/Pumpkin-MC/Pumpkin.git?branch=master#37437ee0a013f3d8a776227516be151f5a490b4c" +version = "0.1.0-dev+26.2-26.45" +source = "git+https://github.com/Pumpkin-MC/Pumpkin.git?branch=master#55762a50d21ecaff480c95f1ac4017342b017d02" dependencies = [ "pumpkin-util", "serde", - "toml 1.1.4+spec-1.1.0", + "toml", "tracing", "uuid", ] [[package]] name = "pumpkin-data" -version = "0.1.0-dev+26.2-26.40" -source = "git+https://github.com/Pumpkin-MC/Pumpkin.git?branch=master#37437ee0a013f3d8a776227516be151f5a490b4c" +version = "0.1.0-dev+26.2-26.45" +source = "git+https://github.com/Pumpkin-MC/Pumpkin.git?branch=master#55762a50d21ecaff480c95f1ac4017342b017d02" dependencies = [ "crc-fast", "phf", @@ -3591,37 +3570,55 @@ dependencies = [ "serde", ] +[[package]] +name = "pumpkin-gametest" +version = "0.1.0-dev+26.2-26.45" +source = "git+https://github.com/Pumpkin-MC/Pumpkin.git?branch=master#55762a50d21ecaff480c95f1ac4017342b017d02" +dependencies = [ + "async-trait", + "pumpkin-data", + "pumpkin-macros", + "pumpkin-nbt", + "pumpkin-util", + "pumpkin-world", + "serde", + "serde_json", + "thiserror 2.0.20", +] + [[package]] name = "pumpkin-inventory" -version = "0.1.0-dev+26.2-26.40" -source = "git+https://github.com/Pumpkin-MC/Pumpkin.git?branch=master#37437ee0a013f3d8a776227516be151f5a490b4c" +version = "0.1.0-dev+26.2-26.45" +source = "git+https://github.com/Pumpkin-MC/Pumpkin.git?branch=master#55762a50d21ecaff480c95f1ac4017342b017d02" dependencies = [ "pumpkin-data", + "pumpkin-nbt", "pumpkin-protocol", "pumpkin-util", "pumpkin-world", "rand 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-hash", "thiserror 2.0.20", "tracing", ] [[package]] name = "pumpkin-macros" -version = "0.1.0-dev+26.2-26.40" -source = "git+https://github.com/Pumpkin-MC/Pumpkin.git?branch=master#37437ee0a013f3d8a776227516be151f5a490b4c" +version = "0.1.0-dev+26.2-26.45" +source = "git+https://github.com/Pumpkin-MC/Pumpkin.git?branch=master#55762a50d21ecaff480c95f1ac4017342b017d02" dependencies = [ "heck", "proc-macro-error2", "proc-macro2", "pumpkin-data", "quote", - "syn 3.0.4", + "syn 3.0.5", ] [[package]] name = "pumpkin-nbt" -version = "0.1.0-dev+26.2-26.40" -source = "git+https://github.com/Pumpkin-MC/Pumpkin.git?branch=master#37437ee0a013f3d8a776227516be151f5a490b4c" +version = "0.1.0-dev+26.2-26.45" +source = "git+https://github.com/Pumpkin-MC/Pumpkin.git?branch=master#55762a50d21ecaff480c95f1ac4017342b017d02" dependencies = [ "bytes", "cesu8", @@ -3633,14 +3630,27 @@ dependencies = [ ] [[package]] -name = "pumpkin-protocol" -version = "0.1.0-dev+26.2-26.40" -source = "git+https://github.com/Pumpkin-MC/Pumpkin.git?branch=master#37437ee0a013f3d8a776227516be151f5a490b4c" +name = "pumpkin-plugin-runtime" +version = "0.1.0-dev+26.2-26.45" +source = "git+https://github.com/Pumpkin-MC/Pumpkin.git?branch=master#55762a50d21ecaff480c95f1ac4017342b017d02" dependencies = [ - "aes 0.9.2", + "futures", + "thiserror 2.0.20", + "tokio", + "tracing", + "wasmtime", +] + +[[package]] +name = "pumpkin-protocol" +version = "0.1.0-dev+26.2-26.45" +source = "git+https://github.com/Pumpkin-MC/Pumpkin.git?branch=master#55762a50d21ecaff480c95f1ac4017342b017d02" +dependencies = [ + "aes 0.9.3", "async-compression", "bitflags 2.13.1", "bytes", + "cesu8", "cfb8", "flate2", "hybrid-array", @@ -3659,8 +3669,8 @@ dependencies = [ [[package]] name = "pumpkin-util" -version = "0.1.0-dev+26.2-26.40" -source = "git+https://github.com/Pumpkin-MC/Pumpkin.git?branch=master#37437ee0a013f3d8a776227516be151f5a490b4c" +version = "0.1.0-dev+26.2-26.45" +source = "git+https://github.com/Pumpkin-MC/Pumpkin.git?branch=master#55762a50d21ecaff480c95f1ac4017342b017d02" dependencies = [ "base64 0.23.1", "bytes", @@ -3674,19 +3684,21 @@ dependencies = [ "p384 0.14.0", "pumpkin-codecs", "pumpkin-nbt", + "reqwest", "rsa", + "rustls", "serde", "serde_json", "sha2 0.11.0", "thiserror 2.0.20", - "ureq", "uuid", + "webpki-root-certs", ] [[package]] name = "pumpkin-world" -version = "0.1.0-dev+26.2-26.40" -source = "git+https://github.com/Pumpkin-MC/Pumpkin.git?branch=master#37437ee0a013f3d8a776227516be151f5a490b4c" +version = "0.1.0-dev+26.2-26.45" +source = "git+https://github.com/Pumpkin-MC/Pumpkin.git?branch=master#55762a50d21ecaff480c95f1ac4017342b017d02" dependencies = [ "arc-swap", "bitflags 2.13.1", @@ -3774,7 +3786,7 @@ dependencies = [ [[package]] name = "rand" version = "0.10.2" -source = "git+https://github.com/rust-random/rand#bb1262f703ca04e4ce56be78e1dc4e204cd6a998" +source = "git+https://github.com/rust-random/rand#33dea4fcd044c3425fd8f35ffc9d203c652c3d73" dependencies = [ "chacha20 0.10.2", "getrandom 0.4.3", @@ -3818,9 +3830,9 @@ dependencies = [ [[package]] name = "rcgen" -version = "0.14.9" +version = "0.14.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "091e7a8e7d86e6feb87a27ce8e2cba29d49eff9507afeebefab7eeb2ca667fb4" +checksum = "8774e05a7d0de114588e6a28fe7e71694b82614ed569d86d8b389dfbc98b8ad8" dependencies = [ "pem", "ring", @@ -3914,6 +3926,43 @@ dependencies = [ "bytecheck", ] +[[package]] +name = "reqwest" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "219c5811de6525e5416c7d5d53bb656d3afdbc6c5af816e0802bcfa42dbdc1c3" +dependencies = [ + "base64 0.22.1", + "bytes", + "futures-core", + "h2", + "http", + "http-body", + "http-body-util", + "hyper", + "hyper-rustls", + "hyper-util", + "js-sys", + "log", + "percent-encoding", + "pin-project-lite", + "rustls", + "rustls-pki-types", + "rustls-platform-verifier", + "serde", + "serde_json", + "sync_wrapper", + "tokio", + "tokio-rustls", + "tower", + "tower-http", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + [[package]] name = "rfc6979" version = "0.4.0" @@ -3975,7 +4024,7 @@ checksum = "1c25ef604ac7dd839d44d64648952ea23c97866f124ff671b0ed2cf3ad9bb06e" dependencies = [ "proc-macro2", "quote", - "syn 3.0.4", + "syn 3.0.5", ] [[package]] @@ -3998,9 +4047,9 @@ dependencies = [ [[package]] name = "rtc" -version = "0.20.3" +version = "0.20.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e55da8e478486106f04db1ccba177ae3260fb12899982cd5cddf2ac0e1cdcfe9" +checksum = "66355ae7cad547376873a2ee7968eee1e3727492a241c05bf511b01db4cef077" dependencies = [ "bytes", "hex", @@ -4033,9 +4082,9 @@ dependencies = [ [[package]] name = "rtc-datachannel" -version = "0.20.3" +version = "0.20.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bef39b017b5cf0a3511eab456505556b320e0aa04d4547b015ecba9f844fe43" +checksum = "c1767cfa2571e226e16d1594518c5160d7bef10c6e0fe7a60a8f979051233ea1" dependencies = [ "bytes", "log", @@ -4046,9 +4095,9 @@ dependencies = [ [[package]] name = "rtc-dtls" -version = "0.20.3" +version = "0.20.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03a1be8a58a72a257c233ad9a2f92130c15994e02f7a1981379fdebbe0d8761a" +checksum = "4eb84feb0331735ab54ba58bfeb15300b517c283c5ee45e9f94d8727e6573ec5" dependencies = [ "aes 0.8.4", "bytecheck", @@ -4079,9 +4128,9 @@ dependencies = [ [[package]] name = "rtc-ice" -version = "0.20.3" +version = "0.20.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "640c7ecb9a09d21c0d4ba27b3ff22adb07cce90d23a7bce7c82bcbe424844e31" +checksum = "9ee1c117265c3460ef2d88b54bdd5048c7ee05d5de948310e9ca053ff5154f74" dependencies = [ "bytes", "crc", @@ -4098,9 +4147,9 @@ dependencies = [ [[package]] name = "rtc-interceptor" -version = "0.20.3" +version = "0.20.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9436633af4a6beff6fee08c99464012017fcd1e0a4c0559b1f0d733e8812217a" +checksum = "a2a76412e39ae1a8a024be246009ffb5e6300f9703bc7b1ba41a3e0e1c5e63c1" dependencies = [ "log", "rand 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -4113,9 +4162,9 @@ dependencies = [ [[package]] name = "rtc-interceptor-derive" -version = "0.20.3" +version = "0.20.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3563dafffb11e99264cbfa87c45d806c349c701a96ea3cf3c4778ae3c5da63b4" +checksum = "57385751766059daa81c7badbef27b894c358057be0413bf329875c6950ae125" dependencies = [ "proc-macro2", "quote", @@ -4124,9 +4173,9 @@ dependencies = [ [[package]] name = "rtc-mdns" -version = "0.20.3" +version = "0.20.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4db343dbcd1445783ac9f832e350775e4e655b2c890bead7d13dca1219e0ac5" +checksum = "52e1e0868d134ff0f10cd6ee71ad0d53c4a81a733f9950947eb8806b0a090159" dependencies = [ "bytes", "log", @@ -4137,9 +4186,9 @@ dependencies = [ [[package]] name = "rtc-media" -version = "0.20.3" +version = "0.20.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "709a571ed5d88854f3f8c0b92e4a445d77ee54fd33dd45f9297a3d91e3e96d67" +checksum = "fdd79fb066099a90edd43dfe5ef296021218def9070ce39dcd0756e309e8945f" dependencies = [ "byteorder", "bytes", @@ -4151,9 +4200,9 @@ dependencies = [ [[package]] name = "rtc-rtcp" -version = "0.20.3" +version = "0.20.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8817201df4a87008528804073d2dddfefd08eecb44afe6f6d61f7fb1beed72d0" +checksum = "b515f133b14a119a3862c34b36c807bb985e90dc64515b2283b8e9a177d6ae3f" dependencies = [ "bytes", "rtc-shared", @@ -4161,9 +4210,9 @@ dependencies = [ [[package]] name = "rtc-rtp" -version = "0.20.3" +version = "0.20.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2aa84012c4a3d855586878e9f891af5062bd5690278b2c54bfcfb0a0ddd9098" +checksum = "f8a5509cd26a487309ac0d933b100af8976c399c1082009d4d4364a205968127" dependencies = [ "bytes", "memchr", @@ -4174,9 +4223,9 @@ dependencies = [ [[package]] name = "rtc-sctp" -version = "0.20.3" +version = "0.20.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78317cf685b6cde3dbd1cd8e7c9f373e74f00dce00000a25c14c6ddb3378da86" +checksum = "2f786b8224032e25084a52401fcc28a8b6a4a5b1b1971152ad01113279628861" dependencies = [ "bytes", "crc32c", @@ -4190,9 +4239,9 @@ dependencies = [ [[package]] name = "rtc-sdp" -version = "0.20.3" +version = "0.20.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54ab04410496c8ea47350490298fb135f5432f8fa1aa88edf5dadc81c855a324" +checksum = "6cb942d52e95a0b6b6178374e88e90b069d8aa7078e6e581e1490db2521978e8" dependencies = [ "rand 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)", "rtc-shared", @@ -4201,9 +4250,9 @@ dependencies = [ [[package]] name = "rtc-shared" -version = "0.20.3" +version = "0.20.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dae32667b8c9f15223172ce27471e02791e2b401de559b3ea02a6ec93ff280e0" +checksum = "393280ae9959b5245df9eb38a5cd02b373a98021599d36111c339a4696bf8488" dependencies = [ "aes 0.8.4", "aes-gcm", @@ -4223,9 +4272,9 @@ dependencies = [ [[package]] name = "rtc-srtp" -version = "0.20.3" +version = "0.20.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "413d48daef797c98c12ff91988abac36d44c81974f0a4b0658549174230819cd" +checksum = "c77ba0abc312a93840746c27d4d1f16efc71baa9d3838ca9dda65e478e41461d" dependencies = [ "aes 0.8.4", "byteorder", @@ -4242,9 +4291,9 @@ dependencies = [ [[package]] name = "rtc-stun" -version = "0.20.3" +version = "0.20.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4b4540b2b8ff7155ef9e95a3b492a7830e974e2fa9ce4b76ec315c4a6b4953d" +checksum = "dc22012b96070d048d16bd6d2b0ca451bc8e920a28fb850b8f9644f21e32a826" dependencies = [ "base64 0.22.1", "bytes", @@ -4261,9 +4310,9 @@ dependencies = [ [[package]] name = "rtc-turn" -version = "0.20.3" +version = "0.20.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "449365ff0b87488d5f9532409813e76e1f0f5965ef31ce6fcde9aa786c852c6c" +checksum = "55fd9c23215c3e22ae698b423ae86992a89cb0c24440e3e7e2932dcad75aa3f0" dependencies = [ "bytes", "log", @@ -4386,6 +4435,18 @@ dependencies = [ "zeroize", ] +[[package]] +name = "rustls-native-certs" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dab5152771c58876a2146916e53e35057e1a4dfa2b9df0f0305b07f611fdea4d" +dependencies = [ + "openssl-probe", + "rustls-pki-types", + "schannel", + "security-framework", +] + [[package]] name = "rustls-pki-types" version = "1.15.1" @@ -4395,6 +4456,33 @@ dependencies = [ "zeroize", ] +[[package]] +name = "rustls-platform-verifier" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d1e2536ce4f35f4846aa13bff16bd0ff40157cdb14cc056c7b14ba41233ba0" +dependencies = [ + "core-foundation", + "core-foundation-sys", + "jni", + "log", + "once_cell", + "rustls", + "rustls-native-certs", + "rustls-platform-verifier-android", + "rustls-webpki", + "security-framework", + "security-framework-sys", + "webpki-root-certs", + "windows-sys 0.61.2", +] + +[[package]] +name = "rustls-platform-verifier-android" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f" + [[package]] name = "rustls-webpki" version = "0.103.15" @@ -4452,6 +4540,15 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c62751faa8bc286982334a082fe125184a29fc89d17775766e4f891b7d726980" +[[package]] +name = "schannel" +version = "0.1.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91c1b7e4904c873ef0710c1f407dde2e6287de2bebc1bbbf7d430bb7cbffd939" +dependencies = [ + "windows-sys 0.61.2", +] + [[package]] name = "scopeguard" version = "1.2.0" @@ -4486,6 +4583,29 @@ dependencies = [ "zeroize", ] +[[package]] +name = "security-framework" +version = "3.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7f4bc775c73d9a02cde8bf7b2ec4c9d12743edf609006c7facc23998404cd1d" +dependencies = [ + "bitflags 2.13.1", + "core-foundation", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ce2691df843ecc5d231c0b14ece2acc3efb62c0a398c7e1d875f3983ce020e3" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "semver" version = "1.0.28" @@ -4508,9 +4628,9 @@ dependencies = [ [[package]] name = "serde-saphyr" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1ec1f5cac0eb96063c64b28705255a7ed6e7d77f95c1d25e9f8b8c928006ce1" +checksum = "3afb591f9cdb6223c88ba39269aff895620c7f0716dc42b705b5733d5c7c0823" dependencies = [ "annotate-snippets", "base64 0.23.1", @@ -4540,7 +4660,7 @@ checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" dependencies = [ "proc-macro2", "quote", - "syn 3.0.4", + "syn 3.0.5", ] [[package]] @@ -4564,7 +4684,7 @@ checksum = "8d3b1629de253c70a0508c3899572da79ca359fdab27c7920ff00406df418906" dependencies = [ "proc-macro2", "quote", - "syn 3.0.4", + "syn 3.0.5", ] [[package]] @@ -4604,7 +4724,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aacc4cc499359472b4abe1bf11d0b12e688af9a805fa5e3016f9a386dc2d0214" dependencies = [ "cfg-if", - "cpufeatures 0.3.0", + "cpufeatures 0.3.1", "digest 0.11.3", ] @@ -4626,7 +4746,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "446ba717509524cb3f22f17ecc096f10f4822d76ab5c0b9822c5f9c284e825f4" dependencies = [ "cfg-if", - "cpufeatures 0.3.0", + "cpufeatures 0.3.1", "digest 0.11.3", ] @@ -4729,9 +4849,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.15.2" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ed6a63f02c8539c91a8685a86f4099661ba3da017932f6ebbea6de3f0fa7c90" +checksum = "b9be42f50aa861c555654aa3a37f52f4b1074bacf4e48fe0ef7fa584e80f1f0f" dependencies = [ "serde", ] @@ -4821,9 +4941,9 @@ dependencies = [ [[package]] name = "syn" -version = "3.0.4" +version = "3.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6275cddf4610d1775e6d1fe9469b2e77d0f39fd98fb7450901b821e0c53649f" +checksum = "12df2e0110f65b775f769bb17ef989067a1d931b2eb822bd4346631eeada89f9" dependencies = [ "proc-macro2", "quote", @@ -4835,6 +4955,9 @@ name = "sync_wrapper" version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" +dependencies = [ + "futures-core", +] [[package]] name = "synstructure" @@ -4925,7 +5048,7 @@ checksum = "bc04cd3e1236dd4a98afca4569f2deb3f120e5422a4023be2cb683f8486292af" dependencies = [ "proc-macro2", "quote", - "syn 3.0.4", + "syn 3.0.5", ] [[package]] @@ -4982,9 +5105,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.12.0" +version = "1.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb4ebadaa0af04fab11ae01eb5f9fdb5f9c5b875506e210e71c07873528baa7f" +checksum = "4cf0ded5c4e56918d8f8a339e1bb67d038d3bc6d144ac407904015ba2e4cde9b" dependencies = [ "tinyvec_macros", ] @@ -5019,14 +5142,14 @@ checksum = "78773a2a397f451582ce068015985c33193cf6dea8b74d2a639fe457b2f07b0e" dependencies = [ "proc-macro2", "quote", - "syn 3.0.4", + "syn 3.0.5", ] [[package]] name = "tokio-rustls" -version = "0.26.4" +version = "0.26.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1729aa945f29d91ba541258c8df89027d5792d85a8841fb65e8bf0f4ede4ef61" +checksum = "b0c85f2c3ef0b1cd58b36682f4b17aaa995f0e5db534d85692b4903abce21f67" dependencies = [ "rustls", "tokio", @@ -5049,41 +5172,17 @@ dependencies = [ [[package]] name = "toml" -version = "0.9.12+spec-1.1.0" +version = "1.1.5+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf92845e79fc2e2def6a5d828f0801e29a2f8acc037becc5ab08595c7d5e9863" +checksum = "12c0ba9680044b4ce98d391a62094047eada0d64860b80166c39f4a6b5640785" dependencies = [ "indexmap", "serde_core", "serde_spanned", - "toml_datetime 0.7.5+spec-1.1.0", + "toml_datetime", "toml_parser", "toml_writer", - "winnow 0.7.15", -] - -[[package]] -name = "toml" -version = "1.1.4+spec-1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3aace63f4bbcdfc2c965b059de67119c89c4017a70d633be6c104910f67056f5" -dependencies = [ - "indexmap", - "serde_core", - "serde_spanned", - "toml_datetime 1.1.1+spec-1.1.0", - "toml_parser", - "toml_writer", - "winnow 1.0.4", -] - -[[package]] -name = "toml_datetime" -version = "0.7.5+spec-1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92e1cfed4a3038bc5a127e35a2d360f145e1f4b971b551a2ba5fd7aedf7e1347" -dependencies = [ - "serde_core", + "winnow", ] [[package]] @@ -5101,7 +5200,7 @@ version = "1.1.3+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d38ac1cf9b95face32296c0a3ede1fdc270627c9d9c02a7274dd6d960dc4d56" dependencies = [ - "winnow 1.0.4", + "winnow", ] [[package]] @@ -5125,6 +5224,24 @@ dependencies = [ "tower-service", ] +[[package]] +name = "tower-http" +version = "0.6.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cfcf7e2740e6fc6d4d688b4ef00650406bb94adf4731e43c096c3a19fe40840" +dependencies = [ + "bitflags 2.13.1", + "bytes", + "futures-util", + "http", + "http-body", + "pin-project-lite", + "tower", + "tower-layer", + "tower-service", + "url", +] + [[package]] name = "tower-layer" version = "0.3.3" @@ -5265,37 +5382,6 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" -[[package]] -name = "ureq" -version = "3.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "972d7902c8735f2695410b8aed7df6ed12a47394aa1c8d7af49f0497b731a94d" -dependencies = [ - "base64 0.23.1", - "cookie_store", - "log", - "percent-encoding", - "rustls", - "rustls-pki-types", - "serde", - "serde_json", - "ureq-proto", - "utf8-zero", - "webpki-roots", -] - -[[package]] -name = "ureq-proto" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da5f78b09e6941e1a0f2e30e695e4b120377b54d5e0aec11b594bb57b3971613" -dependencies = [ - "base64 0.23.1", - "http", - "httparse", - "log", -] - [[package]] name = "url" version = "2.5.8" @@ -5308,12 +5394,6 @@ dependencies = [ "serde", ] -[[package]] -name = "utf8-zero" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8c0a043c9540bae7c578c88f91dda8bd82e59ae27c21baca69c8b191aaf5a6e" - [[package]] name = "utf8_iter" version = "1.0.4" @@ -5372,9 +5452,9 @@ checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] name = "wasm-bindgen" -version = "0.2.127" +version = "0.2.128" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b70935747edd64d89de3efa29d73789b806c15798f8e7dca4d8ac356b50ce70" +checksum = "aecb87a33d3b0c5e3b7aa46336eaf486cffafbd281b195e4c8b80d50df2351bf" dependencies = [ "cfg-if", "once_cell", @@ -5384,10 +5464,20 @@ dependencies = [ ] [[package]] -name = "wasm-bindgen-macro" -version = "0.2.127" +name = "wasm-bindgen-futures" +version = "0.4.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77775f8f3f7217702089053b94958f8f54061a3f663417df76e19cbdcca29bc1" +checksum = "6ef4c5d3d2cdf5c54f4231181768f5510842e350db025faf1f7163b1030ed928" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.128" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a690d511e3c1a8b3a55e33511e3c2c00c78415cd23650f32b808627f5696b9ed" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -5395,51 +5485,53 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.127" +version = "0.2.128" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e11d33f857dc2fb11b8bc75aee111aa9cbeb12cd9f25efd3d4c2a3dd4e235284" +checksum = "411e4887f0071ef2d2164a9d5fdf2d20efbef78fccd3a78b0c10a1dc5295e48a" dependencies = [ "bumpalo", "proc-macro2", "quote", - "syn 2.0.119", + "syn 3.0.5", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.127" +version = "0.2.128" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ef64dbcc55df09c7e5a46182d181c2cfa3e925f3da937ea764728b4bbb9dcbf" +checksum = "81941cd78d0c92026c33e5e01312845a4cb1e9af3407f9134b100dd03144103e" dependencies = [ "unicode-ident", ] [[package]] name = "wasm-encoder" -version = "0.252.0" +version = "0.258.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8185ae345fa5687c054626ff9a50e7089797a343d9904d1dc9820eb4c4d3196f" +checksum = "e974fe6821a8cf64575d51ea2194e2c8f77e7b66e9afe7419ce8a97f9ee0d251" dependencies = [ "leb128fmt", - "wasmparser 0.252.0", + "wasmparser", ] [[package]] -name = "wasm-encoder" -version = "0.257.1" +name = "wasm-metadata" +version = "0.258.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d8ad9f0a39050867bda22e6486c316e2e52d20a42154d5bc433934bf738d085" +checksum = "18a11585adb92fe9b55ad1d760e8d8fb5d87e0d2e303cb8eed57f078d54293a2" dependencies = [ - "leb128fmt", - "wasmparser 0.257.1", + "anyhow", + "indexmap", + "wasm-encoder", + "wasmparser", ] [[package]] name = "wasmparser" -version = "0.252.0" +version = "0.258.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3eb099dcadcde5be9eef55e3a337128efd4e44b4c93122487e4d2e4e1c6627c" +checksum = "d9a61719f93a87b16d325921e251800c4833f8fab50fa21c7de73aed50086313" dependencies = [ "bitflags 2.13.1", "hashbrown 0.17.1", @@ -5448,33 +5540,21 @@ dependencies = [ "serde", ] -[[package]] -name = "wasmparser" -version = "0.257.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d92fc335fb6d48f46bda1d8b26b69e28320c15ac3272208333833d6e217e2b4a" -dependencies = [ - "bitflags 2.13.1", - "indexmap", - "semver", -] - [[package]] name = "wasmprinter" -version = "0.252.0" +version = "0.258.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7142797de29b35ab8dbf15c00f55fda75d409da4c423a8ab8bd6b667a785824b" +checksum = "3a65e30fb2cd3cc5cb7761a6064787b2abf017e6566d8d0dedf2bb7f55ad5383" dependencies = [ "anyhow", "termcolor", - "wasmparser 0.252.0", + "wasmparser", ] [[package]] name = "wasmtime" -version = "47.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cdaf5b8af5713146e3a62d940c71e3eb2ad1ebacfa6b55f0c8509a5b4b87718" +version = "49.0.0-dev" +source = "git+https://github.com/bytecodealliance/wasmtime?rev=f6b3140dbb1d9b436ef523d14740292c956b0364#f6b3140dbb1d9b436ef523d14740292c956b0364" dependencies = [ "addr2line", "async-trait", @@ -5482,7 +5562,6 @@ dependencies = [ "bumpalo", "bytes", "cc", - "cfg-if", "encoding_rs", "futures", "libc", @@ -5499,7 +5578,7 @@ dependencies = [ "serde_derive", "smallvec", "target-lexicon", - "wasmparser 0.252.0", + "wasmparser", "wasmtime-environ", "wasmtime-internal-cache", "wasmtime-internal-component-macro", @@ -5516,9 +5595,8 @@ dependencies = [ [[package]] name = "wasmtime-environ" -version = "47.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58793271eab7ec26bab99ca497131f8b37702e7dc39e2f2d18293e3e915b4964" +version = "49.0.0-dev" +source = "git+https://github.com/bytecodealliance/wasmtime?rev=f6b3140dbb1d9b436ef523d14740292c956b0364#f6b3140dbb1d9b436ef523d14740292c956b0364" dependencies = [ "anyhow", "cpp_demangle", @@ -5538,8 +5616,8 @@ dependencies = [ "sha2 0.10.9", "smallvec", "target-lexicon", - "wasm-encoder 0.252.0", - "wasmparser 0.252.0", + "wasm-encoder", + "wasmparser", "wasmprinter", "wasmtime-internal-component-util", "wasmtime-internal-core", @@ -5547,9 +5625,8 @@ dependencies = [ [[package]] name = "wasmtime-internal-cache" -version = "47.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ede02ba77442cab88a2ddd5d16373e8bc450b55e05de8be039b024987a53d5a7" +version = "49.0.0-dev" +source = "git+https://github.com/bytecodealliance/wasmtime?rev=f6b3140dbb1d9b436ef523d14740292c956b0364#f6b3140dbb1d9b436ef523d14740292c956b0364" dependencies = [ "base64 0.22.1", "directories-next", @@ -5559,7 +5636,7 @@ dependencies = [ "serde", "serde_derive", "sha2 0.10.9", - "toml 0.9.12+spec-1.1.0", + "toml", "wasmtime-environ", "windows-sys 0.61.2", "zstd", @@ -5567,9 +5644,8 @@ dependencies = [ [[package]] name = "wasmtime-internal-component-macro" -version = "47.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5bba4eff4804620bae04d7793308d97a0c5a8a97ea19e635452518f84560f84" +version = "49.0.0-dev" +source = "git+https://github.com/bytecodealliance/wasmtime?rev=f6b3140dbb1d9b436ef523d14740292c956b0364#f6b3140dbb1d9b436ef523d14740292c956b0364" dependencies = [ "anyhow", "proc-macro2", @@ -5582,15 +5658,13 @@ dependencies = [ [[package]] name = "wasmtime-internal-component-util" -version = "47.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d7032ff6b4d7a45e05be1cb32ec1756df5f2669f08296dbe2c61c3789dead2c" +version = "49.0.0-dev" +source = "git+https://github.com/bytecodealliance/wasmtime?rev=f6b3140dbb1d9b436ef523d14740292c956b0364#f6b3140dbb1d9b436ef523d14740292c956b0364" [[package]] name = "wasmtime-internal-core" -version = "47.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f41d3b2cb9c3de7b696690af070d408b5e357011832f8b8bb7fbb315dbb620ed" +version = "49.0.0-dev" +source = "git+https://github.com/bytecodealliance/wasmtime?rev=f6b3140dbb1d9b436ef523d14740292c956b0364#f6b3140dbb1d9b436ef523d14740292c956b0364" dependencies = [ "hashbrown 0.17.1", "libm", @@ -5599,11 +5673,9 @@ dependencies = [ [[package]] name = "wasmtime-internal-cranelift" -version = "47.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d5cda5b90247978dd2ba6ca4e309508da19e9244445671d2d0e6a34e5c3b847" +version = "49.0.0-dev" +source = "git+https://github.com/bytecodealliance/wasmtime?rev=f6b3140dbb1d9b436ef523d14740292c956b0364#f6b3140dbb1d9b436ef523d14740292c956b0364" dependencies = [ - "cfg-if", "cranelift-codegen", "cranelift-control", "cranelift-entity", @@ -5617,7 +5689,7 @@ dependencies = [ "smallvec", "target-lexicon", "thiserror 2.0.20", - "wasmparser 0.252.0", + "wasmparser", "wasmtime-environ", "wasmtime-internal-core", "wasmtime-internal-unwinder", @@ -5626,12 +5698,10 @@ dependencies = [ [[package]] name = "wasmtime-internal-fiber" -version = "47.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d126366176553e8f304e8ac2078a4cc37134fe8f19d4d4695a09c5a2f577f10" +version = "49.0.0-dev" +source = "git+https://github.com/bytecodealliance/wasmtime?rev=f6b3140dbb1d9b436ef523d14740292c956b0364#f6b3140dbb1d9b436ef523d14740292c956b0364" dependencies = [ "cc", - "cfg-if", "libc", "rustix", "wasmtime-environ", @@ -5641,9 +5711,8 @@ dependencies = [ [[package]] name = "wasmtime-internal-jit-debug" -version = "47.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1d28ff131bc40e11d84bc3a9fa0d264506439ffbbc89f3562fbb529d1caa617" +version = "49.0.0-dev" +source = "git+https://github.com/bytecodealliance/wasmtime?rev=f6b3140dbb1d9b436ef523d14740292c956b0364#f6b3140dbb1d9b436ef523d14740292c956b0364" dependencies = [ "cc", "wasmtime-internal-versioned-export-macros", @@ -5651,11 +5720,9 @@ dependencies = [ [[package]] name = "wasmtime-internal-jit-icache-coherence" -version = "47.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a52de8b6afbfcd618073f592c1450cb661574e7061f3f4a44f1f7ec0c7f7909" +version = "49.0.0-dev" +source = "git+https://github.com/bytecodealliance/wasmtime?rev=f6b3140dbb1d9b436ef523d14740292c956b0364#f6b3140dbb1d9b436ef523d14740292c956b0364" dependencies = [ - "cfg-if", "libc", "wasmtime-internal-core", "windows-sys 0.61.2", @@ -5663,11 +5730,9 @@ dependencies = [ [[package]] name = "wasmtime-internal-unwinder" -version = "47.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5524fbaaf3d2134dd6229164d7fc81e443cce06d1e0576524d5f4e86e747cb13" +version = "49.0.0-dev" +source = "git+https://github.com/bytecodealliance/wasmtime?rev=f6b3140dbb1d9b436ef523d14740292c956b0364#f6b3140dbb1d9b436ef523d14740292c956b0364" dependencies = [ - "cfg-if", "cranelift-codegen", "log", "object", @@ -5676,9 +5741,8 @@ dependencies = [ [[package]] name = "wasmtime-internal-versioned-export-macros" -version = "47.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e93bb9ae112a80618510f938275a5d88637b656e7d0a021fc906f52206c708ad" +version = "49.0.0-dev" +source = "git+https://github.com/bytecodealliance/wasmtime?rev=f6b3140dbb1d9b436ef523d14740292c956b0364#f6b3140dbb1d9b436ef523d14740292c956b0364" dependencies = [ "proc-macro2", "quote", @@ -5687,33 +5751,30 @@ dependencies = [ [[package]] name = "wasmtime-internal-wit-bindgen" -version = "47.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfdbdd9d6fab1ecb67a7dc189e32c9e341444945fb709437bf8aab25d9a88459" +version = "49.0.0-dev" +source = "git+https://github.com/bytecodealliance/wasmtime?rev=f6b3140dbb1d9b436ef523d14740292c956b0364#f6b3140dbb1d9b436ef523d14740292c956b0364" dependencies = [ "anyhow", "bitflags 2.13.1", "heck", "indexmap", + "wit-component", "wit-parser", ] [[package]] name = "wasmtime-wasi" -version = "47.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b373095a6dc8382da56882ad16d7ea16771dd6927dd480b1ce3fe7c4b816d2cf" +version = "49.0.0-dev" +source = "git+https://github.com/bytecodealliance/wasmtime?rev=f6b3140dbb1d9b436ef523d14740292c956b0364#f6b3140dbb1d9b436ef523d14740292c956b0364" dependencies = [ "async-trait", "bitflags 2.13.1", "bytes", - "cap-fs-ext", - "cap-std", - "cfg-if", + "cap-primitives", "futures", - "io-lifetimes 3.0.1", "rand 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)", "rustix", + "rustix-linux-procfs", "thiserror 2.0.20", "tokio", "tracing", @@ -5721,13 +5782,13 @@ dependencies = [ "wasmtime", "wasmtime-wasi-io", "windows-sys 0.61.2", + "winx", ] [[package]] name = "wasmtime-wasi-http" -version = "47.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "372fc7845f26cd8f69bcbf6e4234fcc032f718480c7722fa20a28eb74d58998e" +version = "49.0.0-dev" +source = "git+https://github.com/bytecodealliance/wasmtime?rev=f6b3140dbb1d9b436ef523d14740292c956b0364#f6b3140dbb1d9b436ef523d14740292c956b0364" dependencies = [ "async-trait", "bytes", @@ -5736,6 +5797,7 @@ dependencies = [ "http-body", "http-body-util", "hyper", + "pin-project-lite", "rustls", "tokio", "tokio-rustls", @@ -5749,9 +5811,8 @@ dependencies = [ [[package]] name = "wasmtime-wasi-io" -version = "47.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51b3c9b39b1a1b3029f80e614623e182f165133dfaca8610f156450343f080a4" +version = "49.0.0-dev" +source = "git+https://github.com/bytecodealliance/wasmtime?rev=f6b3140dbb1d9b436ef523d14740292c956b0364#f6b3140dbb1d9b436ef523d14740292c956b0364" dependencies = [ "async-trait", "bytes", @@ -5760,6 +5821,25 @@ dependencies = [ "wasmtime", ] +[[package]] +name = "web-sys" +version = "0.3.105" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fbddc4a036f00ec4f18c83445bd3115cb306a91da554919a099d9222fe4a7f8" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "webpki-root-certs" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b96554aa2acc8ccdb7e1c9a58a7a68dd5d13bccc69cd124cb09406db612a1c9b" +dependencies = [ + "rustls-pki-types", +] + [[package]] name = "webpki-roots" version = "1.0.9" @@ -5771,9 +5851,9 @@ dependencies = [ [[package]] name = "webrtc" -version = "0.20.3" +version = "0.20.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7330857e1e10fcbfa5f358f152cc01f22a05bb523875c0547677db0f24538dcd" +checksum = "91ce8fa1c8b8aa8753b7313a26e46e27d973e11945e35f525ac6700062c3b295" dependencies = [ "async-broadcast", "async-channel", @@ -6093,12 +6173,6 @@ version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" -[[package]] -name = "winnow" -version = "0.7.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df79d97927682d2fd8adb29682d1140b343be4ac0f08fd68b7765d9c059d3945" - [[package]] name = "winnow" version = "1.0.4" @@ -6116,10 +6190,29 @@ dependencies = [ ] [[package]] -name = "wit-parser" -version = "0.252.0" +name = "wit-component" +version = "0.258.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4266bea110371c620ccf3201c5023676046bc4556e5c7cfb5d500bda5ebc162d" +checksum = "481b5c47b2ecce0389b5e08a05557d6a190c9cd761773b8880a8017ee04dc7ef" +dependencies = [ + "anyhow", + "bitflags 2.13.1", + "indexmap", + "log", + "serde", + "serde_derive", + "serde_json", + "wasm-encoder", + "wasm-metadata", + "wasmparser", + "wit-parser", +] + +[[package]] +name = "wit-parser" +version = "0.258.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff4daaa3cd97ae49ecd0a99dc009d453f93e0f083dd3be38c0f24a83a93e37ac" dependencies = [ "anyhow", "hashbrown 0.17.1", @@ -6131,18 +6224,19 @@ dependencies = [ "serde_derive", "serde_json", "unicode-ident", - "wasmparser 0.252.0", + "wasmparser", ] [[package]] name = "wnaf" -version = "0.14.0" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab12e7090f27e2ffd9322651492942d50c2926094af30601e1964337db39daf1" +checksum = "795ca18b3fdb5e62bf982199278341ddcf7ebf7d32e25e212ad05d496e95f6fa" dependencies = [ "ff 0.14.0", "group 0.14.0", "hybrid-array", + "primefield", ] [[package]] @@ -6308,7 +6402,7 @@ checksum = "34df6fc39dbd26ddc9c10e6a2984476e13acce22e64e4487636ef494369225da" dependencies = [ "proc-macro2", "quote", - "syn 3.0.4", + "syn 3.0.5", ] [[package]] @@ -6317,7 +6411,7 @@ version = "8.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2d04a6b5381502aa6087c94c669499eb1602eb9c5e8198e534de571f7154809b" dependencies = [ - "aes 0.9.2", + "aes 0.9.3", "bzip2", "constant_time_eq", "crc32fast", @@ -6373,18 +6467,18 @@ dependencies = [ [[package]] name = "zstd-safe" -version = "7.2.4" +version = "7.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f49c4d5f0abb602a93fb8736af2a4f4dd9512e36f7f570d66e65ff867ed3b9d" +checksum = "64d80649ab6db9d9f6f9c80a40becd948eda4714a0a5ac8c4d157a32231c7882" dependencies = [ "zstd-sys", ] [[package]] name = "zstd-sys" -version = "2.0.16+zstd.1.5.7" +version = "2.1.0+zstd.1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91e19ebc2adc8f83e43039e79776e3fda8ca919132d68a1fed6a5faca2683748" +checksum = "0ef0a8027ec3ee71300ab3bcbcd0393f434aa72b91ca6d635a39941deae8eea0" dependencies = [ "cc", "pkg-config", diff --git a/rust/src/commands/mod.rs b/rust/src/commands/mod.rs index e817def..2f29af1 100644 --- a/rust/src/commands/mod.rs +++ b/rust/src/commands/mod.rs @@ -1,16 +1,19 @@ use std::borrow::Cow; +use std::sync::Arc; use pumpkin::{ command::{ - CommandExecutor, CommandSender, - args::{Arg, ArgumentConsumer, GetClientSideArgParser, SuggestResult}, - tree::{CommandTree, builder::argument}, + CommandExecutor, CommandExecutorResult, CommandSender, + argument_builder::{ArgumentBuilder, CommandArgumentBuilder, argument, command}, + argument_types::core::string::StringArgumentType, + context::command_context::CommandContext, + suggestion::{ + provider::SuggestionProvider, + suggestions::{Suggestions, SuggestionsBuilder}, + }, }, entity::EntityBase, }; -use pumpkin_protocol::java::client::play::{ - ArgumentType, StringProtoArgBehavior, SuggestionProviders, -}; use tokio::sync::{mpsc, oneshot}; use crate::java::jvm::commands::{JvmCommand, Location, Rotation}; @@ -29,48 +32,16 @@ pub enum SimpleCommandSender { Player(String, String, bool), } -pub struct AnyCommandNode { - command_tx: mpsc::Sender, +pub struct JavaSuggestionProvider { + pub command_tx: mpsc::Sender, } -impl GetClientSideArgParser for AnyCommandNode { - fn get_client_side_parser(&self) -> ArgumentType { - ArgumentType::String(StringProtoArgBehavior::GreedyPhrase) - } - - fn get_client_side_suggestion_type_override(&self) -> Option { - Some(SuggestionProviders::AskServer) - } -} - -impl ArgumentConsumer for AnyCommandNode { - fn consume<'a>( - &'a self, - _sender: &'a pumpkin::command::CommandSender, - _server: &'a pumpkin::server::Server, - args: &mut pumpkin::command::tree::RawArgs<'a>, - ) -> pumpkin::command::args::ConsumeResult<'a> { - let first_word = args.pop()?; - let mut msg = first_word.value.to_string(); - - while let Some(word) = args.pop() { - msg.push(' '); - msg.push_str(word.value); - } - - Some(Arg::Msg(msg)) - } - - fn suggest( - &self, - sender: &pumpkin::command::CommandSender, - _server: &pumpkin::server::Server, - input: &str, - ) -> SuggestResult { - let location = if let Some(position) = sender.position() - && let Some(world) = sender.world() - { - let rotation = if let Some(player) = sender.as_player() { +impl SuggestionProvider for JavaSuggestionProvider { + fn suggest(&self, context: &CommandContext, mut builder: SuggestionsBuilder) -> Suggestions { + let sender = &context.source.output; + let location = if let Some(world) = &context.source.world { + let position = context.source.position; + let rotation = if let Some(player) = context.source.as_player() { let entity = player.get_entity(); let yaw = entity.yaw.load(); let pitch = entity.pitch.load(); @@ -87,8 +58,9 @@ impl ArgumentConsumer for AnyCommandNode { }; let command_sender: SimpleCommandSender = sender.into(); + let full_command = builder.input.clone(); - if let Ok(handle) = tokio::runtime::Handle::try_current() { + let res = if let Ok(handle) = tokio::runtime::Handle::try_current() { tokio::task::block_in_place(|| { handle.block_on(async move { let (tx, rx) = oneshot::channel(); @@ -96,20 +68,17 @@ impl ArgumentConsumer for AnyCommandNode { .command_tx .send(JvmCommand::GetCommandTabComplete { command_sender, - full_command: input.to_string(), + full_command, respond_to: tx, location, }) .await { tracing::warn!("Failed to send tab complete to JVM worker: {e}"); - return Ok(None); + return None; } - match rx.await { - Ok(res) => res, - Err(_) => Ok(None), - } + rx.await.unwrap_or(None) }) }) } else { @@ -118,20 +87,29 @@ impl ArgumentConsumer for AnyCommandNode { .command_tx .blocking_send(JvmCommand::GetCommandTabComplete { command_sender, - full_command: input.to_string(), + full_command, respond_to: tx, location, }) { tracing::warn!("Failed to send tab complete to JVM worker: {e}"); - return Ok(None); + return builder.build(); } - match rx.blocking_recv() { - Ok(res) => res, - Err(_) => Ok(None), + rx.blocking_recv().unwrap_or(None) + }; + + if let Some(suggestions) = res { + for item in suggestions { + if let Some(tooltip) = item.tooltip { + builder = builder.suggest_with_tooltip(item.suggestion, tooltip); + } else { + builder = builder.suggest(item.suggestion); + } } } + + builder.build() } } @@ -154,25 +132,20 @@ impl From<&CommandSender> for SimpleCommandSender { } impl CommandExecutor for JavaCommandExecutor { - fn execute( - &self, - sender: &pumpkin::command::CommandSender, - _server: &pumpkin::server::Server, - args: &pumpkin::command::args::ConsumedArgs, - ) -> pumpkin::command::CommandResult { - if let CommandSender::Player(player) = sender { + fn execute(&self, context: &CommandContext) -> CommandExecutorResult { + if let CommandSender::Player(player) = &context.source.output { crate::java::native_callbacks::utils::cache_player(player.clone()); } - let full_command = match args.get(ARG_ANY) { - Some(Arg::Msg(msg)) => { + let full_command = match context.get_argument::(ARG_ANY) { + Ok(msg) => { if self.cmd_name.starts_with('/') { format!("{} {}", self.cmd_name, msg) } else { format!("/{} {}", self.cmd_name, msg) } } - _ => { + Err(_) => { if self.cmd_name.starts_with('/') { self.cmd_name.clone() } else { @@ -181,7 +154,7 @@ impl CommandExecutor for JavaCommandExecutor { } }; - let command_sender: SimpleCommandSender = sender.into(); + let command_sender: SimpleCommandSender = (&context.source.output).into(); if let Ok(handle) = tokio::runtime::Handle::try_current() { tokio::task::block_in_place(|| { @@ -224,26 +197,20 @@ impl CommandExecutor for JavaCommandExecutor { pub fn init_java_command( cmd_name: impl Into, command_tx: mpsc::Sender, - names: impl IntoIterator>, description: impl Into>, -) -> CommandTree { +) -> CommandArgumentBuilder { let cmd_name = cmd_name.into(); - CommandTree::new(names, description) - .execute(JavaCommandExecutor { - cmd_name: cmd_name.clone(), - command_tx: command_tx.clone(), - }) + let executor = Arc::new(JavaCommandExecutor { + cmd_name: cmd_name.clone(), + command_tx: command_tx.clone(), + }); + + command(cmd_name, description) + .executes_arc(executor.clone()) .then( - argument( - ARG_ANY, - AnyCommandNode { - command_tx: command_tx.clone(), - }, - ) - .execute(JavaCommandExecutor { - cmd_name, - command_tx, - }), + argument(ARG_ANY, StringArgumentType::GreedyPhrase) + .suggests(JavaSuggestionProvider { command_tx }) + .executes_arc(executor), ) } @@ -257,12 +224,12 @@ mod tests { let mut dispatcher = CommandDispatcher::default(); let (tx, _rx) = mpsc::channel(100); - let names = vec!["fly".to_string(), "/fly".to_string(), "//fly".to_string()]; - let tree = init_java_command("fly", tx, names, "Fly command"); - dispatcher.register(tree, "patchbukkit:command.fly"); + let aliases = vec!["/fly".to_string(), "//fly".to_string()]; + let builder = init_java_command("fly", tx, "Fly command"); + dispatcher.register_with_aliases(builder, &aliases); - assert!(dispatcher.get_tree("fly").is_ok()); - assert!(dispatcher.get_tree("/fly").is_ok()); - assert!(dispatcher.get_tree("//fly").is_ok()); + assert!(dispatcher.has_command("fly")); + assert!(dispatcher.has_command("/fly")); + assert!(dispatcher.has_command("//fly")); } } diff --git a/rust/src/java/jvm/commands.rs b/rust/src/java/jvm/commands.rs index b22ec94..ffe1d0d 100644 --- a/rust/src/java/jvm/commands.rs +++ b/rust/src/java/jvm/commands.rs @@ -1,7 +1,7 @@ use std::{path::PathBuf, sync::Arc}; use anyhow::Result; -use pumpkin::{command::dispatcher::CommandError, plugin::Context}; +use pumpkin::plugin::Context; use pumpkin_protocol::java::client::play::CommandSuggestion; use tokio::sync::{mpsc, oneshot}; use uuid::Uuid; @@ -61,7 +61,7 @@ pub enum JvmCommand { GetCommandTabComplete { command_sender: SimpleCommandSender, full_command: String, - respond_to: oneshot::Sender>, CommandError>>, + respond_to: oneshot::Sender>>, location: Option, }, } diff --git a/rust/src/java/jvm/worker.rs b/rust/src/java/jvm/worker.rs index 96cdb44..cc1c866 100644 --- a/rust/src/java/jvm/worker.rs +++ b/rust/src/java/jvm/worker.rs @@ -219,11 +219,11 @@ impl JvmWorker { Ok(inner_res) => inner_res, Err(e) => { tracing::error!("Failed to get tab complete: {e}"); - Ok(None) + None } } } else { - Ok(None) + None }; let _ = respond_to.send(res); diff --git a/rust/src/java/native_callbacks/command.rs b/rust/src/java/native_callbacks/command.rs index 10c520b..8975a7d 100644 --- a/rust/src/java/native_callbacks/command.rs +++ b/rust/src/java/native_callbacks/command.rs @@ -47,7 +47,14 @@ pub fn ffi_native_bridge_register_command_impl(request: RegisterCommandRequest) } } - let node = init_java_command(cmd_name.clone(), command_tx, names.clone(), description); + let primary_name = cmd_name.trim_start_matches('/').to_string(); + let alias_names: Vec = names + .iter() + .filter(|n| *n != &primary_name) + .cloned() + .collect(); + + let node = init_java_command(primary_name.clone(), command_tx, description); let clean_perm = cmd_name.trim_start_matches('/'); let permission = format!("patchbukkit:command.{clean_perm}"); @@ -62,7 +69,7 @@ pub fn ffi_native_bridge_register_command_impl(request: RegisterCommandRequest) tracing::debug!("Permission '{}' registration notice: {}", permission, e); } - plugin_context.register_command(node, permission.clone()); + plugin_context.register_command_with_aliases(node, &alias_names, permission.clone()); tracing::info!( "Successfully registered command '{}' with names {:?} and permission '{}'", diff --git a/rust/src/java/native_callbacks/entity.rs b/rust/src/java/native_callbacks/entity.rs index da798c5..f83d80c 100644 --- a/rust/src/java/native_callbacks/entity.rs +++ b/rust/src/java/native_callbacks/entity.rs @@ -322,7 +322,7 @@ pub fn ffi_native_bridge_set_player_list_header_footer_impl( ctx.runtime.spawn(async move { let h = pumpkin_util::text::TextComponent::from_legacy_string(&header); let f = pumpkin_util::text::TextComponent::from_legacy_string(&footer); - player.set_tab_list_header_footer(h, f).await; + player.set_tab_list_header_footer(&h, &f); }); }) } diff --git a/rust/src/java/native_callbacks/location.rs b/rust/src/java/native_callbacks/location.rs index 7582945..14f66a3 100644 --- a/rust/src/java/native_callbacks/location.rs +++ b/rust/src/java/native_callbacks/location.rs @@ -1,5 +1,3 @@ -use pumpkin::command::args::entities::{EntitySelectorType, TargetSelector}; - use crate::{ java::native_callbacks::CALLBACK_CONTEXT, proto::patchbukkit::common::{Location, Uuid, Vec3, World}, @@ -19,30 +17,29 @@ pub fn ffi_native_bridge_get_location_impl(entity_uuid: Uuid) -> Option(); ctx.runtime.spawn(async move { - let entity = ctx.plugin_context.server.select_entities( - &TargetSelector::new(EntitySelectorType::Uuid(entity_uuid)), - None, - ); + let entity = ctx + .plugin_context + .server + .worlds + .load() + .iter() + .find_map(|world| world.get_entity_by_uuid(entity_uuid))?; - if entity.len() != 1 { - return None; - } - - let entity = entity.first()?.get_entity(); + let entity = entity.get_entity(); player .send_client_packet(&CEntitySoundEffect::new( diff --git a/rust/src/java/plugin/command_manager.rs b/rust/src/java/plugin/command_manager.rs index 03d2df2..a057ff9 100644 --- a/rust/src/java/plugin/command_manager.rs +++ b/rust/src/java/plugin/command_manager.rs @@ -1,6 +1,5 @@ use anyhow::Result; use jni::Env; -use pumpkin::command::dispatcher::CommandError; use pumpkin_protocol::java::client::play::CommandSuggestion; use crate::{commands::SimpleCommandSender, java::jvm::commands::Location}; @@ -25,12 +24,12 @@ impl CommandManager { sender: SimpleCommandSender, full_command: String, location: Option, - ) -> Result>, CommandError> { + ) -> Option> { match self.try_tab_complete(env, sender, full_command, location) { - Ok(suggestions) => Ok(suggestions), + Ok(suggestions) => suggestions, Err(e) => { tracing::warn!("Tab completion failed: {e}"); - Ok(None) + None } } }