From 40c5950b2668fe497323d3512659524374bd96c3 Mon Sep 17 00:00:00 2001 From: ErrorNoInternet Date: Fri, 10 Apr 2026 22:44:14 -0400 Subject: [PATCH 1/6] feat: add devenv --- .envrc | 2 ++ .gitignore | 11 +++++++ devenv.lock | 86 +++++++++++++++++++++++++++++++++++++++++++++++++++++ devenv.nix | 19 ++++++++++++ devenv.yaml | 8 +++++ 5 files changed, 126 insertions(+) create mode 100644 .envrc create mode 100644 devenv.lock create mode 100644 devenv.nix create mode 100644 devenv.yaml diff --git a/.envrc b/.envrc new file mode 100644 index 0000000..2efe544 --- /dev/null +++ b/.envrc @@ -0,0 +1,2 @@ +eval "$(devenv direnvrc)" +use devenv diff --git a/.gitignore b/.gitignore index 7bbd4af..50c3c6a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,13 @@ .luarc.json target + +# Devenv +.devenv* +devenv.local.nix +devenv.local.yaml + +# direnv +.direnv + +# pre-commit +.pre-commit-config.yaml diff --git a/devenv.lock b/devenv.lock new file mode 100644 index 0000000..2c0c02f --- /dev/null +++ b/devenv.lock @@ -0,0 +1,86 @@ +{ + "nodes": { + "devenv": { + "locked": { + "dir": "src/modules", + "lastModified": 1775928269, + "narHash": "sha256-kolsui5s7citDkwz2RL4Au8/BUdH9/TYbfMthLrarrc=", + "owner": "cachix", + "repo": "devenv", + "rev": "b908ac3d4b59f28cb32e7294c621b1c7325002c7", + "type": "github" + }, + "original": { + "dir": "src/modules", + "owner": "cachix", + "repo": "devenv", + "type": "github" + } + }, + "nixpkgs": { + "inputs": { + "nixpkgs-src": "nixpkgs-src" + }, + "locked": { + "lastModified": 1774287239, + "narHash": "sha256-W3krsWcDwYuA3gPWsFA24YAXxOFUL6iIlT6IknAoNSE=", + "owner": "cachix", + "repo": "devenv-nixpkgs", + "rev": "fa7125ea7f1ae5430010a6e071f68375a39bd24c", + "type": "github" + }, + "original": { + "owner": "cachix", + "ref": "rolling", + "repo": "devenv-nixpkgs", + "type": "github" + } + }, + "nixpkgs-src": { + "flake": false, + "locked": { + "lastModified": 1773840656, + "narHash": "sha256-9tpvMGFteZnd3gRQZFlRCohVpqooygFuy9yjuyRL2C0=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "9cf7092bdd603554bd8b63c216e8943cf9b12512", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "devenv": "devenv", + "nixpkgs": "nixpkgs", + "rust-overlay": "rust-overlay" + } + }, + "rust-overlay": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1775877051, + "narHash": "sha256-wpSQm2PD/w4uRo2wb8utk0b5hOBkkg/CZ1xICY+qB7M=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "08b4f3633471874c8894632ade1b78d75dbda002", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} \ No newline at end of file diff --git a/devenv.nix b/devenv.nix new file mode 100644 index 0000000..bc7e4cf --- /dev/null +++ b/devenv.nix @@ -0,0 +1,19 @@ +{ + pkgs, + ... +}: + +{ + packages = with pkgs; [ + git + jujutsu + + luajit + openssl + ]; + + languages.rust = { + enable = true; + channel = "nightly"; + }; +} diff --git a/devenv.yaml b/devenv.yaml new file mode 100644 index 0000000..37e8589 --- /dev/null +++ b/devenv.yaml @@ -0,0 +1,8 @@ +inputs: + nixpkgs: + url: github:cachix/devenv-nixpkgs/rolling + rust-overlay: + url: github:oxalica/rust-overlay + inputs: + nixpkgs: + follows: nixpkgs From 3b154c6a350f549cd17e83d0212fbf4160839b7d Mon Sep 17 00:00:00 2001 From: ErrorNoInternet Date: Mon, 13 Apr 2026 00:26:11 -0400 Subject: [PATCH 2/6] build: disable matrix feature by default --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 7824759..54203de 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -46,6 +46,6 @@ zip = { version = "2", default-features = false, features = ["flate2"] } [features] console-subscriber = ["dep:console-subscriber"] -default = ["matrix"] +default = [] matrix = ["dep:dirs", "dep:matrix-sdk"] mimalloc = ["dep:mimalloc"] From 63cfc7c9c0cc5632a8c0a235e314e149e13fd47e Mon Sep 17 00:00:00 2001 From: ErrorNoInternet Date: Fri, 18 Apr 2025 00:20:55 -0400 Subject: [PATCH 3/6] build(deps)!: update azalea and fix ecs changes --- Cargo.lock | 3895 +++++++++++++++++++------------ Cargo.toml | 6 +- lib/automation.lua | 12 +- src/commands.rs | 2 +- src/events.rs | 81 +- src/hacks/anti_knockback.rs | 20 - src/hacks/mod.rs | 21 - src/lua/block.rs | 14 +- src/lua/client/container.rs | 29 +- src/lua/client/interaction.rs | 27 +- src/lua/client/mod.rs | 9 +- src/lua/client/movement.rs | 119 +- src/lua/client/state.rs | 45 +- src/lua/client/world/find.rs | 11 +- src/lua/client/world/mod.rs | 21 +- src/lua/client/world/queries.rs | 12 +- src/lua/container/item_stack.rs | 14 +- src/lua/direction.rs | 4 +- src/lua/player.rs | 2 +- src/lua/vec3.rs | 4 +- src/main.rs | 43 +- src/particle.rs | 143 +- src/replay/plugin.rs | 35 +- src/replay/recorder.rs | 2 +- 24 files changed, 2690 insertions(+), 1881 deletions(-) delete mode 100644 src/hacks/anti_knockback.rs delete mode 100644 src/hacks/mod.rs diff --git a/Cargo.lock b/Cargo.lock index 005157a..f925d3c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,30 +4,21 @@ version = 4 [[package]] name = "accessory" -version = "1.3.1" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87537f9ae7cfa78d5b8ebd1a1db25959f5e737126be4d8eb44a5452fc4b63cde" +checksum = "28e416a3ab45838bac2ab2d81b1088d738d7b2d2c5272a54d39366565a29bd80" dependencies = [ "macroific", "proc-macro2", "quote", - "syn", -] - -[[package]] -name = "addr2line" -version = "0.24.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" -dependencies = [ - "gimli", + "syn 2.0.117", ] [[package]] name = "adler2" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" +checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" [[package]] name = "aead" @@ -35,7 +26,7 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0" dependencies = [ - "crypto-common", + "crypto-common 0.1.7", "generic-array", ] @@ -47,7 +38,7 @@ checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" dependencies = [ "cfg-if", "cipher", - "cpufeatures", + "cpufeatures 0.2.17", ] [[package]] @@ -64,41 +55,15 @@ dependencies = [ "subtle", ] -[[package]] -name = "ahash" -version = "0.8.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" -dependencies = [ - "cfg-if", - "const-random", - "getrandom 0.2.15", - "once_cell", - "version_check", - "zerocopy 0.7.35", -] - [[package]] name = "aho-corasick" -version = "1.1.3" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" dependencies = [ "memchr", ] -[[package]] -name = "allocator-api2" -version = "0.2.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" - -[[package]] -name = "android-tzdata" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" - [[package]] name = "android_log-sys" version = "0.3.2" @@ -116,9 +81,9 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.18" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b" +checksum = "824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28d" dependencies = [ "anstyle", "anstyle-parse", @@ -131,44 +96,44 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.10" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" [[package]] name = "anstyle-parse" -version = "0.2.6" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9" +checksum = "52ce7f38b242319f7cabaa6813055467063ecdc9d355bbb4ce0c68908cd8130e" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.1.2" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c" +checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] name = "anstyle-wincon" -version = "3.0.7" +version = "3.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3534e77181a9cc07539ad51f2141fe32f6c3ffd4df76db8ad92346b003ae4e" +checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" dependencies = [ "anstyle", - "once_cell", - "windows-sys 0.59.0", + "once_cell_polyfill", + "windows-sys 0.61.2", ] [[package]] name = "anyhow" -version = "1.0.98" +version = "1.0.102" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487" +checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c" [[package]] name = "anymap2" @@ -187,23 +152,14 @@ dependencies = [ "proc-macro-error2", "proc-macro2", "quote", - "syn", -] - -[[package]] -name = "arbitrary" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dde20b3d026af13f561bdd0f15edf01fc734f0dafcedbaf42bba506a9517f223" -dependencies = [ - "derive_arbitrary", + "syn 2.0.117", ] [[package]] name = "archery" -version = "1.2.1" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eae2ed21cd55021f05707a807a5fc85695dafb98832921f6cfa06db67ca5b869" +checksum = "70e0a5f99dfebb87bb342d0f53bb92c81842e100bbb915223e38349580e5441d" [[package]] name = "arrayref" @@ -220,12 +176,6 @@ dependencies = [ "serde", ] -[[package]] -name = "as-any" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0f477b951e452a0b6b4a10b53ccd569042d1d01729b519e02074a9c0958a063" - [[package]] name = "as_variant" version = "1.3.0" @@ -240,7 +190,7 @@ checksum = "f548ad2c4031f2902e3edc1f29c29e835829437de49562d8eb5dc5584d3a1043" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.117", ] [[package]] @@ -251,9 +201,9 @@ checksum = "5f093eed78becd229346bf859eec0aa4dd7ddde0757287b2b4107a1f09c80002" [[package]] name = "async-channel" -version = "2.3.1" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89b47800b0be77592da0afd425cc03468052844aff33b84e33cc696f64e77b6a" +checksum = "924ed96dd52d1b75e9c1a3e6275715fd320f5f9439fb5a4a11fa51f4221158d2" dependencies = [ "concurrent-queue", "event-listener-strategy", @@ -262,42 +212,44 @@ dependencies = [ ] [[package]] -name = "async-compression" -version = "0.4.22" +name = "async-compat" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59a194f9d963d8099596278594b3107448656ba73831c9d8c783e613ce86da64" +checksum = "a1ba85bc55464dcbf728b56d97e119d673f4cf9062be330a9a26f3acf504a590" dependencies = [ - "flate2", "futures-core", - "memchr", + "futures-io", + "once_cell", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "async-compression" +version = "0.4.41" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0f9ee0f6e02ffd7ad5816e9464499fba7b3effd01123b515c41d1697c43dad1" +dependencies = [ + "compression-codecs", + "compression-core", "pin-project-lite", "tokio", ] [[package]] name = "async-executor" -version = "1.13.1" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30ca9a001c1e8ba5149f91a74362376cc6bc5b919d92d988668657bd570bdcec" +checksum = "c96bf972d85afc50bf5ab8fe2d54d1586b4e0b46c97c50a0c9e71e2f7bcd812a" dependencies = [ "async-task", "concurrent-queue", "fastrand", "futures-lite", + "pin-project-lite", "slab", ] -[[package]] -name = "async-recursion" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "async-stream" version = "0.3.6" @@ -317,7 +269,7 @@ checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.117", ] [[package]] @@ -325,16 +277,19 @@ name = "async-task" version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" +dependencies = [ + "portable-atomic", +] [[package]] name = "async-trait" -version = "0.1.88" +version = "0.1.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5" +checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.117", ] [[package]] @@ -342,20 +297,44 @@ name = "atomic-waker" version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" +dependencies = [ + "portable-atomic", +] [[package]] name = "autocfg" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" +checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" + +[[package]] +name = "aws-lc-rs" +version = "1.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a054912289d18629dc78375ba2c3726a3afe3ff71b4edba9dedfca0e3446d1fc" +dependencies = [ + "aws-lc-sys", + "zeroize", +] + +[[package]] +name = "aws-lc-sys" +version = "0.39.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83a25cf98105baa966497416dbd42565ce3a8cf8dbfd59803ec9ad46f3126399" +dependencies = [ + "cc", + "cmake", + "dunce", + "fs_extra", +] [[package]] name = "axum" -version = "0.7.9" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edca88bc138befd0323b20752846e6587272d3b03b0343c8ea28a6f819e6e71f" +checksum = "8b52af3cb4058c895d37317bb27508dccc8e5f2d39454016b297bf4a400597b8" dependencies = [ - "async-trait", "axum-core", "bytes", "futures-util", @@ -368,29 +347,26 @@ dependencies = [ "mime", "percent-encoding", "pin-project-lite", - "rustversion", - "serde", + "serde_core", "sync_wrapper", - "tower 0.5.2", + "tower", "tower-layer", "tower-service", ] [[package]] name = "axum-core" -version = "0.4.5" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09f2bd6146b97ae3359fa0cc6d6b376d9539582c7b4220f041a33ec24c226199" +checksum = "08c78f31d7b1291f7ee735c1c6780ccde7785daae9a9206026862dab7d8792d1" dependencies = [ - "async-trait", "bytes", - "futures-util", + "futures-core", "http", "http-body", "http-body-util", "mime", "pin-project-lite", - "rustversion", "sync_wrapper", "tower-layer", "tower-service", @@ -398,8 +374,8 @@ dependencies = [ [[package]] name = "azalea" -version = "0.12.0+mc1.21.5" -source = "git+https://github.com/azalea-rs/azalea#6a83a6fa387170ae71fbe06791cf3afa20aac1df" +version = "0.16.0+mc26.1" +source = "git+https://github.com/azalea-rs/azalea#ddef37118448b639ff56b86ae339e8913cb4ed11" dependencies = [ "azalea-auth", "azalea-block", @@ -416,19 +392,18 @@ dependencies = [ "azalea-world", "bevy_app", "bevy_ecs", - "bevy_log", "bevy_tasks", - "derive_more 2.0.1", + "derive_more 2.1.1", "futures", "futures-lite", - "indexmap 2.9.0", + "indexmap", "nohash-hasher", "num-format", "num-traits", "parking_lot", - "rustc-hash 2.1.1", + "radix-heap", + "rustc-hash", "serde", - "thiserror 2.0.12", "tokio", "tracing", "uuid", @@ -436,19 +411,19 @@ dependencies = [ [[package]] name = "azalea-auth" -version = "0.12.0+mc1.21.5" -source = "git+https://github.com/azalea-rs/azalea#6a83a6fa387170ae71fbe06791cf3afa20aac1df" +version = "0.16.0+mc26.1" +source = "git+https://github.com/azalea-rs/azalea#ddef37118448b639ff56b86ae339e8913cb4ed11" dependencies = [ "azalea-buf", "azalea-crypto", "base64 0.22.1", "chrono", - "md-5", - "reqwest", + "indexmap", + "reqwest 0.13.2", "rsa", "serde", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.18", "tokio", "tracing", "uuid", @@ -456,8 +431,8 @@ dependencies = [ [[package]] name = "azalea-block" -version = "0.12.0+mc1.21.5" -source = "git+https://github.com/azalea-rs/azalea#6a83a6fa387170ae71fbe06791cf3afa20aac1df" +version = "0.16.0+mc26.1" +source = "git+https://github.com/azalea-rs/azalea#ddef37118448b639ff56b86ae339e8913cb4ed11" dependencies = [ "azalea-block-macros", "azalea-buf", @@ -466,18 +441,18 @@ dependencies = [ [[package]] name = "azalea-block-macros" -version = "0.12.0+mc1.21.5" -source = "git+https://github.com/azalea-rs/azalea#6a83a6fa387170ae71fbe06791cf3afa20aac1df" +version = "0.16.0+mc26.1" +source = "git+https://github.com/azalea-rs/azalea#ddef37118448b639ff56b86ae339e8913cb4ed11" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.117", ] [[package]] name = "azalea-brigadier" -version = "0.12.0+mc1.21.5" -source = "git+https://github.com/azalea-rs/azalea#6a83a6fa387170ae71fbe06791cf3afa20aac1df" +version = "0.16.0+mc26.1" +source = "git+https://github.com/azalea-rs/azalea#ddef37118448b639ff56b86ae339e8913cb4ed11" dependencies = [ "azalea-buf", "azalea-chat", @@ -486,32 +461,33 @@ dependencies = [ [[package]] name = "azalea-buf" -version = "0.12.0+mc1.21.5" -source = "git+https://github.com/azalea-rs/azalea#6a83a6fa387170ae71fbe06791cf3afa20aac1df" +version = "0.16.0+mc26.1" +source = "git+https://github.com/azalea-rs/azalea#ddef37118448b639ff56b86ae339e8913cb4ed11" dependencies = [ "azalea-buf-macros", "byteorder", + "indexmap", "serde_json", "simdnbt", - "thiserror 2.0.12", + "thiserror 2.0.18", "tracing", "uuid", ] [[package]] name = "azalea-buf-macros" -version = "0.12.0+mc1.21.5" -source = "git+https://github.com/azalea-rs/azalea#6a83a6fa387170ae71fbe06791cf3afa20aac1df" +version = "0.16.0+mc26.1" +source = "git+https://github.com/azalea-rs/azalea#ddef37118448b639ff56b86ae339e8913cb4ed11" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.117", ] [[package]] name = "azalea-chat" -version = "0.12.0+mc1.21.5" -source = "git+https://github.com/azalea-rs/azalea#6a83a6fa387170ae71fbe06791cf3afa20aac1df" +version = "0.16.0+mc26.1" +source = "git+https://github.com/azalea-rs/azalea#ddef37118448b639ff56b86ae339e8913cb4ed11" dependencies = [ "azalea-buf", "azalea-language", @@ -524,9 +500,10 @@ dependencies = [ [[package]] name = "azalea-client" -version = "0.12.0+mc1.21.5" -source = "git+https://github.com/azalea-rs/azalea#6a83a6fa387170ae71fbe06791cf3afa20aac1df" +version = "0.16.0+mc26.1" +source = "git+https://github.com/azalea-rs/azalea#ddef37118448b639ff56b86ae339e8913cb4ed11" dependencies = [ + "async-compat", "azalea-auth", "azalea-block", "azalea-buf", @@ -544,14 +521,16 @@ dependencies = [ "bevy_log", "bevy_tasks", "bevy_time", - "derive_more 2.0.1", + "bevy_utils", + "chrono", + "derive_more 2.1.1", + "indexmap", "minecraft_folder_path", "parking_lot", - "paste", "regex", - "reqwest", + "reqwest 0.13.2", "simdnbt", - "thiserror 2.0.12", + "thiserror 2.0.18", "tokio", "tracing", "uuid", @@ -559,42 +538,48 @@ dependencies = [ [[package]] name = "azalea-core" -version = "0.12.0+mc1.21.5" -source = "git+https://github.com/azalea-rs/azalea#6a83a6fa387170ae71fbe06791cf3afa20aac1df" +version = "0.16.0+mc26.1" +source = "git+https://github.com/azalea-rs/azalea#ddef37118448b639ff56b86ae339e8913cb4ed11" dependencies = [ "azalea-buf", "azalea-chat", "azalea-registry", "bevy_ecs", - "indexmap 2.9.0", + "crc32c", + "derive_more 2.1.1", + "indexmap", "nohash-hasher", "num-traits", "serde", "simdnbt", + "thiserror 2.0.18", "tracing", + "uuid", ] [[package]] name = "azalea-crypto" -version = "0.12.0+mc1.21.5" -source = "git+https://github.com/azalea-rs/azalea#6a83a6fa387170ae71fbe06791cf3afa20aac1df" +version = "0.16.0+mc26.1" +source = "git+https://github.com/azalea-rs/azalea#ddef37118448b639ff56b86ae339e8913cb4ed11" dependencies = [ "aes", "azalea-buf", "cfb8", + "md-5", "num-bigint", - "rand 0.8.5", + "rand 0.10.1", + "rand_core 0.10.0", "rsa", "rsa_public_encrypt_pkcs1", - "sha-1", - "sha2", + "sha1 0.11.0", + "sha2 0.11.0", "uuid", ] [[package]] name = "azalea-entity" -version = "0.12.0+mc1.21.5" -source = "git+https://github.com/azalea-rs/azalea#6a83a6fa387170ae71fbe06791cf3afa20aac1df" +version = "0.16.0+mc26.1" +source = "git+https://github.com/azalea-rs/azalea#ddef37118448b639ff56b86ae339e8913cb4ed11" dependencies = [ "azalea-block", "azalea-buf", @@ -605,27 +590,36 @@ dependencies = [ "azalea-world", "bevy_app", "bevy_ecs", - "derive_more 2.0.1", - "enum-as-inner", + "derive_more 2.1.1", + "enum-as-inner 0.7.0", "nohash-hasher", "parking_lot", - "simdnbt", - "thiserror 2.0.12", + "thiserror 2.0.18", "tracing", "uuid", ] [[package]] -name = "azalea-inventory" -version = "0.12.0+mc1.21.5" -source = "git+https://github.com/azalea-rs/azalea#6a83a6fa387170ae71fbe06791cf3afa20aac1df" +name = "azalea-hax" +version = "0.1.0" +source = "git+https://github.com/azalea-rs/azalea-hax#ef06856f1e6c45cab614ac78d2224a8228d9c426" dependencies = [ + "azalea", +] + +[[package]] +name = "azalea-inventory" +version = "0.16.0+mc26.1" +source = "git+https://github.com/azalea-rs/azalea#ddef37118448b639ff56b86ae339e8913cb4ed11" +dependencies = [ + "azalea-auth", "azalea-buf", "azalea-chat", "azalea-core", "azalea-inventory-macros", "azalea-registry", - "indexmap 2.9.0", + "indexmap", + "serde", "simdnbt", "tracing", "uuid", @@ -633,28 +627,27 @@ dependencies = [ [[package]] name = "azalea-inventory-macros" -version = "0.12.0+mc1.21.5" -source = "git+https://github.com/azalea-rs/azalea#6a83a6fa387170ae71fbe06791cf3afa20aac1df" +version = "0.16.0+mc26.1" +source = "git+https://github.com/azalea-rs/azalea#ddef37118448b639ff56b86ae339e8913cb4ed11" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.117", ] [[package]] name = "azalea-language" -version = "0.12.0+mc1.21.5" -source = "git+https://github.com/azalea-rs/azalea#6a83a6fa387170ae71fbe06791cf3afa20aac1df" +version = "0.16.0+mc26.1" +source = "git+https://github.com/azalea-rs/azalea#ddef37118448b639ff56b86ae339e8913cb4ed11" dependencies = [ "compact_str", - "serde", "serde_json", ] [[package]] name = "azalea-physics" -version = "0.12.0+mc1.21.5" -source = "git+https://github.com/azalea-rs/azalea#6a83a6fa387170ae71fbe06791cf3afa20aac1df" +version = "0.16.0+mc26.1" +source = "git+https://github.com/azalea-rs/azalea#ddef37118448b639ff56b86ae339e8913cb4ed11" dependencies = [ "azalea-block", "azalea-core", @@ -670,10 +663,9 @@ dependencies = [ [[package]] name = "azalea-protocol" -version = "0.12.0+mc1.21.5" -source = "git+https://github.com/azalea-rs/azalea#6a83a6fa387170ae71fbe06791cf3afa20aac1df" +version = "0.16.0+mc26.1" +source = "git+https://github.com/azalea-rs/azalea#ddef37118448b639ff56b86ae339e8913cb4ed11" dependencies = [ - "async-recursion", "azalea-auth", "azalea-block", "azalea-brigadier", @@ -687,16 +679,17 @@ dependencies = [ "azalea-registry", "azalea-world", "bevy_ecs", - "crc32fast", "flate2", "futures", "futures-lite", "hickory-resolver", + "indexmap", + "reqwest 0.13.2", "serde", "serde_json", "simdnbt", "socks5-impl", - "thiserror 2.0.12", + "thiserror 2.0.18", "tokio", "tokio-util", "tracing", @@ -705,18 +698,18 @@ dependencies = [ [[package]] name = "azalea-protocol-macros" -version = "0.12.0+mc1.21.5" -source = "git+https://github.com/azalea-rs/azalea#6a83a6fa387170ae71fbe06791cf3afa20aac1df" +version = "0.16.0+mc26.1" +source = "git+https://github.com/azalea-rs/azalea#ddef37118448b639ff56b86ae339e8913cb4ed11" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.117", ] [[package]] name = "azalea-registry" -version = "0.12.0+mc1.21.5" -source = "git+https://github.com/azalea-rs/azalea#6a83a6fa387170ae71fbe06791cf3afa20aac1df" +version = "0.16.0+mc26.1" +source = "git+https://github.com/azalea-rs/azalea#ddef37118448b639ff56b86ae339e8913cb4ed11" dependencies = [ "azalea-buf", "azalea-registry-macros", @@ -726,38 +719,36 @@ dependencies = [ [[package]] name = "azalea-registry-macros" -version = "0.12.0+mc1.21.5" -source = "git+https://github.com/azalea-rs/azalea#6a83a6fa387170ae71fbe06791cf3afa20aac1df" +version = "0.16.0+mc26.1" +source = "git+https://github.com/azalea-rs/azalea#ddef37118448b639ff56b86ae339e8913cb4ed11" dependencies = [ "quote", - "syn", + "syn 2.0.117", ] [[package]] name = "azalea-world" -version = "0.12.0+mc1.21.5" -source = "git+https://github.com/azalea-rs/azalea#6a83a6fa387170ae71fbe06791cf3afa20aac1df" +version = "0.16.0+mc26.1" +source = "git+https://github.com/azalea-rs/azalea#ddef37118448b639ff56b86ae339e8913cb4ed11" dependencies = [ "azalea-block", "azalea-buf", "azalea-core", "azalea-registry", "bevy_ecs", - "derive_more 2.0.1", + "derive_more 2.1.1", "nohash-hasher", "parking_lot", - "rustc-hash 2.1.1", + "rustc-hash", "serde", - "simdnbt", - "thiserror 2.0.12", "tracing", ] [[package]] name = "backon" -version = "1.5.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd0b50b1b78dbadd44ab18b3c794e496f3a139abb9fbc27d9c94c4eebbb96496" +checksum = "cffb0e931875b666fc4fcb20fee52e9bbd1ef836fd9e9e04ec21555f9f85f7ef" dependencies = [ "fastrand", "gloo-timers", @@ -765,19 +756,10 @@ dependencies = [ ] [[package]] -name = "backtrace" -version = "0.3.74" +name = "base16ct" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" -dependencies = [ - "addr2line", - "cfg-if", - "libc", - "miniz_oxide", - "object", - "rustc-demangle", - "windows-targets 0.52.6", -] +checksum = "fd307490d624467aa6f74b0eabb77633d1f758a7b25f12bceb0b22e08d9726f6" [[package]] name = "base64" @@ -793,83 +775,96 @@ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] name = "base64ct" -version = "1.7.3" +version = "1.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89e25b6adfb930f02d1981565a6e5d9c547ac15a96606256d3b59040e5cd4ca3" +checksum = "2af50177e190e07a26ab74f8b1efbfe2ef87da2116221318cb1c2e82baf7de06" [[package]] name = "bevy_app" -version = "0.15.3" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0ac033a388b8699d241499a43783a09e6a3bab2430f1297c6bd4974095efb3f" +checksum = "def9f41aa5bf9b9dec8beda307a332798609cffb9d44f71005e0cfb45164f2f6" dependencies = [ "bevy_derive", "bevy_ecs", + "bevy_platform", "bevy_reflect", "bevy_tasks", "bevy_utils", + "cfg-if", "console_error_panic_hook", "ctrlc", - "derive_more 1.0.0", "downcast-rs", + "log", + "thiserror 2.0.18", + "variadics_please", "wasm-bindgen", "web-sys", ] [[package]] name = "bevy_derive" -version = "0.15.3" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57d94761ce947b0a2402fd949fe1e7a5b1535293130ba4cd9893be6295d4680a" +checksum = "318ee0532c3da93749859d18f89a889c638fbc56aabac4d866583df7b951d103" dependencies = [ "bevy_macro_utils", "quote", - "syn", + "syn 2.0.117", ] [[package]] name = "bevy_ecs" -version = "0.15.3" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1597106cc01e62e6217ccb662e0748b2ce330893f27c7dc17bac33e0bb99bca9" +checksum = "c9cf7a3ee41342dd7b5a5d82e200d0e8efb933169247fce853b4ad633d51e87d" dependencies = [ + "arrayvec", "bevy_ecs_macros", + "bevy_platform", "bevy_ptr", "bevy_reflect", "bevy_tasks", "bevy_utils", "bitflags", + "bumpalo", "concurrent-queue", - "derive_more 1.0.0", - "disqualified", - "fixedbitset 0.5.7", + "derive_more 2.1.1", + "fixedbitset", + "indexmap", + "log", "nonmax", - "petgraph", + "serde", + "slotmap", "smallvec", + "thiserror 2.0.18", + "variadics_please", ] [[package]] name = "bevy_ecs_macros" -version = "0.15.3" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f453adf07712b39826bc5845e5b0887ce03204ee8359bbe6b40a9afda60564a1" +checksum = "908baf585e2ea16bd53ef0da57b69580478af0059d2dbdb4369991ac9794b618" dependencies = [ "bevy_macro_utils", "proc-macro2", "quote", - "syn", + "syn 2.0.117", ] [[package]] name = "bevy_log" -version = "0.15.3" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b381a22e01f24af51536ef1eace94298dd555d06ffcf368125d16317f5f179cb" +checksum = "c2aac1187f83a1ab2eae887564f7fb14b4abb3fbe8b2267a6426663463923120" dependencies = [ "android_log-sys", "bevy_app", "bevy_ecs", + "bevy_platform", "bevy_utils", + "tracing", "tracing-log", "tracing-oslog", "tracing-subscriber", @@ -878,135 +873,135 @@ dependencies = [ [[package]] name = "bevy_macro_utils" -version = "0.15.3" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bb6ded1ddc124ea214f6a2140e47a78d1fe79b0638dad39419cdeef2e1133f1" +checksum = "3b147843b81a7ec548876ff97fa7bfdc646ef2567cb465566259237b39664438" dependencies = [ "proc-macro2", "quote", - "syn", - "toml_edit", + "syn 2.0.117", + "toml_edit 0.23.10+spec-1.0.0", +] + +[[package]] +name = "bevy_platform" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec6b36504169b644acd26a5469fd8d371aa6f1d73ee5c01b1b1181ae1cefbf9b" +dependencies = [ + "critical-section", + "foldhash 0.2.0", + "futures-channel", + "hashbrown 0.16.1", + "js-sys", + "portable-atomic", + "portable-atomic-util", + "serde", + "spin", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-time", ] [[package]] name = "bevy_ptr" -version = "0.15.3" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89fe0b0b919146939481a3a7c38864face2c6d0fd2c73ab3d430dc693ecd9b11" +checksum = "c7a9329e8dc4e01ced480eeec4902e6d7cb56e56ec37f6fbc4323e5c937290a7" [[package]] name = "bevy_reflect" -version = "0.15.3" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ddbca0a39e88eff2c301dc794ee9d73a53f4b08d47b2c9b5a6aac182fae6217" +checksum = "d1dfeb67a9fe4f59003a84f5f99ba6302141c70e926601cbc6abfd4a1eea9ca9" dependencies = [ "assert_type_match", + "bevy_platform", "bevy_ptr", "bevy_reflect_derive", "bevy_utils", - "derive_more 1.0.0", + "derive_more 2.1.1", "disqualified", "downcast-rs", "erased-serde", + "foldhash 0.2.0", + "glam", + "indexmap", "serde", "smallvec", "smol_str", + "thiserror 2.0.18", + "uuid", + "variadics_please", + "wgpu-types", ] [[package]] name = "bevy_reflect_derive" -version = "0.15.3" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d62affb769db17d34ad0b75ff27eca94867e2acc8ea350c5eca97d102bd98709" +checksum = "475f68c93e9cd5f17e9167635c8533a4f388f12d38245a202359e4c2721d87ba" dependencies = [ "bevy_macro_utils", + "indexmap", "proc-macro2", "quote", - "syn", + "syn 2.0.117", "uuid", ] [[package]] name = "bevy_tasks" -version = "0.15.3" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "028630ddc355563bd567df1076db3515858aa26715ddf7467d2086f9b40e5ab1" +checksum = "384eb04d80aa38664d69988fd30cbbe03e937ecb65c66aa6abe60ce0bca826aa" dependencies = [ "async-channel", "async-executor", + "async-task", + "atomic-waker", + "bevy_platform", "concurrent-queue", - "futures-channel", + "crossbeam-queue", + "derive_more 2.1.1", "futures-lite", + "heapless", "pin-project", - "wasm-bindgen-futures", ] [[package]] name = "bevy_time" -version = "0.15.3" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b2051ec56301b994f7c182a2a6eb1490038149ad46d95eee715e1a922acdfd9" +checksum = "b5ef9af4e523195e561074cf60fbfad0f4cb8d1db504855fee3c4ce8896c7244" dependencies = [ "bevy_app", "bevy_ecs", + "bevy_platform", "bevy_reflect", - "bevy_utils", "crossbeam-channel", + "log", + "serde", ] [[package]] name = "bevy_utils" -version = "0.15.3" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63c2174d43a0de99f863c98a472370047a2bfa7d1e5cec8d9d647fb500905d9d" +checksum = "2111910cd7a4b1e6ce07eaaeb6f68a2c0ea0ca609ed0d0d506e3eb161101435b" dependencies = [ - "ahash", - "bevy_utils_proc_macros", - "getrandom 0.2.15", - "hashbrown 0.14.5", + "bevy_platform", + "disqualified", "thread_local", - "tracing", - "web-time", -] - -[[package]] -name = "bevy_utils_proc_macros" -version = "0.15.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94847541f6dd2e28f54a9c2b0e857da5f2631e2201ebc25ce68781cdcb721391" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "bindgen" -version = "0.70.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f49d8fed880d473ea71efb9bf597651e77201bdd4893efe54c9e5d65ae04ce6f" -dependencies = [ - "bitflags", - "cexpr", - "clang-sys", - "itertools 0.13.0", - "log", - "prettyplease", - "proc-macro2", - "quote", - "regex", - "rustc-hash 1.1.0", - "shlex", - "syn", ] [[package]] name = "bitflags" -version = "2.9.0" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd" +checksum = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af" dependencies = [ - "serde", + "serde_core", ] [[package]] @@ -1017,15 +1012,16 @@ checksum = "a1d084b0137aaa901caf9f1e8b21daa6aa24d41cd806e111335541eff9683bd6" [[package]] name = "blake3" -version = "1.8.1" +version = "1.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "389a099b34312839e16420d499a9cad9650541715937ffbdd40d36f49e77eeb3" +checksum = "4d2d5991425dfd0785aed03aedcf0b321d61975c9b5b3689c774a2610ae0b51e" dependencies = [ "arrayref", "arrayvec", "cc", "cfg-if", "constant_time_eq", + "cpufeatures 0.3.0", ] [[package]] @@ -1037,6 +1033,15 @@ dependencies = [ "generic-array", ] +[[package]] +name = "block-buffer" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdd35008169921d80bc60d3d0ab416eecb028c4cd653352907921d95084790be" +dependencies = [ + "hybrid-array", +] + [[package]] name = "block-padding" version = "0.3.3" @@ -1046,6 +1051,15 @@ dependencies = [ "generic-array", ] +[[package]] +name = "block2" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5" +dependencies = [ + "objc2", +] + [[package]] name = "bs58" version = "0.5.1" @@ -1057,9 +1071,9 @@ dependencies = [ [[package]] name = "bstr" -version = "1.12.0" +version = "1.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "234113d19d0d7d613b40e86fb654acf958910802bcceab913a4f9e7cda03b1a4" +checksum = "63044e1ae8e69f3b5a92c736ca6269b8d12fa7efe39bf34ddb06d102cf0e2cab" dependencies = [ "memchr", "serde", @@ -1067,17 +1081,37 @@ dependencies = [ [[package]] name = "built" -version = "0.7.7" -source = "git+https://github.com/lukaslueg/built#9468c3a117265cc5976bb82631861aa133f32aec" +version = "0.8.0" +source = "git+https://github.com/lukaslueg/built#7cebe3e8d802502f55d2cf799abf1e5c983fb7a9" dependencies = [ "git2", ] [[package]] name = "bumpalo" -version = "3.17.0" +version = "3.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" +checksum = "5d20789868f4b01b2f2caec9f5c4e0213b41e3e5702a50157d699ae31ced2fcb" + +[[package]] +name = "bytemuck" +version = "1.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8efb64bd706a16a1bdde310ae86b351e4d21550d98d056f22f8a7f7a2183fec" +dependencies = [ + "bytemuck_derive", +] + +[[package]] +name = "bytemuck_derive" +version = "1.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9abbd1bc6865053c427f7198e6af43bfdedc55ab791faed4fbd361d789575ff" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] [[package]] name = "byteorder" @@ -1087,21 +1121,21 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.10.1" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" +checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33" [[package]] name = "bytesize" -version = "2.0.1" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3c8f83209414aacf0eeae3cf730b18d6981697fba62f200fcfb92b9f082acba" +checksum = "6bd91ee7b2422bcb158d90ef4d14f75ef67f340943fc4149891dcce8f8b972a3" [[package]] name = "castaway" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0abae9be0aaf9ea96a3b1b8b1b55c602ca751eba1b1500220cea4ecbafe7c0d5" +checksum = "dec551ab6e7578819132c713a93c022a05d60159dc86e7a7050223577484c55a" dependencies = [ "rustversion", ] @@ -1117,23 +1151,21 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.19" +version = "1.2.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e3a13707ac958681c13b39b458c073d0d9bc8a22cb1b2f4c8e55eb72c13f362" +checksum = "43c5703da9466b66a946814e1adf53ea2c90f10063b86290cc9eb67ce3478a20" dependencies = [ + "find-msvc-tools", "jobserver", "libc", "shlex", ] [[package]] -name = "cexpr" -version = "0.6.0" +name = "cesu8" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" -dependencies = [ - "nom", -] +checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" [[package]] name = "cfb8" @@ -1146,9 +1178,9 @@ dependencies = [ [[package]] name = "cfg-if" -version = "1.0.0" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" [[package]] name = "cfg_aliases" @@ -1164,7 +1196,18 @@ checksum = "c3613f74bd2eac03dad61bd53dbe620703d4371614fe0bc3b9f04dd36fe4e818" dependencies = [ "cfg-if", "cipher", - "cpufeatures", + "cpufeatures 0.2.17", +] + +[[package]] +name = "chacha20" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f8d983286843e49675a4b7a2d174efe136dc93a18d69130dd18198a6c167601" +dependencies = [ + "cfg-if", + "cpufeatures 0.3.0", + "rand_core 0.10.0", ] [[package]] @@ -1174,7 +1217,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "10cd79432192d1c0f4e1a0fef9527696cc039165d729fb41b3f4f4f354c2dc35" dependencies = [ "aead", - "chacha20", + "chacha20 0.9.1", "cipher", "poly1305", "zeroize", @@ -1182,11 +1225,10 @@ dependencies = [ [[package]] name = "chrono" -version = "0.4.40" +version = "0.4.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a7964611d71df112cb1730f2ee67324fcf4d0fc6606acbbe9bfe06df124637c" +checksum = "c673075a2e0e5f4a1dde27ce9dee1ea4558c7ffe648f576438a20ca1d2acc4b0" dependencies = [ - "android-tzdata", "iana-time-zone", "js-sys", "num-traits", @@ -1201,27 +1243,16 @@ version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" dependencies = [ - "crypto-common", + "crypto-common 0.1.7", "inout", "zeroize", ] -[[package]] -name = "clang-sys" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" -dependencies = [ - "glob", - "libc", - "libloading", -] - [[package]] name = "clap" -version = "4.5.36" +version = "4.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2df961d8c8a0d08aa9945718ccf584145eee3f3aa06cddbeac12933781102e04" +checksum = "b193af5b67834b676abd72466a96c1024e6a6ad978a1f484bd90b85c94041351" dependencies = [ "clap_builder", "clap_derive", @@ -1229,9 +1260,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.36" +version = "4.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "132dbda40fb6753878316a489d5a1242a8ef2f0d9e47ba01c951ea8aa7d013a5" +checksum = "714a53001bf66416adb0e2ef5ac857140e7dc3a0c48fb28b2f10762fc4b5069f" dependencies = [ "anstream", "anstyle", @@ -1241,27 +1272,52 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.32" +version = "4.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09176aae279615badda0765c0c0b3f6ed53f4709118af73cf4655d85d1530cd7" +checksum = "1110bd8a634a1ab8cb04345d8d878267d57c3cf1b38d91b71af6686408bbca6a" dependencies = [ "heck", "proc-macro2", "quote", - "syn", + "syn 2.0.117", ] [[package]] name = "clap_lex" -version = "0.7.4" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" +checksum = "c8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9" + +[[package]] +name = "cmake" +version = "0.1.58" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0f78a02292a74a88ac736019ab962ece0bc380e3f977bf72e376c5d78ff0678" +dependencies = [ + "cc", +] + +[[package]] +name = "cmov" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f88a43d011fc4a6876cb7344703e297c71dda42494fee094d5f7c76bf13f746" [[package]] name = "colorchoice" -version = "1.0.3" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" +checksum = "1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570" + +[[package]] +name = "combine" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" +dependencies = [ + "bytes", + "memchr", +] [[package]] name = "compact_str" @@ -1278,6 +1334,23 @@ dependencies = [ "static_assertions", ] +[[package]] +name = "compression-codecs" +version = "0.4.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb7b51a7d9c967fc26773061ba86150f19c50c0d65c887cb1fbe295fd16619b7" +dependencies = [ + "compression-core", + "flate2", + "memchr", +] + +[[package]] +name = "compression-core" +version = "0.4.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75984efb6ed102a0d42db99afb6c1948f0380d1d91808d5529916e6c08b49d8d" + [[package]] name = "concurrent-queue" version = "2.5.0" @@ -1285,26 +1358,28 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" dependencies = [ "crossbeam-utils", + "portable-atomic", ] [[package]] name = "console-api" -version = "0.8.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8030735ecb0d128428b64cd379809817e620a40e5001c54465b99ec5feec2857" +checksum = "e8599749b6667e2f0c910c1d0dff6901163ff698a52d5a39720f61b5be4b20d3" dependencies = [ "futures-core", - "prost", + "prost 0.14.3", "prost-types", "tonic", + "tonic-prost", "tracing-core", ] [[package]] name = "console-subscriber" -version = "0.4.1" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6539aa9c6a4cd31f4b1c040f860a1eac9aa80e7df6b05d506a6e7179936d6a01" +checksum = "fb4915b7d8dd960457a1b6c380114c2944f728e7c65294ab247ae6b6f1f37592" dependencies = [ "console-api", "crossbeam-channel", @@ -1313,7 +1388,7 @@ dependencies = [ "hdrhistogram", "humantime", "hyper-util", - "prost", + "prost 0.14.3", "prost-types", "serde", "serde_json", @@ -1343,42 +1418,40 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" [[package]] -name = "const-random" -version = "0.1.18" +name = "const-oid" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87e00182fe74b066627d63b85fd550ac2998d4b0bd86bfed477a0ae4c7c71359" -dependencies = [ - "const-random-macro", -] - -[[package]] -name = "const-random-macro" -version = "0.1.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" -dependencies = [ - "getrandom 0.2.15", - "once_cell", - "tiny-keccak", -] +checksum = "a6ef517f0926dd24a1582492c791b6a4818a4d94e789a334894aa15b0d12f55c" [[package]] name = "const_panic" -version = "0.2.12" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2459fc9262a1aa204eb4b5764ad4f189caec88aea9634389c0a25f8be7f6265e" +checksum = "e262cdaac42494e3ae34c43969f9cdeb7da178bdb4b66fa6a1ea2edb4c8ae652" +dependencies = [ + "typewit", +] [[package]] name = "constant_time_eq" -version = "0.3.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" +checksum = "3d52eff69cd5e647efe296129160853a42795992097e8af39800e1060caeea9b" + +[[package]] +name = "convert_case" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "633458d4ef8c78b72454de2d54fd6ab2e60f9e02be22f3c6104cdc8a4e0fceb9" +dependencies = [ + "unicode-segmentation", +] [[package]] name = "core-foundation" -version = "0.9.4" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" +checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6" dependencies = [ "core-foundation-sys", "libc", @@ -1390,6 +1463,12 @@ version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" +[[package]] +name = "cpubits" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ef0c543070d296ea414df2dd7625d1b24866ce206709d8a4a424f28377f5861" + [[package]] name = "cpufeatures" version = "0.2.17" @@ -1400,10 +1479,28 @@ dependencies = [ ] [[package]] -name = "crc32fast" -version = "1.4.2" +name = "cpufeatures" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" +checksum = "8b2a41393f66f16b0823bb79094d54ac5fbd34ab292ddafb9a0456ac9f87d201" +dependencies = [ + "libc", +] + +[[package]] +name = "crc32c" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a47af21622d091a8f0fb295b88bc886ac74efcc613efc19f5d0b21de5c89e47" +dependencies = [ + "rustc_version", +] + +[[package]] +name = "crc32fast" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" dependencies = [ "cfg-if", ] @@ -1432,6 +1529,15 @@ dependencies = [ "crossbeam-utils", ] +[[package]] +name = "crossbeam-queue" +version = "0.3.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f58bbc28f91df819d0aa2a2c00cd19754769c2fad90579b3592b1c9ba7a3115" +dependencies = [ + "crossbeam-utils", +] + [[package]] name = "crossbeam-utils" version = "0.8.21" @@ -1439,22 +1545,50 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" [[package]] -name = "crunchy" -version = "0.2.3" +name = "crypto-bigint" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" +checksum = "42a0d26b245348befa0c121944541476763dcc46ede886c88f9d12e1697d27c3" +dependencies = [ + "cpubits", + "ctutils", + "num-traits", + "rand_core 0.10.0", + "serdect", + "zeroize", +] [[package]] name = "crypto-common" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" dependencies = [ "generic-array", "rand_core 0.6.4", "typenum", ] +[[package]] +name = "crypto-common" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77727bb15fa921304124b128af125e7e3b968275d1b108b379190264f4423710" +dependencies = [ + "hybrid-array", +] + +[[package]] +name = "crypto-primes" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21f41f23de7d24cdbda7f0c4d9c0351f99a4ceb258ef30e5c1927af8987ffe5a" +dependencies = [ + "crypto-bigint", + "libm", + "rand_core 0.10.0", +] + [[package]] name = "ctr" version = "0.9.2" @@ -1466,12 +1600,22 @@ dependencies = [ [[package]] name = "ctrlc" -version = "3.4.6" +version = "3.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "697b5419f348fd5ae2478e8018cb016c00a5881c7f46c717de98ffd135a5651c" +checksum = "e0b1fab2ae45819af2d0731d60f2afe17227ebb1a1538a236da84c93e9a60162" dependencies = [ + "dispatch2", "nix", - "windows-sys 0.59.0", + "windows-sys 0.61.2", +] + +[[package]] +name = "ctutils" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d5515a3834141de9eafb9717ad39eea8247b5674e6066c404e8c4b365d2a29e" +dependencies = [ + "cmov", ] [[package]] @@ -1481,9 +1625,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be" dependencies = [ "cfg-if", - "cpufeatures", + "cpufeatures 0.2.17", "curve25519-dalek-derive", - "digest", + "digest 0.10.7", "fiat-crypto", "rustc_version", "serde", @@ -1499,14 +1643,14 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.117", ] [[package]] name = "data-encoding" -version = "2.9.0" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a2330da5de22e8a3cb63252ce2abb30116bf5265e89c0e01bc17015ce30a476" +checksum = "d7a1e2f27636f116493b8b860f5546edb47c8d8f8ea73e1d2a20be88e28d1fea" [[package]] name = "date_header" @@ -1516,11 +1660,12 @@ checksum = "0c03c416ed1a30fbb027ef484ba6ab6f80e1eada675e1a2b92fd673c045a1f1d" [[package]] name = "deadpool" -version = "0.12.2" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ed5957ff93768adf7a65ab167a17835c3d2c3c50d084fe305174c112f468e2f" +checksum = "0be2b1d1d6ec8d846f05e137292d0b89133caf95ef33695424c09568bdd39b1b" dependencies = [ "deadpool-runtime", + "lazy_static", "num_cpus", "tokio", ] @@ -1534,17 +1679,6 @@ dependencies = [ "tokio", ] -[[package]] -name = "deadpool-sqlite" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d84a12c51972a50e54895427e43743da9737af66395a609283be01ec72efd9fb" -dependencies = [ - "deadpool", - "deadpool-sync", - "rusqlite", -] - [[package]] name = "deadpool-sync" version = "0.1.4" @@ -1556,56 +1690,67 @@ dependencies = [ [[package]] name = "decancer" -version = "3.2.8" +version = "3.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a41401dd84c9335e2f5aec7f64057e243585d62622260d41c245919a601ccc9" +checksum = "a9244323129647178bf41ac861a2cdb9d9c81b9b09d3d0d1de9cd302b33b8a1d" dependencies = [ "lazy_static", - "paste", "regex", ] [[package]] name = "delegate-display" -version = "2.1.1" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98a85201f233142ac819bbf6226e36d0b5e129a47bd325084674261c82d4cd66" +checksum = "9926686c832494164c33a36bf65118f4bd6e704000b58c94681bf62e9ad67a74" dependencies = [ + "impartial-ord", + "itoa", "macroific", "proc-macro2", "quote", - "syn", + "syn 2.0.117", ] [[package]] name = "der" -version = "0.7.9" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" +checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" dependencies = [ - "const-oid", + "const-oid 0.9.6", + "zeroize", +] + +[[package]] +name = "der" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71fd89660b2dc699704064e59e9dba0147b903e85319429e131620d022be411b" +dependencies = [ + "const-oid 0.10.2", "pem-rfc7468", "zeroize", ] [[package]] name = "deranged" -version = "0.4.0" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e" +checksum = "7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c" dependencies = [ "powerfmt", ] [[package]] -name = "derive_arbitrary" -version = "1.4.1" +name = "derivative" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30542c1ad912e0e3d22a1935c290e12e8a29d704a420177a31faad4a601a0800" +checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -1619,11 +1764,11 @@ dependencies = [ [[package]] name = "derive_more" -version = "2.0.1" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "093242cf7570c207c83073cf82f79706fe7b8317e98620a47d5be7c3d8497678" +checksum = "d751e9e49156b02b44f9c1815bcb94b984cdcc4396ecc32521c739452808b134" dependencies = [ - "derive_more-impl 2.0.1", + "derive_more-impl 2.1.1", ] [[package]] @@ -1634,19 +1779,21 @@ checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" dependencies = [ "proc-macro2", "quote", - "syn", - "unicode-xid", + "syn 2.0.117", ] [[package]] name = "derive_more-impl" -version = "2.0.1" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" +checksum = "799a97264921d8623a957f6c3b9011f3b5492f557bbb7a5a19b7fa6d06ba8dcb" dependencies = [ + "convert_case", "proc-macro2", "quote", - "syn", + "rustc_version", + "syn 2.0.117", + "unicode-xid", ] [[package]] @@ -1655,12 +1802,22 @@ version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ - "block-buffer", - "const-oid", - "crypto-common", + "block-buffer 0.10.4", + "crypto-common 0.1.7", "subtle", ] +[[package]] +name = "digest" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4850db49bf08e663084f7fb5c87d202ef91a3907271aff24a94eb97ff039153c" +dependencies = [ + "block-buffer 0.12.0", + "const-oid 0.10.2", + "crypto-common 0.2.1", +] + [[package]] name = "dirs" version = "6.0.0" @@ -1679,7 +1836,19 @@ dependencies = [ "libc", "option-ext", "redox_users", - "windows-sys 0.59.0", + "windows-sys 0.61.2", +] + +[[package]] +name = "dispatch2" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e0e367e4e7da84520dedcac1901e4da967309406d1e51017ae1abfb97adbd38" +dependencies = [ + "bitflags", + "block2", + "libc", + "objc2", ] [[package]] @@ -1690,7 +1859,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.117", ] [[package]] @@ -1701,9 +1870,15 @@ checksum = "c9c272297e804878a2a4b707cfcfc6d2328b5bb936944613b4fdf2b9269afdfd" [[package]] name = "downcast-rs" -version = "1.2.1" +version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" +checksum = "117240f60069e65410b3ae1bb213295bd828f707b5bec6596a1afc8793ce0cbc" + +[[package]] +name = "dunce" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" [[package]] name = "ed25519" @@ -1711,22 +1886,22 @@ version = "2.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53" dependencies = [ - "pkcs8", + "pkcs8 0.10.2", "serde", - "signature", + "signature 2.2.0", ] [[package]] name = "ed25519-dalek" -version = "2.1.1" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871" +checksum = "70e796c081cee67dc755e1a36a0a172b897fab85fc3f6bc48307991f64e4eca9" dependencies = [ "curve25519-dalek", "ed25519", "rand_core 0.6.4", "serde", - "sha2", + "sha2 0.10.9", "subtle", "zeroize", ] @@ -1746,7 +1921,19 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn", + "syn 2.0.117", +] + +[[package]] +name = "enum-as-inner" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0359ee92f81184d7985519e474bda2a5738476334edd3746c9b1265c067afe70" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "syn 2.0.117", ] [[package]] @@ -1757,22 +1944,23 @@ checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" [[package]] name = "erased-serde" -version = "0.4.6" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e004d887f51fcb9fef17317a2f3525c887d8aa3f4f50fed920816a688284a5b7" +checksum = "d2add8a07dd6a8d93ff627029c51de145e12686fbc36ecb298ac22e74cf02dec" dependencies = [ "serde", + "serde_core", "typeid", ] [[package]] name = "errno" -version = "0.3.11" +version = "0.3.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "976dd42dc7e85965fe702eb8164f21f450704bdde31faefd6471dba214cb594e" +checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -1781,6 +1969,7 @@ version = "0.2.0" dependencies = [ "anyhow", "azalea", + "azalea-hax", "bevy_app", "bevy_ecs", "bevy_log", @@ -1808,9 +1997,9 @@ dependencies = [ [[package]] name = "event-listener" -version = "5.4.0" +version = "5.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3492acde4c3fc54c845eaab3eed8bd00c7a7d881f78bfc801e43a93dec1331ae" +checksum = "e13b66accf52311f30a0db42147dadea9850cb48cd070028831ae5f5d4b856ab" dependencies = [ "concurrent-queue", "parking", @@ -1843,9 +2032,9 @@ dependencies = [ [[package]] name = "eyeball-im" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43e8e9d31591be508826b875d8fe6056aebcaec3281ac0e45434ff303686c566" +checksum = "4790c03df183c2b46665c1a58118c04fd3e3976ec2fe16a0aa00e00c9eea7754" dependencies = [ "futures-core", "imbl", @@ -1867,21 +2056,21 @@ checksum = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a" [[package]] name = "fancy_constructor" -version = "1.3.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07b19d0e43eae2bfbafe4931b5e79c73fb1a849ca15cd41a761a7b8587f9a1a2" +checksum = "28a27643a5d05f3a22f5afd6e0d0e6e354f92d37907006f97b84b9cb79082198" dependencies = [ "macroific", "proc-macro2", "quote", - "syn", + "syn 2.0.117", ] [[package]] name = "fastrand" -version = "2.3.0" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" +checksum = "9f1f227452a390804cdb637b74a86990f2a7d7ba4b7d5693aac9b4dd6defd8d6" [[package]] name = "fiat-crypto" @@ -1890,10 +2079,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" [[package]] -name = "fixedbitset" -version = "0.4.2" +name = "find-msvc-tools" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" +checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" [[package]] name = "fixedbitset" @@ -1903,13 +2092,13 @@ checksum = "1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99" [[package]] name = "flate2" -version = "1.1.1" +version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ced92e76e966ca2fd84c8f7aa01a4aea65b0eb6648d72f7c8f3e2764a67fece" +checksum = "843fba2746e448b37e26a819579957415c8cef339bf08564fe8b7ddbd959573c" dependencies = [ "crc32fast", - "libz-rs-sys", "miniz_oxide", + "zlib-rs", ] [[package]] @@ -1924,6 +2113,12 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" +[[package]] +name = "foldhash" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" + [[package]] name = "foreign-types" version = "0.3.2" @@ -1941,18 +2136,34 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "form_urlencoded" -version = "1.2.1" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" dependencies = [ "percent-encoding", ] [[package]] -name = "futures" -version = "0.3.31" +name = "fs_extra" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" +checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c" + +[[package]] +name = "futf" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df420e2e84819663797d1ec6544b13c5be84629e7bb00dc960d6917db2987843" +dependencies = [ + "mac", + "new_debug_unreachable", +] + +[[package]] +name = "futures" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b147ee9d1f6d097cef9ce628cd2ee62288d963e16fb287bd9286455b241382d" dependencies = [ "futures-channel", "futures-core", @@ -1965,9 +2176,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" +checksum = "07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d" dependencies = [ "futures-core", "futures-sink", @@ -1975,15 +2186,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" +checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d" [[package]] name = "futures-executor" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" +checksum = "baf29c38818342a3b26b5b923639e7b1f4a61fc5e76102d4b1981c6dc7a7579d" dependencies = [ "futures-core", "futures-task", @@ -1992,15 +2203,15 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" +checksum = "cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718" [[package]] name = "futures-lite" -version = "2.6.0" +version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5edaec856126859abb19ed65f39e90fea3a9574b9707f13539acf4abf7eb532" +checksum = "f78e10609fe0e0b3f4157ffab1876319b5b0db102a2c60dc4626306dc46b44ad" dependencies = [ "fastrand", "futures-core", @@ -2022,32 +2233,32 @@ dependencies = [ [[package]] name = "futures-macro" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" +checksum = "e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.117", ] [[package]] name = "futures-sink" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" +checksum = "c39754e157331b013978ec91992bde1ac089843443c49cbc7f46150b0fad0893" [[package]] name = "futures-task" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" +checksum = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393" [[package]] name = "futures-util" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" +checksum = "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6" dependencies = [ "futures-channel", "futures-core", @@ -2057,23 +2268,9 @@ dependencies = [ "futures-task", "memchr", "pin-project-lite", - "pin-utils", "slab", ] -[[package]] -name = "generator" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc6bd114ceda131d3b1d665eba35788690ad37f5916457286b32ab6fd3c438dd" -dependencies = [ - "cfg-if", - "libc", - "log", - "rustversion", - "windows", -] - [[package]] name = "generic-array" version = "0.14.7" @@ -2086,31 +2283,45 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.15" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" +checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" dependencies = [ "cfg-if", "js-sys", "libc", - "wasi 0.11.0+wasi-snapshot-preview1", + "wasi", "wasm-bindgen", ] [[package]] name = "getrandom" -version = "0.3.2" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73fea8450eea4bac3940448fb7ae50d91f034f941199fcd9d909a5a07aa455f0" +checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" dependencies = [ "cfg-if", "js-sys", "libc", - "r-efi", - "wasi 0.14.2+wasi-0.2.4", + "r-efi 5.3.0", + "wasip2", "wasm-bindgen", ] +[[package]] +name = "getrandom" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555" +dependencies = [ + "cfg-if", + "libc", + "r-efi 6.0.0", + "rand_core 0.10.0", + "wasip2", + "wasip3", +] + [[package]] name = "ghash" version = "0.5.1" @@ -2121,17 +2332,11 @@ dependencies = [ "polyval", ] -[[package]] -name = "gimli" -version = "0.31.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" - [[package]] name = "git2" -version = "0.20.1" +version = "0.20.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5220b8ba44c68a9a7f7a7659e864dd73692e417ef0211bea133c7b74e031eeb9" +checksum = "7b88256088d75a56f8ecfa070513a775dd9107f6530ef14919dac831af9cfe2b" dependencies = [ "bitflags", "libc", @@ -2141,10 +2346,13 @@ dependencies = [ ] [[package]] -name = "glob" -version = "0.3.2" +name = "glam" +version = "0.30.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" +checksum = "19fc433e8437a212d1b6f1e68c7824af3aed907da60afa994e7f542d18d12aa9" +dependencies = [ + "serde_core", +] [[package]] name = "gloo-timers" @@ -2185,9 +2393,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.4.9" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75249d144030531f8dee69fe9cea04d3edf809a017ae445e2abdff6629e86633" +checksum = "2f44da3a8150a6703ed5d34e164b875fd14c2cdab9af1252a9a1020bde2bdc54" dependencies = [ "atomic-waker", "bytes", @@ -2195,7 +2403,7 @@ dependencies = [ "futures-core", "futures-sink", "http", - "indexmap 2.9.0", + "indexmap", "slab", "tokio", "tokio-util", @@ -2203,30 +2411,39 @@ dependencies = [ ] [[package]] -name = "hashbrown" -version = "0.12.3" +name = "hash32" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +checksum = "47d60b12902ba28e2730cd37e95b8c9223af2808df9e902d4df49588d1470606" +dependencies = [ + "byteorder", +] [[package]] name = "hashbrown" -version = "0.14.5" +version = "0.15.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" +checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" dependencies = [ - "ahash", - "allocator-api2", + "foldhash 0.1.5", +] + +[[package]] +name = "hashbrown" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" +dependencies = [ + "equivalent", "serde", + "serde_core", ] [[package]] name = "hashbrown" -version = "0.15.2" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" -dependencies = [ - "foldhash", -] +checksum = "4f467dd6dccf739c208452f8014c75c18bb8301b050ad1cfb27153803edb0f51" [[package]] name = "hashlink" @@ -2234,7 +2451,7 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7382cf6263419f2d8df38c55d7da83da5c18aef87fc7a7fc1fb1e344edfe14c1" dependencies = [ - "hashbrown 0.15.2", + "hashbrown 0.15.5", ] [[package]] @@ -2250,6 +2467,41 @@ dependencies = [ "num-traits", ] +[[package]] +name = "headers" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3314d5adb5d94bcdf56771f2e50dbbc80bb4bdf88967526706205ac9eff24eb" +dependencies = [ + "base64 0.22.1", + "bytes", + "headers-core", + "http", + "httpdate", + "mime", + "sha1 0.10.6", +] + +[[package]] +name = "headers-core" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54b4a22553d4242c49fddb9ba998a99962b5cc6f22cb5a3482bec22522403ce4" +dependencies = [ + "http", +] + +[[package]] +name = "heapless" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2af2455f757db2b292a9b1768c4b70186d443bcb3b316252d6b540aec1cd89ed" +dependencies = [ + "hash32", + "portable-atomic", + "stable_deref_trait", +] + [[package]] name = "heck" version = "0.5.0" @@ -2258,31 +2510,29 @@ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" [[package]] name = "hermit-abi" -version = "0.3.9" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" +checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" [[package]] name = "hickory-proto" -version = "0.25.1" +version = "0.25.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d844af74f7b799e41c78221be863bade11c430d46042c3b49ca8ae0c6d27287" +checksum = "f8a6fe56c0038198998a6f217ca4e7ef3a5e51f46163bd6dd60b5c71ca6c6502" dependencies = [ - "async-recursion", "async-trait", "cfg-if", - "critical-section", "data-encoding", - "enum-as-inner", + "enum-as-inner 0.6.1", "futures-channel", "futures-io", "futures-util", "idna", "ipnet", "once_cell", - "rand 0.9.0", + "rand 0.9.3", "ring", - "thiserror 2.0.12", + "thiserror 2.0.18", "tinyvec", "tokio", "tracing", @@ -2291,19 +2541,21 @@ dependencies = [ [[package]] name = "hickory-resolver" -version = "0.25.1" +version = "0.25.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a128410b38d6f931fcc6ca5c107a3b02cabd6c05967841269a4ad65d23c44331" +checksum = "dc62a9a99b0bfb44d2ab95a7208ac952d31060efc16241c87eaf36406fecf87a" dependencies = [ "cfg-if", "futures-util", "hickory-proto", + "ipconfig", "moka", "once_cell", "parking_lot", - "rand 0.9.0", + "rand 0.9.3", + "resolv-conf", "smallvec", - "thiserror 2.0.12", + "thiserror 2.0.18", "tokio", "tracing", ] @@ -2323,20 +2575,39 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ - "digest", + "digest 0.10.7", +] + +[[package]] +name = "html5ever" +version = "0.35.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55d958c2f74b664487a2035fe1dadb032c48718a03b63f3ab0b8537db8549ed4" +dependencies = [ + "log", + "markup5ever", + "match_token", ] [[package]] name = "http" -version = "1.3.1" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565" +checksum = "e3ba2a386d7f85a81f119ad7498ebe444d2e22c2af0b86b069416ace48b3311a" dependencies = [ "bytes", - "fnv", "itoa", ] +[[package]] +name = "http-auth" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "150fa4a9462ef926824cf4519c84ed652ca8f4fbae34cb8af045b5cbcaf98822" +dependencies = [ + "memchr", +] + [[package]] name = "http-body" version = "1.0.1" @@ -2374,19 +2645,29 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "humantime" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b112acc8b3adf4b107a8ec20977da0273a8c386765a3ec0229bd500a1443f9f" +checksum = "135b12329e5e3ce057a9f972339ea52bc954fe1e9358ef27f95e89716fbc5424" + +[[package]] +name = "hybrid-array" +version = "0.4.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3944cf8cf766b40e2a1a333ee5e9b563f854d5fa49d6a8ca2764e97c6eddb214" +dependencies = [ + "typenum", +] [[package]] name = "hyper" -version = "1.6.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80" +checksum = "6299f016b246a94207e63da54dbe807655bf9e00044f73ded42c3ac5305fbcca" dependencies = [ + "atomic-waker", "bytes", "futures-channel", - "futures-util", + "futures-core", "h2", "http", "http-body", @@ -2401,11 +2682,10 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.27.5" +version = "0.27.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d191583f3da1305256f22463b9bb0471acad48a4e534a5218b9963e9c1f59b2" +checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58" dependencies = [ - "futures-util", "http", "hyper", "hyper-util", @@ -2414,7 +2694,6 @@ dependencies = [ "tokio", "tokio-rustls", "tower-service", - "webpki-roots", ] [[package]] @@ -2448,17 +2727,20 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.11" +version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "497bbc33a26fdd4af9ed9c70d63f61cf56a938375fbb32df34db9b1cd6d643f2" +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", @@ -2468,9 +2750,9 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.63" +version = "0.1.65" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0c919e5debc312ad217002b8048a17b7d83f80703865bbfcfebb0458b0b27d8" +checksum = "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470" dependencies = [ "android_system_properties", "core-foundation-sys", @@ -2478,7 +2760,7 @@ dependencies = [ "js-sys", "log", "wasm-bindgen", - "windows-core 0.61.0", + "windows-core", ] [[package]] @@ -2492,21 +2774,23 @@ dependencies = [ [[package]] name = "icu_collections" -version = "1.5.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" +checksum = "2984d1cd16c883d7935b9e07e44071dca8d917fd52ecc02c04d5fa0b5a3f191c" dependencies = [ "displaydoc", + "potential_utf", + "utf8_iter", "yoke", "zerofrom", "zerovec", ] [[package]] -name = "icu_locid" -version = "1.5.0" +name = "icu_locale_core" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" +checksum = "92219b62b3e2b4d88ac5119f8904c10f8f61bf7e95b640d25ba3075e6cac2c29" dependencies = [ "displaydoc", "litemap", @@ -2515,104 +2799,72 @@ dependencies = [ "zerovec", ] -[[package]] -name = "icu_locid_transform" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" -dependencies = [ - "displaydoc", - "icu_locid", - "icu_locid_transform_data", - "icu_provider", - "tinystr", - "zerovec", -] - -[[package]] -name = "icu_locid_transform_data" -version = "1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7515e6d781098bf9f7205ab3fc7e9709d34554ae0b21ddbcb5febfa4bc7df11d" - [[package]] name = "icu_normalizer" -version = "1.5.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" +checksum = "c56e5ee99d6e3d33bd91c5d85458b6005a22140021cc324cea84dd0e72cff3b4" dependencies = [ - "displaydoc", "icu_collections", "icu_normalizer_data", "icu_properties", "icu_provider", "smallvec", - "utf16_iter", - "utf8_iter", - "write16", "zerovec", ] [[package]] name = "icu_normalizer_data" -version = "1.5.1" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5e8338228bdc8ab83303f16b797e177953730f601a96c25d10cb3ab0daa0cb7" +checksum = "da3be0ae77ea334f4da67c12f149704f19f81d1adf7c51cf482943e84a2bad38" [[package]] name = "icu_properties" -version = "1.5.1" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" +checksum = "bee3b67d0ea5c2cca5003417989af8996f8604e34fb9ddf96208a033901e70de" dependencies = [ - "displaydoc", "icu_collections", - "icu_locid_transform", + "icu_locale_core", "icu_properties_data", "icu_provider", - "tinystr", + "zerotrie", "zerovec", ] [[package]] name = "icu_properties_data" -version = "1.5.1" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85fb8799753b75aee8d2a21d7c14d9f38921b54b3dbda10f5a3c7a7b82dba5e2" +checksum = "8e2bbb201e0c04f7b4b3e14382af113e17ba4f63e2c9d2ee626b720cbce54a14" [[package]] name = "icu_provider" -version = "1.5.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" +checksum = "139c4cf31c8b5f33d7e199446eff9c1e02decfc2f0eec2c8d71f65befa45b421" dependencies = [ "displaydoc", - "icu_locid", - "icu_provider_macros", - "stable_deref_trait", - "tinystr", + "icu_locale_core", "writeable", "yoke", "zerofrom", + "zerotrie", "zerovec", ] [[package]] -name = "icu_provider_macros" -version = "1.5.0" +name = "id-arena" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] +checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" [[package]] name = "idna" -version = "1.0.3" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" +checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" dependencies = [ "idna_adapter", "smallvec", @@ -2621,9 +2873,9 @@ dependencies = [ [[package]] name = "idna_adapter" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" +checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" dependencies = [ "icu_normalizer", "icu_properties", @@ -2631,14 +2883,14 @@ dependencies = [ [[package]] name = "imbl" -version = "5.0.0" +version = "6.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4308a675e4cfc1920f36a8f4d8fb62d5533b7da106844bd1ec51c6f1fa94a0c" +checksum = "0fade8ae6828627ad1fa094a891eccfb25150b383047190a3648d66d06186501" dependencies = [ "archery", "bitmaps", "imbl-sized-chunks", - "rand_core 0.9.3", + "rand_core 0.9.5", "rand_xoshiro", "serde", "version_check", @@ -2653,6 +2905,17 @@ dependencies = [ "bitmaps", ] +[[package]] +name = "impartial-ord" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ab604ee7085efba6efc65e4ebca0e9533e3aff6cb501d7d77b211e3a781c6d5" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + [[package]] name = "include_dir" version = "0.7.4" @@ -2672,42 +2935,16 @@ dependencies = [ "quote", ] -[[package]] -name = "indexed_db_futures" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43315957678a70eb21fb0d2384fe86dde0d6c859a01e24ce127eb65a0143d28c" -dependencies = [ - "accessory", - "cfg-if", - "delegate-display", - "fancy_constructor", - "js-sys", - "uuid", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - [[package]] name = "indexmap" -version = "1.9.3" +version = "2.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" -dependencies = [ - "autocfg", - "hashbrown 0.12.3", -] - -[[package]] -name = "indexmap" -version = "2.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" +checksum = "d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9" dependencies = [ "equivalent", - "hashbrown 0.15.2", + "hashbrown 0.17.0", "serde", + "serde_core", ] [[package]] @@ -2721,16 +2958,39 @@ dependencies = [ ] [[package]] -name = "ipnet" -version = "2.11.0" +name = "ipconfig" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" +checksum = "4d40460c0ce33d6ce4b0630ad68ff63d6661961c48b6dba35e5a4d81cfb48222" +dependencies = [ + "socket2", + "widestring", + "windows-registry", + "windows-result", + "windows-sys 0.61.2", +] + +[[package]] +name = "ipnet" +version = "2.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d98f6fed1fde3f8c21bc40a1abb88dd75e67924f9cffc3ef95607bad8017f8e2" + +[[package]] +name = "iri-string" +version = "0.7.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25e659a4bb38e810ebc252e53b5814ff908a8c58c2a9ce2fae1bbec24cbf4e20" +dependencies = [ + "memchr", + "serde", +] [[package]] name = "is_terminal_polyfill" -version = "1.70.1" +version = "1.70.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" +checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" [[package]] name = "itertools" @@ -2741,15 +3001,6 @@ dependencies = [ "either", ] -[[package]] -name = "itertools" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" -dependencies = [ - "either", -] - [[package]] name = "itertools" version = "0.14.0" @@ -2761,26 +3012,72 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.15" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "jni" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" +dependencies = [ + "cesu8", + "cfg-if", + "combine", + "jni-sys 0.3.1", + "log", + "thiserror 1.0.69", + "walkdir", + "windows-sys 0.45.0", +] + +[[package]] +name = "jni-sys" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41a652e1f9b6e0275df1f15b32661cf0d4b78d4d87ddec5e0c3c20f097433258" +dependencies = [ + "jni-sys 0.4.1", +] + +[[package]] +name = "jni-sys" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6377a88cb3910bee9b0fa88d4f42e1d2da8e79915598f65fb0c7ee14c878af2" +dependencies = [ + "jni-sys-macros", +] + +[[package]] +name = "jni-sys-macros" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38c0b942f458fe50cdac086d2f946512305e5631e720728f2a61aabcd47a6264" +dependencies = [ + "quote", + "syn 2.0.117", +] [[package]] name = "jobserver" -version = "0.1.33" +version = "0.1.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38f262f097c174adebe41eb73d66ae9c06b2844fb0da69969647bbddd9b0538a" +checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" dependencies = [ - "getrandom 0.3.2", + "getrandom 0.3.4", "libc", ] [[package]] name = "js-sys" -version = "0.3.77" +version = "0.3.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" +checksum = "2964e92d1d9dc3364cae4d718d93f227e3abb088e747d92e0395bfdedf1c12ca" dependencies = [ + "cfg-if", + "futures-util", "once_cell", "wasm-bindgen", ] @@ -2796,11 +3093,11 @@ dependencies = [ [[package]] name = "js_option" -version = "0.1.1" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68421373957a1593a767013698dbf206e2b221eefe97a44d98d18672ff38423c" +checksum = "c7dd3e281add16813cf673bf74a32249b0aa0d1c8117519a17b3ada5e8552b3c" dependencies = [ - "serde", + "serde_core", ] [[package]] @@ -2834,21 +3131,24 @@ name = "lazy_static" version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" -dependencies = [ - "spin", -] + +[[package]] +name = "leb128fmt" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" [[package]] name = "libc" -version = "0.2.172" +version = "0.2.184" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" +checksum = "48f5d2a454e16a5ea0f4ced81bd44e4cfc7bd3a507b61887c99fd3538b28e4af" [[package]] name = "libgit2-sys" -version = "0.18.1+1.9.0" +version = "0.18.3+1.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1dcb20f84ffcdd825c7a311ae347cce604a6f084a767dec4a4929829645290e" +checksum = "c9b3acc4b91781bb0b3386669d325163746af5f6e4f73e6d2d630e09a35f3487" dependencies = [ "cc", "libc", @@ -2856,27 +3156,17 @@ dependencies = [ "pkg-config", ] -[[package]] -name = "libloading" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34" -dependencies = [ - "cfg-if", - "windows-targets 0.52.6", -] - [[package]] name = "libm" -version = "0.2.11" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" +checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" [[package]] name = "libmimalloc-sys" -version = "0.1.42" +version = "0.1.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec9d6fac27761dabcd4ee73571cdb06b7022dc99089acbe5435691edffaac0f4" +checksum = "667f4fec20f29dfc6bc7357c582d91796c169ad7e2fce709468aefeb2c099870" dependencies = [ "cc", "libc", @@ -2884,38 +3174,28 @@ dependencies = [ [[package]] name = "libredox" -version = "0.1.3" +version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" +checksum = "e02f3bb43d335493c96bf3fd3a321600bf6bd07ed34bc64118e9293bdffea46c" dependencies = [ - "bitflags", "libc", ] [[package]] name = "libsqlite3-sys" -version = "0.31.0" +version = "0.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad8935b44e7c13394a179a438e0cebba0fe08fe01b54f152e29a93b5cf993fd4" +checksum = "133c182a6a2c87864fe97778797e46c7e999672690dc9fa3ee8e241aa4a9c13f" dependencies = [ "pkg-config", "vcpkg", ] -[[package]] -name = "libz-rs-sys" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6489ca9bd760fe9642d7644e827b0c9add07df89857b0416ee15c1cc1a3b8c5a" -dependencies = [ - "zlib-rs", -] - [[package]] name = "libz-sys" -version = "1.1.22" +version = "1.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b70e7a7df205e92a1a4cd9aaae7898dac0aa555503cc0a649494d0d60e7651d" +checksum = "fc3a226e576f50782b3305c5ccf458698f92798987f551c6a02efe8276721e22" dependencies = [ "cc", "libc", @@ -2925,50 +3205,48 @@ dependencies = [ [[package]] name = "linux-raw-sys" -version = "0.9.4" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12" +checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53" [[package]] name = "litemap" -version = "0.7.5" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23fb14cb19457329c82206317a5663005a4d404783dc74f4252769b0d5f42856" +checksum = "92daf443525c4cce67b150400bc2316076100ce0b3686209eb8cf3c31612e6f0" [[package]] name = "lock_api" -version = "0.4.12" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" dependencies = [ - "autocfg", "scopeguard", ] [[package]] name = "log" -version = "0.4.27" +version = "0.4.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" +checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" [[package]] -name = "loom" -version = "0.7.2" +name = "lru-slab" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "419e0dc8046cb947daa77eb95ae174acfbddb7673b4151f56d1eed8e93fbfaca" -dependencies = [ - "cfg-if", - "generator", - "scoped-tls", - "tracing", - "tracing-subscriber", -] +checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154" + +[[package]] +name = "mac" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4" [[package]] name = "macroific" -version = "1.3.1" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f05c00ac596022625d01047c421a0d97d7f09a18e429187b341c201cb631b9dd" +checksum = "89f276537b4b8f981bf1c13d79470980f71134b7bdcc5e6e911e910e556b0285" dependencies = [ "macroific_attr_parse", "macroific_core", @@ -2977,38 +3255,39 @@ dependencies = [ [[package]] name = "macroific_attr_parse" -version = "1.3.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd94d5da95b30ae6e10621ad02340909346ad91661f3f8c0f2b62345e46a2f67" +checksum = "ad4023761b45fcd36abed8fb7ae6a80456b0a38102d55e89a57d9a594a236be9" dependencies = [ - "cfg-if", "proc-macro2", "quote", - "syn", + "sealed", + "syn 2.0.117", ] [[package]] name = "macroific_core" -version = "1.0.2" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13198c120864097a565ccb3ff947672d969932b7975ebd4085732c9f09435e55" +checksum = "d0a7594d3c14916fa55bef7e9d18c5daa9ed410dd37504251e4b75bbdeec33e3" dependencies = [ "proc-macro2", "quote", - "syn", + "sealed", + "syn 2.0.117", ] [[package]] name = "macroific_macro" -version = "1.1.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0c9853143cbed7f1e41dc39fee95f9b361bec65c8dc2a01bf609be01b61f5ae" +checksum = "4da6f2ed796261b0a74e2b52b42c693bb6dee1effba3a482c49592659f824b3b" dependencies = [ "macroific_attr_parse", "macroific_core", "proc-macro2", "quote", - "syn", + "syn 2.0.117", ] [[package]] @@ -3018,48 +3297,70 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d" [[package]] -name = "matchers" -version = "0.1.0" +name = "markup5ever" +version = "0.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" +checksum = "311fe69c934650f8f19652b3946075f0fc41ad8757dbb68f1ca14e7900ecc1c3" dependencies = [ - "regex-automata 0.1.10", + "log", + "tendril", + "web_atoms", +] + +[[package]] +name = "match_token" +version = "0.35.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac84fd3f360fcc43dc5f5d186f02a94192761a080e8bc58621ad4d12296a58cf" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "matchers" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9" +dependencies = [ + "regex-automata", ] [[package]] name = "matchit" -version = "0.7.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" +checksum = "47e1ffaa40ddd1f3ed91f717a33c8c0ee23fff369e3aa8772b9605cc1d22f4c3" [[package]] name = "matrix-pickle" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e2551de3bba2cc65b52dc6b268df6114011fe118ac24870fbcf1b35537bd721" +checksum = "6c34e6db65145740459f2ca56623b40cd4e6000ffae2a7d91515fa82aa935dbf" dependencies = [ "matrix-pickle-derive", - "thiserror 1.0.69", + "thiserror 2.0.18", ] [[package]] name = "matrix-pickle-derive" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f75de44c3120d78e978adbcf6d453b20ba011f3c46363e52d1dbbc72f545e9fb" +checksum = "a962fc9981f823f6555416dcb2ae9ae67ca412d767ee21ecab5150113ee6285b" dependencies = [ "proc-macro-crate", "proc-macro-error2", "proc-macro2", "quote", - "syn", + "syn 2.0.117", ] [[package]] name = "matrix-sdk" -version = "0.11.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55232f098ff360b58b8bfc2605b995222dc4adbe0ea21bb94c220dd5f9a6dc54" +checksum = "b33f9bc45edd7f8e25161521fdd30654da5c55e6749be6afa1aa9d6cf838ace0" dependencies = [ "anyhow", "anymap2", @@ -3071,16 +3372,17 @@ dependencies = [ "backon", "bytes", "bytesize", + "cfg-if", "event-listener", "eyeball", "eyeball-im", "futures-core", "futures-util", "gloo-timers", - "growable-bloom-filter", "http", "imbl", - "indexmap 2.9.0", + "indexmap", + "itertools 0.14.0", "js_int", "language-tags", "matrix-sdk-base", @@ -3093,14 +3395,14 @@ dependencies = [ "once_cell", "percent-encoding", "pin-project-lite", - "reqwest", + "reqwest 0.12.28", "ruma", "serde", "serde_html_form", "serde_json", - "sha2", + "sha2 0.10.9", "tempfile", - "thiserror 2.0.12", + "thiserror 2.0.18", "tokio", "tokio-stream", "tokio-util", @@ -3113,9 +3415,9 @@ dependencies = [ [[package]] name = "matrix-sdk-base" -version = "0.11.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe69467f921319733354fa5d5fb47a4e147e645c929d62519da7928cd6d203a9" +checksum = "70f404a390ff98a73c426b1496b169be60ce6a93723a9a664e579d978a84c5e4" dependencies = [ "as_variant", "async-trait", @@ -3133,7 +3435,7 @@ dependencies = [ "ruma", "serde", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.18", "tokio", "tracing", "unicode-normalization", @@ -3141,20 +3443,20 @@ dependencies = [ [[package]] name = "matrix-sdk-common" -version = "0.11.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75aa988a96e4a85e2b854f4f6487d31f1833e8abf3eebc1b8c13274a68dacf45" +checksum = "54fae2bdfc3d760d21a84d6d2036b5db5c48d9a3dee3794119e3fb9c4cc4ccc5" dependencies = [ - "async-trait", "eyeball-im", "futures-core", + "futures-executor", "futures-util", "gloo-timers", "imbl", "ruma", "serde", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.18", "tokio", "tracing", "tracing-subscriber", @@ -3165,9 +3467,9 @@ dependencies = [ [[package]] name = "matrix-sdk-crypto" -version = "0.11.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe2a8a811f9809f37c360f7005350e76661cb2bed2624b87b8d772c444bf572a" +checksum = "304fc576810a9618bb831c4ad6403c758ec424f677668a49a196e3cde4b8f99f" dependencies = [ "aes", "aquamarine", @@ -3191,9 +3493,9 @@ dependencies = [ "ruma", "serde", "serde_json", - "sha2", + "sha2 0.10.9", "subtle", - "thiserror 2.0.12", + "thiserror 2.0.18", "time", "tokio", "tokio-stream", @@ -3206,28 +3508,31 @@ dependencies = [ [[package]] name = "matrix-sdk-indexeddb" -version = "0.11.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63da8893fc9062f4b7874f766fd5dcf048f8ea456b08ba89320cc68926b1112e" +checksum = "1b6096084cc8d339c03e269ca25534d0f1e88d0097c35a215eb8c311797ec3e9" dependencies = [ - "anyhow", "async-trait", "base64 0.22.1", - "getrandom 0.2.15", + "futures-util", + "getrandom 0.2.17", "gloo-utils", "hkdf", - "indexed_db_futures", "js-sys", + "matrix-sdk-base", "matrix-sdk-crypto", "matrix-sdk-store-encryption", + "matrix_indexed_db_futures", + "rmp-serde", "ruma", "serde", "serde-wasm-bindgen", "serde_json", - "sha2", - "thiserror 2.0.12", + "sha2 0.10.9", + "thiserror 2.0.18", "tokio", "tracing", + "uuid", "wasm-bindgen", "web-sys", "zeroize", @@ -3235,12 +3540,14 @@ dependencies = [ [[package]] name = "matrix-sdk-sqlite" -version = "0.11.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddbf4f588b93ad08b760d3e51b046c4701dd7d900e75582d87c99d606e23e4b8" +checksum = "4325742fc06b7f75c80eec39e8fb32b06ea4b09b7aa1d432b67b01d08fbacc28" dependencies = [ + "as_variant", "async-trait", - "deadpool-sqlite", + "deadpool", + "deadpool-sync", "itertools 0.14.0", "matrix-sdk-base", "matrix-sdk-crypto", @@ -3251,32 +3558,74 @@ dependencies = [ "rusqlite", "serde", "serde_json", - "thiserror 2.0.12", + "serde_path_to_error", + "thiserror 2.0.18", "tokio", "tracing", "vodozemac", + "zeroize", ] [[package]] name = "matrix-sdk-store-encryption" -version = "0.11.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b14e1db0b31db81c5d20c20d24c84421893491da30e8e0218e991c3a350188e" +checksum = "162a93e83114d5cef25c0ebaea72aa01b9f233df6ec4a2af45f175d01ec26323" dependencies = [ "base64 0.22.1", "blake3", "chacha20poly1305", + "getrandom 0.2.17", "hmac", "pbkdf2", "rand 0.8.5", "rmp-serde", "serde", "serde_json", - "sha2", - "thiserror 2.0.12", + "sha2 0.10.9", + "thiserror 2.0.18", "zeroize", ] +[[package]] +name = "matrix_indexed_db_futures" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "245ff6a224b4df7b0c90dda2dd5a6eb46112708d49e8bdd8b007fccb09fea8e4" +dependencies = [ + "accessory", + "cfg-if", + "delegate-display", + "derive_more 2.1.1", + "fancy_constructor", + "futures-core", + "js-sys", + "matrix_indexed_db_futures_macros_internal", + "sealed", + "serde", + "serde-wasm-bindgen", + "smallvec", + "thiserror 2.0.18", + "tokio", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm_evt_listener", + "web-sys", + "web-time", +] + +[[package]] +name = "matrix_indexed_db_futures_macros_internal" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b428aee5c0fe9e5babd29e99d289b7f64718c444989aac0442d1fd6d3e3f66d1" +dependencies = [ + "macroific", + "proc-macro2", + "quote", + "syn 2.0.117", +] + [[package]] name = "md-5" version = "0.10.6" @@ -3284,20 +3633,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" dependencies = [ "cfg-if", - "digest", + "digest 0.10.7", ] [[package]] name = "memchr" -version = "2.7.4" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" +checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" [[package]] name = "mimalloc" -version = "0.1.46" +version = "0.1.48" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "995942f432bbb4822a7e9c3faa87a695185b0d09273ba85f097b54f4e458f2af" +checksum = "e1ee66a4b64c74f4ef288bcbb9192ad9c3feaad75193129ac8509af543894fd8" dependencies = [ "libmimalloc-sys", ] @@ -3328,74 +3677,76 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.8.8" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3be647b768db090acb35d5ec5db2b0e1f1de11133ca123b9eacf5137868f892a" +checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" dependencies = [ "adler2", + "simd-adler32", ] [[package]] name = "mio" -version = "1.0.3" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" +checksum = "50b7e5b27aa02a74bac8c3f23f448f8d87ff11f92d3aac1a6ed369ee08cc56c1" dependencies = [ "libc", - "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.52.0", + "wasi", + "windows-sys 0.61.2", ] [[package]] name = "mlua" -version = "0.10.3" +version = "0.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3f763c1041eff92ffb5d7169968a327e1ed2ebfe425dac0ee5a35f29082534b" +checksum = "ccd36acfa49ce6ee56d1307a061dd302c564eee757e6e4cd67eb4f7204846fab" dependencies = [ "bstr", "either", "futures-util", + "libc", "mlua-sys", "num-traits", "parking_lot", - "rustc-hash 2.1.1", + "rustc-hash", + "rustversion", ] [[package]] name = "mlua-sys" -version = "0.6.7" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1901c1a635a22fe9250ffcc4fcc937c16b47c2e9e71adba8784af8bca1f69594" +checksum = "0f1c3a7fc7580227ece249fd90aa2fa3b39eb2b49d3aec5e103b3e85f2c3dfc8" dependencies = [ "cc", "cfg-if", + "libc", "pkg-config", ] [[package]] name = "moka" -version = "0.12.10" +version = "0.12.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9321642ca94a4282428e6ea4af8cc2ca4eac48ac7a6a4ea8f33f76d0ce70926" +checksum = "957228ad12042ee839f93c8f257b62b4c0ab5eaae1d4fa60de53b27c9d7c5046" dependencies = [ "crossbeam-channel", "crossbeam-epoch", "crossbeam-utils", - "loom", + "equivalent", "parking_lot", "portable-atomic", - "rustc_version", "smallvec", "tagptr", - "thiserror 1.0.69", "uuid", ] [[package]] name = "native-tls" -version = "0.2.14" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87de3442987e9dbec73158d5c715e7ad9072fda936bb03d19d7fa10e00520f0e" +checksum = "465500e14ea162429d264d44189adc38b199b62b1c21eea9f69e4b73cb03bbf2" dependencies = [ "libc", "log", @@ -3423,14 +3774,20 @@ dependencies = [ "pbkdf2", "phf", "rand 0.8.5", - "sha1", + "sha1 0.10.6", ] [[package]] -name = "nix" -version = "0.29.0" +name = "new_debug_unreachable" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" +checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" + +[[package]] +name = "nix" +version = "0.31.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d6d0705320c1e6ba1d912b5e37cf18071b6c2e9b7fa8215a1e8a7651966f5d3" dependencies = [ "bitflags", "cfg-if", @@ -3462,12 +3819,11 @@ checksum = "610a5acd306ec67f907abe5567859a3c693fb9886eb1f012ab8f2a47bef3db51" [[package]] name = "nu-ansi-term" -version = "0.46.0" +version = "0.50.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" +checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" dependencies = [ - "overload", - "winapi", + "windows-sys 0.61.2", ] [[package]] @@ -3494,23 +3850,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "num-bigint-dig" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc84195820f291c7697304f3cbdadd1cb7199c0efc917ff5eafd71225c136151" -dependencies = [ - "byteorder", - "lazy_static", - "libm", - "num-integer", - "num-iter", - "num-traits", - "rand 0.8.5", - "smallvec", - "zeroize", -] - [[package]] name = "num-complex" version = "0.4.6" @@ -3522,9 +3861,9 @@ dependencies = [ [[package]] name = "num-conv" -version = "0.1.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" +checksum = "c6673768db2d862beb9b39a78fdcb1a69439615d5794a1be50caa9bc92c81967" [[package]] name = "num-format" @@ -3574,14 +3913,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", - "libm", ] [[package]] name = "num_cpus" -version = "1.16.0" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" +checksum = "91df4bbde75afed763b708b7eee1e8e7651e02d97f6d5dd763e89367e957b23b" dependencies = [ "hermit-abi", "libc", @@ -3595,37 +3933,49 @@ checksum = "51e219e79014df21a225b1860a479e2dcd7cbd9130f4defd4bd0e191ea31d67d" dependencies = [ "base64 0.22.1", "chrono", - "getrandom 0.2.15", + "getrandom 0.2.17", "http", "rand 0.8.5", - "reqwest", + "reqwest 0.12.28", "serde", "serde_json", "serde_path_to_error", - "sha2", + "sha2 0.10.9", "thiserror 1.0.69", "url", ] [[package]] -name = "object" -version = "0.36.7" +name = "objc2" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" +checksum = "3a12a8ed07aefc768292f076dc3ac8c48f3781c8f2d5851dd3d98950e8c5a89f" dependencies = [ - "memchr", + "objc2-encode", ] [[package]] -name = "once_cell" -version = "1.21.3" +name = "objc2-encode" +version = "4.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" +checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33" + +[[package]] +name = "once_cell" +version = "1.21.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" dependencies = [ "critical-section", "portable-atomic", ] +[[package]] +name = "once_cell_polyfill" +version = "1.70.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" + [[package]] name = "opaque-debug" version = "0.3.1" @@ -3634,9 +3984,9 @@ checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" [[package]] name = "openssl" -version = "0.10.72" +version = "0.10.76" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fedfea7d58a1f73118430a55da6a286e7b044961736ce96a16a17068ea25e5da" +checksum = "951c002c75e16ea2c65b8c7e4d3d51d5530d8dfa7d060b4776828c88cfb18ecf" dependencies = [ "bitflags", "cfg-if", @@ -3655,20 +4005,20 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.117", ] [[package]] name = "openssl-probe" -version = "0.1.6" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" +checksum = "7c87def4c32ab89d880effc9e097653c8da5d6ef28e6b539d313baaacfbafcbe" [[package]] name = "openssl-sys" -version = "0.9.107" +version = "0.9.112" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8288979acd84749c744a9014b4382d42b8f7b2592847b5afb2ed29e5d16ede07" +checksum = "57d55af3b3e226502be1526dfdba67ab0e9c96fc293004e79576b2b9edb0dbdb" dependencies = [ "cc", "libc", @@ -3682,12 +4032,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" -[[package]] -name = "overload" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" - [[package]] name = "parking" version = "2.2.1" @@ -3696,9 +4040,9 @@ checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" [[package]] name = "parking_lot" -version = "0.12.3" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" +checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" dependencies = [ "lock_api", "parking_lot_core", @@ -3706,57 +4050,41 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.10" +version = "0.9.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" +checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" dependencies = [ "cfg-if", "libc", "redox_syscall", "smallvec", - "windows-targets 0.52.6", + "windows-link", ] -[[package]] -name = "paste" -version = "1.0.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" - [[package]] name = "pbkdf2" version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" dependencies = [ - "digest", + "digest 0.10.7", "hmac", ] [[package]] name = "pem-rfc7468" -version = "0.7.0" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" +checksum = "a6305423e0e7738146434843d1694d621cce767262b2a86910beab705e4493d9" dependencies = [ "base64ct", ] [[package]] name = "percent-encoding" -version = "2.3.1" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" - -[[package]] -name = "petgraph" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" -dependencies = [ - "fixedbitset 0.4.2", - "indexmap 2.9.0", -] +checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" [[package]] name = "phf" @@ -3767,6 +4095,26 @@ dependencies = [ "phf_shared", ] +[[package]] +name = "phf_codegen" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aef8048c789fa5e851558d709946d6d79a8ff88c0440c587967f8e94bfb1216a" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d" +dependencies = [ + "phf_shared", + "rand 0.8.5", +] + [[package]] name = "phf_shared" version = "0.11.3" @@ -3778,45 +4126,38 @@ dependencies = [ [[package]] name = "pin-project" -version = "1.1.10" +version = "1.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677f1add503faace112b9f1373e43e9e054bfdd22ff1a63c1bc485eaec6a6a8a" +checksum = "f1749c7ed4bcaf4c3d0a3efc28538844fb29bcdd7d2b67b2be7e20ba861ff517" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.10" +version = "1.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" +checksum = "d9b20ed30f105399776b9c883e68e536ef602a16ae6f596d2c473591d6ad64c6" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.117", ] [[package]] name = "pin-project-lite" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" - -[[package]] -name = "pin-utils" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" +checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd" [[package]] name = "pkcs1" -version = "0.7.5" +version = "0.8.0-rc.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f" +checksum = "986d2e952779af96ea048f160fd9194e1751b4faea78bcf3ceb456efe008088e" dependencies = [ - "der", - "pkcs8", - "spki", + "der 0.8.0", + "spki 0.8.0", ] [[package]] @@ -3825,8 +4166,18 @@ version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" dependencies = [ - "der", - "spki", + "der 0.7.10", + "spki 0.7.3", +] + +[[package]] +name = "pkcs8" +version = "0.11.0-rc.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12922b6296c06eb741b02d7b5161e3aaa22864af38dfa025a1a3ba3f68c84577" +dependencies = [ + "der 0.8.0", + "spki 0.8.0", ] [[package]] @@ -3841,7 +4192,7 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8159bd90725d2df49889a078b54f4f79e87f1f8a8444194cdca81d38f5393abf" dependencies = [ - "cpufeatures", + "cpufeatures 0.2.17", "opaque-debug", "universal-hash", ] @@ -3853,16 +4204,34 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d1fe60d06143b2430aa532c94cfe9e29783047f06c0d7fd359a9a51b729fa25" dependencies = [ "cfg-if", - "cpufeatures", + "cpufeatures 0.2.17", "opaque-debug", "universal-hash", ] [[package]] name = "portable-atomic" -version = "1.11.0" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "350e9b48cbc6b0e028b0473b114454c6316e57336ee184ceab6e53f72c178b3e" +checksum = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49" + +[[package]] +name = "portable-atomic-util" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "091397be61a01d4be58e7841595bd4bfedb15f1cd54977d79b8271e94ed799a3" +dependencies = [ + "portable-atomic", +] + +[[package]] +name = "potential_utf" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0103b1cef7ec0cf76490e969665504990193874ea05c85ff9bab8b911d0a0564" +dependencies = [ + "zerovec", +] [[package]] name = "powerfmt" @@ -3876,26 +4245,32 @@ version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" dependencies = [ - "zerocopy 0.8.24", + "zerocopy", ] [[package]] -name = "prettyplease" -version = "0.2.32" +name = "precomputed-hash" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "664ec5419c51e34154eec046ebcba56312d5a2fc3b09a06da188e1ad21afadf6" +checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" + +[[package]] +name = "prettyplease" +version = "0.2.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" dependencies = [ "proc-macro2", - "syn", + "syn 2.0.117", ] [[package]] name = "proc-macro-crate" -version = "3.3.0" +version = "3.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edce586971a4dfaa28950c6f18ed55e0406c1ab88bbce2c6f6293a7aaba73d35" +checksum = "e67ba7e9b2b56446f1d419b1d807906278ffa1a658a8a5d8a39dcb1f5a78614f" dependencies = [ - "toml_edit", + "toml_edit 0.25.11+spec-1.1.0", ] [[package]] @@ -3921,9 +4296,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.95" +version = "1.0.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" +checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" dependencies = [ "unicode-ident", ] @@ -3935,7 +4310,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2796faa41db3ec313a31f7624d9286acf277b52de526150b7e69f3debf891ee5" dependencies = [ "bytes", - "prost-derive", + "prost-derive 0.13.5", +] + +[[package]] +name = "prost" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2ea70524a2f82d518bce41317d0fae74151505651af45faf1ffbd6fd33f0568" +dependencies = [ + "bytes", + "prost-derive 0.14.3", ] [[package]] @@ -3948,33 +4333,46 @@ dependencies = [ "itertools 0.14.0", "proc-macro2", "quote", - "syn", + "syn 2.0.117", +] + +[[package]] +name = "prost-derive" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27c6023962132f4b30eb4c172c91ce92d933da334c59c23cddee82358ddafb0b" +dependencies = [ + "anyhow", + "itertools 0.14.0", + "proc-macro2", + "quote", + "syn 2.0.117", ] [[package]] name = "prost-types" -version = "0.13.5" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52c2c1bf36ddb1a1c396b3601a3cec27c2462e45f07c386894ec3ccf5332bd16" +checksum = "8991c4cbdb8bc5b11f0b074ffe286c30e523de90fee5ba8132f1399f23cb3dd7" dependencies = [ - "prost", + "prost 0.14.3", ] [[package]] name = "quinn" -version = "0.11.7" +version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3bd15a6f2967aef83887dcb9fec0014580467e33720d073560cf015a5683012" +checksum = "b9e20a958963c291dc322d98411f541009df2ced7b5a4f2bd52337638cfccf20" dependencies = [ "bytes", "cfg_aliases", "pin-project-lite", "quinn-proto", "quinn-udp", - "rustc-hash 2.1.1", + "rustc-hash", "rustls", "socket2", - "thiserror 2.0.12", + "thiserror 2.0.18", "tokio", "tracing", "web-time", @@ -3982,19 +4380,21 @@ dependencies = [ [[package]] name = "quinn-proto" -version = "0.11.10" +version = "0.11.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b820744eb4dc9b57a3398183639c511b5a26d2ed702cedd3febaa1393caa22cc" +checksum = "434b42fec591c96ef50e21e886936e66d3cc3f737104fdb9b737c40ffb94c098" dependencies = [ + "aws-lc-rs", "bytes", - "getrandom 0.3.2", - "rand 0.9.0", + "getrandom 0.3.4", + "lru-slab", + "rand 0.9.3", "ring", - "rustc-hash 2.1.1", + "rustc-hash", "rustls", "rustls-pki-types", "slab", - "thiserror 2.0.12", + "thiserror 2.0.18", "tinyvec", "tracing", "web-time", @@ -4002,32 +4402,44 @@ dependencies = [ [[package]] name = "quinn-udp" -version = "0.5.11" +version = "0.5.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "541d0f57c6ec747a90738a52741d3221f7960e8ac2f0ff4b1a63680e033b4ab5" +checksum = "addec6a0dcad8a8d96a771f815f0eaf55f9d1805756410b39f5fa81332574cbd" dependencies = [ "cfg_aliases", "libc", "once_cell", "socket2", "tracing", - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] name = "quote" -version = "1.0.40" +version = "1.0.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" +checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924" dependencies = [ "proc-macro2", ] [[package]] name = "r-efi" -version = "5.2.0" +version = "5.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" + +[[package]] +name = "r-efi" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" + +[[package]] +name = "radix-heap" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59ffec9df464013295b499298811e6a3de31bf8128092135826517db12dee601" [[package]] name = "rand" @@ -4042,13 +4454,23 @@ dependencies = [ [[package]] name = "rand" -version = "0.9.0" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94" +checksum = "7ec095654a25171c2124e9e3393a930bddbffdc939556c914957a4c3e0a87166" dependencies = [ "rand_chacha 0.9.0", - "rand_core 0.9.3", - "zerocopy 0.8.24", + "rand_core 0.9.5", +] + +[[package]] +name = "rand" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2e8e8bcc7961af1fdac401278c6a831614941f6164ee3bf4ce61b7edb162207" +dependencies = [ + "chacha20 0.10.0", + "getrandom 0.4.2", + "rand_core 0.10.0", ] [[package]] @@ -4068,7 +4490,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" dependencies = [ "ppv-lite86", - "rand_core 0.9.3", + "rand_core 0.9.5", ] [[package]] @@ -4077,113 +4499,103 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.2.17", ] [[package]] name = "rand_core" -version = "0.9.3" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" +checksum = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c" dependencies = [ - "getrandom 0.3.2", + "getrandom 0.3.4", ] +[[package]] +name = "rand_core" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c8d0fd677905edcbeedbf2edb6494d676f0e98d54d5cf9bda0b061cb8fb8aba" + [[package]] name = "rand_xoshiro" version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f703f4665700daf5512dcca5f43afa6af89f09db47fb56be587f80636bda2d41" dependencies = [ - "rand_core 0.9.3", + "rand_core 0.9.5", ] [[package]] name = "readlock" -version = "0.1.9" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "188bbae3aa4739bd264e9204da5919b2c91dd87dcce5049cf04bdf6aa17c5012" +checksum = "6da6f291b23556edd9edaf655a0be2ad8ef8002ff5f1bca62b264f3f58b53f34" [[package]] name = "readlock-tokio" -version = "0.1.4" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29b1800712c0d75de4b0bda5483d46eaf8df757b81df5ca2bde53d5ac2e2c5b2" +checksum = "fc7e264f9ec4f3d112e8e2f214e8e7cb5cf3b83278f3570b7e00bfe13d3bd8ff" dependencies = [ "tokio", ] [[package]] name = "redox_syscall" -version = "0.5.11" +version = "0.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2f103c6d277498fbceb16e84d317e2a400f160f46904d5f5410848c829511a3" +checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" dependencies = [ "bitflags", ] [[package]] name = "redox_users" -version = "0.5.0" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd6f9d3d47bdd2ad6945c5015a226ec6155d0bcdfd8f7cd29f86b71f8de99d2b" +checksum = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.2.17", "libredox", - "thiserror 2.0.12", + "thiserror 2.0.18", ] [[package]] name = "regex" -version = "1.11.1" +version = "1.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" +checksum = "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.9", - "regex-syntax 0.8.5", + "regex-automata", + "regex-syntax", ] [[package]] name = "regex-automata" -version = "0.1.10" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" -dependencies = [ - "regex-syntax 0.6.29", -] - -[[package]] -name = "regex-automata" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" +checksum = "6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.8.5", + "regex-syntax", ] [[package]] name = "regex-syntax" -version = "0.6.29" +version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" - -[[package]] -name = "regex-syntax" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" +checksum = "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a" [[package]] name = "reqwest" -version = "0.12.15" +version = "0.12.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d19c46a6fdd48bc4dab94b6103fccc55d34c67cc0ad04653aad4ea2a07cd7bbb" +checksum = "eddd3ca559203180a307f12d114c268abf583f59b03cb906fd0b3ff8646c1147" dependencies = [ - "async-compression", "base64 0.22.1", "bytes", "futures-core", @@ -4196,17 +4608,11 @@ dependencies = [ "hyper-rustls", "hyper-tls", "hyper-util", - "ipnet", "js-sys", "log", - "mime", "native-tls", - "once_cell", "percent-encoding", "pin-project-lite", - "quinn", - "rustls", - "rustls-pemfile", "rustls-pki-types", "serde", "serde_json", @@ -4214,19 +4620,61 @@ dependencies = [ "sync_wrapper", "tokio", "tokio-native-tls", - "tokio-rustls", "tokio-util", - "tower 0.5.2", + "tower", + "tower-http", "tower-service", "url", "wasm-bindgen", "wasm-bindgen-futures", "wasm-streams", "web-sys", - "webpki-roots", - "windows-registry", ] +[[package]] +name = "reqwest" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab3f43e3283ab1488b624b44b0e988d0acea0b3214e694730a055cb6b2efa801" +dependencies = [ + "base64 0.22.1", + "bytes", + "futures-core", + "http", + "http-body", + "http-body-util", + "hyper", + "hyper-rustls", + "hyper-util", + "js-sys", + "log", + "percent-encoding", + "pin-project-lite", + "quinn", + "rustls", + "rustls-pki-types", + "rustls-platform-verifier", + "serde", + "serde_json", + "serde_urlencoded", + "sync_wrapper", + "tokio", + "tokio-rustls", + "tower", + "tower-http", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "resolv-conf" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e061d1b48cb8d38042de4ae0a7a6401009d6143dc80d2e2d6f31f0bdd6470c7" + [[package]] name = "ring" version = "0.17.14" @@ -4235,7 +4683,7 @@ checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" dependencies = [ "cc", "cfg-if", - "getrandom 0.2.15", + "getrandom 0.2.17", "libc", "untrusted", "windows-sys 0.52.0", @@ -4243,44 +4691,39 @@ dependencies = [ [[package]] name = "rmp" -version = "0.8.14" +version = "0.8.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "228ed7c16fa39782c3b3468e974aec2795e9089153cd08ee2e9aefb3613334c4" +checksum = "4ba8be72d372b2c9b35542551678538b562e7cf86c3315773cae48dfbfe7790c" dependencies = [ - "byteorder", "num-traits", - "paste", ] [[package]] name = "rmp-serde" -version = "1.3.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52e599a477cf9840e92f2cde9a7189e67b42c57532749bf90aea6ec10facd4db" +checksum = "72f81bee8c8ef9b577d1681a70ebbc962c232461e397b22c208c43c04b67a155" dependencies = [ - "byteorder", "rmp", "serde", ] [[package]] name = "rsa" -version = "0.9.8" +version = "0.10.0-rc.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78928ac1ed176a5ca1d17e578a1825f3d81ca54cf41053a592584b020cfd691b" +checksum = "87ed3e93fc7e473e464b9726f4759659e72bc8665e4b8ea227547024f416d905" dependencies = [ - "const-oid", - "digest", - "num-bigint-dig", - "num-integer", - "num-traits", + "const-oid 0.10.2", + "crypto-bigint", + "crypto-primes", + "digest 0.11.2", "pkcs1", - "pkcs8", - "rand_core 0.6.4", - "sha2", - "signature", - "spki", - "subtle", + "pkcs8 0.11.0-rc.11", + "rand_core 0.10.0", + "sha2 0.11.0", + "signature 3.0.0-rc.10", + "spki 0.8.0", "zeroize", ] @@ -4297,9 +4740,9 @@ dependencies = [ [[package]] name = "ruma" -version = "0.12.2" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c64fdaae631940eda62844a8a3026aba2ba84c22588c888ebec44861ba4d0c18" +checksum = "a9f620a2116d0d3082f9256e61dcdf67f2ec266d3f6bb9d2f9c8a20ec5a1fabb" dependencies = [ "assign", "js_int", @@ -4308,14 +4751,15 @@ dependencies = [ "ruma-common", "ruma-events", "ruma-federation-api", + "ruma-html", "web-time", ] [[package]] name = "ruma-client-api" -version = "0.20.2" +version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9a89ac03a0f4451f946ed9aed6fdd16ef5a78a3a2849e87af4b2474a176b2fb" +checksum = "dbc977d1a91ea15dcf896cbd7005ed4a253784468833638998109ffceaee53e7" dependencies = [ "as_variant", "assign", @@ -4330,24 +4774,24 @@ dependencies = [ "serde", "serde_html_form", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.18", "url", "web-time", ] [[package]] name = "ruma-common" -version = "0.15.2" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b75da013b362664c3e161662902e5da3f77e990525681b59c6035bac27e87b4" +checksum = "597a01993f22d291320b7c9267675e7395775e95269ff526e2c8c3ed5e13175b" dependencies = [ "as_variant", "base64 0.22.1", "bytes", "form_urlencoded", - "getrandom 0.2.15", + "getrandom 0.2.17", "http", - "indexmap 2.9.0", + "indexmap", "js-sys", "js_int", "konst", @@ -4359,23 +4803,24 @@ dependencies = [ "serde", "serde_html_form", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.18", "time", "tracing", "url", "uuid", "web-time", "wildmatch", + "zeroize", ] [[package]] name = "ruma-events" -version = "0.30.2" +version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c100eb6c7691ef010f18d9af315f486fc4da621b7203c431e88352148e84551" +checksum = "2dbdeccb62cb4ffe3282325de8ba28cbc0fdce7c78a3f11b7241fbfdb9cb9907" dependencies = [ "as_variant", - "indexmap 2.9.0", + "indexmap", "js_int", "js_option", "percent-encoding", @@ -4385,59 +4830,94 @@ dependencies = [ "ruma-macros", "serde", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.18", "tracing", "url", "web-time", "wildmatch", + "zeroize", ] [[package]] name = "ruma-federation-api" -version = "0.11.1" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "373bc5a30b84574dfce3e75c33d79d6ba9843bf0eee1bf351f904eef9bea001a" +checksum = "dcb45c15badbf4299c6113a6b90df3e7cb64edbe756bbd8e0224144b56b38305" dependencies = [ + "headers", "http", + "http-auth", "js_int", "mime", "ruma-common", "ruma-events", + "ruma-signatures", "serde", "serde_json", + "thiserror 2.0.18", + "tracing", +] + +[[package]] +name = "ruma-html" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a6dcd6e9823e177d15460d3cd3a413f38a2beea381f26aca1001c05cd6954ff" +dependencies = [ + "as_variant", + "html5ever", + "tracing", + "wildmatch", ] [[package]] name = "ruma-identifiers-validation" -version = "0.10.1" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ad674b5e5368c53a2c90fde7dac7e30747004aaf7b1827b72874a25fc06d4d8" +checksum = "c9c6b5643060beec0fc9d7acfb41d2c5d91e1591db440ff62361d178e77c35fe" dependencies = [ "js_int", - "thiserror 2.0.12", + "thiserror 2.0.18", ] [[package]] name = "ruma-macros" -version = "0.15.1" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1182e83ee5cd10121974f163337b16af68a93eedfc7cdbdbd52307ac7e1d743" +checksum = "0a0753312ad577ac462de1742bf2e326b6ba9856ff6f13343aeb17d423fd5426" dependencies = [ + "as_variant", "cfg-if", "proc-macro-crate", "proc-macro2", "quote", "ruma-identifiers-validation", "serde", - "syn", + "syn 2.0.117", "toml", ] [[package]] -name = "rusqlite" -version = "0.33.0" +name = "ruma-signatures" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c6d5e5acb6f6129fe3f7ba0a7fc77bca1942cb568535e18e7bc40262baf3110" +checksum = "146ace2cd59b60ec80d3e801a84e7e6a91e3e01d18a9f5d896ea7ca16a6b8e08" +dependencies = [ + "base64 0.22.1", + "ed25519-dalek", + "pkcs8 0.10.2", + "rand 0.8.5", + "ruma-common", + "serde_json", + "sha2 0.10.9", + "thiserror 2.0.18", +] + +[[package]] +name = "rusqlite" +version = "0.37.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "165ca6e57b20e1351573e3729b958bc62f0e48025386970b6e4d29e7a7e71f3f" dependencies = [ "bitflags", "fallible-iterator", @@ -4447,23 +4927,11 @@ dependencies = [ "smallvec", ] -[[package]] -name = "rustc-demangle" -version = "0.1.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" - [[package]] name = "rustc-hash" -version = "1.1.0" +version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" - -[[package]] -name = "rustc-hash" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" +checksum = "94300abf3f1ae2e2b8ffb7b58043de3d399c73fa6f4b73826402a5c457614dbe" [[package]] name = "rustc_version" @@ -4476,25 +4944,25 @@ dependencies = [ [[package]] name = "rustix" -version = "1.0.5" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d97817398dd4bb2e6da002002db259209759911da105da92bec29ccb12cf58bf" +checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" dependencies = [ "bitflags", "errno", "libc", "linux-raw-sys", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] name = "rustls" -version = "0.23.26" +version = "0.23.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df51b5869f3a441595eac5e8ff14d486ff285f7b8c0df8770e49c3b56351f0f0" +checksum = "758025cb5fccfd3bc2fd74708fd4682be41d99e5dff73c377c0646c6012c73a4" dependencies = [ + "aws-lc-rs", "once_cell", - "ring", "rustls-pki-types", "rustls-webpki", "subtle", @@ -4502,29 +4970,61 @@ dependencies = [ ] [[package]] -name = "rustls-pemfile" -version = "2.2.0" +name = "rustls-native-certs" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50" +checksum = "612460d5f7bea540c490b2b6395d8e34a953e52b491accd6c86c8164c5932a63" dependencies = [ + "openssl-probe", "rustls-pki-types", + "schannel", + "security-framework", ] [[package]] name = "rustls-pki-types" -version = "1.11.0" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "917ce264624a4b4db1c364dcc35bfca9ded014d0a958cd47ad3e960e988ea51c" +checksum = "be040f8b0a225e40375822a563fa9524378b9d63112f53e19ffff34df5d33fdd" dependencies = [ "web-time", + "zeroize", ] [[package]] -name = "rustls-webpki" -version = "0.103.1" +name = "rustls-platform-verifier" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fef8b8769aaccf73098557a87cd1816b4f9c7c16811c9c77142aa695c16f2c03" +checksum = "1d99feebc72bae7ab76ba994bb5e121b8d83d910ca40b36e0921f53becc41784" 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.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20a6af516fea4b20eccceaf166e8aa666ac996208e8a644ce3ef5aa783bc7cd4" +dependencies = [ + "aws-lc-rs", "ring", "rustls-pki-types", "untrusted", @@ -4532,30 +5032,33 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.20" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eded382c5f5f786b989652c49544c4877d9f015cc22e145a5ea8ea66c2921cd2" +checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" [[package]] name = "ryu" -version = "1.0.20" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" +checksum = "9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f" [[package]] -name = "schannel" -version = "0.1.27" +name = "same-file" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" dependencies = [ - "windows-sys 0.59.0", + "winapi-util", ] [[package]] -name = "scoped-tls" -version = "1.0.1" +name = "schannel" +version = "0.1.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" +checksum = "91c1b7e4904c873ef0710c1f407dde2e6287de2bebc1bbbf7d430bb7cbffd939" +dependencies = [ + "windows-sys 0.61.2", +] [[package]] name = "scopeguard" @@ -4564,10 +5067,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] -name = "security-framework" -version = "2.11.1" +name = "sealed" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" +checksum = "22f968c5ea23d555e670b449c1c5e7b2fc399fdaec1d304a17cd48e288abc107" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "security-framework" +version = "3.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7f4bc775c73d9a02cde8bf7b2ec4c9d12743edf609006c7facc23998404cd1d" dependencies = [ "bitflags", "core-foundation", @@ -4578,9 +5092,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.14.0" +version = "2.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49db231d56a190491cb4aeda9527f1ad45345af50b0851622a7adb8c03b01c32" +checksum = "6ce2691df843ecc5d231c0b14ece2acc3efb62c0a398c7e1d875f3983ce020e3" dependencies = [ "core-foundation-sys", "libc", @@ -4588,16 +5102,17 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.26" +version = "1.0.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" +checksum = "8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd" [[package]] name = "serde" -version = "1.0.219" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" +checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" dependencies = [ + "serde_core", "serde_derive", ] @@ -4614,66 +5129,78 @@ dependencies = [ [[package]] name = "serde_bytes" -version = "0.11.17" +version = "0.11.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8437fd221bde2d4ca316d61b90e337e9e702b3820b87d63caa9ba6c02bd06d96" +checksum = "a5d440709e79d88e51ac01c4b72fc6cb7314017bb7da9eeff678aa94c10e3ea8" dependencies = [ "serde", + "serde_core", +] + +[[package]] +name = "serde_core" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" +dependencies = [ + "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.219" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" +checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.117", ] [[package]] name = "serde_html_form" -version = "0.2.7" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d2de91cf02bbc07cde38891769ccd5d4f073d22a40683aa4bc7a95781aaa2c4" +checksum = "b2f2d7ff8a2140333718bb329f5c40fc5f0865b84c426183ce14c97d2ab8154f" dependencies = [ "form_urlencoded", - "indexmap 2.9.0", + "indexmap", "itoa", "ryu", - "serde", + "serde_core", ] [[package]] name = "serde_json" -version = "1.0.140" +version = "1.0.149" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" +checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" dependencies = [ "itoa", "memchr", - "ryu", "serde", + "serde_core", + "zmij", ] [[package]] name = "serde_path_to_error" -version = "0.1.17" +version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59fab13f937fa393d08645bf3a84bdfe86e296747b506ada67bb15f10f218b2a" +checksum = "10a9ff822e371bb5403e391ecd83e182e0e77ba7f6fe0160b795797109d1b457" dependencies = [ "itoa", "serde", + "serde_core", ] [[package]] name = "serde_spanned" -version = "0.6.8" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" +checksum = "6662b5879511e06e8999a8a235d848113e942c9124f211511b16466ee2995f26" dependencies = [ - "serde", + "serde_core", ] [[package]] @@ -4689,14 +5216,13 @@ dependencies = [ ] [[package]] -name = "sha-1" -version = "0.10.1" +name = "serdect" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5058ada175748e33390e40e872bd0fe59a19f265d0158daa551c5a88a76009c" +checksum = "9af4a3e75ebd5599b30d4de5768e00b5095d518a79fefc3ecbaf77e665d1ec06" dependencies = [ - "cfg-if", - "cpufeatures", - "digest", + "base16ct", + "serde", ] [[package]] @@ -4706,19 +5232,41 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" dependencies = [ "cfg-if", - "cpufeatures", - "digest", + "cpufeatures 0.2.17", + "digest 0.10.7", +] + +[[package]] +name = "sha1" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aacc4cc499359472b4abe1bf11d0b12e688af9a805fa5e3016f9a386dc2d0214" +dependencies = [ + "cfg-if", + "cpufeatures 0.3.0", + "digest 0.11.2", ] [[package]] name = "sha2" -version = "0.10.8" +version = "0.10.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" dependencies = [ "cfg-if", - "cpufeatures", - "digest", + "cpufeatures 0.2.17", + "digest 0.10.7", +] + +[[package]] +name = "sha2" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "446ba717509524cb3f22f17ecc096f10f4822d76ab5c0b9822c5f9c284e825f4" +dependencies = [ + "cfg-if", + "cpufeatures 0.3.0", + "digest 0.11.2", ] [[package]] @@ -4738,10 +5286,11 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "signal-hook-registry" -version = "1.4.2" +version = "1.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" +checksum = "c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b" dependencies = [ + "errno", "libc", ] @@ -4751,15 +5300,30 @@ version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" dependencies = [ - "digest", "rand_core 0.6.4", ] [[package]] -name = "simd_cesu8" -version = "1.0.1" +name = "signature" +version = "3.0.0-rc.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c14f02c32cc4ef5068b0e15bee4513942f59165add7778a518b4d507b3b97ab" +checksum = "7f1880df446116126965eeec169136b2e0251dba37c6223bcc819569550edea3" +dependencies = [ + "digest 0.11.2", + "rand_core 0.10.0", +] + +[[package]] +name = "simd-adler32" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "703d5c7ef118737c72f1af64ad2f6f8c5e1921f818cdcb97b8fe6fc69bf66214" + +[[package]] +name = "simd_cesu8" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94f90157bb87cddf702797c5dadfa0be7d266cdf49e22da2fcaa32eff75b2c33" dependencies = [ "rustc_version", "simdutf8", @@ -4767,26 +5331,27 @@ dependencies = [ [[package]] name = "simdnbt" -version = "0.7.1" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "960b88bb7ea0984fbba94e53f1a2181ba6654e68a0eb53e45843e0eed402f10e" +checksum = "7893a73842e21e674dde2bb31be1b949c127294f13dd52ee530d2f75a90ffe44" dependencies = [ "byteorder", "flate2", + "serde", "simd_cesu8", "simdnbt-derive", - "thiserror 2.0.12", + "thiserror 2.0.18", ] [[package]] name = "simdnbt-derive" -version = "0.7.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd1fe91ba0e4ee5cd6e565153b363fe06b19357ce9af07cc54371c450275d26e" +checksum = "4518807f59223e4e9c6765b7fb98d1eb70799a2dcee7db485a45cc422870afdb" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.117", ] [[package]] @@ -4809,24 +5374,33 @@ dependencies = [ [[package]] name = "siphasher" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" +checksum = "b2aa850e253778c88a04c3d7323b043aeda9d3e30d5971937c1855769763678e" [[package]] name = "slab" -version = "0.4.9" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" +checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" + +[[package]] +name = "slotmap" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bdd58c3c93c3d278ca835519292445cb4b0d4dc59ccfdf7ceadaab3f8aeb4038" dependencies = [ - "autocfg", + "version_check", ] [[package]] name = "smallvec" -version = "1.15.0" +version = "1.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8917285742e9f3e1683f0a9c4e6b57960b7314d0b08d30d1ecd426713ee2eee9" +checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" +dependencies = [ + "serde", +] [[package]] name = "smol_str" @@ -4839,34 +5413,35 @@ dependencies = [ [[package]] name = "socket2" -version = "0.5.9" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f5fd57c80058a56cf5c777ab8a126398ece8e442983605d280a44ce79d0edef" +checksum = "3a766e1110788c36f4fa1c2b71b387a7815aa65f88ce0229841826633d93723e" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] name = "socks5-impl" -version = "0.6.2" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b7bef5922371adf8b6f1dd0b9fe3d86c77c22686e8f4236b778ed0215cdcd9b" +checksum = "1eae7c78f163b7805f66493c787d7bad4816146faf0cf655d57c78b90c383ce3" dependencies = [ - "as-any", "async-trait", - "byteorder", "bytes", "percent-encoding", - "thiserror 2.0.12", + "thiserror 2.0.18", "tokio", ] [[package]] name = "spin" -version = "0.9.8" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" +checksum = "d5fe4ccb98d9c292d56fec89a5e07da7fc4cf0dc11e156b41793132775d3e591" +dependencies = [ + "portable-atomic", +] [[package]] name = "spki" @@ -4875,14 +5450,24 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" dependencies = [ "base64ct", - "der", + "der 0.7.10", +] + +[[package]] +name = "spki" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d9efca8738c78ee9484207732f728b1ef517bbb1833d6fc0879ca898a522f6f" +dependencies = [ + "base64ct", + "der 0.8.0", ] [[package]] name = "stable_deref_trait" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" +checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" [[package]] name = "static_assertions" @@ -4890,6 +5475,31 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" +[[package]] +name = "string_cache" +version = "0.8.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf776ba3fa74f83bf4b63c3dcbbf82173db2632ed8452cb2d891d33f459de70f" +dependencies = [ + "new_debug_unreachable", + "parking_lot", + "phf_shared", + "precomputed-hash", + "serde", +] + +[[package]] +name = "string_cache_codegen" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c711928715f1fe0fe509c53b43e993a9a557babc2d0a3567d0a3006f1ac931a0" +dependencies = [ + "phf_generator", + "phf_shared", + "proc-macro2", + "quote", +] + [[package]] name = "strsim" version = "0.11.1" @@ -4904,9 +5514,20 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "syn" -version = "2.0.100" +version = "1.0.109" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.117" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99" dependencies = [ "proc-macro2", "quote", @@ -4924,13 +5545,13 @@ dependencies = [ [[package]] name = "synstructure" -version = "0.13.1" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" +checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.117", ] [[package]] @@ -4941,15 +5562,26 @@ checksum = "7b2093cf4c8eb1e67749a6762251bc9cd836b6fc171623bd0a9d324d37af2417" [[package]] name = "tempfile" -version = "3.19.1" +version = "3.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7437ac7763b9b123ccf33c338a5cc1bac6f69b45a136c19bdd8a65e3916435bf" +checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd" dependencies = [ "fastrand", - "getrandom 0.3.2", + "getrandom 0.4.2", "once_cell", "rustix", - "windows-sys 0.59.0", + "windows-sys 0.61.2", +] + +[[package]] +name = "tendril" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d24a120c5fc464a3458240ee02c299ebcb9d67b5249c8848b09d639dca8d7bb0" +dependencies = [ + "futf", + "mac", + "utf-8", ] [[package]] @@ -4963,11 +5595,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.12" +version = "2.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" +checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" dependencies = [ - "thiserror-impl 2.0.12", + "thiserror-impl 2.0.18", ] [[package]] @@ -4978,75 +5610,65 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.117", ] [[package]] name = "thiserror-impl" -version = "2.0.12" +version = "2.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" +checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.117", ] [[package]] name = "thread_local" -version = "1.1.8" +version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" +checksum = "f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185" dependencies = [ "cfg-if", - "once_cell", ] [[package]] name = "time" -version = "0.3.41" +version = "0.3.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a7619e19bc266e0f9c5e6686659d394bc57973859340060a69221e57dbc0c40" +checksum = "743bd48c283afc0388f9b8827b976905fb217ad9e647fae3a379a9283c4def2c" dependencies = [ "deranged", "itoa", "num-conv", "powerfmt", - "serde", + "serde_core", "time-core", "time-macros", ] [[package]] name = "time-core" -version = "0.1.4" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c" +checksum = "7694e1cfe791f8d31026952abf09c69ca6f6fa4e1a1229e18988f06a04a12dca" [[package]] name = "time-macros" -version = "0.2.22" +version = "0.2.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3526739392ec93fd8b359c8e98514cb3e8e021beb4e5f597b00a0221f8ed8a49" +checksum = "2e70e4c5a0e0a8a4823ad65dfe1a6930e4f4d756dcd9dd7939022b5e8c501215" dependencies = [ "num-conv", "time-core", ] -[[package]] -name = "tiny-keccak" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" -dependencies = [ - "crunchy", -] - [[package]] name = "tinystr" -version = "0.7.6" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" +checksum = "c8323304221c2a851516f22236c5722a72eaa19749016521d6dff0824447d96d" dependencies = [ "displaydoc", "zerovec", @@ -5054,9 +5676,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.9.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71" +checksum = "3e61e67053d25a4e82c844e8424039d9745781b3fc4f32b8d55ed50f5f667ef3" dependencies = [ "tinyvec_macros", ] @@ -5069,11 +5691,10 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.44.2" +version = "1.51.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6b88822cbe49de4185e3a4cbf8321dd487cf5fe0c5c65695fef6346371e9c48" +checksum = "f66bf9585cda4b724d3e78ab34b73fb2bbaba9011b9bfdf69dc836382ea13b8c" dependencies = [ - "backtrace", "bytes", "libc", "mio", @@ -5083,18 +5704,18 @@ dependencies = [ "socket2", "tokio-macros", "tracing", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] name = "tokio-macros" -version = "2.5.0" +version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" +checksum = "385a6cb71ab9ab790c5fe8d67f1645e6c450a7ce006a33de03daa956cf70a496" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.117", ] [[package]] @@ -5109,9 +5730,9 @@ dependencies = [ [[package]] name = "tokio-rustls" -version = "0.26.2" +version = "0.26.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e727b36a1a0e8b74c376ac2211e40c2c8af09fb4013c60d910495810f008e9b" +checksum = "1729aa945f29d91ba541258c8df89027d5792d85a8841fb65e8bf0f4ede4ef61" dependencies = [ "rustls", "tokio", @@ -5119,9 +5740,9 @@ dependencies = [ [[package]] name = "tokio-stream" -version = "0.1.17" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047" +checksum = "32da49809aab5c3bc678af03902d4ccddea2a87d028d86392a4b1560c6906c70" dependencies = [ "futures-core", "pin-project-lite", @@ -5131,9 +5752,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.14" +version = "0.7.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b9590b93e6fcc1739458317cccd391ad3955e2bde8913edf6f95f9e65a8f034" +checksum = "9ae9cec805b01e8fc3fd2fe289f89149a9b66dd16786abd8b19cfa7b48cb0098" dependencies = [ "bytes", "futures-core", @@ -5144,45 +5765,74 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.20" +version = "0.9.12+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd87a5cdd6ffab733b2f74bc4fd7ee5fff6634124999ac278c35fc78c6120148" +checksum = "cf92845e79fc2e2def6a5d828f0801e29a2f8acc037becc5ab08595c7d5e9863" dependencies = [ - "serde", + "serde_core", "serde_spanned", - "toml_datetime", - "toml_edit", + "toml_datetime 0.7.5+spec-1.1.0", + "toml_parser", + "winnow 0.7.15", ] [[package]] name = "toml_datetime" -version = "0.6.8" +version = "0.7.5+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" +checksum = "92e1cfed4a3038bc5a127e35a2d360f145e1f4b971b551a2ba5fd7aedf7e1347" dependencies = [ - "serde", + "serde_core", +] + +[[package]] +name = "toml_datetime" +version = "1.1.1+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3165f65f62e28e0115a00b2ebdd37eb6f3b641855f9d636d3cd4103767159ad7" +dependencies = [ + "serde_core", ] [[package]] name = "toml_edit" -version = "0.22.24" +version = "0.23.10+spec-1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17b4795ff5edd201c7cd6dca065ae59972ce77d1b80fa0a84d94950ece7d1474" +checksum = "84c8b9f757e028cee9fa244aea147aab2a9ec09d5325a9b01e0a49730c2b5269" dependencies = [ - "indexmap 2.9.0", - "serde", - "serde_spanned", - "toml_datetime", - "winnow", + "indexmap", + "toml_datetime 0.7.5+spec-1.1.0", + "toml_parser", + "winnow 0.7.15", +] + +[[package]] +name = "toml_edit" +version = "0.25.11+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b59c4d22ed448339746c59b905d24568fcbb3ab65a500494f7b8c3e97739f2b" +dependencies = [ + "indexmap", + "toml_datetime 1.1.1+spec-1.1.0", + "toml_parser", + "winnow 1.0.1", +] + +[[package]] +name = "toml_parser" +version = "1.1.2+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2abe9b86193656635d2411dc43050282ca48aa31c2451210f4202550afb7526" +dependencies = [ + "winnow 1.0.1", ] [[package]] name = "tonic" -version = "0.12.3" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877c5b330756d856ffcc4553ab34a5684481ade925ecc54bcd1bf02b1d0d4d52" +checksum = "fec7c61a0695dc1887c1b53952990f3ad2e3a31453e1f49f10e75424943a93ec" dependencies = [ - "async-stream", "async-trait", "axum", "base64 0.22.1", @@ -5196,29 +5846,39 @@ dependencies = [ "hyper-util", "percent-encoding", "pin-project", - "prost", "socket2", + "sync_wrapper", "tokio", "tokio-stream", - "tower 0.4.13", + "tower", "tower-layer", "tower-service", "tracing", ] [[package]] -name = "tower" -version = "0.4.13" +name = "tonic-prost" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" +checksum = "a55376a0bbaa4975a3f10d009ad763d8f4108f067c7c2e74f3001fb49778d309" +dependencies = [ + "bytes", + "prost 0.14.3", + "tonic", +] + +[[package]] +name = "tower" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebe5ef63511595f1344e2d5cfa636d973292adc0eec1f0ad45fae9f0851ab1d4" dependencies = [ "futures-core", "futures-util", - "indexmap 1.9.3", - "pin-project", + "indexmap", "pin-project-lite", - "rand 0.8.5", "slab", + "sync_wrapper", "tokio", "tokio-util", "tower-layer", @@ -5227,16 +5887,24 @@ dependencies = [ ] [[package]] -name = "tower" -version = "0.5.2" +name = "tower-http" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" +checksum = "d4e6559d53cc268e5031cd8429d05415bc4cb4aefc4aa5d6cc35fbf5b924a1f8" dependencies = [ + "async-compression", + "bitflags", + "bytes", "futures-core", "futures-util", + "http", + "http-body", + "http-body-util", + "iri-string", "pin-project-lite", - "sync_wrapper", "tokio", + "tokio-util", + "tower", "tower-layer", "tower-service", ] @@ -5255,9 +5923,9 @@ checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" [[package]] name = "tracing" -version = "0.1.41" +version = "0.1.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" +checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" dependencies = [ "pin-project-lite", "tracing-attributes", @@ -5266,20 +5934,20 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.28" +version = "0.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" +checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.117", ] [[package]] name = "tracing-core" -version = "0.1.33" +version = "0.1.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" +checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a" dependencies = [ "once_cell", "valuable", @@ -5298,29 +5966,26 @@ dependencies = [ [[package]] name = "tracing-oslog" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "528bdd1f0e27b5dd9a4ededf154e824b0532731e4af73bb531de46276e0aab1e" +checksum = "d76902d2a8d5f9f55a81155c08971734071968c90f2d9bfe645fe700579b2950" dependencies = [ - "bindgen", "cc", "cfg-if", - "once_cell", - "parking_lot", "tracing-core", "tracing-subscriber", ] [[package]] name = "tracing-subscriber" -version = "0.3.19" +version = "0.3.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008" +checksum = "cb7f578e5945fb242538965c2d0b04418d38ec25c79d160cd279bf0731c8d319" dependencies = [ "matchers", "nu-ansi-term", "once_cell", - "regex", + "regex-automata", "sharded-slab", "smallvec", "thread_local", @@ -5346,6 +6011,12 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" +[[package]] +name = "typed-path" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e28f89b80c87b8fb0cf04ab448d5dd0dd0ade2f8891bae878de66a75a28600e" + [[package]] name = "typeid" version = "1.0.3" @@ -5354,15 +6025,15 @@ checksum = "bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c" [[package]] name = "typenum" -version = "1.18.0" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" +checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" [[package]] name = "typewit" -version = "1.11.0" +version = "1.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb77c29baba9e4d3a6182d51fa75e3215c7fd1dab8f4ea9d107c716878e55fc0" +checksum = "bc19094686c694eb41b3b99dcc2f2975d4b078512fa22ae6c63f7ca318bdcff7" dependencies = [ "typewit_proc_macros", ] @@ -5379,25 +6050,31 @@ version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "470dbf6591da1b39d43c14523b2b469c86879a53e8b758c8e090a470fe7b1fbe" dependencies = [ - "rand 0.9.0", + "rand 0.9.3", "web-time", ] [[package]] name = "unicode-ident" -version = "1.0.18" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" +checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" [[package]] name = "unicode-normalization" -version = "0.1.24" +version = "0.1.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956" +checksum = "5fd4f6878c9cb28d874b009da9e8d183b5abc80117c40bbd187a1fde336be6e8" dependencies = [ "tinyvec", ] +[[package]] +name = "unicode-segmentation" +version = "1.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9629274872b2bfaf8d66f5f15725007f635594914870f65218920345aa11aa8c" + [[package]] name = "unicode-xid" version = "0.2.6" @@ -5410,7 +6087,7 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea" dependencies = [ - "crypto-common", + "crypto-common 0.1.7", "subtle", ] @@ -5422,14 +6099,15 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.5.4" +version = "2.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" +checksum = "ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed" dependencies = [ "form_urlencoded", "idna", "percent-encoding", "serde", + "serde_derive", ] [[package]] @@ -5439,10 +6117,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" [[package]] -name = "utf16_iter" -version = "1.0.5" +name = "utf-8" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" +checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" [[package]] name = "utf8_iter" @@ -5458,13 +6136,14 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.12.1" +version = "1.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3758f5e68192bb96cc8f9b7e2c2cfdabb435499a28499a42f8f984092adad4b" +checksum = "5ac8b6f42ead25368cf5b098aeb3dc8a1a2c05a3eee8a9a1a68c640edbfc79d9" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.4.2", + "js-sys", "md-5", - "serde", + "serde_core", "wasm-bindgen", ] @@ -5474,6 +6153,17 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" +[[package]] +name = "variadics_please" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b6d82be61465f97d42bd1d15bf20f3b0a3a0905018f38f9d6f6962055b0b5c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + [[package]] name = "vcpkg" version = "0.2.15" @@ -5500,22 +6190,32 @@ dependencies = [ "chacha20poly1305", "curve25519-dalek", "ed25519-dalek", - "getrandom 0.2.15", + "getrandom 0.2.17", "hkdf", "hmac", "matrix-pickle", - "prost", + "prost 0.13.5", "rand 0.8.5", "serde", "serde_bytes", "serde_json", - "sha2", + "sha2 0.10.9", "subtle", - "thiserror 2.0.12", + "thiserror 2.0.18", "x25519-dalek", "zeroize", ] +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + [[package]] name = "want" version = "0.3.1" @@ -5527,63 +6227,56 @@ dependencies = [ [[package]] name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" +version = "0.11.1+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] -name = "wasi" -version = "0.14.2+wasi-0.2.4" +name = "wasip2" +version = "1.0.2+wasi-0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" +checksum = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5" dependencies = [ - "wit-bindgen-rt", + "wit-bindgen", +] + +[[package]] +name = "wasip3" +version = "0.4.0+wasi-0.3.0-rc-2026-01-06" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" +dependencies = [ + "wit-bindgen", ] [[package]] name = "wasm-bindgen" -version = "0.2.100" +version = "0.2.118" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" +checksum = "0bf938a0bacb0469e83c1e148908bd7d5a6010354cf4fb73279b7447422e3a89" dependencies = [ "cfg-if", "once_cell", "rustversion", "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" -dependencies = [ - "bumpalo", - "log", - "proc-macro2", - "quote", - "syn", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.50" +version = "0.4.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61" +checksum = "f371d383f2fb139252e0bfac3b81b265689bf45b6874af544ffa4c975ac1ebf8" dependencies = [ - "cfg-if", "js-sys", - "once_cell", "wasm-bindgen", - "web-sys", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.100" +version = "0.2.118" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" +checksum = "eeff24f84126c0ec2db7a449f0c2ec963c6a49efe0698c4242929da037ca28ed" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -5591,26 +6284,48 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.100" +version = "0.2.118" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" +checksum = "9d08065faf983b2b80a79fd87d8254c409281cf7de75fc4b773019824196c904" dependencies = [ + "bumpalo", "proc-macro2", "quote", - "syn", - "wasm-bindgen-backend", + "syn 2.0.117", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.100" +version = "0.2.118" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +checksum = "5fd04d9e306f1907bd13c6361b5c6bfc7b3b3c095ed3f8a9246390f8dbdee129" dependencies = [ "unicode-ident", ] +[[package]] +name = "wasm-encoder" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319" +dependencies = [ + "leb128fmt", + "wasmparser", +] + +[[package]] +name = "wasm-metadata" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" +dependencies = [ + "anyhow", + "indexmap", + "wasm-encoder", + "wasmparser", +] + [[package]] name = "wasm-streams" version = "0.4.2" @@ -5625,10 +6340,40 @@ dependencies = [ ] [[package]] -name = "web-sys" -version = "0.3.77" +name = "wasm_evt_listener" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" +checksum = "dc92d6378b411ed94839112a36d9dbc77143451d85b05dfb0cce93a78dab1963" +dependencies = [ + "accessory", + "derivative", + "derive_more 1.0.0", + "fancy_constructor", + "futures-core", + "js-sys", + "smallvec", + "tokio", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasmparser" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" +dependencies = [ + "bitflags", + "hashbrown 0.15.5", + "indexmap", + "semver", +] + +[[package]] +name = "web-sys" +version = "0.3.95" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f2dfbb17949fa2088e5d39408c48368947b86f7834484e87b73de55bc14d97d" dependencies = [ "js-sys", "wasm-bindgen", @@ -5641,187 +6386,144 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" dependencies = [ "js-sys", + "serde", "wasm-bindgen", ] [[package]] -name = "webpki-roots" -version = "0.26.8" +name = "web_atoms" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2210b291f7ea53617fbafcc4939f10914214ec15aace5ba62293a668f322c5c9" +checksum = "57ffde1dc01240bdf9992e3205668b235e59421fd085e8a317ed98da0178d414" +dependencies = [ + "phf", + "phf_codegen", + "string_cache", + "string_cache_codegen", +] + +[[package]] +name = "webpki-root-certs" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "804f18a4ac2676ffb4e8b5b5fa9ae38af06df08162314f96a68d2a363e21a8ca" dependencies = [ "rustls-pki-types", ] +[[package]] +name = "wgpu-types" +version = "27.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "afdcf84c395990db737f2dd91628706cb31e86d72e53482320d368e52b5da5eb" +dependencies = [ + "bitflags", + "bytemuck", + "js-sys", + "log", + "serde", + "thiserror 2.0.18", + "web-sys", +] + +[[package]] +name = "widestring" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72069c3113ab32ab29e5584db3c6ec55d416895e60715417b5b883a357c3e471" + [[package]] name = "wildmatch" -version = "2.4.0" +version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68ce1ab1f8c62655ebe1350f589c61e505cf94d385bc6a12899442d9081e71fd" +checksum = "29333c3ea1ba8b17211763463ff24ee84e41c78224c16b001cd907e663a38c68" [[package]] -name = "winapi" -version = "0.3.9" +name = "winapi-util" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" - -[[package]] -name = "windows" -version = "0.58.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd04d41d93c4992d421894c18c8b43496aa748dd4c081bac0dc93eb0489272b6" -dependencies = [ - "windows-core 0.58.0", - "windows-targets 0.52.6", + "windows-sys 0.61.2", ] [[package]] name = "windows-core" -version = "0.58.0" +version = "0.62.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ba6d44ec8c2591c134257ce647b7ea6b20335bf6379a27dac5f1641fcf59f99" +checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" dependencies = [ - "windows-implement 0.58.0", - "windows-interface 0.58.0", - "windows-result 0.2.0", - "windows-strings 0.1.0", - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-core" -version = "0.61.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4763c1de310c86d75a878046489e2e5ba02c649d185f21c67d4cf8a56d098980" -dependencies = [ - "windows-implement 0.60.0", - "windows-interface 0.59.1", + "windows-implement", + "windows-interface", "windows-link", - "windows-result 0.3.2", - "windows-strings 0.4.0", + "windows-result", + "windows-strings", ] [[package]] name = "windows-implement" -version = "0.58.0" +version = "0.60.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b" +checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" dependencies = [ "proc-macro2", "quote", - "syn", -] - -[[package]] -name = "windows-implement" -version = "0.60.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836" -dependencies = [ - "proc-macro2", - "quote", - "syn", + "syn 2.0.117", ] [[package]] name = "windows-interface" -version = "0.58.0" +version = "0.59.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515" +checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" dependencies = [ "proc-macro2", "quote", - "syn", -] - -[[package]] -name = "windows-interface" -version = "0.59.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8" -dependencies = [ - "proc-macro2", - "quote", - "syn", + "syn 2.0.117", ] [[package]] name = "windows-link" -version = "0.1.1" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76840935b766e1b0a05c0066835fb9ec80071d4c09a16f6bd5f7e655e3c14c38" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" [[package]] name = "windows-registry" -version = "0.4.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4286ad90ddb45071efd1a66dfa43eb02dd0dfbae1545ad6cc3c51cf34d7e8ba3" +checksum = "02752bf7fbdcce7f2a27a742f798510f3e5ad88dbe84871e5168e2120c3d5720" dependencies = [ - "windows-result 0.3.2", - "windows-strings 0.3.1", - "windows-targets 0.53.0", + "windows-link", + "windows-result", + "windows-strings", ] [[package]] name = "windows-result" -version = "0.2.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" -dependencies = [ - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-result" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c64fd11a4fd95df68efcfee5f44a294fe71b8bc6a91993e2791938abcc712252" +checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" dependencies = [ "windows-link", ] [[package]] name = "windows-strings" -version = "0.1.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" -dependencies = [ - "windows-result 0.2.0", - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-strings" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87fa48cc5d406560701792be122a10132491cff9d0aeb23583cc2dcafc847319" +checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" dependencies = [ "windows-link", ] [[package]] -name = "windows-strings" -version = "0.4.0" +name = "windows-sys" +version = "0.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a2ba9642430ee452d5a7aa78d72907ebe8cfda358e8cb7918a2050581322f97" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" dependencies = [ - "windows-link", + "windows-targets 0.42.2", ] [[package]] @@ -5835,11 +6537,35 @@ dependencies = [ [[package]] name = "windows-sys" -version = "0.59.0" +version = "0.60.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" dependencies = [ - "windows-targets 0.52.6", + "windows-targets 0.53.5", +] + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + +[[package]] +name = "windows-targets" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +dependencies = [ + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", ] [[package]] @@ -5860,20 +6586,27 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.53.0" +version = "0.53.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1e4c7e8ceaaf9cb7d7507c974735728ab453b67ef8f18febdd7c11fe59dca8b" +checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" dependencies = [ - "windows_aarch64_gnullvm 0.53.0", - "windows_aarch64_msvc 0.53.0", - "windows_i686_gnu 0.53.0", - "windows_i686_gnullvm 0.53.0", - "windows_i686_msvc 0.53.0", - "windows_x86_64_gnu 0.53.0", - "windows_x86_64_gnullvm 0.53.0", - "windows_x86_64_msvc 0.53.0", + "windows-link", + "windows_aarch64_gnullvm 0.53.1", + "windows_aarch64_msvc 0.53.1", + "windows_i686_gnu 0.53.1", + "windows_i686_gnullvm 0.53.1", + "windows_i686_msvc 0.53.1", + "windows_x86_64_gnu 0.53.1", + "windows_x86_64_gnullvm 0.53.1", + "windows_x86_64_msvc 0.53.1", ] +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" + [[package]] name = "windows_aarch64_gnullvm" version = "0.52.6" @@ -5882,9 +6615,15 @@ checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" [[package]] name = "windows_aarch64_gnullvm" -version = "0.53.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" +checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" [[package]] name = "windows_aarch64_msvc" @@ -5894,9 +6633,15 @@ checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" [[package]] name = "windows_aarch64_msvc" -version = "0.53.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" +checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" + +[[package]] +name = "windows_i686_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" [[package]] name = "windows_i686_gnu" @@ -5906,9 +6651,9 @@ checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" [[package]] name = "windows_i686_gnu" -version = "0.53.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3" +checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3" [[package]] name = "windows_i686_gnullvm" @@ -5918,9 +6663,15 @@ checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" [[package]] name = "windows_i686_gnullvm" -version = "0.53.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" +checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" + +[[package]] +name = "windows_i686_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" [[package]] name = "windows_i686_msvc" @@ -5930,9 +6681,15 @@ checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" [[package]] name = "windows_i686_msvc" -version = "0.53.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" +checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" [[package]] name = "windows_x86_64_gnu" @@ -5942,9 +6699,15 @@ checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" [[package]] name = "windows_x86_64_gnu" -version = "0.53.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" +checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" [[package]] name = "windows_x86_64_gnullvm" @@ -5954,9 +6717,15 @@ checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" [[package]] name = "windows_x86_64_gnullvm" -version = "0.53.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" +checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" [[package]] name = "windows_x86_64_msvc" @@ -5966,39 +6735,121 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "windows_x86_64_msvc" -version = "0.53.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" +checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" [[package]] name = "winnow" -version = "0.7.6" +version = "0.7.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63d3fcd9bba44b03821e7d699eeee959f3126dcc4aa8e4ae18ec617c2a5cea10" +checksum = "df79d97927682d2fd8adb29682d1140b343be4ac0f08fd68b7765d9c059d3945" dependencies = [ "memchr", ] [[package]] -name = "wit-bindgen-rt" -version = "0.39.0" +name = "winnow" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" +checksum = "09dac053f1cd375980747450bfc7250c264eaae0583872e845c0c7cd578872b5" dependencies = [ - "bitflags", + "memchr", ] [[package]] -name = "write16" -version = "1.0.0" +name = "wit-bindgen" +version = "0.51.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" +checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" +dependencies = [ + "wit-bindgen-rust-macro", +] + +[[package]] +name = "wit-bindgen-core" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc" +dependencies = [ + "anyhow", + "heck", + "wit-parser", +] + +[[package]] +name = "wit-bindgen-rust" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" +dependencies = [ + "anyhow", + "heck", + "indexmap", + "prettyplease", + "syn 2.0.117", + "wasm-metadata", + "wit-bindgen-core", + "wit-component", +] + +[[package]] +name = "wit-bindgen-rust-macro" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a" +dependencies = [ + "anyhow", + "prettyplease", + "proc-macro2", + "quote", + "syn 2.0.117", + "wit-bindgen-core", + "wit-bindgen-rust", +] + +[[package]] +name = "wit-component" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" +dependencies = [ + "anyhow", + "bitflags", + "indexmap", + "log", + "serde", + "serde_derive", + "serde_json", + "wasm-encoder", + "wasm-metadata", + "wasmparser", + "wit-parser", +] + +[[package]] +name = "wit-parser" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" +dependencies = [ + "anyhow", + "id-arena", + "indexmap", + "log", + "semver", + "serde", + "serde_derive", + "serde_json", + "unicode-xid", + "wasmparser", +] [[package]] name = "writeable" -version = "0.5.5" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" +checksum = "1ffae5123b2d3fc086436f8834ae3ab053a283cfac8fe0a0b8eaae044768a4c4" [[package]] name = "x25519-dalek" @@ -6020,11 +6871,10 @@ checksum = "fdd20c5420375476fbd4394763288da7eb0cc0b8c11deed431a91562af7335d3" [[package]] name = "yoke" -version = "0.7.5" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" +checksum = "abe8c5fda708d9ca3df187cae8bfb9ceda00dd96231bed36e445a1a48e66f9ca" dependencies = [ - "serde", "stable_deref_trait", "yoke-derive", "zerofrom", @@ -6032,102 +6882,93 @@ dependencies = [ [[package]] name = "yoke-derive" -version = "0.7.5" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" +checksum = "de844c262c8848816172cef550288e7dc6c7b7814b4ee56b3e1553f275f1858e" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.117", "synstructure", ] [[package]] name = "zerocopy" -version = "0.7.35" +version = "0.8.48" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" +checksum = "eed437bf9d6692032087e337407a86f04cd8d6a16a37199ed57949d415bd68e9" dependencies = [ - "zerocopy-derive 0.7.35", -] - -[[package]] -name = "zerocopy" -version = "0.8.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2586fea28e186957ef732a5f8b3be2da217d65c5969d4b1e17f973ebbe876879" -dependencies = [ - "zerocopy-derive 0.8.24", + "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.35" +version = "0.8.48" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" +checksum = "70e3cd084b1788766f53af483dd21f93881ff30d7320490ec3ef7526d203bad4" dependencies = [ "proc-macro2", "quote", - "syn", -] - -[[package]] -name = "zerocopy-derive" -version = "0.8.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a996a8f63c5c4448cd959ac1bab0aaa3306ccfd060472f85943ee0750f0169be" -dependencies = [ - "proc-macro2", - "quote", - "syn", + "syn 2.0.117", ] [[package]] name = "zerofrom" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" +checksum = "69faa1f2a1ea75661980b013019ed6687ed0e83d069bc1114e2cc74c6c04c4df" dependencies = [ "zerofrom-derive", ] [[package]] name = "zerofrom-derive" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" +checksum = "11532158c46691caf0f2593ea8358fed6bbf68a0315e80aae9bd41fbade684a1" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.117", "synstructure", ] [[package]] name = "zeroize" -version = "1.8.1" +version = "1.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" +checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0" dependencies = [ "zeroize_derive", ] [[package]] name = "zeroize_derive" -version = "1.4.2" +version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" +checksum = "85a5b4158499876c763cb03bc4e49185d3cccbabb15b33c627f7884f43db852e" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.117", +] + +[[package]] +name = "zerotrie" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f9152d31db0792fa83f70fb2f83148effb5c1f5b8c7686c3459e361d9bc20bf" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", ] [[package]] name = "zerovec" -version = "0.10.4" +version = "0.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" +checksum = "90f911cbc359ab6af17377d242225f4d75119aec87ea711a880987b18cd7b239" dependencies = [ "yoke", "zerofrom", @@ -6136,31 +6977,49 @@ dependencies = [ [[package]] name = "zerovec-derive" -version = "0.10.3" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" +checksum = "625dc425cab0dca6dc3c3319506e6593dcb08a9f387ea3b284dbd52a92c40555" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.117", ] [[package]] name = "zip" -version = "2.6.1" +version = "8.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1dcb24d0152526ae49b9b96c1dcf71850ca1e0b882e4e28ed898a93c41334744" +checksum = "dcab981e19633ebcf0b001ddd37dd802996098bc1864f90b7c5d970ce76c1d59" dependencies = [ - "arbitrary", "crc32fast", - "crossbeam-utils", "flate2", - "indexmap 2.9.0", + "indexmap", "memchr", + "typed-path", + "zopfli", ] [[package]] name = "zlib-rs" -version = "0.5.0" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "868b928d7949e09af2f6086dfc1e01936064cc7a819253bce650d4e2a2d63ba8" +checksum = "3be3d40e40a133f9c916ee3f9f4fa2d9d63435b5fbe1bfc6d9dae0aa0ada1513" + +[[package]] +name = "zmij" +version = "1.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa" + +[[package]] +name = "zopfli" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f05cd8797d63865425ff89b5c4a48804f35ba0ce8d125800027ad6017d2b5249" +dependencies = [ + "bumpalo", + "crc32fast", + "log", + "simd-adler32", +] diff --git a/Cargo.toml b/Cargo.toml index 54203de..f0ec27a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -21,6 +21,7 @@ built = { git = "https://github.com/lukaslueg/built", features = ["git2"] } [dependencies] anyhow = "1" azalea = { git = "https://github.com/azalea-rs/azalea" } +azalea-hax = { git = "https://github.com/azalea-rs/azalea-hax" } bevy_app = "0" bevy_ecs = "0" bevy_log = "0" @@ -42,10 +43,13 @@ parking_lot = "0" serde = "1" serde_json = "1" tokio = { version = "1", features = ["full"] } -zip = { version = "2", default-features = false, features = ["flate2"] } +zip = { version = "8", default-features = false, features = [ + "deflate", +], optional = true } [features] console-subscriber = ["dep:console-subscriber"] default = [] matrix = ["dep:dirs", "dep:matrix-sdk"] mimalloc = ["dep:mimalloc"] +replay = ["dep:zip"] diff --git a/lib/automation.lua b/lib/automation.lua index 064f9db..0604e4a 100644 --- a/lib/automation.lua +++ b/lib/automation.lua @@ -30,7 +30,7 @@ function auto_fish() sleep(3000) end hold_fishing_rod() - client:use_item() + client:start_use_item() end end, "auto-fish_watch-bobber") @@ -41,7 +41,7 @@ function auto_fish() end)[1] if distance(current_bobber.position, particle.position) <= 0.75 then FishLastCaught = os.time() - client:use_item() + client:start_use_item() end end end, "auto-fish") @@ -54,11 +54,11 @@ function auto_fish() if os.time() - FishLastCaught >= 60 then hold_fishing_rod() - client:use_item() + client:start_use_item() end end, "auto-fish_watchdog") - client:use_item() + client:start_use_item() end function stop_auto_fish() @@ -71,7 +71,7 @@ function stop_auto_fish() return e.id == FishingBobber.id end)[1] then FishingBobber = nil - client:use_item() + client:start_use_item() end end @@ -131,6 +131,6 @@ function check_food(hunger) sleep(1000) LastEaten = current_time end - client:use_item() + client:start_use_item() end end diff --git a/src/commands.rs b/src/commands.rs index ea7626d..c3fa330 100644 --- a/src/commands.rs +++ b/src/commands.rs @@ -1,4 +1,4 @@ -use azalea::{brigadier::prelude::*, chat::ChatPacket, prelude::*}; +use azalea::{brigadier::prelude::*, client_chat::ChatPacket, prelude::*}; use futures::lock::Mutex; use mlua::{Error, Result, Table, UserDataRef}; use ncr::{ diff --git a/src/events.rs b/src/events.rs index 69a080d..bf5cdaf 100644 --- a/src/events.rs +++ b/src/events.rs @@ -1,18 +1,19 @@ -use std::{net::SocketAddr, process::exit}; +use std::net::SocketAddr; -use anyhow::{Context, Result}; +use anyhow::Result; use azalea::{ - brigadier::exceptions::BuiltInExceptions::DispatcherUnknownCommand, prelude::*, - protocol::packets::game::ClientboundGamePacket, + brigadier::errors::BuiltInError, prelude::*, protocol::packets::game::ClientboundGamePacket, }; use hyper::{server::conn::http1, service::service_fn}; use hyper_util::rt::TokioIo; use log::{debug, error, info, trace}; -use mlua::{Error, Function, IntoLuaMulti, Table}; +use mlua::{Function, IntoLuaMulti, Table}; use ncr::utils::trim_header; use tokio::net::TcpListener; #[cfg(feature = "matrix")] use {crate::matrix, std::time::Duration, tokio::time::sleep}; +#[cfg(feature = "replay")] +use {crate::replay::recorder::Recorder, mlua::Error, std::process::exit}; use crate::{ State, @@ -20,7 +21,6 @@ use crate::{ http::serve, lua::{client, direction::Direction, player::Player, vec3::Vec3}, particle, - replay::recorder::Recorder, }; #[allow(clippy::cognitive_complexity, clippy::too_many_lines)] @@ -35,6 +35,7 @@ pub async fn handle_event(client: Client, event: Event, state: State) -> Result< let uuid = message.sender_uuid().map(|uuid| uuid.to_string()); let is_whisper = message.is_whisper(); let text = message.message(); + let html_text = text.to_html(); let ansi_text = text.to_ansi(); info!("{ansi_text}"); @@ -70,7 +71,7 @@ pub async fn handle_event(client: Client, event: Event, state: State) -> Result< } .into(), ) - && error.type_ != DispatcherUnknownCommand + && *error.kind() != BuiltInError::DispatcherUnknownCommand { CommandSource { client, @@ -86,6 +87,7 @@ pub async fn handle_event(client: Client, event: Event, state: State) -> Result< let table = state.lua.create_table()?; table.set("text", text.to_string())?; table.set("ansi_text", ansi_text)?; + table.set("html_text", html_text)?; table.set("sender", sender)?; table.set("content", content)?; table.set("uuid", uuid)?; @@ -101,6 +103,7 @@ pub async fn handle_event(client: Client, event: Event, state: State) -> Result< let message_table = state.lua.create_table()?; message_table.set("text", packet.message.to_string())?; message_table.set("ansi_text", packet.message.to_ansi())?; + message_table.set("html_text", packet.message.to_html())?; let table = state.lua.create_table()?; table.set("message", message_table)?; table.set("player_id", packet.player_id.0)?; @@ -117,6 +120,7 @@ pub async fn handle_event(client: Client, event: Event, state: State) -> Result< let table = state.lua.create_table()?; table.set("text", message.to_string())?; table.set("ansi_text", message.to_ansi())?; + table.set("html_text", message.to_html())?; Ok(table) }) .await @@ -125,7 +129,6 @@ pub async fn handle_event(client: Client, event: Event, state: State) -> Result< } } Event::KeepAlive(id) => call_listeners(&state, "keep_alive", || Ok(id)).await, - Event::Login => call_listeners(&state, "login", || Ok(())).await, Event::RemovePlayer(player_info) => { call_listeners(&state, "remove_player", || Ok(Player::from(player_info))).await } @@ -183,8 +186,11 @@ pub async fn handle_event(client: Client, event: Event, state: State) -> Result< ClientboundGamePacket::SetPassengers(packet) => { call_listeners(&state, "set_passengers", || { let table = state.lua.create_table()?; - table.set("vehicle", packet.vehicle)?; - table.set("passengers", &*packet.passengers)?; + table.set("vehicle", *packet.vehicle)?; + table.set( + "passengers", + packet.passengers.iter().map(|id| id.0).collect::>(), + )?; Ok(table) }) .await @@ -192,28 +198,32 @@ pub async fn handle_event(client: Client, event: Event, state: State) -> Result< ClientboundGamePacket::SetTime(packet) => { call_listeners(&state, "set_time", || { let table = state.lua.create_table()?; - table.set("day_time", packet.day_time)?; table.set("game_time", packet.game_time)?; - table.set("tick_day_time", packet.tick_day_time)?; Ok(table) }) .await } _ => Ok(()), }, + Event::Login => { + #[cfg(feature = "matrix")] + matrix_init(&client, state.clone()); + + call_listeners(&state, "login", || Ok(())).await + } Event::Init => { debug!("received init event"); - let ecs = client.ecs.clone(); - ctrlc::set_handler(move || { - ecs.lock() - .remove_resource::() - .map(Recorder::finish); - exit(0); - })?; - - #[cfg(feature = "matrix")] - matrix_init(&client, state.clone()); + #[cfg(feature = "replay")] + { + let ecs = client.ecs.clone(); + ctrlc::set_handler(move || { + ecs.write() + .remove_resource::() + .map(Recorder::finish); + exit(0); + })?; + }; let globals = state.lua.globals(); lua_init(client, &state, &globals).await?; @@ -262,18 +272,21 @@ pub async fn handle_event(client: Client, event: Event, state: State) -> Result< } async fn lua_init(client: Client, state: &State, globals: &Table) -> Result<()> { - let ecs = client.ecs.clone(); - globals.set( - "finish_replay_recording", - state.lua.create_function_mut(move |_, (): ()| { - ecs.lock() - .remove_resource::() - .context("recording not active") - .map_err(Error::external)? - .finish() - .map_err(Error::external) - })?, - )?; + #[cfg(feature = "replay")] + { + let ecs = client.ecs.clone(); + globals.set( + "finish_replay_recording", + state.lua.create_function_mut(move |_, (): ()| { + ecs.write() + .remove_resource::() + .context("recording not active") + .map_err(Error::external)? + .finish() + .map_err(Error::external) + })?, + )?; + } globals.set("client", client::Client(Some(client)))?; call_listeners(state, "init", || Ok(())).await } diff --git a/src/hacks/anti_knockback.rs b/src/hacks/anti_knockback.rs deleted file mode 100644 index 7075a7b..0000000 --- a/src/hacks/anti_knockback.rs +++ /dev/null @@ -1,20 +0,0 @@ -use azalea::{ - Vec3, - movement::{KnockbackEvent, KnockbackType}, - prelude::Component, -}; -use bevy_ecs::{event::EventMutator, query::With, system::Query}; - -#[derive(Component)] -pub struct AntiKnockback; - -pub fn anti_knockback( - mut events: EventMutator, - entity_query: Query<(), With>, -) { - for event in events.read() { - if entity_query.get(event.entity).is_ok() { - event.knockback = KnockbackType::Add(Vec3::default()); - } - } -} diff --git a/src/hacks/mod.rs b/src/hacks/mod.rs deleted file mode 100644 index 42d527c..0000000 --- a/src/hacks/mod.rs +++ /dev/null @@ -1,21 +0,0 @@ -#![allow(clippy::needless_pass_by_value)] - -pub mod anti_knockback; - -use anti_knockback::anti_knockback; -use azalea::{movement::handle_knockback, packet::game::process_packet_events}; -use bevy_app::{App, Plugin, PreUpdate}; -use bevy_ecs::schedule::IntoSystemConfigs; - -pub struct HacksPlugin; - -impl Plugin for HacksPlugin { - fn build(&self, app: &mut App) { - app.add_systems( - PreUpdate, - anti_knockback - .after(process_packet_events) - .before(handle_knockback), - ); - } -} diff --git a/src/lua/block.rs b/src/lua/block.rs index 21d11f1..0c8c716 100644 --- a/src/lua/block.rs +++ b/src/lua/block.rs @@ -1,6 +1,6 @@ -use azalea::blocks::{ - Block as AzaleaBlock, BlockState, - properties::{ChestType, Facing, LightLevel}, +use azalea::block::{ + BlockState, BlockTrait, + properties::{ChestKind, Facing, LightLevel}, }; use mlua::{Function, Lua, Result, Table}; @@ -21,7 +21,7 @@ pub fn get_block_from_state(lua: &Lua, state: u32) -> Result> { let Ok(state) = BlockState::try_from(state) else { return Ok(None); }; - let block: Box = state.into(); + let block: Box = state.into(); let behavior = block.behavior(); let table = lua.create_table()?; @@ -46,10 +46,10 @@ pub async fn get_block_states( for block in (u32::MIN..u32::MAX).map_while(|possible_id| BlockState::try_from(possible_id).ok()) { - if block_name == Into::>::into(block).id() + if block_name == Into::>::into(block).id() && (if let Some(filter_fn) = &filter_fn { let table = lua.create_table()?; - table.set("chest_type", block.property::().map(|v| v as u8))?; + table.set("chest_kind", block.property::().map(|v| v as u8))?; table.set("facing", block.property::().map(|v| v as u8))?; table.set( "light_level", @@ -60,7 +60,7 @@ pub async fn get_block_states( true }) { - matched.push(block.id); + matched.push(block.id()); } } } diff --git a/src/lua/client/container.rs b/src/lua/client/container.rs index 6b1e64e..f6ab2a4 100644 --- a/src/lua/client/container.rs +++ b/src/lua/client/container.rs @@ -1,20 +1,19 @@ use azalea::{ BlockPos, - inventory::{Inventory, Menu, Player, SlotList}, - prelude::ContainerClientExt, + entity::inventory::Inventory, + inventory::{Menu, Player, SlotList}, protocol::packets::game::ServerboundSetCarriedItem, }; -use log::error; use mlua::{Lua, Result, UserDataRef, Value}; use super::{Client, Container, ContainerRef, ItemStack, Vec3}; -pub fn container(_lua: &Lua, client: &Client) -> Result> { - Ok(client.get_open_container().map(ContainerRef)) +pub fn container(_lua: &Lua, client: &Client) -> Result { + Ok(ContainerRef(client.get_inventory())) } pub fn held_item(_lua: &Lua, client: &Client) -> Result { - Ok(ItemStack(client.component::().held_item())) + Ok(ItemStack(client.get_held_item())) } pub fn held_slot(_lua: &Lua, client: &Client) -> Result { @@ -117,20 +116,14 @@ pub fn set_held_slot(_lua: &Lua, client: &Client, slot: u8) -> Result<()> { return Ok(()); } - { - let mut ecs = client.ecs.lock(); - let mut inventory = client.query::<&mut Inventory>(&mut ecs); - if inventory.selected_hotbar_slot == slot { - return Ok(()); + client.query_self::<&mut Inventory, _>(|mut inventory| { + if inventory.selected_hotbar_slot != slot { + inventory.selected_hotbar_slot = slot; } - inventory.selected_hotbar_slot = slot; - }; - - if let Err(error) = client.write_packet(ServerboundSetCarriedItem { + }); + client.write_packet(ServerboundSetCarriedItem { slot: u16::from(slot), - }) { - error!("failed to send SetCarriedItem packet: {error:?}"); - } + }); Ok(()) } diff --git a/src/lua/client/interaction.rs b/src/lua/client/interaction.rs index 9b509f8..384268f 100644 --- a/src/lua/client/interaction.rs +++ b/src/lua/client/interaction.rs @@ -1,15 +1,16 @@ use azalea::{ - BlockPos, BotClientExt, + BlockPos, + core::entity_id::MinecraftEntityId, protocol::packets::game::{ServerboundUseItem, s_interact::InteractionHand}, - world::MinecraftEntityId, }; -use log::error; use mlua::{Lua, Result, UserDataRef}; use super::{Client, Vec3}; pub fn attack(_lua: &Lua, client: &Client, entity_id: i32) -> Result<()> { - client.attack(MinecraftEntityId(entity_id)); + if let Some(entity) = client.entity_id_by_minecraft_id(MinecraftEntityId(entity_id)) { + client.attack(entity); + } Ok(()) } @@ -40,8 +41,8 @@ pub async fn mine(_lua: Lua, client: UserDataRef, position: Vec3) -> Res Ok(()) } -pub fn set_mining(_lua: &Lua, client: &Client, mining: bool) -> Result<()> { - client.left_click_mine(mining); +pub fn set_mining(_lua: &Lua, client: &Client, state: bool) -> Result<()> { + client.left_click_mine(state); Ok(()) } @@ -55,18 +56,16 @@ pub fn start_mining(_lua: &Lua, client: &Client, position: Vec3) -> Result<()> { Ok(()) } -pub fn use_item(_lua: &Lua, client: &Client, hand: Option) -> Result<()> { +pub fn start_use_item(_lua: &Lua, client: &Client, hand: Option) -> Result<()> { let direction = client.direction(); - if let Err(error) = client.write_packet(ServerboundUseItem { + client.write_packet(ServerboundUseItem { hand: match hand { Some(1) => InteractionHand::OffHand, _ => InteractionHand::MainHand, }, - sequence: 0, - yaw: direction.0, - pitch: direction.1, - }) { - error!("failed to send UseItem packet: {error:?}"); - } + seq: 0, + x_rot: direction.x_rot(), + y_rot: direction.y_rot(), + }); Ok(()) } diff --git a/src/lua/client/mod.rs b/src/lua/client/mod.rs index 8ef6f27..7988bb1 100644 --- a/src/lua/client/mod.rs +++ b/src/lua/client/mod.rs @@ -8,7 +8,7 @@ mod world; use std::ops::{Deref, DerefMut}; -use azalea::{Client as AzaleaClient, world::MinecraftEntityId}; +use azalea::{Client as AzaleaClient, core::entity_id::MinecraftEntityId}; use mlua::{Lua, Result, UserData, UserDataFields, UserDataMethods}; use super::{ @@ -64,14 +64,11 @@ impl UserData for Client { m.add_async_method("find_entities", world::find::entities); m.add_async_method("find_players", world::find::players); m.add_async_method("go_to", movement::go_to); - m.add_async_method( - "go_to_wait_until_reached", - movement::go_to_wait_until_reached, - ); m.add_async_method("mine", interaction::mine); m.add_async_method("open_container_at", container::open_container_at); m.add_async_method("set_client_information", state::set_client_information); m.add_async_method("start_go_to", movement::start_go_to); + m.add_async_method("wait_until_goal_reached", movement::wait_until_goal_reached); m.add_method("attack", interaction::attack); m.add_method("best_tool_for_block", world::best_tool_for_block); m.add_method("block_interact", interaction::block_interact); @@ -92,9 +89,9 @@ impl UserData for Client { m.add_method("set_sneaking", movement::set_sneaking); m.add_method("sprint", movement::sprint); m.add_method("start_mining", interaction::start_mining); + m.add_method("start_use_item", interaction::start_use_item); m.add_method("stop_pathfinding", movement::stop_pathfinding); m.add_method("stop_sleeping", movement::stop_sleeping); - m.add_method("use_item", interaction::use_item); m.add_method("walk", movement::walk); } } diff --git a/src/lua/client/movement.rs b/src/lua/client/movement.rs index ded0b62..78b8dfe 100644 --- a/src/lua/client/movement.rs +++ b/src/lua/client/movement.rs @@ -1,15 +1,14 @@ use azalea::{ - BlockPos, BotClientExt, SprintDirection, WalkDirection, + BlockPos, SprintDirection, WalkDirection, + core::{entity_id::MinecraftEntityId, hit_result::HitResult}, entity::Position, - interact::HitResultComponent, + interact::pick::HitResultComponent, pathfinder::{ - ExecutingPath, GotoEvent, Pathfinder, PathfinderClientExt, - goals::{BlockPosGoal, Goal, InverseGoal, RadiusGoal, ReachBlockPosGoal, XZGoal, YGoal}, + ExecutingPath, Pathfinder, PathfinderClientExt, PathfinderOpts, + goals::{BlockPosGoal, Goal, RadiusGoal, ReachBlockPosGoal, XZGoal, YGoal}, }, protocol::packets::game::{ServerboundPlayerCommand, s_player_command::Action}, - world::MinecraftEntityId, }; -use log::error; use mlua::{FromLua, Lua, Result, Table, UserDataRef, Value}; use super::{Client, Direction, Vec3}; @@ -28,7 +27,7 @@ impl Goal for AnyGoal { } #[allow(clippy::cast_possible_truncation)] -fn to_goal(lua: &Lua, client: &Client, data: Table, options: &Table, kind: u8) -> Result { +fn to_goal(lua: &Lua, client: &Client, data: Table, kind: u8) -> Result { let goal: Box = match kind { 1 => { let pos = Vec3::from_lua(data.get("position")?, lua)?; @@ -38,11 +37,13 @@ fn to_goal(lua: &Lua, client: &Client, data: Table, options: &Table, kind: u8) - }) } 2 => { + let distance = data.get("distance").unwrap_or(4.5); let pos = Vec3::from_lua(Value::Table(data), lua)?; - Box::new(ReachBlockPosGoal { - pos: BlockPos::new(pos.x as i32, pos.y as i32, pos.z as i32), - chunk_storage: client.world().read().chunks.clone(), - }) + Box::new(ReachBlockPosGoal::new_with_distance( + BlockPos::new(pos.x as i32, pos.y as i32, pos.z as i32), + distance, + client.world().read().chunks.clone(), + )) } 3 => Box::new(XZGoal { x: data.get("x")?, @@ -59,22 +60,14 @@ fn to_goal(lua: &Lua, client: &Client, data: Table, options: &Table, kind: u8) - } }; - Ok(AnyGoal(if options.get("inverse").unwrap_or_default() { - Box::new(InverseGoal(AnyGoal(goal))) - } else { - goal - })) + Ok(AnyGoal(goal)) } pub fn go_to_reached(_lua: &Lua, client: &Client) -> Result { Ok(client.is_goto_target_reached()) } -pub async fn go_to_wait_until_reached( - _lua: Lua, - client: UserDataRef, - (): (), -) -> Result<()> { +pub async fn wait_until_goal_reached(_lua: Lua, client: UserDataRef, (): ()) -> Result<()> { client.wait_until_goto_target_reached().await; Ok(()) } @@ -90,11 +83,10 @@ pub async fn go_to( &lua, &client, data, - &options, metadata.get("type").unwrap_or_default(), )?; if options.get("without_mining").unwrap_or_default() { - client.start_goto_without_mining(goal); + client.start_goto_with_opts(goal, PathfinderOpts::new().allow_mining(false)); client.wait_until_goto_target_reached().await; } else { client.goto(goal).await; @@ -113,19 +105,13 @@ pub async fn start_go_to( &lua, &client, data, - &options, metadata.get("type").unwrap_or_default(), )?; - if options.get("without_mining").unwrap_or_default() { - client.start_goto_without_mining(goal); - } else { - client.start_goto(goal); - } - while client.get_tick_broadcaster().recv().await.is_ok() { - if client.ecs.lock().get::(client.entity).is_none() { - break; - } - } + client.start_goto_with_opts( + goal, + PathfinderOpts::new().allow_mining(options.get("without_mining").unwrap_or_default()), + ); + let _ = client.get_tick_broadcaster().recv().await; Ok(()) } @@ -133,8 +119,8 @@ pub async fn start_go_to( pub fn direction(_lua: &Lua, client: &Client) -> Result { let direction = client.direction(); Ok(Direction { - y: direction.0, - x: direction.1, + y: direction.y_rot(), + x: direction.x_rot(), }) } @@ -148,16 +134,19 @@ pub fn jump(_lua: &Lua, client: &Client, (): ()) -> Result<()> { } pub fn looking_at(lua: &Lua, client: &Client) -> Result> { - let result = client.component::(); - Ok(if result.miss { - None - } else { - let table = lua.create_table()?; - table.set("position", Vec3::from(result.block_pos))?; - table.set("inside", result.inside)?; - table.set("world_border", result.world_border)?; - Some(table) - }) + Ok( + if let HitResult::Block(ref result) = **client.component::() { + let table = lua.create_table()?; + table.set("direction", Vec3::from(result.direction.normal()))?; + table.set("inside", result.inside)?; + table.set("location", Vec3::from(result.location))?; + table.set("position", Vec3::from(result.block_pos))?; + table.set("world_border", result.world_border)?; + Some(table) + } else { + None + }, + ) } pub fn look_at(_lua: &Lua, client: &Client, position: Vec3) -> Result<()> { @@ -179,8 +168,8 @@ pub fn pathfinder(lua: &Lua, client: &Client) -> Result { Vec3::from(pathfinder.last_reached_node), )?; table.set( - "last_node_reach_elapsed", - pathfinder.last_node_reached_at.elapsed().as_millis(), + "ticks_since_last_node_reached", + pathfinder.ticks_since_last_node_reached, )?; table.set("is_path_partial", pathfinder.is_path_partial)?; true @@ -192,7 +181,7 @@ pub fn pathfinder(lua: &Lua, client: &Client) -> Result
{ } pub fn position(_lua: &Lua, client: &Client) -> Result { - Ok(Vec3::from(&client.component::())) + Ok(Vec3::from(*client.component::())) } pub fn set_direction(_lua: &Lua, client: &Client, direction: Direction) -> Result<()> { @@ -205,27 +194,17 @@ pub fn set_jumping(_lua: &Lua, client: &Client, jumping: bool) -> Result<()> { Ok(()) } -pub fn set_position(_lua: &Lua, client: &Client, new_position: Vec3) -> Result<()> { - let mut ecs = client.ecs.lock(); - let mut position = client.query::<&mut Position>(&mut ecs); - position.x = new_position.x; - position.y = new_position.y; - position.z = new_position.z; +pub fn set_position(_lua: &Lua, client: &Client, new_pos: Vec3) -> Result<()> { + client.query_self::<&mut Position, _>(|mut pos| { + pos.x = new_pos.x; + pos.y = new_pos.y; + pos.z = new_pos.z; + }); Ok(()) } pub fn set_sneaking(_lua: &Lua, client: &Client, sneaking: bool) -> Result<()> { - if let Err(error) = client.write_packet(ServerboundPlayerCommand { - id: client.component::(), - action: if sneaking { - Action::PressShiftKey - } else { - Action::ReleaseShiftKey - }, - data: 0, - }) { - error!("failed to send PlayerCommand packet: {error:?}"); - } + client.set_crouching(sneaking); Ok(()) } @@ -244,13 +223,11 @@ pub fn stop_pathfinding(_lua: &Lua, client: &Client, (): ()) -> Result<()> { } pub fn stop_sleeping(_lua: &Lua, client: &Client, (): ()) -> Result<()> { - if let Err(error) = client.write_packet(ServerboundPlayerCommand { - id: client.component::(), + client.write_packet(ServerboundPlayerCommand { + id: *client.component::(), action: Action::StopSleeping, data: 0, - }) { - error!("failed to send PlayerCommand packet: {error:?}"); - } + }); Ok(()) } diff --git a/src/lua/client/state.rs b/src/lua/client/state.rs index 0b7eea1..eb5318e 100644 --- a/src/lua/client/state.rs +++ b/src/lua/client/state.rs @@ -1,13 +1,13 @@ use azalea::{ ClientInformation, entity::metadata::{AirSupply, Score}, - pathfinder::PathfinderDebugParticles, + pathfinder::debug::PathfinderDebugParticles, protocol::common::client_information::ModelCustomization, }; +use azalea_hax::AntiKnockback; use mlua::{Error, Lua, Result, Table, UserDataRef}; use super::Client; -use crate::hacks::anti_knockback::AntiKnockback; pub fn air_supply(_lua: &Lua, client: &Client) -> Result { Ok(client.component::().0) @@ -35,26 +35,25 @@ pub async fn set_client_information( info: Table, ) -> Result<()> { let get_bool = |table: &Table, name| table.get(name).unwrap_or(true); - client - .set_client_information(ClientInformation { - allows_listing: info.get("allows_listing")?, - model_customization: info - .get::
("model_customization") - .map(|t| ModelCustomization { - cape: get_bool(&t, "cape"), - jacket: get_bool(&t, "jacket"), - left_sleeve: get_bool(&t, "left_sleeve"), - right_sleeve: get_bool(&t, "right_sleeve"), - left_pants: get_bool(&t, "left_pants"), - right_pants: get_bool(&t, "right_pants"), - hat: get_bool(&t, "hat"), - }) - .unwrap_or_default(), - view_distance: info.get("view_distance").unwrap_or(8), - ..ClientInformation::default() - }) - .await - .map_err(Error::external) + client.set_client_information(ClientInformation { + allows_listing: info.get("allows_listing")?, + model_customization: info + .get::
("model_customization") + .as_ref() + .map(|t| ModelCustomization { + cape: get_bool(t, "cape"), + jacket: get_bool(t, "jacket"), + left_sleeve: get_bool(t, "left_sleeve"), + right_sleeve: get_bool(t, "right_sleeve"), + left_pants: get_bool(t, "left_pants"), + right_pants: get_bool(t, "right_pants"), + hat: get_bool(t, "hat"), + }) + .unwrap_or_default(), + view_distance: info.get("view_distance").unwrap_or(8), + ..ClientInformation::default() + }); + Ok(()) } pub fn set_component( @@ -64,7 +63,7 @@ pub fn set_component( ) -> Result<()> { macro_rules! set { ($name:ident) => {{ - let mut ecs = client.ecs.lock(); + let mut ecs = client.ecs.write(); let mut entity = ecs.entity_mut(client.entity); if enabled.unwrap_or(true) { entity.insert($name) diff --git a/src/lua/client/world/find.rs b/src/lua/client/world/find.rs index 60a73f4..1da0297 100644 --- a/src/lua/client/world/find.rs +++ b/src/lua/client/world/find.rs @@ -1,16 +1,16 @@ use azalea::{ BlockPos, - blocks::{BlockState, BlockStates}, + block::{BlockState, BlockStates}, ecs::query::{With, Without}, entity::{ - Dead, EntityKind, EntityUuid, LookDirection, Pose, Position as AzaleaPosition, + Dead, EntityKindComponent, EntityUuid, LookDirection, Pose, Position as AzaleaPosition, metadata::{CustomName, Owneruuid, Player}, }, - world::MinecraftEntityId, }; use mlua::{Function, Lua, Result, Table, UserDataRef}; use super::{Client, Direction, Vec3}; +use crate::lua::client::MinecraftEntityId; pub fn blocks( _lua: &Lua, @@ -28,7 +28,10 @@ pub fn blocks( nearest_to.z as i32, ), &BlockStates { - set: block_states.iter().map(|&id| BlockState { id }).collect(), + set: block_states + .into_iter() + .flat_map(BlockState::try_from) + .collect(), }, ) .map(Vec3::from) diff --git a/src/lua/client/world/mod.rs b/src/lua/client/world/mod.rs index 5355fc6..9fb6864 100644 --- a/src/lua/client/world/mod.rs +++ b/src/lua/client/world/mod.rs @@ -2,21 +2,24 @@ mod queries; pub mod find; -use azalea::{BlockPos, auto_tool::AutoToolClientExt, blocks::BlockState, world::InstanceName}; -use mlua::{Lua, Result, Table}; +use azalea::{BlockPos, block::BlockState, world::WorldName}; +use mlua::{Lua, Result, Table, Value}; use super::{Client, Direction, Vec3}; -pub fn best_tool_for_block(lua: &Lua, client: &Client, block_state: u16) -> Result
{ - let result = client.best_tool_in_hotbar_for_block(BlockState { id: block_state }); +pub fn best_tool_for_block(lua: &Lua, client: &Client, block_state: u16) -> Result { + let Ok(block) = BlockState::try_from(block_state) else { + return Ok(Value::Nil); + }; + let result = client.best_tool_in_hotbar_for_block(block); let table = lua.create_table()?; table.set("index", result.index)?; table.set("percentage_per_tick", result.percentage_per_tick)?; - Ok(table) + Ok(Value::Table(table)) } pub fn dimension(_lua: &Lua, client: &Client) -> Result { - Ok(client.component::().to_string()) + Ok(client.component::().to_string()) } pub fn get_block_state(_lua: &Lua, client: &Client, position: Vec3) -> Result> { @@ -24,17 +27,17 @@ pub fn get_block_state(_lua: &Lua, client: &Client, position: Vec3) -> Result Result> { - let fluid_state = client.world().read().get_fluid_state(&BlockPos::new( + let fluid_state = client.world().read().get_fluid_state(BlockPos::new( position.x as i32, position.y as i32, position.z as i32, diff --git a/src/lua/client/world/queries.rs b/src/lua/client/world/queries.rs index 3ba0808..06aca95 100644 --- a/src/lua/client/world/queries.rs +++ b/src/lua/client/world/queries.rs @@ -1,11 +1,11 @@ #[macro_export] macro_rules! get_entities { ($client:ident) => {{ - let mut ecs = $client.ecs.lock(); + let mut ecs = $client.ecs.write(); ecs.query::<( &AzaleaPosition, &CustomName, - &EntityKind, + &EntityKindComponent, &EntityUuid, &LookDirection, &MinecraftEntityId, @@ -16,7 +16,7 @@ macro_rules! get_entities { .map( |(position, custom_name, kind, uuid, direction, id, owner_uuid, pose)| { ( - Vec3::from(position), + Vec3::from(*position), custom_name.as_ref().map(ToString::to_string), kind.to_string(), uuid.to_string(), @@ -34,11 +34,11 @@ macro_rules! get_entities { #[macro_export] macro_rules! get_players { ($client:ident) => {{ - let mut ecs = $client.ecs.lock(); + let mut ecs = $client.ecs.write(); ecs.query_filtered::<( &MinecraftEntityId, &EntityUuid, - &EntityKind, + &EntityKindComponent, &AzaleaPosition, &LookDirection, &Pose, @@ -49,7 +49,7 @@ macro_rules! get_players { id.0, uuid.to_string(), kind.to_string(), - Vec3::from(position), + Vec3::from(*position), Direction::from(direction), *pose as u8, ) diff --git a/src/lua/container/item_stack.rs b/src/lua/container/item_stack.rs index e75caba..a7b800a 100644 --- a/src/lua/container/item_stack.rs +++ b/src/lua/container/item_stack.rs @@ -1,5 +1,5 @@ use azalea::inventory::{ - self, + self, ItemStackData, components::{Consumable, CustomName, Damage, Food, MaxDamage}, }; use mlua::{UserData, UserDataFields, UserDataMethods}; @@ -14,8 +14,7 @@ impl UserData for ItemStack { f.add_field_method_get("kind", |_, this| Ok(this.0.kind().to_string())); f.add_field_method_get("custom_name", |_, this| { Ok(this.0.as_present().map(|data| { - data.components - .get::() + data.get_component::() .map(|c| c.name.to_string()) })) }); @@ -23,13 +22,13 @@ impl UserData for ItemStack { Ok(this .0 .as_present() - .map(|data| data.components.get::().map(|d| d.amount))) + .map(|data| data.get_component::().map(|d| d.amount))) }); f.add_field_method_get("max_damage", |_, this| { Ok(this .0 .as_present() - .map(|data| data.components.get::().map(|d| d.amount))) + .map(|data| data.get_component::().map(|d| d.amount))) }); f.add_field_method_get("consumable", |lua, this| { @@ -37,7 +36,7 @@ impl UserData for ItemStack { if let Some(consumable) = this .0 .as_present() - .and_then(|data| data.components.get::()) + .and_then(ItemStackData::get_component::) { let table = lua.create_table()?; table.set("animation", consumable.animation as u8)?; @@ -55,13 +54,12 @@ impl UserData for ItemStack { if let Some(food) = this .0 .as_present() - .and_then(|data| data.components.get::()) + .and_then(ItemStackData::get_component::) { let table = lua.create_table()?; table.set("nutrition", food.nutrition)?; table.set("saturation", food.saturation)?; table.set("can_always_eat", food.can_always_eat)?; - table.set("eat_seconds", food.eat_seconds)?; Some(table) } else { None diff --git a/src/lua/direction.rs b/src/lua/direction.rs index 74282f4..642ca15 100644 --- a/src/lua/direction.rs +++ b/src/lua/direction.rs @@ -10,8 +10,8 @@ pub struct Direction { impl From<&LookDirection> for Direction { fn from(d: &LookDirection) -> Self { Self { - y: d.y_rot, - x: d.x_rot, + y: d.y_rot(), + x: d.x_rot(), } } } diff --git a/src/lua/player.rs b/src/lua/player.rs index 8d09103..7c9e25c 100644 --- a/src/lua/player.rs +++ b/src/lua/player.rs @@ -1,4 +1,4 @@ -use azalea::PlayerInfo; +use azalea::player::PlayerInfo; use mlua::{IntoLua, Lua, Result, Value}; #[derive(Clone)] diff --git a/src/lua/vec3.rs b/src/lua/vec3.rs index a2a849a..19ebbc1 100644 --- a/src/lua/vec3.rs +++ b/src/lua/vec3.rs @@ -28,8 +28,8 @@ impl From for Vec3 { } } -impl From<&Position> for Vec3 { - fn from(p: &Position) -> Self { +impl From for Vec3 { + fn from(p: Position) -> Self { Self { x: p.x, y: p.y, diff --git a/src/main.rs b/src/main.rs index ef362e2..d736696 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,4 +1,3 @@ -#![feature(if_let_guard, let_chains)] #![warn(clippy::pedantic, clippy::nursery)] #![allow(clippy::significant_drop_tightening)] @@ -6,15 +5,16 @@ mod arguments; mod build_info; mod commands; mod events; -mod hacks; mod http; mod lua; mod particle; -mod replay; #[cfg(feature = "matrix")] mod matrix; +#[cfg(feature = "replay")] +mod replay; + use std::{ collections::HashMap, env, @@ -22,11 +22,12 @@ use std::{ sync::Arc, }; -use anyhow::Context; +use anyhow::{Context, Result, bail}; use arguments::Arguments; use azalea::{ - DefaultBotPlugins, DefaultPlugins, brigadier::prelude::CommandDispatcher, prelude::*, + DefaultPlugins, bot::DefaultBotPlugins, brigadier::prelude::CommandDispatcher, prelude::*, }; +use azalea_hax::HaxPlugin; use bevy_app::PluginGroup; use bevy_log::{ LogPlugin, @@ -36,10 +37,10 @@ use clap::Parser; use commands::{CommandSource, register}; use futures::lock::Mutex; use futures_locks::RwLock; -use hacks::HacksPlugin; use log::debug; -use mlua::{Function, Lua, Table}; -use replay::{plugin::RecordPlugin, recorder::Recorder}; +use mlua::{Function, Lua}; +#[cfg(feature = "replay")] +use replay::{mlua::Table, plugin::RecordPlugin, recorder::Recorder}; #[cfg(feature = "mimalloc")] #[global_allocator] @@ -55,7 +56,7 @@ struct State { } #[tokio::main] -async fn main() -> anyhow::Result<()> { +async fn main() -> Result<()> { #[cfg(feature = "console-subscriber")] console_subscriber::init(); @@ -109,7 +110,14 @@ async fn main() -> anyhow::Result<()> { ..Default::default() }) }; - let record_plugin = RecordPlugin { + + let builder = ClientBuilder::new_without_plugins() + .add_plugins(default_plugins) + .add_plugins(DefaultBotPlugins) + .add_plugins(HaxPlugin); + + #[cfg(feature = "replay")] + let builder = builder.add_plugins(RecordPlugin { recorder: Arc::new(parking_lot::Mutex::new( if let Ok(options) = globals.get::
("ReplayRecordingOptions") && let Ok(path) = options.get::("path") @@ -125,18 +133,15 @@ async fn main() -> anyhow::Result<()> { None }, )), - }; + }); + let account = if username.contains('@') { Account::microsoft(&username).await? } else { Account::offline(&username) }; - let Err(error) = ClientBuilder::new_without_plugins() - .add_plugins(DefaultBotPlugins) - .add_plugins(HacksPlugin) - .add_plugins(default_plugins) - .add_plugins(record_plugin) + if let AppExit::Error(code) = builder .set_handler(events::handle_event) .set_state(State { lua: Arc::new(lua), @@ -144,8 +149,10 @@ async fn main() -> anyhow::Result<()> { commands: Arc::new(commands), }) .start(account, server) - .await; - eprintln!("{error}"); + .await + { + bail!("azalea exited with code {code}") + } Ok(()) } diff --git a/src/particle.rs b/src/particle.rs index cb17005..034f0ab 100644 --- a/src/particle.rs +++ b/src/particle.rs @@ -1,121 +1,124 @@ -use azalea::{entity::particle::Particle, registry::ParticleKind}; +use azalea::{entity::particle::Particle, registry::builtin::ParticleKind}; #[allow(clippy::too_many_lines)] pub const fn to_kind(particle: &Particle) -> ParticleKind { match particle { Particle::AngryVillager => ParticleKind::AngryVillager, + Particle::Ash => ParticleKind::Ash, Particle::Block(_) => ParticleKind::Block, + Particle::BlockCrumble => ParticleKind::BlockCrumble, Particle::BlockMarker(_) => ParticleKind::BlockMarker, Particle::Bubble => ParticleKind::Bubble, + Particle::BubbleColumnUp => ParticleKind::BubbleColumnUp, + Particle::BubblePop => ParticleKind::BubblePop, + Particle::CampfireCosySmoke => ParticleKind::CampfireCosySmoke, + Particle::CampfireSignalSmoke => ParticleKind::CampfireSignalSmoke, + Particle::CherryLeaves => ParticleKind::CherryLeaves, Particle::Cloud => ParticleKind::Cloud, + Particle::Composter => ParticleKind::Composter, + Particle::CopperFireFlame => ParticleKind::CopperFireFlame, + Particle::CrimsonSpore => ParticleKind::CrimsonSpore, Particle::Crit => ParticleKind::Crit, + Particle::CurrentDown => ParticleKind::CurrentDown, Particle::DamageIndicator => ParticleKind::DamageIndicator, + Particle::Dolphin => ParticleKind::Dolphin, Particle::DragonBreath => ParticleKind::DragonBreath, + Particle::DrippingDripstoneLava => ParticleKind::DrippingDripstoneLava, + Particle::DrippingDripstoneWater => ParticleKind::DrippingDripstoneWater, + Particle::DrippingHoney => ParticleKind::DrippingHoney, Particle::DrippingLava => ParticleKind::DrippingLava, - Particle::FallingLava => ParticleKind::FallingLava, - Particle::LandingLava => ParticleKind::LandingLava, + Particle::DrippingObsidianTear => ParticleKind::DrippingObsidianTear, Particle::DrippingWater => ParticleKind::DrippingWater, - Particle::FallingWater => ParticleKind::FallingWater, Particle::Dust(_) => ParticleKind::Dust, Particle::DustColorTransition(_) => ParticleKind::DustColorTransition, + Particle::DustPillar => ParticleKind::DustPillar, + Particle::DustPlume => ParticleKind::DustPlume, Particle::Effect => ParticleKind::Effect, + Particle::EggCrack => ParticleKind::EggCrack, Particle::ElderGuardian => ParticleKind::ElderGuardian, - Particle::EnchantedHit => ParticleKind::EnchantedHit, + Particle::ElectricSpark => ParticleKind::ElectricSpark, Particle::Enchant => ParticleKind::Enchant, + Particle::EnchantedHit => ParticleKind::EnchantedHit, Particle::EndRod => ParticleKind::EndRod, Particle::EntityEffect(_) => ParticleKind::EntityEffect, - Particle::ExplosionEmitter => ParticleKind::ExplosionEmitter, Particle::Explosion => ParticleKind::Explosion, - Particle::Gust => ParticleKind::Gust, - Particle::SonicBoom => ParticleKind::SonicBoom, + Particle::ExplosionEmitter => ParticleKind::ExplosionEmitter, + Particle::FallingDripstoneLava => ParticleKind::FallingDripstoneLava, + Particle::FallingDripstoneWater => ParticleKind::FallingDripstoneWater, Particle::FallingDust(_) => ParticleKind::FallingDust, + Particle::FallingHoney => ParticleKind::FallingHoney, + Particle::FallingLava => ParticleKind::FallingLava, + Particle::FallingNectar => ParticleKind::FallingNectar, + Particle::FallingObsidianTear => ParticleKind::FallingObsidianTear, + Particle::FallingSporeBlossom => ParticleKind::FallingSporeBlossom, + Particle::FallingWater => ParticleKind::FallingWater, + Particle::Firefly => ParticleKind::Firefly, Particle::Firework => ParticleKind::Firework, Particle::Fishing => ParticleKind::Fishing, Particle::Flame => ParticleKind::Flame, - Particle::CherryLeaves => ParticleKind::CherryLeaves, - Particle::PaleOakLeaves => ParticleKind::PaleOakLeaves, - Particle::TintedLeaves => ParticleKind::TintedLeaves, - Particle::SculkSoul => ParticleKind::SculkSoul, - Particle::SculkCharge(_) => ParticleKind::SculkCharge, - Particle::SculkChargePop => ParticleKind::SculkChargePop, - Particle::SoulFireFlame => ParticleKind::SoulFireFlame, - Particle::Soul => ParticleKind::Soul, Particle::Flash => ParticleKind::Flash, + Particle::Glow => ParticleKind::Glow, + Particle::GlowSquidInk => ParticleKind::GlowSquidInk, + Particle::Gust => ParticleKind::Gust, + Particle::GustEmitterLarge => ParticleKind::GustEmitterLarge, + Particle::GustEmitterSmall => ParticleKind::GustEmitterSmall, Particle::HappyVillager => ParticleKind::HappyVillager, - Particle::Composter => ParticleKind::Composter, Particle::Heart => ParticleKind::Heart, + Particle::Infested => ParticleKind::Infested, Particle::InstantEffect => ParticleKind::InstantEffect, Particle::Item(_) => ParticleKind::Item, - Particle::Vibration(_) => ParticleKind::Vibration, + Particle::ItemCobweb => ParticleKind::ItemCobweb, Particle::ItemSlime => ParticleKind::ItemSlime, Particle::ItemSnowball => ParticleKind::ItemSnowball, + Particle::LandingHoney => ParticleKind::LandingHoney, + Particle::LandingLava => ParticleKind::LandingLava, + Particle::LandingObsidianTear => ParticleKind::LandingObsidianTear, Particle::LargeSmoke => ParticleKind::LargeSmoke, Particle::Lava => ParticleKind::Lava, Particle::Mycelium => ParticleKind::Mycelium, + Particle::Nautilus => ParticleKind::Nautilus, Particle::Note => ParticleKind::Note, + Particle::OminousSpawning => ParticleKind::OminousSpawning, + Particle::PaleOakLeaves => ParticleKind::PaleOakLeaves, + Particle::PauseMobGrowth => ParticleKind::PauseMobGrowth, Particle::Poof => ParticleKind::Poof, Particle::Portal => ParticleKind::Portal, + Particle::RaidOmen => ParticleKind::RaidOmen, Particle::Rain => ParticleKind::Rain, + Particle::ResetMobGrowth => ParticleKind::ResetMobGrowth, + Particle::ReversePortal => ParticleKind::ReversePortal, + Particle::Scrape => ParticleKind::Scrape, + Particle::SculkCharge(_) => ParticleKind::SculkCharge, + Particle::SculkChargePop => ParticleKind::SculkChargePop, + Particle::SculkSoul => ParticleKind::SculkSoul, + Particle::Shriek(_) => ParticleKind::Shriek, + Particle::SmallFlame => ParticleKind::SmallFlame, + Particle::SmallGust => ParticleKind::SmallGust, Particle::Smoke => ParticleKind::Smoke, - Particle::WhiteSmoke => ParticleKind::WhiteSmoke, Particle::Sneeze => ParticleKind::Sneeze, + Particle::Snowflake => ParticleKind::Snowflake, + Particle::SonicBoom => ParticleKind::SonicBoom, + Particle::Soul => ParticleKind::Soul, + Particle::SoulFireFlame => ParticleKind::SoulFireFlame, Particle::Spit => ParticleKind::Spit, + Particle::Splash => ParticleKind::Splash, + Particle::SporeBlossomAir => ParticleKind::SporeBlossomAir, Particle::SquidInk => ParticleKind::SquidInk, Particle::SweepAttack => ParticleKind::SweepAttack, + Particle::TintedLeaves => ParticleKind::TintedLeaves, Particle::TotemOfUndying => ParticleKind::TotemOfUndying, - Particle::Underwater => ParticleKind::Underwater, - Particle::Splash => ParticleKind::Splash, - Particle::Witch => ParticleKind::Witch, - Particle::BubblePop => ParticleKind::BubblePop, - Particle::CurrentDown => ParticleKind::CurrentDown, - Particle::BubbleColumnUp => ParticleKind::BubbleColumnUp, - Particle::Nautilus => ParticleKind::Nautilus, - Particle::Dolphin => ParticleKind::Dolphin, - Particle::CampfireCosySmoke => ParticleKind::CampfireCosySmoke, - Particle::CampfireSignalSmoke => ParticleKind::CampfireSignalSmoke, - Particle::DrippingHoney => ParticleKind::DrippingHoney, - Particle::FallingHoney => ParticleKind::FallingHoney, - Particle::LandingHoney => ParticleKind::LandingHoney, - Particle::FallingNectar => ParticleKind::FallingNectar, - Particle::FallingSporeBlossom => ParticleKind::FallingSporeBlossom, - Particle::Ash => ParticleKind::Ash, - Particle::CrimsonSpore => ParticleKind::CrimsonSpore, - Particle::WarpedSpore => ParticleKind::WarpedSpore, - Particle::SporeBlossomAir => ParticleKind::SporeBlossomAir, - Particle::DrippingObsidianTear => ParticleKind::DrippingObsidianTear, - Particle::FallingObsidianTear => ParticleKind::FallingObsidianTear, - Particle::LandingObsidianTear => ParticleKind::LandingObsidianTear, - Particle::ReversePortal => ParticleKind::ReversePortal, - Particle::WhiteAsh => ParticleKind::WhiteAsh, - Particle::SmallFlame => ParticleKind::SmallFlame, - Particle::Snowflake => ParticleKind::Snowflake, - Particle::DrippingDripstoneLava => ParticleKind::DrippingDripstoneLava, - Particle::FallingDripstoneLava => ParticleKind::FallingDripstoneLava, - Particle::DrippingDripstoneWater => ParticleKind::DrippingDripstoneWater, - Particle::FallingDripstoneWater => ParticleKind::FallingDripstoneWater, - Particle::GlowSquidInk => ParticleKind::GlowSquidInk, - Particle::Glow => ParticleKind::Glow, - Particle::WaxOn => ParticleKind::WaxOn, - Particle::WaxOff => ParticleKind::WaxOff, - Particle::ElectricSpark => ParticleKind::ElectricSpark, - Particle::Scrape => ParticleKind::Scrape, - Particle::Shriek(_) => ParticleKind::Shriek, - Particle::EggCrack => ParticleKind::EggCrack, - Particle::DustPlume => ParticleKind::DustPlume, - Particle::SmallGust => ParticleKind::SmallGust, - Particle::GustEmitterLarge => ParticleKind::GustEmitterLarge, - Particle::GustEmitterSmall => ParticleKind::GustEmitterSmall, - Particle::Infested => ParticleKind::Infested, - Particle::ItemCobweb => ParticleKind::ItemCobweb, + Particle::Trail => ParticleKind::Trail, + Particle::TrialOmen => ParticleKind::TrialOmen, Particle::TrialSpawnerDetection => ParticleKind::TrialSpawnerDetection, Particle::TrialSpawnerDetectionOminous => ParticleKind::TrialSpawnerDetectionOminous, + Particle::Underwater => ParticleKind::Underwater, Particle::VaultConnection => ParticleKind::VaultConnection, - Particle::DustPillar => ParticleKind::DustPillar, - Particle::OminousSpawning => ParticleKind::OminousSpawning, - Particle::RaidOmen => ParticleKind::RaidOmen, - Particle::TrialOmen => ParticleKind::TrialOmen, - Particle::Trail => ParticleKind::Trail, - Particle::BlockCrumble => ParticleKind::BlockCrumble, - Particle::Firefly => ParticleKind::Firefly, + Particle::Vibration(_) => ParticleKind::Vibration, + Particle::WarpedSpore => ParticleKind::WarpedSpore, + Particle::WaxOff => ParticleKind::WaxOff, + Particle::WaxOn => ParticleKind::WaxOn, + Particle::WhiteAsh => ParticleKind::WhiteAsh, + Particle::WhiteSmoke => ParticleKind::WhiteSmoke, + Particle::Witch => ParticleKind::Witch, } } diff --git a/src/replay/plugin.rs b/src/replay/plugin.rs index e304565..7f2e8cd 100644 --- a/src/replay/plugin.rs +++ b/src/replay/plugin.rs @@ -3,17 +3,15 @@ use std::sync::Arc; use azalea::{ - ecs::{event::EventReader, system::Query}, + ecs::event::EventReader, packet::{ - config::ReceiveConfigPacketEvent, - game::emit_receive_packet_events, - login::{LoginPacketEvent, process_packet_events}, + config::ReceiveConfigPacketEvent, game::ReceiveGamePacketEvent, + login::ReceiveLoginPacketEvent, }, protocol::packets::login::ClientboundLoginPacket, - raw_connection::RawConnection, }; use bevy_app::{App, First, Plugin}; -use bevy_ecs::{schedule::IntoSystemConfigs, system::ResMut}; +use bevy_ecs::system::ResMut; use log::error; use parking_lot::Mutex; @@ -28,19 +26,16 @@ impl Plugin for RecordPlugin { let recorder = self.recorder.lock().take(); if let Some(recorder) = recorder { app.insert_resource(recorder) - .add_systems(First, record_login_packets.before(process_packet_events)) + .add_systems(First, record_login_packets) .add_systems(First, record_configuration_packets) - .add_systems( - First, - record_game_packets.before(emit_receive_packet_events), - ); + .add_systems(First, record_game_packets); } } } fn record_login_packets( recorder: Option>, - mut events: EventReader, + mut events: EventReader, ) { if let Some(mut recorder) = recorder { for event in events.read() { @@ -63,20 +58,20 @@ fn record_configuration_packets( ) { if let Some(mut recorder) = recorder { for event in events.read() { - if let Err(error) = recorder.save_packet(&event.packet) { + if let Err(error) = recorder.save_packet(event.packet.as_ref()) { error!("failed to record configuration packet: {error:?}"); } } } } -fn record_game_packets(recorder: Option>, query: Query<&RawConnection>) { - if let Some(mut recorder) = recorder - && let Ok(raw_conn) = query.get_single() - { - let queue = raw_conn.incoming_packet_queue(); - for raw_packet in queue.lock().iter() { - if let Err(error) = recorder.save_raw_packet(raw_packet) { +fn record_game_packets( + recorder: Option>, + mut events: EventReader, +) { + if let Some(mut recorder) = recorder { + for event in events.read() { + if let Err(error) = recorder.save_packet(event.packet.as_ref()) { error!("failed to record game packet: {error:?}"); } } diff --git a/src/replay/recorder.rs b/src/replay/recorder.rs index 2767ec8..744705a 100644 --- a/src/replay/recorder.rs +++ b/src/replay/recorder.rs @@ -6,7 +6,7 @@ use std::{ use anyhow::Result; use azalea::{ - buf::AzaleaWriteVar, + buf::AzBufVar, prelude::Resource, protocol::packets::{PROTOCOL_VERSION, ProtocolPacket, VERSION_NAME}, }; From 04bfd733b158d93b633014a48183be2ef9eedbea Mon Sep 17 00:00:00 2001 From: ErrorNoInternet Date: Mon, 13 Apr 2026 00:32:17 -0400 Subject: [PATCH 4/6] feat(client)!: replace score with experience --- src/lua/client/mod.rs | 2 +- src/lua/client/state.rs | 17 ++++++++++------- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/lua/client/mod.rs b/src/lua/client/mod.rs index 7988bb1..48adea7 100644 --- a/src/lua/client/mod.rs +++ b/src/lua/client/mod.rs @@ -40,6 +40,7 @@ impl UserData for Client { f.add_field_method_get("container", container::container); f.add_field_method_get("dimension", world::dimension); f.add_field_method_get("direction", movement::direction); + f.add_field_method_get("experience", state::experience); f.add_field_method_get("eye_position", movement::eye_position); f.add_field_method_get("go_to_reached", movement::go_to_reached); f.add_field_method_get("has_attack_cooldown", interaction::has_attack_cooldown); @@ -52,7 +53,6 @@ impl UserData for Client { f.add_field_method_get("menu", container::menu); f.add_field_method_get("pathfinder", movement::pathfinder); f.add_field_method_get("position", movement::position); - f.add_field_method_get("score", state::score); f.add_field_method_get("tab_list", tab_list); f.add_field_method_get("username", username); f.add_field_method_get("uuid", uuid); diff --git a/src/lua/client/state.rs b/src/lua/client/state.rs index eb5318e..8054432 100644 --- a/src/lua/client/state.rs +++ b/src/lua/client/state.rs @@ -1,7 +1,5 @@ use azalea::{ - ClientInformation, - entity::metadata::{AirSupply, Score}, - pathfinder::debug::PathfinderDebugParticles, + ClientInformation, entity::metadata::AirSupply, pathfinder::debug::PathfinderDebugParticles, protocol::common::client_information::ModelCustomization, }; use azalea_hax::AntiKnockback; @@ -13,6 +11,15 @@ pub fn air_supply(_lua: &Lua, client: &Client) -> Result { Ok(client.component::().0) } +pub fn experience(lua: &Lua, client: &Client) -> Result
{ + let experience = client.experience(); + let table = lua.create_table()?; + table.set("progress", experience.progress)?; + table.set("total", experience.total)?; + table.set("level", experience.level)?; + Ok(table) +} + pub fn health(_lua: &Lua, client: &Client) -> Result { Ok(client.health()) } @@ -25,10 +32,6 @@ pub fn hunger(lua: &Lua, client: &Client) -> Result
{ Ok(table) } -pub fn score(_lua: &Lua, client: &Client) -> Result { - Ok(client.component::().0) -} - pub async fn set_client_information( _lua: Lua, client: UserDataRef, From d6c16f0d5d1829462f51b1ba10df31ed1836ccac Mon Sep 17 00:00:00 2001 From: ErrorNoInternet Date: Mon, 13 Apr 2026 09:13:58 -0400 Subject: [PATCH 5/6] fix(replay): rename paths to compile Haven't tested yet though. --- src/events.rs | 6 +++++- src/main.rs | 20 ++++++++++---------- src/replay/plugin.rs | 9 ++++----- 3 files changed, 19 insertions(+), 16 deletions(-) diff --git a/src/events.rs b/src/events.rs index bf5cdaf..e1e3c3c 100644 --- a/src/events.rs +++ b/src/events.rs @@ -13,7 +13,7 @@ use tokio::net::TcpListener; #[cfg(feature = "matrix")] use {crate::matrix, std::time::Duration, tokio::time::sleep}; #[cfg(feature = "replay")] -use {crate::replay::recorder::Recorder, mlua::Error, std::process::exit}; +use {crate::replay::recorder::Recorder, anyhow::Context, mlua::Error, std::process::exit}; use crate::{ State, @@ -97,6 +97,9 @@ pub async fn handle_event(client: Client, event: Event, state: State) -> Result< }) .await } + Event::ConnectionFailed(error) => { + call_listeners(&state, "connection_failed", || Ok(error.to_string())).await + } Event::Death(packet) => { if let Some(packet) = packet { call_listeners(&state, "death", || { @@ -129,6 +132,7 @@ pub async fn handle_event(client: Client, event: Event, state: State) -> Result< } } Event::KeepAlive(id) => call_listeners(&state, "keep_alive", || Ok(id)).await, + Event::ReceiveChunk(_) => Ok(()), Event::RemovePlayer(player_info) => { call_listeners(&state, "remove_player", || Ok(Player::from(player_info))).await } diff --git a/src/main.rs b/src/main.rs index d736696..0a6b213 100644 --- a/src/main.rs +++ b/src/main.rs @@ -40,7 +40,10 @@ use futures_locks::RwLock; use log::debug; use mlua::{Function, Lua}; #[cfg(feature = "replay")] -use replay::{mlua::Table, plugin::RecordPlugin, recorder::Recorder}; +use { + mlua::Table, + replay::{plugin::RecordPlugin, recorder::Recorder}, +}; #[cfg(feature = "mimalloc")] #[global_allocator] @@ -96,15 +99,12 @@ async fn main() -> Result<()> { DefaultPlugins.set(LogPlugin { custom_layer: |_| { env::var("LOG_FILE").ok().map(|path| { - layer() - .with_writer( - OpenOptions::new() - .append(true) - .create(true) - .open(&path) - .expect(&(path + " should be accessible")), - ) - .boxed() + let file = OpenOptions::new() + .append(true) + .create(true) + .open(&path) + .expect(&(path + " should be accessible")); + layer().with_writer(file).boxed() }) }, ..Default::default() diff --git a/src/replay/plugin.rs b/src/replay/plugin.rs index 7f2e8cd..6785176 100644 --- a/src/replay/plugin.rs +++ b/src/replay/plugin.rs @@ -3,7 +3,6 @@ use std::sync::Arc; use azalea::{ - ecs::event::EventReader, packet::{ config::ReceiveConfigPacketEvent, game::ReceiveGamePacketEvent, login::ReceiveLoginPacketEvent, @@ -11,7 +10,7 @@ use azalea::{ protocol::packets::login::ClientboundLoginPacket, }; use bevy_app::{App, First, Plugin}; -use bevy_ecs::system::ResMut; +use bevy_ecs::{message::MessageReader, system::ResMut}; use log::error; use parking_lot::Mutex; @@ -35,7 +34,7 @@ impl Plugin for RecordPlugin { fn record_login_packets( recorder: Option>, - mut events: EventReader, + mut events: MessageReader, ) { if let Some(mut recorder) = recorder { for event in events.read() { @@ -54,7 +53,7 @@ fn record_login_packets( fn record_configuration_packets( recorder: Option>, - mut events: EventReader, + mut events: MessageReader, ) { if let Some(mut recorder) = recorder { for event in events.read() { @@ -67,7 +66,7 @@ fn record_configuration_packets( fn record_game_packets( recorder: Option>, - mut events: EventReader, + mut events: MessageReader, ) { if let Some(mut recorder) = recorder { for event in events.read() { From 57397d3718aa08a93232c79d8f0e3db3fb8e7b8d Mon Sep 17 00:00:00 2001 From: ErrorNoInternet Date: Mon, 13 Apr 2026 13:58:58 -0400 Subject: [PATCH 6/6] fix(client): handle borrows with async --- src/lua/client/container.rs | 4 +- src/lua/client/interaction.rs | 4 +- src/lua/client/mod.rs | 17 ++++---- src/lua/client/movement.rs | 23 +++++++---- src/lua/client/state.rs | 3 ++ src/lua/client/world/find.rs | 10 ++++- src/lua/client/world/queries.rs | 73 ++++++++++++++++++--------------- 7 files changed, 84 insertions(+), 50 deletions(-) diff --git a/src/lua/client/container.rs b/src/lua/client/container.rs index f6ab2a4..eb1e17f 100644 --- a/src/lua/client/container.rs +++ b/src/lua/client/container.rs @@ -7,6 +7,7 @@ use azalea::{ use mlua::{Lua, Result, UserDataRef, Value}; use super::{Client, Container, ContainerRef, ItemStack, Vec3}; +use crate::unpack; pub fn container(_lua: &Lua, client: &Client) -> Result { Ok(ContainerRef(client.get_inventory())) @@ -95,9 +96,10 @@ pub async fn open_container_at( client: UserDataRef, position: Vec3, ) -> Result> { + let client = unpack!(client); + #[allow(clippy::cast_possible_truncation)] Ok(client - .clone() .open_container_at(BlockPos::new( position.x as i32, position.y as i32, diff --git a/src/lua/client/interaction.rs b/src/lua/client/interaction.rs index 384268f..dc7ee2c 100644 --- a/src/lua/client/interaction.rs +++ b/src/lua/client/interaction.rs @@ -6,6 +6,7 @@ use azalea::{ use mlua::{Lua, Result, UserDataRef}; use super::{Client, Vec3}; +use crate::unpack; pub fn attack(_lua: &Lua, client: &Client, entity_id: i32) -> Result<()> { if let Some(entity) = client.entity_id_by_minecraft_id(MinecraftEntityId(entity_id)) { @@ -29,9 +30,10 @@ pub fn has_attack_cooldown(_lua: &Lua, client: &Client) -> Result { } pub async fn mine(_lua: Lua, client: UserDataRef, position: Vec3) -> Result<()> { + let client = unpack!(client); + #[allow(clippy::cast_possible_truncation)] client - .clone() .mine(BlockPos::new( position.x as i32, position.y as i32, diff --git a/src/lua/client/mod.rs b/src/lua/client/mod.rs index 48adea7..54f42e7 100644 --- a/src/lua/client/mod.rs +++ b/src/lua/client/mod.rs @@ -6,7 +6,7 @@ mod movement; mod state; mod world; -use std::ops::{Deref, DerefMut}; +use std::ops::Deref; use azalea::{Client as AzaleaClient, core::entity_id::MinecraftEntityId}; use mlua::{Lua, Result, UserData, UserDataFields, UserDataMethods}; @@ -28,12 +28,6 @@ impl Deref for Client { } } -impl DerefMut for Client { - fn deref_mut(&mut self) -> &mut Self::Target { - self.0.as_mut().expect("should have received init event") - } -} - impl UserData for Client { fn add_fields>(f: &mut F) { f.add_field_method_get("air_supply", state::air_supply); @@ -121,3 +115,12 @@ fn username(_lua: &Lua, client: &Client) -> Result { fn uuid(_lua: &Lua, client: &Client) -> Result { Ok(client.uuid().to_string()) } + +#[macro_export] +macro_rules! unpack { + ($client:ident) => {{ + let inner = (**$client).clone(); + drop($client); + inner + }}; +} diff --git a/src/lua/client/movement.rs b/src/lua/client/movement.rs index 78b8dfe..caf2783 100644 --- a/src/lua/client/movement.rs +++ b/src/lua/client/movement.rs @@ -1,5 +1,5 @@ use azalea::{ - BlockPos, SprintDirection, WalkDirection, + BlockPos, Client as AzaleaClient, SprintDirection, WalkDirection, core::{entity_id::MinecraftEntityId, hit_result::HitResult}, entity::Position, interact::pick::HitResultComponent, @@ -12,6 +12,7 @@ use azalea::{ use mlua::{FromLua, Lua, Result, Table, UserDataRef, Value}; use super::{Client, Direction, Vec3}; +use crate::unpack; #[derive(Debug)] struct AnyGoal(Box); @@ -27,7 +28,7 @@ impl Goal for AnyGoal { } #[allow(clippy::cast_possible_truncation)] -fn to_goal(lua: &Lua, client: &Client, data: Table, kind: u8) -> Result { +fn to_goal(lua: &Lua, client: &AzaleaClient, data: Table, kind: u8) -> Result { let goal: Box = match kind { 1 => { let pos = Vec3::from_lua(data.get("position")?, lua)?; @@ -68,6 +69,7 @@ pub fn go_to_reached(_lua: &Lua, client: &Client) -> Result { } pub async fn wait_until_goal_reached(_lua: Lua, client: UserDataRef, (): ()) -> Result<()> { + let client = unpack!(client); client.wait_until_goto_target_reached().await; Ok(()) } @@ -77,6 +79,8 @@ pub async fn go_to( client: UserDataRef, (data, metadata): (Table, Option
), ) -> Result<()> { + let client = unpack!(client); + let metadata = metadata.unwrap_or(lua.create_table()?); let options = metadata.get("options").unwrap_or(lua.create_table()?); let goal = to_goal( @@ -85,12 +89,13 @@ pub async fn go_to( data, metadata.get("type").unwrap_or_default(), )?; - if options.get("without_mining").unwrap_or_default() { - client.start_goto_with_opts(goal, PathfinderOpts::new().allow_mining(false)); - client.wait_until_goto_target_reached().await; - } else { - client.goto(goal).await; - } + client + .goto_with_opts( + goal, + PathfinderOpts::new().allow_mining(options.get("without_mining").unwrap_or_default()), + ) + .await; + Ok(()) } @@ -99,6 +104,8 @@ pub async fn start_go_to( client: UserDataRef, (data, metadata): (Table, Option
), ) -> Result<()> { + let client = unpack!(client); + let metadata = metadata.unwrap_or(lua.create_table()?); let options = metadata.get("options").unwrap_or(lua.create_table()?); let goal = to_goal( diff --git a/src/lua/client/state.rs b/src/lua/client/state.rs index 8054432..3d95f69 100644 --- a/src/lua/client/state.rs +++ b/src/lua/client/state.rs @@ -6,6 +6,7 @@ use azalea_hax::AntiKnockback; use mlua::{Error, Lua, Result, Table, UserDataRef}; use super::Client; +use crate::unpack; pub fn air_supply(_lua: &Lua, client: &Client) -> Result { Ok(client.component::().0) @@ -37,6 +38,8 @@ pub async fn set_client_information( client: UserDataRef, info: Table, ) -> Result<()> { + let client = unpack!(client); + let get_bool = |table: &Table, name| table.get(name).unwrap_or(true); client.set_client_information(ClientInformation { allows_listing: info.get("allows_listing")?, diff --git a/src/lua/client/world/find.rs b/src/lua/client/world/find.rs index 1da0297..5a8fbdd 100644 --- a/src/lua/client/world/find.rs +++ b/src/lua/client/world/find.rs @@ -10,7 +10,7 @@ use azalea::{ use mlua::{Function, Lua, Result, Table, UserDataRef}; use super::{Client, Direction, Vec3}; -use crate::lua::client::MinecraftEntityId; +use crate::{lua::client::MinecraftEntityId, unpack}; pub fn blocks( _lua: &Lua, @@ -39,6 +39,8 @@ pub fn blocks( } pub async fn all_entities(lua: Lua, client: UserDataRef, (): ()) -> Result> { + let client = unpack!(client); + let mut matched = Vec::with_capacity(256); for (position, custom_name, kind, uuid, direction, id, owner_uuid, pose) in get_entities!(client) @@ -65,6 +67,8 @@ pub async fn entities( client: UserDataRef, filter_fn: Function, ) -> Result> { + let client = unpack!(client); + let mut matched = Vec::new(); for (position, custom_name, kind, uuid, direction, id, owner_uuid, pose) in get_entities!(client) @@ -89,6 +93,8 @@ pub async fn entities( } pub async fn all_players(lua: Lua, client: UserDataRef, (): ()) -> Result> { + let client = unpack!(client); + let mut matched = Vec::new(); for (id, uuid, kind, position, direction, pose) in get_players!(client) { let table = lua.create_table()?; @@ -108,6 +114,8 @@ pub async fn players( client: UserDataRef, filter_fn: Function, ) -> Result> { + let client = unpack!(client); + let mut matched = Vec::new(); for (id, uuid, kind, position, direction, pose) in get_players!(client) { let table = lua.create_table()?; diff --git a/src/lua/client/world/queries.rs b/src/lua/client/world/queries.rs index 06aca95..3eb7610 100644 --- a/src/lua/client/world/queries.rs +++ b/src/lua/client/world/queries.rs @@ -1,8 +1,8 @@ #[macro_export] macro_rules! get_entities { ($client:ident) => {{ - let mut ecs = $client.ecs.write(); - ecs.query::<( + let ecs = $client.ecs.read(); + if let Some(mut query) = ecs.try_query::<( &AzaleaPosition, &CustomName, &EntityKindComponent, @@ -11,31 +11,35 @@ macro_rules! get_entities { &MinecraftEntityId, Option<&Owneruuid>, &Pose, - )>() - .iter(&ecs) - .map( - |(position, custom_name, kind, uuid, direction, id, owner_uuid, pose)| { - ( - Vec3::from(*position), - custom_name.as_ref().map(ToString::to_string), - kind.to_string(), - uuid.to_string(), - Direction::from(direction), - id.0, - owner_uuid.map(ToOwned::to_owned), - *pose as u8, + )>() { + query + .iter(&ecs) + .map( + |(position, custom_name, kind, uuid, direction, id, owner_uuid, pose)| { + ( + Vec3::from(*position), + custom_name.as_ref().map(ToString::to_string), + kind.to_string(), + uuid.to_string(), + Direction::from(direction), + id.0, + owner_uuid.map(ToOwned::to_owned), + *pose as u8, + ) + }, ) - }, - ) - .collect::>() + .collect::>() + } else { + Vec::new() + } }}; } #[macro_export] macro_rules! get_players { ($client:ident) => {{ - let mut ecs = $client.ecs.write(); - ecs.query_filtered::<( + let ecs = $client.ecs.read(); + if let Some(mut query) = ecs.try_query_filtered::<( &MinecraftEntityId, &EntityUuid, &EntityKindComponent, @@ -43,17 +47,22 @@ macro_rules! get_players { &LookDirection, &Pose, ), (With, Without)>() - .iter(&ecs) - .map(|(id, uuid, kind, position, direction, pose)| { - ( - id.0, - uuid.to_string(), - kind.to_string(), - Vec3::from(*position), - Direction::from(direction), - *pose as u8, - ) - }) - .collect::>() + { + query + .iter(&ecs) + .map(|(id, uuid, kind, position, direction, pose)| { + ( + id.0, + uuid.to_string(), + kind.to_string(), + Vec3::from(*position), + Direction::from(direction), + *pose as u8, + ) + }) + .collect::>() + } else { + Vec::new() + } }}; }