diff --git a/BUCK b/BUCK index 507a294d..2401a576 100644 --- a/BUCK +++ b/BUCK @@ -36,10 +36,11 @@ rust_library( "//third-party/rust/crates/bytes/1.11.0:bytes", "//third-party/rust/crates/chrono/0.4.42:chrono", "//third-party/rust/crates/colored/3.0.0:colored", + "//third-party/rust/crates/crc32fast/1.5.0:crc32fast", "//third-party/rust/crates/dashmap/6.1.0:dashmap", "//third-party/rust/crates/diffs/0.5.1:diffs", "//third-party/rust/crates/encoding_rs/0.8.35:encoding_rs", - "//third-party/rust/crates/flate2/1.1.7:flate2", + "//third-party/rust/crates/flate2/1.1.5:flate2", "//third-party/rust/crates/futures-util/0.3.31:futures-util", "//third-party/rust/crates/futures/0.3.31:futures", "//third-party/rust/crates/hex/0.4.3:hex", @@ -89,10 +90,11 @@ rust_test( "//third-party/rust/crates/bytes/1.11.0:bytes", "//third-party/rust/crates/chrono/0.4.42:chrono", "//third-party/rust/crates/colored/3.0.0:colored", + "//third-party/rust/crates/crc32fast/1.5.0:crc32fast", "//third-party/rust/crates/dashmap/6.1.0:dashmap", "//third-party/rust/crates/diffs/0.5.1:diffs", "//third-party/rust/crates/encoding_rs/0.8.35:encoding_rs", - "//third-party/rust/crates/flate2/1.1.7:flate2", + "//third-party/rust/crates/flate2/1.1.5:flate2", "//third-party/rust/crates/futures-util/0.3.31:futures-util", "//third-party/rust/crates/futures/0.3.31:futures", "//third-party/rust/crates/hex/0.4.3:hex", diff --git a/Cargo.lock b/Cargo.lock index 95616e25..71b8bb6d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -87,7 +87,7 @@ checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -98,7 +98,7 @@ checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -183,7 +183,7 @@ checksum = "604fde5e028fea851ce1d8570bbdc034bec850d157f7569d10f347d06808c05c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -194,9 +194,9 @@ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] name = "base64ct" -version = "1.8.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55248b47b0caf0546f7988906588779981c43bb1bc9d0c44087278f80cdb44ba" +checksum = "0e050f626429857a27ddccb31e0aca21356bfa709c04041aefddac081a8f068a" [[package]] name = "bigdecimal" @@ -247,7 +247,7 @@ dependencies = [ "regex", "rustc-hash", "shlex", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -300,7 +300,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -356,9 +356,9 @@ checksum = "b35204fbdc0b3f4446b89fc1ac2cf84a8a68971995d0bf2e925ec7cd960f9cb3" [[package]] name = "cc" -version = "1.2.45" +version = "1.2.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35900b6c8d709fb1d854671ae27aeaa9eec2f8b01b364e1619a40da3e6fe2afe" +checksum = "90583009037521a116abf44494efecd645ba48b6622457080f080b85544e2215" dependencies = [ "find-msvc-tools", "jobserver", @@ -556,22 +556,23 @@ dependencies = [ [[package]] name = "derive_more" -version = "2.0.1" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "093242cf7570c207c83073cf82f79706fe7b8317e98620a47d5be7c3d8497678" +checksum = "10b768e943bed7bf2cab53df09f4bc34bfd217cdb57d971e769874c9a6710618" dependencies = [ "derive_more-impl", ] [[package]] name = "derive_more-impl" -version = "2.0.1" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" +checksum = "6d286bfdaf75e988b4a78e013ecd79c581e06399ab53fbacd2d916c2f904f30b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "rustc_version", + "syn 2.0.111", "unicode-xid", ] @@ -601,7 +602,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -684,15 +685,15 @@ checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" [[package]] name = "find-msvc-tools" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52051878f80a721bb68ebfbc930e07b65ba72f2da88968ea5c06fd6ca3d3a127" +checksum = "3a3076410a55c90011c298b04d0cfa770b00fa04e1e3c97d3f6c9de105a03844" [[package]] name = "flate2" -version = "1.1.7" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2152dbcb980c05735e2a651d96011320a949eb31a0c8b38b72645ce97dec676" +checksum = "bfe33edd8e85a12a67454e37f8c75e730830d83e313556ab9ebf9ee7fbeb3bfb" dependencies = [ "crc32fast", "libz-sys", @@ -798,7 +799,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -877,6 +878,7 @@ dependencies = [ "bytes", "chrono", "colored", + "crc32fast", "dashmap", "diffs", "encoding_rs", @@ -1081,9 +1083,9 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.17" +version = "0.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c6995591a8f1380fcb4ba966a252a4b29188d51d2b89e3a252f5305be65aea8" +checksum = "727805d60e7938b76b826a6ef209eb70eaa1812794f9424d4a4e2d740662df5f" dependencies = [ "bytes", "futures-core", @@ -1239,7 +1241,7 @@ checksum = "c727f80bfa4a6c6e2508d2f05b6f4bfce242030bd88ed15ae5331c5b5d30fba7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -1269,9 +1271,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.82" +version = "0.3.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b011eec8cc36da2aab2d5cff675ec18454fad408585853910a202391cf9f8e65" +checksum = "464a3709c7f55f1f721e5389aa6ea4e3bc6aba669353300af094b29ffbdde1d8" dependencies = [ "once_cell", "wasm-bindgen", @@ -1364,9 +1366,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.28" +version = "0.4.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432" +checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" [[package]] name = "lru-mem" @@ -1423,9 +1425,9 @@ dependencies = [ [[package]] name = "mio" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69d83b0086dc8ecf3ce9ae2874b2d1290252e2a30720bea58a5c6639b0092873" +checksum = "a69bcab0ad47271a0234d9422b131806bf3968021e5dc9328caf2d4cd58557fc" dependencies = [ "libc", "wasi", @@ -1565,7 +1567,7 @@ dependencies = [ "proc-macro2", "proc-macro2-diagnostics", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -1730,7 +1732,7 @@ dependencies = [ "proc-macro-error-attr2", "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -1750,7 +1752,7 @@ checksum = "af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", "version_check", "yansi", ] @@ -2004,6 +2006,15 @@ version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" +[[package]] +name = "rustc_version" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" +dependencies = [ + "semver", +] + [[package]] name = "rustix" version = "1.1.2" @@ -2045,7 +2056,7 @@ dependencies = [ "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -2088,7 +2099,7 @@ dependencies = [ "proc-macro2", "quote", "sea-bae", - "syn 2.0.110", + "syn 2.0.111", "unicode-ident", ] @@ -2130,6 +2141,12 @@ version = "4.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" +[[package]] +name = "semver" +version = "1.0.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" + [[package]] name = "serde" version = "1.0.228" @@ -2157,7 +2174,7 @@ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -2235,9 +2252,9 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "signal-hook-registry" -version = "1.4.6" +version = "1.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2a4719bff48cee6b39d12c020eeb490953ad2443b7055bd0b21fca26bd8c28b" +checksum = "7664a098b8e616bdfcc2dc0e9ac44eb231eedf41db4e9fe95d8d32ec728dedad" dependencies = [ "libc", ] @@ -2254,9 +2271,9 @@ dependencies = [ [[package]] name = "simd-adler32" -version = "0.3.7" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" +checksum = "e320a6c5ad31d271ad523dcf3ad13e2767ad8b1cb8f047f75a8aeaf8da139da2" [[package]] name = "simdutf8" @@ -2374,7 +2391,7 @@ dependencies = [ "quote", "sqlx-core", "sqlx-macros-core", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -2397,7 +2414,7 @@ dependencies = [ "sqlx-mysql", "sqlx-postgres", "sqlx-sqlite", - "syn 2.0.110", + "syn 2.0.111", "url", ] @@ -2566,9 +2583,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.110" +version = "2.0.111" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a99801b5bd34ede4cf3fc688c5919368fea4e4814a4664359503e6015b280aea" +checksum = "390cc9a294ab71bdb1aa2e99d13be9c753cd2d7bd6560c77118597410c4d2e87" dependencies = [ "proc-macro2", "quote", @@ -2589,7 +2606,7 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -2628,7 +2645,7 @@ checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -2730,7 +2747,7 @@ checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -2768,9 +2785,9 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.23.7" +version = "0.23.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6485ef6d0d9b5d0ec17244ff7eb05310113c3f316f2d14200d4de56b3cb98f8d" +checksum = "5d7cbc3b4b49633d57a0509303158ca50de80ae32c265093b24c414705807832" dependencies = [ "indexmap", "toml_datetime", @@ -2835,7 +2852,7 @@ checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -2995,9 +3012,9 @@ checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" [[package]] name = "wasm-bindgen" -version = "0.2.105" +version = "0.2.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da95793dfc411fbbd93f5be7715b0578ec61fe87cb1a42b12eb625caa5c5ea60" +checksum = "0d759f433fa64a2d763d1340820e46e111a7a5ab75f993d1852d70b03dbb80fd" dependencies = [ "cfg-if", "once_cell", @@ -3008,9 +3025,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.105" +version = "0.2.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04264334509e04a7bf8690f2384ef5265f05143a4bff3889ab7a3269adab59c2" +checksum = "48cb0d2638f8baedbc542ed444afc0644a29166f1595371af4fecf8ce1e7eeb3" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -3018,22 +3035,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.105" +version = "0.2.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "420bc339d9f322e562942d52e115d57e950d12d88983a14c79b86859ee6c7ebc" +checksum = "cefb59d5cd5f92d9dcf80e4683949f15ca4b511f4ac0a6e14d4e1ac60c6ecd40" dependencies = [ "bumpalo", "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.105" +version = "0.2.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76f218a38c84bcb33c25ec7059b07847d465ce0e0a76b995e134a45adcb6af76" +checksum = "cbc538057e648b67f72a982e708d485b2efa771e1ac05fec311f9f63e5800db4" dependencies = [ "unicode-ident", ] @@ -3069,7 +3086,7 @@ checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -3080,7 +3097,7 @@ checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -3384,28 +3401,28 @@ checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", "synstructure", ] [[package]] name = "zerocopy" -version = "0.8.27" +version = "0.8.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0894878a5fa3edfd6da3f88c4805f4c8558e2b996227a3d864f47fe11e38282c" +checksum = "fd74ec98b9250adb3ca554bdde269adf631549f51d8a8f8f0a10b50f1cb298c3" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.27" +version = "0.8.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88d2b8d9c68ad2b9e4340d7832716a4d21a22a1154777ad56ea55c51a9cf3831" +checksum = "d8a8d209fdf45cf5138cbb5a506f6b52522a25afccc534d1475dad8e31105c6a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] @@ -3425,7 +3442,7 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", "synstructure", ] @@ -3465,7 +3482,7 @@ checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.110", + "syn 2.0.111", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 7d79d7de..190e2e3b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -31,11 +31,11 @@ diffs = "0.5.1" libc = "0.2.178" zstd-sys = { version = "2.0.16+zstd.1.5.7", features = ["experimental"] } sea-orm = { version = "1.1.17", features = ["sqlx-sqlite"] } -flate2 = { version = "1.1.7", features = ["zlib"] } +flate2 = { version = "1.1.5", features = ["zlib"] } serde = { version = "1.0.228", features = ["derive"] } chrono = { version = "0.4.42", features = ["serde"] } uuid = { version = "1.19.0", features = ["v4"] } -tokio = { version = "1.48.0", features = ["fs"] } +tokio = { version = "1.48.0", features = ["fs", "io-util"] } bincode = { version = "2.0.1", features = ["serde"] } axum = { version = "0.8.7", features = ["macros", "json"] } async-trait = "0.1.89" @@ -46,6 +46,7 @@ tempfile = "3.23.0" path-absolutize = "3.1.1" similar = "2.7.0" sha2 = "0.10.9" +crc32fast = "1.4" [dev-dependencies] diff --git a/buckal.snap b/buckal.snap index d76e90c9..4f0355cc 100644 --- a/buckal.snap +++ b/buckal.snap @@ -3,34 +3,34 @@ version = 1 [fingerprints] -"path+file://($WORKSPACE)#0.3.0" = "97aa36defc46b27e597792d8efca87ca145667b59f79e22cca0dde574aadf3da" +"path+file://($WORKSPACE)#0.3.0" = "d17aeff219399002b91ddc0e1bd499f2372cb7cd3f4798a5c1e81c6ca1ba56e0" "registry+https://github.com/rust-lang/crates.io-index#adler2@2.0.1" = "7081ce7693ca45bff0e855374e6b7f386805bba1de9f7c288b1c706b99abef7f" "registry+https://github.com/rust-lang/crates.io-index#ahash@0.7.8" = "263bbc26dec8ade458658cf9dae3ef8fc606e85f04c7b47abb4f9255319689ac" -"registry+https://github.com/rust-lang/crates.io-index#ahash@0.8.12" = "0db1758283e0704ef5ed18906d4ad5501d91c8df8138847a789dc877c3e26301" +"registry+https://github.com/rust-lang/crates.io-index#ahash@0.8.12" = "a383722a12d8343396b1965bfe77f1cebeafb12ccc571747b2b54614e3e1a1ea" "registry+https://github.com/rust-lang/crates.io-index#aho-corasick@1.1.4" = "19271515eef34f896bf45f2ea7790d1cc8ab40987de83c6165ab190857c97fa0" "registry+https://github.com/rust-lang/crates.io-index#aliasable@0.1.3" = "380164ac2bd1024f63312c57faa8fc77464c767b9756cc6ddaf242ca759e86c6" "registry+https://github.com/rust-lang/crates.io-index#allocator-api2@0.2.21" = "75e47cb469e23de4eb2a2d5f7e885087cb963b6d1b2483772130c7ab8518358c" "registry+https://github.com/rust-lang/crates.io-index#android_system_properties@0.1.5" = "c08e8bc4ba2388fe50192370dd368d76cc058e79fa5d1912d6c87a3568b67ccb" "registry+https://github.com/rust-lang/crates.io-index#arrayvec@0.7.6" = "70ab2871e8658bba895265e101e4b7f303b04214b35587a52bbe019bc2cdba5d" -"registry+https://github.com/rust-lang/crates.io-index#async-stream-impl@0.3.6" = "155949d4d16f91a7f04c91f582b3d2e09c0fe5722d1c653ddfa0112141f9fd55" +"registry+https://github.com/rust-lang/crates.io-index#async-stream-impl@0.3.6" = "b5abcc786a5e54062153064d17f5f139a7e45b333b4d85badadfeba9e3038e02" "registry+https://github.com/rust-lang/crates.io-index#async-stream@0.3.6" = "7f44d1811be169843bff9cef1b21ace70435686b14caec32fc2ee2cecc97af87" -"registry+https://github.com/rust-lang/crates.io-index#async-trait@0.1.89" = "6cc776b498cdbec01c1c3ac8ba1e97fa44a037831205db257d4e9340e564c194" +"registry+https://github.com/rust-lang/crates.io-index#async-trait@0.1.89" = "5ab0b7518c37902a8379982f50cfd7cb214b8c5bcac4e73c2c94ccbf7ba6fce5" "registry+https://github.com/rust-lang/crates.io-index#atoi@2.0.0" = "a7d39824d7fdaa0f44195f5325522028644a5c56013d5ae6d0a88336decc70ea" "registry+https://github.com/rust-lang/crates.io-index#atomic-waker@1.1.2" = "042a06271ce13a758d633645e3b5e24d696eb7616240c4ef549138587b20b2f4" "registry+https://github.com/rust-lang/crates.io-index#autocfg@1.5.0" = "bb77c9fe6700bdb8368b3560d69b131e91fda567a5bf1d71453b1f1ab579e551" "registry+https://github.com/rust-lang/crates.io-index#axum-core@0.5.5" = "732591df923acd5b91c90013cb2169e0d2cf191b85f383eefcbc60598ab56813" -"registry+https://github.com/rust-lang/crates.io-index#axum-macros@0.5.0" = "02a2fe3b22001d328555fb23801ee14fde35216ad1d16594acac6d8c69075e6c" -"registry+https://github.com/rust-lang/crates.io-index#axum@0.8.7" = "a13cc7de161a21d6a698095607518948f31524afe442efe24d97cf575bd3c445" +"registry+https://github.com/rust-lang/crates.io-index#axum-macros@0.5.0" = "3e5a942bb67e6cb70c2845c0cea03d54ada82430ba49ffd2ee53e1e429b98ebc" +"registry+https://github.com/rust-lang/crates.io-index#axum@0.8.7" = "ff0db25841a76e69184604773e38fd909e9c5329a7aba58158fb775836e6744b" "registry+https://github.com/rust-lang/crates.io-index#base64@0.22.1" = "515d0850a06d4dec36805d42bfd7cb6c8d287e894b16cf7ded43a3d1cdd98192" -"registry+https://github.com/rust-lang/crates.io-index#base64ct@1.8.0" = "540723d7b65a89bf1ca865ec9b9954b847f9c80b51629afb22c7cb4aa6ee6270" +"registry+https://github.com/rust-lang/crates.io-index#base64ct@1.8.1" = "866a57dd8efb8c621bdf0d32f62488792eb50f0dcdf9374d1abc7a7a77d48182" "registry+https://github.com/rust-lang/crates.io-index#bigdecimal@0.4.9" = "f88bba28db672a65c61e84f5a91f481f570167555da21311619efea9efe3e4c5" "registry+https://github.com/rust-lang/crates.io-index#bincode@2.0.1" = "c91b070a3a9668d0fe974d9525a85ae815338ac61d5097b5e8c6bff1f681ee76" "registry+https://github.com/rust-lang/crates.io-index#bincode_derive@2.0.1" = "c8f177b67811abc8f1afb1461a99441f9c3d27323cffed8957d9d765368697f5" -"registry+https://github.com/rust-lang/crates.io-index#bindgen@0.72.1" = "07dd07e5be43624fb4d419f076b0b7d10f4363e68d2505f76c5f922524e89c4f" +"registry+https://github.com/rust-lang/crates.io-index#bindgen@0.72.1" = "74d11d9944796413a022cf77d866b0cdd0ca26ba33c4a581c88338211f3f9504" "registry+https://github.com/rust-lang/crates.io-index#bitflags@2.10.0" = "d42a9d45fc396e87228b696c85657ce020419db6ceb6de8080b05b4b9fdc913a" "registry+https://github.com/rust-lang/crates.io-index#bitvec@1.0.1" = "dca0faeeba20245839115b4769219915d84fc18c99f9b0111faa6114bad5eec2" "registry+https://github.com/rust-lang/crates.io-index#block-buffer@0.10.4" = "7e3f620f2830fb45f03ee2a365a3ae45061730b4572bba29b8abfe163f1a92ab" -"registry+https://github.com/rust-lang/crates.io-index#borsh-derive@1.6.0" = "70ec38960f3e318051f52f1a8a5902240cbd6b33e4df2dd7f35584cc834b8cc8" +"registry+https://github.com/rust-lang/crates.io-index#borsh-derive@1.6.0" = "e8b5ac6f9e2ff7cc2e7902a60ef12d212c84e702175221064d7aea5af2de03b1" "registry+https://github.com/rust-lang/crates.io-index#borsh@1.6.0" = "512d0c71bab9296e141006f7a3231f4663bf575c93f2a0d151279ace30676afb" "registry+https://github.com/rust-lang/crates.io-index#bstr@1.12.1" = "fa7edaa0050c3586c3fc03d41b9d8b32055777b241239fccc2867b8d6edc80b2" "registry+https://github.com/rust-lang/crates.io-index#bumpalo@3.19.0" = "b61fb56f898b27098f1ce33023e19e683996197a1e5dc7459a6e8105625be66b" @@ -38,11 +38,11 @@ version = 1 "registry+https://github.com/rust-lang/crates.io-index#bytecheck_derive@0.6.12" = "8b0c10e17c673205907d056bd4e31e3d89420ca4235e61c243a8892ebd295e77" "registry+https://github.com/rust-lang/crates.io-index#byteorder@1.5.0" = "759111df9ebe307cd1672921dd3a4f812a3a8fb2332bd830dd203ad528986268" "registry+https://github.com/rust-lang/crates.io-index#bytes@1.11.0" = "b6a4eaed2f314d979a1b7204a5205ce5bac8430ef3283ad5bf99e6754b872eea" -"registry+https://github.com/rust-lang/crates.io-index#cc@1.2.45" = "919cca1a58776839ef6a3705f256cf4fa27fc4d89824c0923f43f3bbc219769f" +"registry+https://github.com/rust-lang/crates.io-index#cc@1.2.49" = "9caef70d12c7eded8639254c74abc3840cb1299811d62789976502607bb69f99" "registry+https://github.com/rust-lang/crates.io-index#cexpr@0.6.0" = "27a638860942f1f3715f0af5325d7466217185dfbb02c0b72fd09e8b40ec1972" "registry+https://github.com/rust-lang/crates.io-index#cfg-if@1.0.4" = "a930db23f176aac70c6eb5dc061658a25fec076e9965158b4bb764efd4a97d69" "registry+https://github.com/rust-lang/crates.io-index#cfg_aliases@0.2.1" = "1b65210b78bbd423b4a7dd205bad98ec274c66d7be10fb4181c781cef66ea94c" -"registry+https://github.com/rust-lang/crates.io-index#chrono@0.4.42" = "b54905853033ebd718c993f54e5d5a5377a106d7423a902f8ccce09435b039dc" +"registry+https://github.com/rust-lang/crates.io-index#chrono@0.4.42" = "81cc664ac00b7d9954fcfb4ceb865cdeb4d86b0794924ad9f7c837ca89687d59" "registry+https://github.com/rust-lang/crates.io-index#clang-sys@1.8.1" = "533e1480c6141e123e292fa8487de99224f9c01fcc188b6d8d2ee46fbbad4da1" "registry+https://github.com/rust-lang/crates.io-index#colored@3.0.0" = "98ea94ca339b52351f4ae51bc7ff1fc4e4e3edf31ea49ca6f546f8c0f7e02d27" "registry+https://github.com/rust-lang/crates.io-index#concurrent-queue@2.5.0" = "2be1dabff5ee3eb435dc7777031228eac0cd3c048870348d87293fc83c197266" @@ -60,22 +60,22 @@ version = 1 "registry+https://github.com/rust-lang/crates.io-index#dashmap@6.1.0" = "b9bc2ae878eeeec61940e7d8eca1f12f9aa32ff1c5b2f2bf84379fe1f204fe84" "registry+https://github.com/rust-lang/crates.io-index#der@0.7.10" = "a457b12bc1bb19f8c6ce5d0f4dae1c7defc9b590cf943b83d5bf9d4590433e2b" "registry+https://github.com/rust-lang/crates.io-index#deranged@0.5.5" = "e17b3f2ebe614f888803da8acff897974fc2919914b455cadc3dfce4e6cd5dda" -"registry+https://github.com/rust-lang/crates.io-index#derive_more-impl@2.0.1" = "eb04bf74d7c77a9101d10e45eb42556ac0c76c14ac3bc075fcc4b584758f5005" -"registry+https://github.com/rust-lang/crates.io-index#derive_more@2.0.1" = "ab0a6312add2572cae7361d871fe71051c7910f597acb04f2d3d349e0acf1def" +"registry+https://github.com/rust-lang/crates.io-index#derive_more-impl@2.1.0" = "d7a3e4167a6b36c22ee5d8c21a405c48f0a7b55ed52737e6524b4309e38077d8" +"registry+https://github.com/rust-lang/crates.io-index#derive_more@2.1.0" = "15bfc924e13d8eeaa6b4a1e723ba82a9a2d90ae5681c823825d8103bb80b3c07" "registry+https://github.com/rust-lang/crates.io-index#diffs@0.5.1" = "e79800eb96b662fab5a5817115eb94f6bbe583c2ab8f8d75c2d772146385ad07" "registry+https://github.com/rust-lang/crates.io-index#digest@0.10.7" = "8b66a496a764eb1d8d28d62d51dcff24540ff816cff06a03ee000a69dd8da153" -"registry+https://github.com/rust-lang/crates.io-index#displaydoc@0.2.5" = "433bf1da8416b2459f3206ae711b51a046e391f687567a789ea7c171e9fbf5c9" +"registry+https://github.com/rust-lang/crates.io-index#displaydoc@0.2.5" = "f919e612ddc421f21385e9efa60564a906cd3b5f63529c2a325d810c8825c386" "registry+https://github.com/rust-lang/crates.io-index#dotenvy@0.15.7" = "f8b6c5f1e4cf5b2ebf699a6a42adb35aea874f3f34190d92d8171ded922751ef" "registry+https://github.com/rust-lang/crates.io-index#either@1.15.0" = "ea07b094734ae7868b2f92945f1d3eb5c1dca64309662e9f146ff9a57720ec20" "registry+https://github.com/rust-lang/crates.io-index#encoding_rs@0.8.35" = "4f2ca74488af878419d09ec566f92d1d553843a64a61111d2a1acac529ebe6fe" -"registry+https://github.com/rust-lang/crates.io-index#env_logger@0.8.4" = "569e9d63081a381d700082e0c967a24d941223ac674e150428d52557fe967570" +"registry+https://github.com/rust-lang/crates.io-index#env_logger@0.8.4" = "367ed212a2a10a8ca532ecef8977f1883aff7ea51685f76ca6e570fbf58b03a4" "registry+https://github.com/rust-lang/crates.io-index#equivalent@1.0.2" = "5abab9b0ab1fca4d17ce9d4b524c15d1c194ce6618cada03354a3574af2b0c12" "registry+https://github.com/rust-lang/crates.io-index#errno@0.3.14" = "683cb1b038a69f5ef8baa41487fbfc73cbbb4b6a9ede75f288c7032ede553842" "registry+https://github.com/rust-lang/crates.io-index#etcetera@0.8.0" = "1b6049c3e827268bd3585c98f66dca16ba7d70b0f6fa1ffde17fe12be4586cab" "registry+https://github.com/rust-lang/crates.io-index#event-listener@5.4.1" = "669248c1dc862d9851b252130df4f070ff91e61d6d314ee8d806ac0d9e079c70" "registry+https://github.com/rust-lang/crates.io-index#fastrand@2.3.0" = "534c43b2eecb8c0ffd628d3ec179befb4764adb1641a87c65bc261205fc4578a" -"registry+https://github.com/rust-lang/crates.io-index#find-msvc-tools@0.1.4" = "2148e0ff054153ba2636935eff4499701e52290f91e4188148e7e05942a31f26" -"registry+https://github.com/rust-lang/crates.io-index#flate2@1.1.7" = "c6c6a560a59d0ad7b176408a87a05d709dd7dadd32410a239bb48f3a4a2917c4" +"registry+https://github.com/rust-lang/crates.io-index#find-msvc-tools@0.1.5" = "a8d581a2164697054d3678b3d84be6b095ae855b01f0a22a465091cee18eeb9f" +"registry+https://github.com/rust-lang/crates.io-index#flate2@1.1.5" = "3baa120ceb53e94038094b1b930997353f5a89c958b835976347f36b8416675a" "registry+https://github.com/rust-lang/crates.io-index#flume@0.11.1" = "c2a32f2719da0c6f2096ae1bc60566a88c96571b6df52bf74c5c3e4e4ef35254" "registry+https://github.com/rust-lang/crates.io-index#foldhash@0.1.5" = "1584183bf9589ad30f7866826d5c2ee5899fd60a6f169ce1b0be7b9973bc35a0" "registry+https://github.com/rust-lang/crates.io-index#form_urlencoded@1.2.2" = "7280a0eda0a4e4666f4a01a1b0b0818c3cb48c440fd8f93a0c930e4e4959e0a6" @@ -85,7 +85,7 @@ version = 1 "registry+https://github.com/rust-lang/crates.io-index#futures-executor@0.3.31" = "01ef249563a4716be7612a16add051259b482c6875a8ff97f3e1d7b89e921ac3" "registry+https://github.com/rust-lang/crates.io-index#futures-intrusive@0.5.0" = "57f8d250a69b654b29e01ade11a9d84fa06da8cddaedfef6862fadc2cdcba89d" "registry+https://github.com/rust-lang/crates.io-index#futures-io@0.3.31" = "9de5f1ff3d09ef4f41e32d7dabba2a1350a729498e7c5d12d9adfd7c5ddae8e2" -"registry+https://github.com/rust-lang/crates.io-index#futures-macro@0.3.31" = "1f3119a4d97b9160475076678b267dcbc87034132abb80fa20daa0e14d750e5b" +"registry+https://github.com/rust-lang/crates.io-index#futures-macro@0.3.31" = "7582a90c08a50cb281af2e6ac63b5180323f758b463c383fdfc6cc2c55b954e9" "registry+https://github.com/rust-lang/crates.io-index#futures-sink@0.3.31" = "3069e3a8cd942545472bd78e08204a76989de476f8b0bf737f97d8f10ba4ff5b" "registry+https://github.com/rust-lang/crates.io-index#futures-task@0.3.31" = "f6952b08d050d19e9d9aa27791ba6e88202de2135f9592b0df313df1935518d5" "registry+https://github.com/rust-lang/crates.io-index#futures-util@0.3.31" = "74aa719140bf3e94ff917b9145cf1e7922a8c5180a1704bb46ece4a505d9686e" @@ -111,10 +111,10 @@ version = 1 "registry+https://github.com/rust-lang/crates.io-index#http@1.4.0" = "3b70bea00eae26ee261c83ad837dea6d65d21879320def24e8678e5157b3152c" "registry+https://github.com/rust-lang/crates.io-index#httparse@1.10.1" = "0624c4d71f0df1fd253efb876badfa614eec1d948bd439dfc5c33194f6ec9d2d" "registry+https://github.com/rust-lang/crates.io-index#httpdate@1.0.3" = "759393f04c8566387c673eb9353fb28f5a93b96529ada6723a1772c1b55a290c" -"registry+https://github.com/rust-lang/crates.io-index#hyper-util@0.1.17" = "e9dd7fb61dc5a7cc545884d264b054b9c851c0bf6ecf6523775a3bdc9c6b5322" +"registry+https://github.com/rust-lang/crates.io-index#hyper-util@0.1.19" = "a708407bf1a57ab767bbda3a83730891b59f8fffdec1d12a5a96d349ec128cdf" "registry+https://github.com/rust-lang/crates.io-index#hyper@1.8.1" = "992b91842a4b8bf3d017fd99be5fee4106dbfd21ea9e4634c10d6cac05368db2" -"registry+https://github.com/rust-lang/crates.io-index#iana-time-zone-haiku@0.1.2" = "6359455ddb2ffa47a38969649081f9dab5405d5ea67c99394d79e8919403eb27" -"registry+https://github.com/rust-lang/crates.io-index#iana-time-zone@0.1.64" = "a4901151c75db0538d7f053c15d18d246662cd3ad5e44e043a47c42ec65f1656" +"registry+https://github.com/rust-lang/crates.io-index#iana-time-zone-haiku@0.1.2" = "5a8aae5f186e7f8c33936a3c528b677b11b3879ae5bce67242e71558f88854a3" +"registry+https://github.com/rust-lang/crates.io-index#iana-time-zone@0.1.64" = "d0a36f018c41979b3a8588b09027a920e273fd8714e7192580ae1c9a9f824394" "registry+https://github.com/rust-lang/crates.io-index#icu_collections@2.1.1" = "6626fabc272c09f2f46f40889981488cd75047d9e50d6152cb1c9daa4b97ea4a" "registry+https://github.com/rust-lang/crates.io-index#icu_locale_core@2.1.1" = "1bc648b75bfae282b0d1326ed8c5593fa664787f5bdb37fae4c02a7c0fef7d0a" "registry+https://github.com/rust-lang/crates.io-index#icu_normalizer@2.1.1" = "93efd8db2999dbd8cf3a95d50012e929fb3f45fc54c6ad3de14775517e546b9c" @@ -125,30 +125,30 @@ version = 1 "registry+https://github.com/rust-lang/crates.io-index#idna@1.1.0" = "e69518f9ad6179e8332014b15367a1888123b4cfb843c34ce838856c58c071af" "registry+https://github.com/rust-lang/crates.io-index#idna_adapter@1.2.1" = "6f731c5716c18d9ac625711d31f30f81c54fc4749f54fb14eb41ebcde6e88dc6" "registry+https://github.com/rust-lang/crates.io-index#indexmap@2.12.1" = "2487564ea5484ba20592f1f3663d001852e6f58d9e2b1ce7baf2a46aa90e462e" -"registry+https://github.com/rust-lang/crates.io-index#inherent@1.0.13" = "b68b96939f4ddef4db14dffd7559dff40e996b71f7fa9ec95141eb55e3372c10" +"registry+https://github.com/rust-lang/crates.io-index#inherent@1.0.13" = "02bb0185491d7306cd557451b881cb9b99dabbb20b8dd5ccdfa86aae361e0d15" "registry+https://github.com/rust-lang/crates.io-index#itertools@0.13.0" = "e062ccfedbb80efdc226a04d2aa8b036611b6d32bc33fab50b7b4afefcf1107b" "registry+https://github.com/rust-lang/crates.io-index#itoa@1.0.15" = "069c02c3cb8ee706408a014038a3d36c0b097aeda593bc7bcab1b7d88b23334a" "registry+https://github.com/rust-lang/crates.io-index#jobserver@0.1.34" = "dad9a5fc4cd3af60196596829d05da1d8ac8c8ce4024b66bc19633c465a33215" -"registry+https://github.com/rust-lang/crates.io-index#js-sys@0.3.82" = "7f4b1024f4be9a4e2dd99e5222249655f578f7006495fcf1493a5309b405e1f1" +"registry+https://github.com/rust-lang/crates.io-index#js-sys@0.3.83" = "4a79fd435699556d8bbc4ad702af2da3bb4649273eed260b878154925b6e132e" "registry+https://github.com/rust-lang/crates.io-index#lazy_static@1.5.0" = "020e90a9414ab97c5bf9a8a61728ebbdf541855144aa99309e157a89705e0fbd" "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.178" = "a6096a7d6dac07699c0eb449c7b787157c5474b944aa56628762874ffd6190e5" "registry+https://github.com/rust-lang/crates.io-index#libloading@0.8.9" = "f44726b077f568146166c0f61f392f36298b85b9ae7749ee601b09c6d02473a9" "registry+https://github.com/rust-lang/crates.io-index#libm@0.2.15" = "cd94f7d6d78551309bcf05c2cb102289c9d29e10d6faaaba174722beb8853326" "registry+https://github.com/rust-lang/crates.io-index#libredox@0.1.10" = "03901341dc1937a11d024f80e65d6f3bd94c1b6100a7bc8f038f51e3810003a5" -"registry+https://github.com/rust-lang/crates.io-index#libsqlite3-sys@0.30.1" = "c79e6a4c6da6c48f5a5d9e29feb26089b238bca144bf635522ee4dcf0196cdcb" -"registry+https://github.com/rust-lang/crates.io-index#libz-sys@1.1.23" = "58921dbe15d286d87fc4772866bae661c2db328752d3d4028dca01b5c699f081" +"registry+https://github.com/rust-lang/crates.io-index#libsqlite3-sys@0.30.1" = "959a4f734559a38d51c41365e765257522d3c14570ccdeb223b6e651dcadab26" +"registry+https://github.com/rust-lang/crates.io-index#libz-sys@1.1.23" = "be4d317d7110ec7c1620937af4fbcb724a09cbbe4bd054cdc669c399166a4c84" "registry+https://github.com/rust-lang/crates.io-index#linux-raw-sys@0.11.0" = "5f14c9322eebc368e8f816dccc2d07f2d92ca826d02d6cebdd03a496aad1134f" "registry+https://github.com/rust-lang/crates.io-index#litemap@0.8.1" = "ef3139444e9f8d33af204f8ccdec745e08b3524cef7d2b30af149a14bc59efa7" "registry+https://github.com/rust-lang/crates.io-index#lock_api@0.4.14" = "ebe983188142a34aa1afff591c0d74ae21382465b18134fd5bce0d51b89cd7ee" -"registry+https://github.com/rust-lang/crates.io-index#log@0.4.28" = "24fade6444d02a1d52e105746eee2006635ce2af05e171696bbe6e15f2b8a219" +"registry+https://github.com/rust-lang/crates.io-index#log@0.4.29" = "fcd781de78c41ec191677e5d5841913c2ae986288b1a380b6e55be5f2eac60ff" "registry+https://github.com/rust-lang/crates.io-index#lru-mem@0.3.0" = "184ca2e67374205c454c41ace5d29d4c922d88ad82bb905d1a00000c50f258c0" "registry+https://github.com/rust-lang/crates.io-index#matchit@0.8.4" = "6e81c53935b51314a8a97cb33528c3b225c9eee1ccdf61fdf59ca517664ff9ee" "registry+https://github.com/rust-lang/crates.io-index#md-5@0.10.6" = "18d6bb2181b839f6ffadadfb6b499f068c57050da40b6450a177982877ee6a93" "registry+https://github.com/rust-lang/crates.io-index#memchr@2.7.6" = "29a3b30b508184a86b69074e50b4658fb07f0f67ce7a0fcda8b807a121f3c454" "registry+https://github.com/rust-lang/crates.io-index#mime@0.3.17" = "874dd444b52333fb0c80c699683e982eb8763067da353cad5039f04907f00658" "registry+https://github.com/rust-lang/crates.io-index#minimal-lexical@0.2.1" = "8094ff1242ec4361f3e4a095c00361eae5975e5bffa058e8d372f8c9c0f952f7" -"registry+https://github.com/rust-lang/crates.io-index#miniz_oxide@0.8.9" = "f2382b47956de7d20e0571544a7c2d8bcf394830eb0dc61d81c95180abe069ad" -"registry+https://github.com/rust-lang/crates.io-index#mio@1.1.0" = "4ffb518a8aac7bf4927798336e2f89d64eb657b6c89063d0fa42fe5b0dc6a05a" +"registry+https://github.com/rust-lang/crates.io-index#miniz_oxide@0.8.9" = "886746246ee7815375aee39029630fe4c34885a6c117fec279ac1ba3ca09d0ca" +"registry+https://github.com/rust-lang/crates.io-index#mio@1.1.1" = "613de28d1063cbd28d8892ae6b206151f5670fe4c1d5795bf89e11c923985892" "registry+https://github.com/rust-lang/crates.io-index#natord@1.0.9" = "c0227b24bcf1d15d97f25673ede276e2903ff6d31017d1be062a7a7b94599d05" "registry+https://github.com/rust-lang/crates.io-index#nom@7.1.3" = "882b7b8947c92d5d566ef6e1daada9593061e5ab7f7390849d8b5e8bd0ce4705" "registry+https://github.com/rust-lang/crates.io-index#nu-ansi-term@0.50.3" = "414b7230f93019dee6d24b817afcb96bf8eb0d2ea2ee4b830e5635d4bf3111bd" @@ -162,13 +162,13 @@ version = 1 "registry+https://github.com/rust-lang/crates.io-index#once_cell@1.21.3" = "052c26f905a581c3d943e058df3aa2745bf2209b114d6e48639c7b6f6eb59e2e" "registry+https://github.com/rust-lang/crates.io-index#ordered-float@4.6.0" = "fa73394ac1c216c4e1c7bb1239059215f8db89e8ae555e498f03fd30ca7930fe" "registry+https://github.com/rust-lang/crates.io-index#ouroboros@0.18.5" = "9fcbb04903b779ce55686c83deee486381f909ac382d8b649a3f9fae96bac598" -"registry+https://github.com/rust-lang/crates.io-index#ouroboros_macro@0.18.5" = "11b583846ecc27953d09a8ab0a4836736dbb4c169e6726a84e91f07e39f0a8ed" +"registry+https://github.com/rust-lang/crates.io-index#ouroboros_macro@0.18.5" = "b76297013bbe68b07f2ba5ddc069e8ad1f852005879c8407c4149c590a351c8a" "registry+https://github.com/rust-lang/crates.io-index#parking@2.2.1" = "bf3dc4ef084e7a56d55e901dda7be6f87e464ace67d2b592faaac1bd4a5cd5b5" "registry+https://github.com/rust-lang/crates.io-index#parking_lot@0.12.5" = "1bbcdd25e546e54087007ab157b32a91d3e0ac50e172e39f37a90d3f4078c29c" "registry+https://github.com/rust-lang/crates.io-index#parking_lot_core@0.9.12" = "ee662427d7e947f46bc50be65a524f36f57aaae25cf497ef6d3e88587cf6dc7d" "registry+https://github.com/rust-lang/crates.io-index#path-absolutize@3.1.1" = "4e382243d293e25fb016b7971862807652196a48a3fe4654717920fe4b67ef15" "registry+https://github.com/rust-lang/crates.io-index#path-dedot@3.1.1" = "e9b91050d96d701a53fb5657e4e91044e336f05e012e77874dce07886830e651" -"registry+https://github.com/rust-lang/crates.io-index#pem-rfc7468@0.7.0" = "af5d552fd4c7282d2e9ed5e791f8df19d263b24e459b51cfe2e8531b8cc7832d" +"registry+https://github.com/rust-lang/crates.io-index#pem-rfc7468@0.7.0" = "a94d480eaf91ffde91e1e83b01044086362ff808c630345154a2e0435c2f1bd9" "registry+https://github.com/rust-lang/crates.io-index#percent-encoding@2.3.2" = "426f46ef64ae4954a870547079ef15db664ea77324104f2063cb69387b99fa7b" "registry+https://github.com/rust-lang/crates.io-index#pgvector@0.4.1" = "6b19bba7e20dc16a82398c5302bccfb65fd7a5a0c5a7f634aa823dc0f3acf6cc" "registry+https://github.com/rust-lang/crates.io-index#pin-project-lite@0.2.16" = "87157bad7b89ce0669bfa45dd771541b1024360fd82a81b06edf8837478da620" @@ -178,15 +178,15 @@ version = 1 "registry+https://github.com/rust-lang/crates.io-index#pkg-config@0.3.32" = "0a22caf43ff06cec56b09c30a7819dfd03c5d5a172fa8c2d5cee834b7bad727a" "registry+https://github.com/rust-lang/crates.io-index#potential_utf@0.1.4" = "17e4f2025a2f00adfc543b9d500f1b4349a416e85bb80f9ed9ce2e82f454c98c" "registry+https://github.com/rust-lang/crates.io-index#powerfmt@0.2.0" = "50f853bc1536b0b3d6c881a457e02e3da24a97e9f11f38e97ff7745651c52ccb" -"registry+https://github.com/rust-lang/crates.io-index#ppv-lite86@0.2.21" = "d44dc7867b109623ab6942d9eafd915d9988c27491df75ef64da6fbbb28c6ec0" -"registry+https://github.com/rust-lang/crates.io-index#proc-macro-crate@3.4.0" = "a65159c60d4b2f4b739b5b83ba146854c7f62d95ec0c97e38339fd87de7e9e6c" +"registry+https://github.com/rust-lang/crates.io-index#ppv-lite86@0.2.21" = "a7783aab8209f03761eb7b405169c7f8cd05cfbf72bbe969362ec136fe2f4e76" +"registry+https://github.com/rust-lang/crates.io-index#proc-macro-crate@3.4.0" = "3320c04b78c3b569ee42c916f7d0ae87b4cc0946a2a0558b98ea734df0588400" "registry+https://github.com/rust-lang/crates.io-index#proc-macro-error-attr2@2.0.0" = "a6937e1e95db0ab00e59ee0587cfed71be83b4aad72998eb987576e22d118af8" -"registry+https://github.com/rust-lang/crates.io-index#proc-macro-error2@2.0.1" = "35523eb252561598d31d01532d6fc2b604245905a3b9d61cc912b9b26c678d17" -"registry+https://github.com/rust-lang/crates.io-index#proc-macro2-diagnostics@0.10.1" = "388cd759871be168013dc2553f195fbd5662516ad7706ede9ee3640fdd1797ec" +"registry+https://github.com/rust-lang/crates.io-index#proc-macro-error2@2.0.1" = "4764fd18eb91f273853bc723f86a06b208009624971e34bd5d61853a70699d14" +"registry+https://github.com/rust-lang/crates.io-index#proc-macro2-diagnostics@0.10.1" = "87fc4d745d36a9bb32fbff2bc98f0c5431df0d53610a8219a3ce05fc1308b57d" "registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.103" = "9b25ba05e80fc659ff7d42f3d5606545aa8d189a21ef05aee1ad690ffa036123" "registry+https://github.com/rust-lang/crates.io-index#ptr_meta@0.1.4" = "a39cc9491aa20110894b613d62277e1d61df7a0d658e5228bd8657237cb04ad7" "registry+https://github.com/rust-lang/crates.io-index#ptr_meta_derive@0.1.4" = "9eb2472593a4173aba6a3c61291dd156933072eb2822ae7a1c9fdbae3461a1fc" -"registry+https://github.com/rust-lang/crates.io-index#quickcheck@1.0.3" = "9d8b6921e591a724d158a8152b2d1356fb9532f8cddaa31e8837f028c9ed3198" +"registry+https://github.com/rust-lang/crates.io-index#quickcheck@1.0.3" = "8d91b2a99eb8fd2ec6beea7373838e82de6c76b7e9b6e3cc6beecdbb9f55bcff" "registry+https://github.com/rust-lang/crates.io-index#quote@1.0.42" = "91c8d87ed79d624a31a96de45ffb568d706c6d680d9b059666c790d6b8df9a42" "registry+https://github.com/rust-lang/crates.io-index#r-efi@5.3.0" = "8b782f8b39e0573e49058548a27f0982ac72a7029326d2bc61b6df3c194cffaa" "registry+https://github.com/rust-lang/crates.io-index#radium@0.7.0" = "52ab1f0da4ca3712c10b6f2268313ee3f674dace171872ca510a78e825f01b90" @@ -208,19 +208,21 @@ version = 1 "registry+https://github.com/rust-lang/crates.io-index#rsa@0.9.9" = "48bc52fe377fcb208dfaa3969e62c48ae3fe8793e531c22a8bcbe0807fe5e396" "registry+https://github.com/rust-lang/crates.io-index#rust_decimal@1.39.0" = "f0a399b0fe2c8f68f117a07bd3cf11e2b566fd90897d6e96930a70ca0eb17f1c" "registry+https://github.com/rust-lang/crates.io-index#rustc-hash@2.1.1" = "0679bb21a175710a797b96bedea9bb8d694b5c2110360190bb128ea90c196143" +"registry+https://github.com/rust-lang/crates.io-index#rustc_version@0.4.1" = "151a5417e3d8e8cb75fb66d5633ca22bbf4557ba427427529179e3da85b3d795" "registry+https://github.com/rust-lang/crates.io-index#rustix@1.1.2" = "ba89eb7e4c2e337cf6bdb4d8a02100147a1097f4fe17238deee1562a1c40a497" "registry+https://github.com/rust-lang/crates.io-index#rustversion@1.0.22" = "6cbed1a03b1abaa0c695a90fcbc859f57e5cfd5394ea17ade5c7fa4274d2c79e" "registry+https://github.com/rust-lang/crates.io-index#ryu@1.0.20" = "0b880d45160a7f70777d7137bcd2c4726589afcce9ec373650dc4da0f33d86f0" "registry+https://github.com/rust-lang/crates.io-index#scopeguard@1.2.0" = "0baa527d86d4a1c5caf29ed5f5bdd5dde46639205aa6cdbbbfb97f5115865ec0" -"registry+https://github.com/rust-lang/crates.io-index#sea-bae@0.2.1" = "7bad26bacf2e2a580b0ade30527e3ea3b50975dd5c46512756f4fc5ed3e386fd" -"registry+https://github.com/rust-lang/crates.io-index#sea-orm-macros@1.1.19" = "fe4670529075a2840086e43dd0070af295f8ec0ed72e98885a9d59089415770b" -"registry+https://github.com/rust-lang/crates.io-index#sea-orm@1.1.19" = "6bf5677127e17aa2537d589a63d35ece56cce2be771b03d9e811a3f8e628d43a" +"registry+https://github.com/rust-lang/crates.io-index#sea-bae@0.2.1" = "d7e7b6b7b0615fa6e7efd640b10011eb12875a98760a90a060b0f24b8eaac803" +"registry+https://github.com/rust-lang/crates.io-index#sea-orm-macros@1.1.19" = "6db2b7a1cab3825bd3ba21c12186177be99a9ee3fb52227ed095b8c5f49858ac" +"registry+https://github.com/rust-lang/crates.io-index#sea-orm@1.1.19" = "0e9d1f48996970a96faa26888d1f086f5304aa6d1c8165020f77c39953e35853" "registry+https://github.com/rust-lang/crates.io-index#sea-query-binder@0.7.0" = "332476465687d15904db148866f108229cfd182b4f7840f8fbc153c6cbe92e60" "registry+https://github.com/rust-lang/crates.io-index#sea-query@0.32.7" = "30ddc3abb5b515df76be2515ea100d5dcb43a9d8bc0d8990208302499f3a99be" "registry+https://github.com/rust-lang/crates.io-index#seahash@4.1.0" = "5bfb692d1110feebdd6ddd8b054cb74393a5b1127323bc80d0351c460b189393" +"registry+https://github.com/rust-lang/crates.io-index#semver@1.0.27" = "38879be2c30d8b28a8ad9bfbe8faf8850b5649e941c4c6dac305b9bd1f362970" "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.228" = "951cc1355c31ddec2cd9225fde7ebfe6a8151b7c614ce9dd13eb4a544d1225b1" "registry+https://github.com/rust-lang/crates.io-index#serde_core@1.0.228" = "3625e294d8320e080a0e07891b1293cd2f2159ea274077a9f422ef9b7c11bf4d" -"registry+https://github.com/rust-lang/crates.io-index#serde_derive@1.0.228" = "5d57b2cbbdf8402c54b686b373347f533b4c7f9ad2beb771abbe53c6dc0a1b39" +"registry+https://github.com/rust-lang/crates.io-index#serde_derive@1.0.228" = "ba84cc43d1adf4d31fd4cdec6bd1f81fa4d4d38e6ed4ca04d9a6bd81544b77f2" "registry+https://github.com/rust-lang/crates.io-index#serde_json@1.0.145" = "998484cdc2e8a39bc1bdeebbc98d701dcd47923acf70886e03871eccba5c6730" "registry+https://github.com/rust-lang/crates.io-index#serde_path_to_error@0.1.20" = "031adadae14ec9eeca1b810e971bd01870b9e04f8d15b28d50bea29680709058" "registry+https://github.com/rust-lang/crates.io-index#serde_urlencoded@0.7.1" = "b69a5374b15ffd36e37d7f114e67e391029918543fbcd5e619739c2a1b06603d" @@ -228,22 +230,22 @@ version = 1 "registry+https://github.com/rust-lang/crates.io-index#sha2@0.10.9" = "b1d5cb1bdd8b0212bf6ff1bb87977f8b998be51f055be7fb0a12a9f260e8e301" "registry+https://github.com/rust-lang/crates.io-index#sharded-slab@0.1.7" = "479c23d019d9390a8d0bf81bc13b24ae9b6ffd04b88a9e3802f8d2b513446d80" "registry+https://github.com/rust-lang/crates.io-index#shlex@1.3.0" = "909ebb2a3da0299aa1bebe42ad4a8421fee979c16b64410b5d823ecbb3de1396" -"registry+https://github.com/rust-lang/crates.io-index#signal-hook-registry@1.4.6" = "650bd80371089755df97933fab9ac0ba990b6cb4b6790131194747e291ec29dd" +"registry+https://github.com/rust-lang/crates.io-index#signal-hook-registry@1.4.7" = "567897e7d9188ad3226791a516db51805e65be0410de64b56fd741d6daa820a9" "registry+https://github.com/rust-lang/crates.io-index#signature@2.2.0" = "a5f7fc85dcea8c46b9814230efcfa8a4c5263bf966bb03f9dfe458118931339c" -"registry+https://github.com/rust-lang/crates.io-index#simd-adler32@0.3.7" = "97bc394f8364d59c188ef870fc5ae3165eaa0b0b2d01262969246ffa61462c7e" +"registry+https://github.com/rust-lang/crates.io-index#simd-adler32@0.3.8" = "4a78bafc1c52373dd142b998a46bcfad4c6ad3d8084d8e19a4140be03008f006" "registry+https://github.com/rust-lang/crates.io-index#simdutf8@0.1.5" = "7947b615c6fb1c9785604f0fb4f18504ac6b22ae1083dd679e0b8c67ab5bb0d5" "registry+https://github.com/rust-lang/crates.io-index#similar@2.7.0" = "299b989e0aaab688b237b374c63f72454aae6d654019f8600752371228739459" "registry+https://github.com/rust-lang/crates.io-index#slab@0.4.11" = "286e6092b3b1d9388e8d6bf69f6655531801e4aa5fcf5cf0da20d7f56a1a60fa" "registry+https://github.com/rust-lang/crates.io-index#smallvec@1.15.1" = "d5e0d2311111ef4b69869f6b5a5516ed62d237952153d9e87faeb2106af18c28" "registry+https://github.com/rust-lang/crates.io-index#socket2@0.6.1" = "4a8c5c4f3047bd5a23ad4badf9271fce4335e61397d3a8c21a15f39e3662bbc9" "registry+https://github.com/rust-lang/crates.io-index#spin@0.9.8" = "0a89a1b9fb5520dfef257e4592b0d06a5a693ae6e24f0596674da14e4422e93e" -"registry+https://github.com/rust-lang/crates.io-index#spki@0.7.3" = "e09bcb0743d9a59af50b04df2fb3c3890d13135b01568d273eff11f547a5ecea" -"registry+https://github.com/rust-lang/crates.io-index#sqlx-core@0.8.6" = "c8a7bf6a75f026e5de91544ae0d9999f9a3851870e49321fd1462eedc9da8685" -"registry+https://github.com/rust-lang/crates.io-index#sqlx-macros-core@0.8.6" = "caa4bbadb51b3de60db9c194e46ad422d788200c2de2459a71652dd33fe3294d" -"registry+https://github.com/rust-lang/crates.io-index#sqlx-macros@0.8.6" = "5d0738c9316ed693cc07a9760f640611813e79fd2d11bd606627cbde0f983f3c" -"registry+https://github.com/rust-lang/crates.io-index#sqlx-mysql@0.8.6" = "de25a20bee6797f3740293facbad5bc328e41ea60079f12711650338a75d735b" -"registry+https://github.com/rust-lang/crates.io-index#sqlx-postgres@0.8.6" = "387c3b3e99367771374293ab12cc78ca26724c53b35ffb0552fd1119617ecf44" -"registry+https://github.com/rust-lang/crates.io-index#sqlx-sqlite@0.8.6" = "67893f7dcacaea447e2ec16388dcd7d42ee10958dbb7100211616191df91a67f" +"registry+https://github.com/rust-lang/crates.io-index#spki@0.7.3" = "38cff90801eaeb44ad576151bf270494dbbaafbd3b6f1add2d214ddfa31b4699" +"registry+https://github.com/rust-lang/crates.io-index#sqlx-core@0.8.6" = "2527d09ab041e5bee30baf10b73e87619e2ec40c9b17c08331edf38131a995f0" +"registry+https://github.com/rust-lang/crates.io-index#sqlx-macros-core@0.8.6" = "c801330650250cb1edf1a1471ceb7f952e447488811daa9482ca532059d9ffec" +"registry+https://github.com/rust-lang/crates.io-index#sqlx-macros@0.8.6" = "1435b9cdd7ff47e9a3cffd206777e1764a38a0d20b44a4bcba0179b27c237658" +"registry+https://github.com/rust-lang/crates.io-index#sqlx-mysql@0.8.6" = "1a8f04ea39f7068f5124d78e7820d28eebc542a832d649b41f894bd36281b795" +"registry+https://github.com/rust-lang/crates.io-index#sqlx-postgres@0.8.6" = "5cb4f9ae4d0964d9ba2ec0961310f03babae1933aaab2468b8da0900691b3997" +"registry+https://github.com/rust-lang/crates.io-index#sqlx-sqlite@0.8.6" = "a0e7b21c2c66a346b962f52b037fb31b41084e07d2babcce91fefcbbc30d55bc" "registry+https://github.com/rust-lang/crates.io-index#sqlx@0.8.6" = "add18a2766bae9eee4954835d6f570e51d019acba17cfd4ae54738b657b04095" "registry+https://github.com/rust-lang/crates.io-index#stable_deref_trait@1.2.1" = "228237c0b3c456d90942c2213844fbab55e828d8d6e70955151d4eecf967f2ed" "registry+https://github.com/rust-lang/crates.io-index#static_assertions@1.1.0" = "91cdd3b5b292316acdeffeb470ae2128cf75af4b8fe3f3b51d7c40f5cce8feb9" @@ -251,12 +253,12 @@ version = 1 "registry+https://github.com/rust-lang/crates.io-index#strum@0.26.3" = "88f6c2b5ca1a8fddf03692311bc0a73771266fa3398f94a77e6054658a369c32" "registry+https://github.com/rust-lang/crates.io-index#subtle@2.6.1" = "2fcd8a35602a936a2ac7ade68e63e9d64f015b51d8f18747f3415bd99328d557" "registry+https://github.com/rust-lang/crates.io-index#syn@1.0.109" = "4f9f125a7ac1c8721be0ced5d5aed6ecced8f730182b66a9b17364425422f4ae" -"registry+https://github.com/rust-lang/crates.io-index#syn@2.0.110" = "49fb48632c0fa1876341080ec7242906dec6b57c6cf118395551a38c0fa3a5b6" +"registry+https://github.com/rust-lang/crates.io-index#syn@2.0.111" = "a1a55305c945a34fb0f702f4c3e1cc9a74327b72034762f8b26fa68c8ba8e935" "registry+https://github.com/rust-lang/crates.io-index#sync_wrapper@1.0.2" = "002de477898e20cf93af9ae1e72196c8d46965d848700f1e1001a943971efb1e" -"registry+https://github.com/rust-lang/crates.io-index#synstructure@0.13.2" = "c31c669a1c55a7b88e9a30d5c40faabaeccad8a025347e998b82bbb35c1f61cd" +"registry+https://github.com/rust-lang/crates.io-index#synstructure@0.13.2" = "a0fce44b849ef90c97e01cbcceb3cfd12a9e502355a3bff34028dbf2f663ab44" "registry+https://github.com/rust-lang/crates.io-index#tap@1.0.1" = "65ddab397aff4ea57dcd56004a95d452cffa0185eb41e938b71d4ffb883ca673" "registry+https://github.com/rust-lang/crates.io-index#tempfile@3.23.0" = "fe5b7a97419413ebd44ef7a2f165b8ea60639db22713ee11e7dfcdfd89dde1ac" -"registry+https://github.com/rust-lang/crates.io-index#thiserror-impl@2.0.17" = "5334295e1aa8664792f12a63a99e867477200f3bb7ab0f49ae3fd993ca4cd19b" +"registry+https://github.com/rust-lang/crates.io-index#thiserror-impl@2.0.17" = "2338288ccd0ae6b9bf46193a7f67d2800879ddb941ffa997693348ddbd3b2919" "registry+https://github.com/rust-lang/crates.io-index#thiserror@2.0.17" = "c0e03513bc2b34bdb63c50135c81053a0f5dbdfb86153d0bcce4d2f4e88f16d7" "registry+https://github.com/rust-lang/crates.io-index#thread_local@1.1.9" = "2a6251ab49209b1905fabf4146850ec260b2411857bb5a5ad48e68bb38b8eb55" "registry+https://github.com/rust-lang/crates.io-index#threadpool@1.8.1" = "173ba7adcd209d944ee19dec035d8f93a0951ec631a938abc3ff9e30843419c1" @@ -266,21 +268,21 @@ version = 1 "registry+https://github.com/rust-lang/crates.io-index#tinystr@0.8.2" = "de3dc279e366b1764b73df6590b2315cabc7b3ade62386caea1e557bdd0db244" "registry+https://github.com/rust-lang/crates.io-index#tinyvec@1.10.0" = "7f69b75b6d162f6e01251bc62e1304b03b822dbb5c5e1f03ff372192de38cf9f" "registry+https://github.com/rust-lang/crates.io-index#tinyvec_macros@0.1.1" = "36ca6585d9594280628021a7e44ac609ea4571ff32e6af9a85a49fee6a27f159" -"registry+https://github.com/rust-lang/crates.io-index#tokio-macros@2.6.0" = "9f9dcd7a230cedc2fcb52b749535659fc06246a19dccbfd9573e70f10c87157a" +"registry+https://github.com/rust-lang/crates.io-index#tokio-macros@2.6.0" = "9829e0d22efbf19294b7039375842b633fd6ce1d8cea48a209d3fba971d152e3" "registry+https://github.com/rust-lang/crates.io-index#tokio-stream@0.1.17" = "906358bd731cd38f679d194146be9cca5ab71ae927877de0f3fedaf073d7d881" "registry+https://github.com/rust-lang/crates.io-index#tokio-util@0.7.17" = "e2d2d7e14798ae033fd355e95c34299bef2cc0a84e13f82b60f1d4d67dcdca1b" -"registry+https://github.com/rust-lang/crates.io-index#tokio@1.48.0" = "aa677aa70893300a51befd2afeb2ca31fda7d336ddf6dffb9bfd118d80e8bdf8" +"registry+https://github.com/rust-lang/crates.io-index#tokio@1.48.0" = "63f2587ff0f392a43733f547d2969ada7f6640d3b736d8c8d44417184d2ba72f" "registry+https://github.com/rust-lang/crates.io-index#toml_datetime@0.7.3" = "042c456ec5facd2ffc53fc874815c1905cc41a2459e5a5c2d12c0b66001a9d79" -"registry+https://github.com/rust-lang/crates.io-index#toml_edit@0.23.7" = "de21c1364d11e59cb3a08ce3e2bac218827da333f5e583e60d5483dacdbe0186" +"registry+https://github.com/rust-lang/crates.io-index#toml_edit@0.23.9" = "7687c1ab1d008612af62983a3c3cdb8ca4ebc4df543fba08669f6c6c00d94837" "registry+https://github.com/rust-lang/crates.io-index#toml_parser@1.0.4" = "5256925f90c1ff0e22f569a344de72d89987248fbf3e87c1a95e532d1f6bbdee" "registry+https://github.com/rust-lang/crates.io-index#tower-layer@0.3.3" = "ba5c70367747fa8d346f5f00f20f6dd13d631bf8581aec65728e5b1d8e4da064" "registry+https://github.com/rust-lang/crates.io-index#tower-service@0.3.3" = "9722f1524ba927dd3dd202118a467795f70dfc9c5cff1aa36be12e02333705ee" "registry+https://github.com/rust-lang/crates.io-index#tower@0.5.2" = "486e00f657843284a57c296a2a48037789d0f56499cea5ab4f3a3c1459144427" -"registry+https://github.com/rust-lang/crates.io-index#tracing-attributes@0.1.31" = "932b5d504c96f9d79fa7f70b352d2867d4b64f8f735f67d197db1a886f820a8c" +"registry+https://github.com/rust-lang/crates.io-index#tracing-attributes@0.1.31" = "516baeeebd46e69eb720e11fc690f7711831d37c7a2504d5b3184f54b3b7921c" "registry+https://github.com/rust-lang/crates.io-index#tracing-core@0.1.35" = "b1f909364addbc86dad417326666967125a84ab286d0f93ce9dddb28f52e1086" -"registry+https://github.com/rust-lang/crates.io-index#tracing-log@0.2.0" = "c7f7f875e305227f9d7a7e62dfe2afb50036b0e7cbd76e08c57a6f5dd2f3aa0d" +"registry+https://github.com/rust-lang/crates.io-index#tracing-log@0.2.0" = "e0c4417731fe25ba41c56d74d64fd2aa5a3555e56b066a359d6278b9de78c5fb" "registry+https://github.com/rust-lang/crates.io-index#tracing-subscriber@0.3.22" = "418fd85044bd6c92a543dd09ff41ceb538b07c0b6c5b4c166dd42407fe858ccc" -"registry+https://github.com/rust-lang/crates.io-index#tracing@0.1.43" = "8fdfcf9463993f9ab714e4a9e4fe4764692655655d94c66ee460fd2f5e665335" +"registry+https://github.com/rust-lang/crates.io-index#tracing@0.1.43" = "55b409f5cf72cf7b8d7582efa92fc15675babdfeeae6bbc45d084c47f75d8fc7" "registry+https://github.com/rust-lang/crates.io-index#typenum@1.19.0" = "15b5d1fe4c7c3428d4dc3c42d1b1f561ea4762c82327156e41aa1d97d98021d8" "registry+https://github.com/rust-lang/crates.io-index#unicode-bidi@0.3.18" = "92a0fe90af966975b9614e2e21bd19a4d72bfd3e723b8efb850cc61dff73e15e" "registry+https://github.com/rust-lang/crates.io-index#unicode-ident@1.0.22" = "72805ef1217f5e303a68b401c6990acc796e9d45c71dccf238fa1ef879d1e107" @@ -290,7 +292,7 @@ version = 1 "registry+https://github.com/rust-lang/crates.io-index#unty@0.0.4" = "5475cd4e774a5dff1d71ec84f3f46bbf2a1ce7ecae45e15713335645a8e14941" "registry+https://github.com/rust-lang/crates.io-index#url@2.5.7" = "41a06dd6e4a64931308619cd9143392e669fe55fff38850784e1a9a09b49bfc2" "registry+https://github.com/rust-lang/crates.io-index#utf8_iter@1.0.4" = "047f25b86fd5f1351043a8dde0aeed66f85eeca3ac56cbb7bec54ed6c023b16c" -"registry+https://github.com/rust-lang/crates.io-index#uuid@1.19.0" = "0293b0d1f6bb4573e81376046cdf92e00fd258e889dc665677886c0a03b0c560" +"registry+https://github.com/rust-lang/crates.io-index#uuid@1.19.0" = "8c6965359b43e1c55bae17a14ebaa08c993d1a96c931fac6fcd3e9da638f5837" "registry+https://github.com/rust-lang/crates.io-index#valuable@0.1.1" = "756ad94b5effaecf9973461517320157d1ee5ab3ec28d86e1f99c4915851a45e" "registry+https://github.com/rust-lang/crates.io-index#vcpkg@0.2.15" = "719f7f17537403aaa321d268702fb5039de3e7c1993d88754cca070f8b597174" "registry+https://github.com/rust-lang/crates.io-index#version_check@0.9.5" = "5f3a662254d4a2b2e505904ada0ee24aa8376f7d08d71832a6a0f1ff04f1ad71" @@ -298,14 +300,14 @@ version = 1 "registry+https://github.com/rust-lang/crates.io-index#wasi@0.11.1+wasi-snapshot-preview1" = "9c7da0443e0bf7dff296b9c6a81a67964fa0290e311767101860356a664bc268" "registry+https://github.com/rust-lang/crates.io-index#wasip2@1.0.1+wasi-0.2.4" = "66e9546d4dcc87766fd72d8d5ef9987e133d78efc6834cd9b416a019e8098ff4" "registry+https://github.com/rust-lang/crates.io-index#wasite@0.1.0" = "430ecc5abca1bee65aeed502a5eec51bcc2550596e3f73de8ac9d322806097fc" -"registry+https://github.com/rust-lang/crates.io-index#wasm-bindgen-macro-support@0.2.105" = "d088cd20c3403c197cce1f3a09a31e9629c2d89cfbfe683d86baf48a6ec6ea65" -"registry+https://github.com/rust-lang/crates.io-index#wasm-bindgen-macro@0.2.105" = "5e3562107d44436480627a2ee76386de9aa8ba437b9772255445fd07cf1e77bf" -"registry+https://github.com/rust-lang/crates.io-index#wasm-bindgen-shared@0.2.105" = "d17d4b651ef3fbf7a42e19ef5a25eb628ab9a03410f69b31c7df9d8858ee9058" -"registry+https://github.com/rust-lang/crates.io-index#wasm-bindgen@0.2.105" = "75cf8f1ac3d56ed9ed7baa543cd5b43068edc4f69691276b51a704a7f2a6dc0a" +"registry+https://github.com/rust-lang/crates.io-index#wasm-bindgen-macro-support@0.2.106" = "4c9111b5215e60cb2a134e951c22a8aeabca7fd48753e4621581e98879af2eb9" +"registry+https://github.com/rust-lang/crates.io-index#wasm-bindgen-macro@0.2.106" = "a3003e560c064a9d9198e838e544f6f8466d8e8d5fa5d37ecaba04ff7d8f3b27" +"registry+https://github.com/rust-lang/crates.io-index#wasm-bindgen-shared@0.2.106" = "67d3456330ea31c951800385f72a6e7e6706b10e994c567b68cac1f27ac75818" +"registry+https://github.com/rust-lang/crates.io-index#wasm-bindgen@0.2.106" = "e9a929ceecc76fa6e406a304f170d7410f02588c0dd4a7d86a0e8828b7f46a6b" "registry+https://github.com/rust-lang/crates.io-index#whoami@1.6.1" = "5de246cdae006a797a201363a8e6cb09a7444ab8e39e0f02640673f6a0b2b537" "registry+https://github.com/rust-lang/crates.io-index#windows-core@0.62.2" = "a53a12e575072447f818df84dab90dfef7bff781d28442d5dbc83401cde22264" -"registry+https://github.com/rust-lang/crates.io-index#windows-implement@0.60.2" = "d71f3b72b4636d8d5477577fe3b78950663dfc1e25205e33fc53d00a7e8ba302" -"registry+https://github.com/rust-lang/crates.io-index#windows-interface@0.59.3" = "05f0d36c5f5275e73ff0ae70bc3ada965c1544a83f04712f40fb7be7be6b9907" +"registry+https://github.com/rust-lang/crates.io-index#windows-implement@0.60.2" = "cea6d73053111e07401f6ec615ae57a2b907dfec35491ba68bee480e58a4fc3a" +"registry+https://github.com/rust-lang/crates.io-index#windows-interface@0.59.3" = "f5c988d77df01cccc29c7a98a9ef396cf254a5ace48831fc51ab05e69d87a83e" "registry+https://github.com/rust-lang/crates.io-index#windows-link@0.2.1" = "6913366a88eade647151291a2c284c6b4419803f543219acc65ffb36d050b39d" "registry+https://github.com/rust-lang/crates.io-index#windows-result@0.4.1" = "d2d6166685cc9d38cea0479daefd31f9153c918d206af155456ce3fbd35c57e1" "registry+https://github.com/rust-lang/crates.io-index#windows-strings@0.5.1" = "81ed7ba4dd1224709e4d536ef0a5a9c0c2281a16a97fc7c65d0e21ba0d6cc886" @@ -344,14 +346,14 @@ version = 1 "registry+https://github.com/rust-lang/crates.io-index#writeable@0.6.2" = "f059a994b5382afd67fa9c6f0acee955cc454444e78d9b998a038cc32dbea748" "registry+https://github.com/rust-lang/crates.io-index#wyz@0.5.1" = "bc3163e53888d6e84c9127c5de7ce9fcf9adb20af21a79e666c2e83ed05f7b12" "registry+https://github.com/rust-lang/crates.io-index#yansi@1.0.1" = "1071dc821ebd57370a3786711c163e0477cb88f44607d101ebd39d23de55ca12" -"registry+https://github.com/rust-lang/crates.io-index#yoke-derive@0.8.1" = "82f9e727770470feed22b7f75b6faee9f146dd86a09efb8d0fc7cefbcd7da976" +"registry+https://github.com/rust-lang/crates.io-index#yoke-derive@0.8.1" = "c4686f6256defbc1b74d5c291f8ef98a4b21caacdbd3d2b3b82bc63fbd0e650b" "registry+https://github.com/rust-lang/crates.io-index#yoke@0.8.1" = "42e569b3ed590bddb90547e6314577c240db69a161c8060bd60b608d30e66285" -"registry+https://github.com/rust-lang/crates.io-index#zerocopy-derive@0.8.27" = "4c36e27e4bbaee12049a965adc7e6d856ec0094ace33e7d1e9ce5618c7e0be7b" -"registry+https://github.com/rust-lang/crates.io-index#zerocopy@0.8.27" = "ac4acf297c35a243e202e7b0dc39a0756f86adfa4a863c68ee258522df345f37" -"registry+https://github.com/rust-lang/crates.io-index#zerofrom-derive@0.1.6" = "611240708102674a963ef55d93097d238dcc398f82bd51ddec5b787c9bf80f74" +"registry+https://github.com/rust-lang/crates.io-index#zerocopy-derive@0.8.31" = "c6a07b6771d4263275d8f32f3040faab5b2c7a5842c3011b1162b7ffa8f49364" +"registry+https://github.com/rust-lang/crates.io-index#zerocopy@0.8.31" = "fc8f53673a3031a4aabebf0ff32b01308739845156350b55b0d92c2982ef0be8" +"registry+https://github.com/rust-lang/crates.io-index#zerofrom-derive@0.1.6" = "980368e7974b573ac28615213ce64b9b05d79cf044fd90f6916595238e056779" "registry+https://github.com/rust-lang/crates.io-index#zerofrom@0.1.6" = "46fb1d70f66c6adeb5ed62dd06ced0570f921862753c395fc220735da6f19e56" "registry+https://github.com/rust-lang/crates.io-index#zeroize@1.8.2" = "3d09a280abd1efb09ae6f00995afabe83a52da301546671b5470e169d2358239" "registry+https://github.com/rust-lang/crates.io-index#zerotrie@0.2.3" = "172de84e8b3cabf289303ff9ecd5ae64e11796a4c668d84796963f808a459a08" -"registry+https://github.com/rust-lang/crates.io-index#zerovec-derive@0.11.2" = "462aef95a447ef98bb67fc1d3bcdd9e4e271e6a716e131f4fefcb1d449e89a32" +"registry+https://github.com/rust-lang/crates.io-index#zerovec-derive@0.11.2" = "434a717e722cde14d2768b4a82efe3ba949dda463161278f94ec6b8929c636e5" "registry+https://github.com/rust-lang/crates.io-index#zerovec@0.11.5" = "de4a6d6d097897069f16330eb2a92b8d3b7fbbe154e44ff42f4702a94d429479" -"registry+https://github.com/rust-lang/crates.io-index#zstd-sys@2.0.16+zstd.1.5.7" = "ad5c9bde707aed07e4691b6b74f22ea39a98a16617aaeeef702de45e4e056e17" +"registry+https://github.com/rust-lang/crates.io-index#zstd-sys@2.0.16+zstd.1.5.7" = "d84f1ee84a7375e518a394ec7e7ed1268087e5b3ba1647911e69920f4b541867" diff --git a/src/diff.rs b/src/diff.rs index 18189c4e..cd460bb9 100644 --- a/src/diff.rs +++ b/src/diff.rs @@ -432,8 +432,7 @@ impl Diff { let _ = writeln!( out, - "@@ -{},{} +{},{} @@", - old_start, old_count, new_start, new_count + "@@ -{old_start},{old_count} +{new_start},{new_count} @@" ); // 3. Output the hunk according to Myers change order diff --git a/src/internal/object/note.rs b/src/internal/object/note.rs index dd398eed..31a65133 100644 --- a/src/internal/object/note.rs +++ b/src/internal/object/note.rs @@ -123,7 +123,7 @@ impl Note { target_object_id: ObjectHash, ) -> Result { let content = String::from_utf8(data.to_vec()) - .map_err(|e| GitError::InvalidNoteObject(format!("Invalid UTF-8 content: {}", e)))?; + .map_err(|e| GitError::InvalidNoteObject(format!("Invalid UTF-8 content: {e}")))?; Ok(Note { id: hash, @@ -160,7 +160,7 @@ impl ObjectTrait for Note { { // Convert bytes to UTF-8 string let content = String::from_utf8(data.to_vec()) - .map_err(|e| GitError::InvalidNoteObject(format!("Invalid UTF-8 content: {}", e)))?; + .map_err(|e| GitError::InvalidNoteObject(format!("Invalid UTF-8 content: {e}")))?; Ok(Note { id: hash, diff --git a/src/internal/object/tag.rs b/src/internal/object/tag.rs index 986e3e49..91b48ae8 100644 --- a/src/internal/object/tag.rs +++ b/src/internal/object/tag.rs @@ -93,8 +93,7 @@ impl Tag { ) -> Self { // Serialize the tag data to calculate its hash let data = format!( - "object {}\ntype {}\ntag {}\ntagger {}\n\n{}", - object_hash, object_type, tag_name, tagger, message + "object {object_hash}\ntype {object_type}\ntag {tag_name}\ntagger {tagger}\n\n{message}" ); let id = ObjectHash::from_type_and_data(ObjectType::Tag, data.as_bytes()); diff --git a/src/internal/pack/encode.rs b/src/internal/pack/encode.rs index 43882528..b4fa6bf0 100644 --- a/src/internal/pack/encode.rs +++ b/src/internal/pack/encode.rs @@ -1,6 +1,7 @@ use std::cmp::Ordering; use std::collections::VecDeque; use std::io::Write; +//use std::io as stdio; use crate::delta; use crate::internal::metadata::{EntryMeta, MetaAttached}; @@ -15,8 +16,15 @@ use flate2::write::ZlibEncoder; use natord::compare; use rayon::prelude::*; +use crate::internal::pack::index_entry::IndexEntry; +use crate::internal::pack::pack_index::IdxBuilder; +// use libc::ungetc; +use chrono::Utc; use std::hash::{Hash, Hasher}; -use std::path::Path; +use std::path::{Path, PathBuf}; +use tokio::fs::File; +//use tokio::io::AsyncWriteExt; +use tokio::io::AsyncWriteExt as TokioAsyncWriteExt; use tokio::sync::mpsc; use tokio::task::JoinHandle; @@ -26,17 +34,91 @@ const MIN_DELTA_RATE: f64 = 0.5; // minimum delta rate /// A encoder for generating pack files with delta objects. pub struct PackEncoder { + //path: Option, object_number: usize, process_index: usize, window_size: usize, // window: VecDeque<(Entry, usize)>, // entry and offset - sender: Option>>, + pack_sender: Option>>, + idx_sender: Option>>, + //idx_sender: Option>>, + idx_entries: Option>, inner_offset: usize, // offset of current entry inner_hash: HashAlgorithm, // introduce different hash algorithm final_hash: Option, start_encoding: bool, } +/// Encode entries into a pack, write `.pack`/`.idx` files to `output_dir`. +/// - Spawns background writers to consume pack/idx channels to avoid back-pressure. +/// - Uses `window_size` to control delta: `0` means no delta (parallel encode), otherwise enable delta window. +/// # Arguments +/// * `raw_entries_rx` - receiver providing entries with metadata +/// * `object_number` - expected total object count for the pack header +/// * `output_dir` - target directory to place the generated files +/// * `window_size` - delta window size; `0` disables delta +/// # Returns +/// * `Ok(())` on success, `GitError` on failure +pub async fn encode_and_output_to_files( + raw_entries_rx: mpsc::Receiver>, + object_number: usize, + output_dir: PathBuf, + window_size: usize, +) -> Result<(), GitError> { + let (pack_tx, mut pack_rx) = mpsc::channel(1024); + let (idx_tx, mut idx_rx) = mpsc::channel(1024); + let mut pack_encoder = PackEncoder::new_with_idx(object_number, window_size, pack_tx, idx_tx); + + // timestamp for temp filename + let now = Utc::now(); + let timestamp = now.format("%Y%m%d%H%M%S%.3f").to_string(); // 例如 20251209235959.123 + let tmp_path = output_dir.join(format!("{}objects.pack.tmp", timestamp)); + let mut pack_file = File::create(&tmp_path).await?; + + let pack_writer = tokio::spawn(async move { + while let Some(chunk) = pack_rx.recv().await { + TokioAsyncWriteExt::write_all(&mut pack_file, &chunk).await?; + } + //pack_file.flush().await?; + TokioAsyncWriteExt::flush(&mut pack_file).await?; + Ok::<(), GitError>(()) + }); + + pack_encoder.encode(raw_entries_rx).await?; + + // 等待 pack 写入完成 + let pack_write_result = pack_writer + .await + .map_err(|e| GitError::PackEncodeError(format!("pack writer task join error: {e}")))?; + pack_write_result?; + + let final_pack_name = + output_dir.join(format!("pack-{}.pack", pack_encoder.final_hash.unwrap())); + let final_idx_name = output_dir.join(format!("pack-{}.idx", pack_encoder.final_hash.unwrap())); + tokio::fs::rename(tmp_path, &final_pack_name).await?; + + let mut idx_file = File::create(&final_idx_name).await?; + let idx_writer = tokio::spawn(async move { + while let Some(chunk) = idx_rx.recv().await { + //idx_file.write_all(&chunk).await?; + TokioAsyncWriteExt::write_all(&mut idx_file, &chunk).await?; + } + //idx_file.flush().await?; + TokioAsyncWriteExt::flush(&mut idx_file).await?; + Ok::<(), GitError>(()) + }); + + //build idx + pack_encoder.encode_idx_file().await?; + + let idx_write_result = idx_writer + .await + .map_err(|e| GitError::PackEncodeError(format!("idx writer task join error: {e}")))?; + idx_write_result?; + + Ok(()) +} + /// Encode header of pack file (12 byte)
/// Content: 'PACK', Version(2), number of objects fn encode_header(object_number: usize) -> Vec { @@ -145,16 +227,6 @@ fn magic_sort(a: &MetaAttached, b: &MetaAttached {} } - // let ord = b.obj_type.to_u8().cmp(&a.obj_type.to_u8()); - // if ord != Ordering::Equal { - // return ord; - // } - - // the hash should be file hash not content hash - // todo the feature need larger refactor - // let ord = b.hash.cmp(&a.hash); - // if ord != Ordering::Equal { return ord; } - let ord = b.inner.data.len().cmp(&a.inner.data.len()); if ord != Ordering::Equal { return ord; @@ -185,7 +257,31 @@ impl PackEncoder { window_size, process_index: 0, // window: VecDeque::with_capacity(window_size), - sender: Some(sender), + pack_sender: Some(sender), + idx_sender: None, + idx_entries: None, + inner_offset: 12, // start after 12 bytes pack header(signature + version + object count). + inner_hash: HashAlgorithm::new(), // introduce different hash algorithm + final_hash: None, + start_encoding: false, + } + } + + pub fn new_with_idx( + object_number: usize, + window_size: usize, + pack_sender: mpsc::Sender>, + idx_sender: mpsc::Sender>, + ) -> Self { + PackEncoder { + //path: Some(path), + object_number, + window_size, + process_index: 0, + // window: VecDeque::with_capacity(window_size), + pack_sender: Some(pack_sender), + idx_sender: Some(idx_sender), + idx_entries: None, inner_offset: 12, // start after 12 bytes pack header(signature + version + object count). inner_hash: HashAlgorithm::new(), // introduce different hash algorithm final_hash: None, @@ -194,11 +290,11 @@ impl PackEncoder { } pub fn drop_sender(&mut self) { - self.sender.take(); // Take the sender out, dropping it + self.pack_sender.take(); // Take the sender out, dropping it } pub async fn send_data(&mut self, data: Vec) { - if let Some(sender) = &self.sender { + if let Some(sender) = &self.pack_sender { sender.send(data).await.unwrap(); } } @@ -219,7 +315,12 @@ impl PackEncoder { &mut self, entry_rx: mpsc::Receiver>, ) -> Result<(), GitError> { - self.inner_encode(entry_rx, false).await + //self.inner_encode(entry_rx, false).await + if self.window_size == 0 { + self.parallel_encode(entry_rx).await + } else { + self.inner_encode(entry_rx, false).await + } } pub async fn encode_with_zstdelta( @@ -325,22 +426,24 @@ impl PackEncoder { ) .map_err(|e| GitError::PackEncodeError(format!("Task join error: {e}")))?; - let all_encoded_data = [ - commit_results - .map_err(|e| GitError::PackEncodeError(format!("Commit encoding error: {e}")))?, - tree_results - .map_err(|e| GitError::PackEncodeError(format!("Tree encoding error: {e}")))?, - blob_results - .map_err(|e| GitError::PackEncodeError(format!("Blob encoding error: {e}")))?, - tag_results - .map_err(|e| GitError::PackEncodeError(format!("Tag encoding error: {e}")))?, - ] - .concat(); - - for data in all_encoded_data { - self.write_all_and_update(&data).await; + let commit_res = commit_results?; + let tree_res = tree_results?; + let blob_res = blob_results?; + let tag_res = tag_results?; + + let mut all_res = vec![commit_res, tree_res, blob_res, tag_res]; + + let mut idx_entries = Vec::new(); + for res in &mut all_res { + for data in res { + data.1.offset = self.inner_offset as u64; + self.write_all_and_update(&data.0).await; + idx_entries.push(data.1.clone()); + } } + self.idx_entries = Some(idx_entries); + // Hash signature let hash_result = self.inner_hash.clone().finalize(); self.final_hash = Some(ObjectHash::from_bytes(&hash_result).unwrap()); @@ -361,10 +464,11 @@ impl PackEncoder { mut bucket: Vec, window_size: usize, enable_zstdelta: bool, - ) -> Result>, GitError> { + ) -> Result, IndexEntry)>, GitError> { let mut current_offset = 0usize; let mut window: VecDeque<(Entry, usize)> = VecDeque::with_capacity(window_size); - let mut res: Vec> = Vec::new(); + let mut res: Vec<(Vec, IndexEntry)> = Vec::new(); + //let mut idx_entries: Vec = Vec::new(); for entry in bucket.iter_mut() { //let entry_for_window = entry.clone(); @@ -465,8 +569,8 @@ impl PackEncoder { if window.len() > window_size { window.pop_front(); } + res.push((obj_data.clone(), IndexEntry::new(entry, 0))); current_offset += obj_data.len(); - res.push(obj_data); } Ok(res) } @@ -493,6 +597,7 @@ impl PackEncoder { )); } + let mut idx_entries = Vec::new(); let batch_size = usize::max(1000, entry_rx.max_capacity() / 10); // A temporary value, not optimized tracing::info!("encode with batch size: {}", batch_size); loop { @@ -514,20 +619,29 @@ impl PackEncoder { } // use `collect` will return result in order, refs: https://github.com/rayon-rs/rayon/issues/551#issuecomment-371657900 - let batch_result: Vec> = time_it!("parallel encode: encode batch", { - batch_entries - .par_iter() - .map(|entry| encode_one_object(entry, None).unwrap()) - .collect() - }); + let batch_result: Vec<(Vec, IndexEntry)> = + time_it!("parallel encode: encode batch", { + batch_entries + .par_iter() + .map(|entry| { + ( + encode_one_object(entry, None).unwrap(), + IndexEntry::new(entry, 0), + ) + }) + .collect() + }); time_it!("parallel encode: write batch", { - for obj_data in batch_result { - self.write_all_and_update(&obj_data).await; + for mut obj_data in batch_result { + obj_data.1.offset = self.inner_offset as u64; + self.write_all_and_update(&obj_data.0).await; + idx_entries.push(obj_data.1); } }); } + tracing::debug!("parallel encode idx entries: {:?}", idx_entries.len()); if self.process_index != self.object_number { panic!( "not all objects are encoded, process:{}, total:{}", @@ -540,6 +654,8 @@ impl PackEncoder { self.final_hash = Some(ObjectHash::from_bytes(&hash_result).unwrap()); self.send_data(hash_result.to_vec()).await; self.drop_sender(); + + self.idx_entries = Some(idx_entries); Ok(()) } @@ -550,6 +666,21 @@ impl PackEncoder { self.send_data(data.to_vec()).await; } + async fn generate_idx_file(&mut self) -> Result<(), GitError> { + let final_hash = self.final_hash + .ok_or(GitError::PackEncodeError("final_hash is missing,The pack file must be generated before the index file is produced.".into()))?; + let idx_entries = self.idx_entries.clone().ok_or(GitError::PackEncodeError( + "The pack file must be generated before the index file is produced.".into(), + ))?; + let mut idx_builder = IdxBuilder::new( + self.object_number, + self.idx_sender.clone().unwrap(), + final_hash, + ); + idx_builder.write_idx(idx_entries).await?; + Ok(()) + } + /// async version of encode, result data will be returned by JoinHandle. /// It will consume PackEncoder, so you can't use it after calling this function. /// when window_size = 0, it executes parallel_encode which retains stream transmission @@ -577,6 +708,18 @@ impl PackEncoder { self.encode_with_zstdelta(rx).await.unwrap() })) } + + pub async fn encode_idx_file(&mut self) -> Result<(), GitError> { + if self.idx_sender.is_none() { + return Err(GitError::PackEncodeError(String::from( + "idx sender is none", + ))); + } + self.generate_idx_file().await?; + // drop sender so downstream consumer can finish + self.idx_sender.take(); + Ok(()) + } } #[cfg(test)] @@ -585,6 +728,7 @@ mod tests { use std::sync::Arc; use std::time::Instant; use std::{io::Cursor, path::PathBuf}; + use tempfile::tempdir; use tokio::sync::Mutex; use super::*; @@ -1271,4 +1415,140 @@ mod tests { // check format check_format(&result); } + + #[tokio::test] + async fn test_pack_encoder_output_to_files() { + let _guard = set_hash_kind_for_test(HashKind::Sha1); + init_logger(); + let entries = get_entries_for_test().await; + let entries_number = entries.lock().await.len(); + + let total_original_size: usize = entries + .lock() + .await + .iter() + .map(|entry| entry.data.len()) + .sum(); + + let start = Instant::now(); + + let (entry_tx, entry_rx) = mpsc::channel::>(100_000); + // 自动创建临时目录,生命周期结束自动删除 + let dir = tempdir().unwrap(); + let path = dir.path(); + + // spawn a task to send entries + tokio::spawn(async move { + let entries = entries.lock().await; + for entry in entries.iter() { + entry_tx + .send(MetaAttached { + inner: entry.clone(), + meta: EntryMeta::new(), + }) + .await + .unwrap(); + } + drop(entry_tx); + tracing::info!("all entries sent"); + }); + + encode_and_output_to_files(entry_rx, entries_number, path.to_path_buf(), 0) + .await + .unwrap(); + + // 验证临时目录下生成的 pack/idx 文件 + let mut pack_file = None; + let mut idx_file = None; + for entry in std::fs::read_dir(path).unwrap() { + let entry = entry.unwrap(); + let file_name = entry.file_name(); + tracing::info!("file name: {:?}", file_name); + let file_name = file_name.to_string_lossy(); + if file_name.ends_with(".pack") { + pack_file = Some(entry.path()); + } else if file_name.ends_with(".idx") { + idx_file = Some(entry.path()); + } + } + let pack_file = pack_file.expect("pack file not generated"); + let idx_file = idx_file.expect("idx file not generated"); + assert!( + pack_file.metadata().unwrap().len() > 0, + "pack file is empty" + ); + assert!(idx_file.metadata().unwrap().len() > 0, "idx file is empty"); + + let duration = start.elapsed(); + tracing::info!("test executed in: {:.2?}", duration); + tracing::info!("original total size: {}", total_original_size); + } + + #[tokio::test] + async fn test_pack_encoder_output_to_files_with_delta() { + let _guard = set_hash_kind_for_test(HashKind::Sha1); + init_logger(); + let entries = get_entries_for_test().await; + let entries_number = entries.lock().await.len(); + + let total_original_size: usize = entries + .lock() + .await + .iter() + .map(|entry| entry.data.len()) + .sum(); + + let start = Instant::now(); + + let (entry_tx, entry_rx) = mpsc::channel::>(100_000); + // 自动创建临时目录,生命周期结束自动删除 + let dir = tempdir().unwrap(); + let path = dir.path(); + + // spawn a task to send entries + tokio::spawn(async move { + let entries = entries.lock().await; + for entry in entries.iter() { + entry_tx + .send(MetaAttached { + inner: entry.clone(), + meta: EntryMeta::new(), + }) + .await + .unwrap(); + } + drop(entry_tx); + tracing::info!("all entries sent"); + }); + + encode_and_output_to_files(entry_rx, entries_number, path.to_path_buf(), 10) + .await + .unwrap(); + + // 验证临时目录下生成的 pack/idx 文件 + let mut pack_file = None; + let mut idx_file = None; + for entry in std::fs::read_dir(path).unwrap() { + let entry = entry.unwrap(); + let file_name = entry.file_name(); + tracing::info!("file name: {:?}", file_name); + let file_name = file_name.to_string_lossy(); + if file_name.ends_with(".pack") { + pack_file = Some(entry.path()); + } else if file_name.ends_with(".idx") { + idx_file = Some(entry.path()); + } + } + let pack_file = pack_file.expect("pack file not generated"); + let idx_file = idx_file.expect("idx file not generated"); + assert!( + pack_file.metadata().unwrap().len() > 0, + "pack file is empty" + ); + assert!(idx_file.metadata().unwrap().len() > 0, "idx file is empty"); + + let duration = start.elapsed(); + tracing::info!("test executed in: {:.2?}", duration); + tracing::info!("original total size: {}", total_original_size); + } } diff --git a/src/internal/pack/index_entry.rs b/src/internal/pack/index_entry.rs new file mode 100644 index 00000000..053a7deb --- /dev/null +++ b/src/internal/pack/index_entry.rs @@ -0,0 +1,47 @@ +use crate::errors::GitError; +use crate::hash::ObjectHash; +use crate::internal::metadata::{EntryMeta, MetaAttached}; +use crate::internal::pack::entry::Entry; +use crc32fast::Hasher; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Debug, Serialize, Deserialize)] +pub struct IndexEntry { + pub hash: ObjectHash, + pub crc32: u32, + pub offset: u64, // 64-bit because offsets may exceed 32-bit +} + +impl TryFrom<&MetaAttached> for IndexEntry { + type Error = GitError; + + fn try_from(pack_entry: &MetaAttached) -> Result { + let offset = pack_entry + .meta + .pack_offset + .ok_or(GitError::ConversionError(String::from( + "empty offset in pack entry", + )))?; + Ok(IndexEntry { + hash: pack_entry.inner.hash, + crc32: calculate_crc32(&pack_entry.inner.data), + offset: offset as u64, + }) + } +} + +impl IndexEntry { + pub fn new(entry: &Entry, offset: usize) -> Self { + IndexEntry { + hash: entry.hash, + crc32: calculate_crc32(&entry.data), + offset: offset as u64, + } + } +} + +fn calculate_crc32(bytes: &[u8]) -> u32 { + let mut hasher = Hasher::new(); + hasher.update(bytes); + hasher.finalize() +} diff --git a/src/internal/pack/mod.rs b/src/internal/pack/mod.rs index a4f71f9a..9351d73a 100644 --- a/src/internal/pack/mod.rs +++ b/src/internal/pack/mod.rs @@ -8,6 +8,8 @@ pub mod channel_reader; pub mod decode; pub mod encode; pub mod entry; +mod index_entry; +mod pack_index; pub mod utils; pub mod waitlist; pub mod wrapper; diff --git a/src/internal/pack/pack_index.rs b/src/internal/pack/pack_index.rs new file mode 100644 index 00000000..a7f2a07f --- /dev/null +++ b/src/internal/pack/pack_index.rs @@ -0,0 +1,312 @@ +use crate::errors::GitError; +use crate::hash::ObjectHash; +use crate::internal::pack::index_entry::IndexEntry; +use crate::utils::HashAlgorithm; +use tokio::sync::mpsc; + +pub struct IdxBuilder { + sender: Option>>, + inner_hash: HashAlgorithm, // idx trailer + object_number: usize, + pack_hash: ObjectHash, +} + +impl IdxBuilder { + pub fn new(object_number: usize, sender: mpsc::Sender>, pack_hash: ObjectHash) -> Self { + Self { + sender: Some(sender), + inner_hash: HashAlgorithm::new(), + object_number, + pack_hash, + } + } + + pub fn drop_sender(&mut self) { + self.sender.take(); // Take the sender out, dropping it + } + + async fn send_data(&mut self, data: Vec) -> Result<(), GitError> { + if let Some(sender) = &self.sender { + self.inner_hash.update(&data); + sender.send(data).await.map_err(|e| { + GitError::IOError(std::io::Error::new( + std::io::ErrorKind::BrokenPipe, + format!("Failed to send idx data: {e}"), + )) + })?; + } + Ok(()) + } + + async fn send_data_without_update_hash(&mut self, data: Vec) -> Result<(), GitError> { + if let Some(sender) = &self.sender { + sender.send(data).await.map_err(|e| { + GitError::IOError(std::io::Error::new( + std::io::ErrorKind::BrokenPipe, + format!("Failed to send idx data: {e}"), + )) + })?; + } + Ok(()) + } + + async fn send_u32(&mut self, v: u32) -> Result<(), GitError> { + self.send_data(v.to_be_bytes().to_vec()).await + } + + /// 发送 u64 值(大端序) + async fn send_u64(&mut self, v: u64) -> Result<(), GitError> { + self.send_data(v.to_be_bytes().to_vec()).await + } + + /// support idx v3 + /// The 4-byte pack index signature: \377t0c + /// + /// 4-byte version number: 3 + /// + /// 4-byte length of the header section, including the signature and version number + /// + /// 4-byte number of objects contained in the pack + /// + /// 4-byte number of object formats in this pack index: 2 + async fn write_header(&mut self) -> Result<(), GitError> { + match &self.inner_hash { + HashAlgorithm::Sha1(_sha1) => { + //magic: FF 74 4F 63 version=2 + let header: [u8; 8] = [0xFF, 0x74, 0x4F, 0x63, 0, 0, 0, 2]; + self.send_data(header.to_vec()).await + } + HashAlgorithm::Sha256(_sha2) => { + // .idx v3 + + let magic: [u8; 4] = [0xFF, 0x74, 0x4F, 0x63]; + let version: u32 = 3; + let header_size: u32 = 20; // magic(4) + version(4) + header_size(4) + object_count(4) + format_count(4) + let format_count: u32 = 1; // in the project ,SHA1 and SHA256 will not appear in the same pack,right?. + + self.send_data(magic.to_vec()).await?; + self.send_u32(version).await?; + self.send_u32(header_size).await?; + self.send_u32(self.object_number as u32).await?; + self.send_u32(format_count).await + } + } + } + + async fn write_fanout(&mut self, entries: &mut [IndexEntry]) -> Result<(), GitError> { + entries.sort_by(|a, b| a.hash.cmp(&b.hash)); + let mut fanout = [0u32; 256]; + for entry in entries.iter() { + fanout[entry.hash.to_data()[0] as usize] += 1; + } + + // 计算累积计数 + for i in 1..fanout.len() { + fanout[i] += fanout[i - 1]; + } + + // 发送所有 256 个累积计数 + for &count in fanout.iter() { + self.send_u32(count).await?; + } + + Ok(()) + } + async fn write_names(&mut self, entries: &Vec) -> Result<(), GitError> { + for e in entries { + self.send_data(e.hash.to_data().clone()).await?; + } + + Ok(()) + } + + async fn write_crc32(&mut self, entries: &Vec) -> Result<(), GitError> { + for e in entries { + self.send_u32(e.crc32).await?; + } + + Ok(()) + } + + async fn write_offsets(&mut self, entries: &Vec) -> Result<(), GitError> { + let mut large = vec![]; + for e in entries { + if e.offset <= 0x7FFF_FFFF { + // normal 31-bit offset + self.send_u32(e.offset as u32).await?; + } else { + // MSB=1 => large offset reference , a label for large offset + let marker = 0x8000_0000 | large.len() as u32; + self.send_u32(marker).await?; + large.push(e.offset); + } + } + for v in large { + self.send_u64(v).await?; + } + Ok(()) + } + + async fn write_trailer(&mut self) -> Result<(), GitError> { + // pack hash + self.send_data_without_update_hash(self.pack_hash.to_data().clone()) + .await?; + + let idx_hash = self.inner_hash.clone().finalize(); + // idx file hash + self.send_data(idx_hash).await?; + Ok(()) + } + + pub async fn write_idx(&mut self, mut entries: Vec) -> Result<(), GitError> { + // check entries length + if entries.len() != self.object_number { + return Err(GitError::ConversionError(format!( + "entries length {} != object_number {}", + entries.len(), + self.object_number + ))); + } + + // write header + self.write_header().await?; + self.write_fanout(&mut entries).await?; + self.write_names(&entries).await?; + self.write_crc32(&entries).await?; + self.write_offsets(&entries).await?; + self.write_trailer().await?; + self.drop_sender(); + Ok(()) + } +} + +#[cfg(test)] +mod tests { + use crate::errors::GitError; + use crate::hash::ObjectHash; + use crate::internal::pack::index_entry::IndexEntry; + use crate::internal::pack::pack_index::IdxBuilder; + use tokio::sync::mpsc; + + /// 构造一个假的哈希(长度必须符合 Sha1 或 Sha256) + fn fake_sha1(n: u8) -> ObjectHash { + ObjectHash::Sha1([n; 20]) + } + + /// 构造 entries (hash 从 1、2、3… 便于 fanout 测试) + fn build_entries_sha1(n: usize) -> Vec { + (0..n) + .map(|i| IndexEntry { + hash: fake_sha1(i as u8), + crc32: 0x12345678 + i as u32, + offset: 0x10 + (i as u64) * 3, + }) + .collect() + } + + #[tokio::test] + async fn test_idx_builder_sha1_basic() -> Result<(), GitError> { + // mock channel 捕获输出 + let (tx, mut rx) = mpsc::channel::>(4096); + + let object_number = 3; + let pack_hash = fake_sha1(0xAA); + + let mut builder = IdxBuilder::new(object_number, tx, pack_hash); + + let entries = build_entries_sha1(object_number); + + // 执行 idx 写入 + builder.write_idx(entries).await?; + + // 收集所有写入的字节片段 + let mut out: Vec = Vec::new(); + while let Some(chunk) = rx.recv().await { + out.extend_from_slice(&chunk); + } + + // ------- 断言 header ------- + // .idx v2 magic: FF 74 4F 63 00000002 + assert_eq!(&out[0..8], &[0xFF, 0x74, 0x4F, 0x63, 0, 0, 0, 2]); + + // ------- fanout ------- + // fanout 共 256 * 4 字节,从 offset 8 开始 + let fanout_start = 8; + let fanout_end = fanout_start + 256 * 4; + let fanout_bytes = &out[fanout_start..fanout_end]; + + // 因为 hash 第一字节是 0,1,2,所以 fanout[0]=1 fanout[1]=2 fanout[2]=3,其余=3 + let mut fanout = [0u32; 256]; + fanout[0] = 1; + fanout[1] = 2; + fanout[2] = 3; + for i in 3..256 { + fanout[i] = 3; + } + + for i in 0..256 { + let idx = i * 4; + let v = u32::from_be_bytes([ + fanout_bytes[idx], + fanout_bytes[idx + 1], + fanout_bytes[idx + 2], + fanout_bytes[idx + 3], + ]); + assert_eq!(v, fanout[i], "fanout mismatch at index {i}"); + } + + // ------- names ------- + let names_start = fanout_end; + let names_end = names_start + object_number * 20; // sha1 = 20 bytes + let names_bytes = &out[names_start..names_end]; + + for i in 0..object_number { + let name = &names_bytes[i * 20..i * 20 + 20]; + assert!(name.iter().all(|b| *b == i as u8)); + } + + // ------- crc32 ------- + let crc_start = names_end; + let crc_end = crc_start + object_number * 4; + let crc_bytes = &out[crc_start..crc_end]; + + for i in 0..object_number { + let expected = 0x12345678 + i as u32; + let actual = u32::from_be_bytes([ + crc_bytes[4 * i], + crc_bytes[4 * i + 1], + crc_bytes[4 * i + 2], + crc_bytes[4 * i + 3], + ]); + assert_eq!(expected, actual); + } + + // ------- offsets ------- + let offset_start = crc_end; + let offset_end = offset_start + object_number * 4; + let offsets_bytes = &out[offset_start..offset_end]; + + for i in 0..object_number { + let expected = 0x10 + (i as u64) * 3; + let actual = u32::from_be_bytes([ + offsets_bytes[i * 4], + offsets_bytes[i * 4 + 1], + offsets_bytes[i * 4 + 2], + offsets_bytes[i * 4 + 3], + ]); + assert_eq!(expected as u32, actual); + } + + // ------- pack hash ------- + let trailer_pack_hash_start = offset_end; + let trailer_pack_hash_end = trailer_pack_hash_start + 20; + let pack_hash_bytes = &out[trailer_pack_hash_start..trailer_pack_hash_end]; + assert!(pack_hash_bytes.iter().all(|b| *b == 0xAA)); + + // ------- idx hash(无法与 git 完全一致,但应该有值) ------- + let idx_hash = &out[trailer_pack_hash_end..trailer_pack_hash_end + 20]; + assert_eq!(idx_hash.len(), 20); + + Ok(()) + } +} diff --git a/src/protocol/core.rs b/src/protocol/core.rs index 2bfe2b27..cdf0108a 100644 --- a/src/protocol/core.rs +++ b/src/protocol/core.rs @@ -64,10 +64,10 @@ pub trait RepositoryAccess: Send + Sync + Clone { ) -> Result { let data = self.get_object(object_hash).await?; let hash = ObjectHash::from_str(object_hash) - .map_err(|e| ProtocolError::repository_error(format!("Invalid hash format: {}", e)))?; + .map_err(|e| ProtocolError::repository_error(format!("Invalid hash format: {e}")))?; crate::internal::object::blob::Blob::from_bytes(&data, hash) - .map_err(|e| ProtocolError::repository_error(format!("Failed to parse blob: {}", e))) + .map_err(|e| ProtocolError::repository_error(format!("Failed to parse blob: {e}"))) } /// Get commit data by hash @@ -80,10 +80,10 @@ pub trait RepositoryAccess: Send + Sync + Clone { ) -> Result { let data = self.get_object(commit_hash).await?; let hash = ObjectHash::from_str(commit_hash) - .map_err(|e| ProtocolError::repository_error(format!("Invalid hash format: {}", e)))?; + .map_err(|e| ProtocolError::repository_error(format!("Invalid hash format: {e}")))?; crate::internal::object::commit::Commit::from_bytes(&data, hash) - .map_err(|e| ProtocolError::repository_error(format!("Failed to parse commit: {}", e))) + .map_err(|e| ProtocolError::repository_error(format!("Failed to parse commit: {e}"))) } /// Get tree data by hash @@ -96,10 +96,10 @@ pub trait RepositoryAccess: Send + Sync + Clone { ) -> Result { let data = self.get_object(tree_hash).await?; let hash = ObjectHash::from_str(tree_hash) - .map_err(|e| ProtocolError::repository_error(format!("Invalid hash format: {}", e)))?; + .map_err(|e| ProtocolError::repository_error(format!("Invalid hash format: {e}")))?; crate::internal::object::tree::Tree::from_bytes(&data, hash) - .map_err(|e| ProtocolError::repository_error(format!("Failed to parse tree: {}", e))) + .map_err(|e| ProtocolError::repository_error(format!("Failed to parse tree: {e}"))) } /// Check if a commit exists @@ -136,7 +136,7 @@ pub trait RepositoryAccess: Send + Sync + Clone { // Store blobs for blob in blobs { let data = blob.to_data().map_err(|e| { - ProtocolError::repository_error(format!("Failed to serialize blob: {}", e)) + ProtocolError::repository_error(format!("Failed to serialize blob: {e}")) })?; self.store_pack_data(&data).await.map_err(|e| { ProtocolError::repository_error(format!("Failed to store blob {}: {}", blob.id, e)) @@ -146,7 +146,7 @@ pub trait RepositoryAccess: Send + Sync + Clone { // Store trees for tree in trees { let data = tree.to_data().map_err(|e| { - ProtocolError::repository_error(format!("Failed to serialize tree: {}", e)) + ProtocolError::repository_error(format!("Failed to serialize tree: {e}")) })?; self.store_pack_data(&data).await.map_err(|e| { ProtocolError::repository_error(format!("Failed to store tree {}: {}", tree.id, e)) @@ -156,7 +156,7 @@ pub trait RepositoryAccess: Send + Sync + Clone { // Store commits for commit in commits { let data = commit.to_data().map_err(|e| { - ProtocolError::repository_error(format!("Failed to serialize commit: {}", e)) + ProtocolError::repository_error(format!("Failed to serialize commit: {e}")) })?; self.store_pack_data(&data).await.map_err(|e| { ProtocolError::repository_error(format!( diff --git a/src/protocol/pack.rs b/src/protocol/pack.rs index e6f5e358..e9f7d722 100644 --- a/src/protocol/pack.rs +++ b/src/protocol/pack.rs @@ -128,7 +128,7 @@ where }, None::, ) - .map_err(|e| ProtocolError::invalid_request(&format!("Failed to decode pack: {}", e)))?; + .map_err(|e| ProtocolError::invalid_request(&format!("Failed to decode pack: {e}")))?; // Extract the results let commits_result = Arc::try_unwrap(commits).unwrap().into_inner().unwrap(); @@ -167,8 +167,7 @@ where .await .map_err(|e| { ProtocolError::repository_error(format!( - "Failed to get commit {}: {}", - commit_hash, e + "Failed to get commit {commit_hash}: {e}" )) })?; @@ -211,7 +210,7 @@ where visited_trees.insert(tree_hash.to_string()); let tree = self.repo_access.get_tree(tree_hash).await.map_err(|e| { - ProtocolError::repository_error(format!("Failed to get tree {}: {}", tree_hash, e)) + ProtocolError::repository_error(format!("Failed to get tree {tree_hash}: {e}")) })?; for entry in &tree.tree_items { @@ -233,8 +232,7 @@ where visited_blobs.insert(entry_hash.clone()); let blob = self.repo_access.get_blob(&entry_hash).await.map_err(|e| { ProtocolError::repository_error(format!( - "Failed to get blob {}: {}", - entry_hash, e + "Failed to get blob {entry_hash}: {e}" )) })?; blobs.push(blob); diff --git a/src/protocol/smart.rs b/src/protocol/smart.rs index 0f2855f7..718fb415 100644 --- a/src/protocol/smart.rs +++ b/src/protocol/smart.rs @@ -86,10 +86,11 @@ where &self, service_type: ServiceType, ) -> Result { - let refs = - self.repo_storage.get_repository_refs().await.map_err(|e| { - ProtocolError::repository_error(format!("Failed to get refs: {}", e)) - })?; + let refs = self + .repo_storage + .get_repository_refs() + .await + .map_err(|e| ProtocolError::repository_error(format!("Failed to get refs: {e}")))?; let hex_len = self.wire_hash_kind.hex_len(); for (name, h) in &refs { if h.len() != hex_len { @@ -208,7 +209,7 @@ where // Check for common commits for hash in &have { let exists = self.repo_storage.commit_exists(hash).await.map_err(|e| { - ProtocolError::repository_error(format!("Failed to check commit existence: {}", e)) + ProtocolError::repository_error(format!("Failed to check commit existence: {e}")) })?; if exists { add_pkt_line_string(&mut protocol_buf, format!("ACK {hash} common\n")); @@ -268,7 +269,7 @@ where while let Some(chunk_result) = futures::StreamExt::next(&mut stream).await { let chunk = chunk_result - .map_err(|e| ProtocolError::invalid_request(&format!("Stream error: {}", e)))?; + .map_err(|e| ProtocolError::invalid_request(&format!("Stream error: {e}")))?; pack_data.extend_from_slice(&chunk); } @@ -283,7 +284,7 @@ where .handle_pack_objects(commits, trees, blobs) .await .map_err(|e| { - ProtocolError::repository_error(format!("Failed to store pack objects: {}", e)) + ProtocolError::repository_error(format!("Failed to store pack objects: {e}")) })?; // Build status report @@ -291,7 +292,7 @@ where add_pkt_line_string(&mut report_status, "unpack ok\n".to_owned()); let mut default_exist = self.repo_storage.has_default_branch().await.map_err(|e| { - ProtocolError::repository_error(format!("Failed to check default branch: {}", e)) + ProtocolError::repository_error(format!("Failed to check default branch: {e}")) })?; // Update refs with proper error handling @@ -336,7 +337,7 @@ where // Post-receive hook self.repo_storage.post_receive_hook().await.map_err(|e| { - ProtocolError::repository_error(format!("Post-receive hook failed: {}", e)) + ProtocolError::repository_error(format!("Post-receive hook failed: {e}")) })?; report_status.put(&PKT_LINE_END_MARKER[..]); diff --git a/src/protocol/types.rs b/src/protocol/types.rs index fb62c674..377fd09c 100644 --- a/src/protocol/types.rs +++ b/src/protocol/types.rs @@ -250,14 +250,14 @@ impl std::fmt::Display for Capability { Capability::NoProgress => write!(f, "no-progress"), Capability::AllowTipSha1InWant => write!(f, "allow-tip-sha1-in-want"), Capability::AllowReachableSha1InWant => write!(f, "allow-reachable-sha1-in-want"), - Capability::PushCert(value) => write!(f, "push-cert={}", value), + Capability::PushCert(value) => write!(f, "push-cert={value}"), Capability::PushOptions => write!(f, "push-options"), - Capability::ObjectFormat(format) => write!(f, "object-format={}", format), - Capability::SessionId(id) => write!(f, "session-id={}", id), - Capability::Filter(filter) => write!(f, "filter={}", filter), - Capability::Symref(symref) => write!(f, "symref={}", symref), - Capability::Agent(agent) => write!(f, "agent={}", agent), - Capability::Unknown(s) => write!(f, "{}", s), + Capability::ObjectFormat(format) => write!(f, "object-format={format}"), + Capability::SessionId(id) => write!(f, "session-id={id}"), + Capability::Filter(filter) => write!(f, "filter={filter}"), + Capability::Symref(symref) => write!(f, "symref={symref}"), + Capability::Agent(agent) => write!(f, "agent={agent}"), + Capability::Unknown(s) => write!(f, "{s}"), } } } diff --git a/third-party/rust/crates/ahash/0.8.12/BUCK b/third-party/rust/crates/ahash/0.8.12/BUCK index ec98a73c..2a89d597 100644 --- a/third-party/rust/crates/ahash/0.8.12/BUCK +++ b/third-party/rust/crates/ahash/0.8.12/BUCK @@ -41,7 +41,7 @@ rust_library( "//third-party/rust/crates/cfg-if/1.0.4:cfg-if", "//third-party/rust/crates/getrandom/0.3.4:getrandom", "//third-party/rust/crates/once_cell/1.21.3:once_cell", - "//third-party/rust/crates/zerocopy/0.8.27:zerocopy", + "//third-party/rust/crates/zerocopy/0.8.31:zerocopy", ], ) diff --git a/third-party/rust/crates/async-stream-impl/0.3.6/BUCK b/third-party/rust/crates/async-stream-impl/0.3.6/BUCK index 673e8426..aa766e73 100644 --- a/third-party/rust/crates/async-stream-impl/0.3.6/BUCK +++ b/third-party/rust/crates/async-stream-impl/0.3.6/BUCK @@ -29,6 +29,6 @@ rust_library( deps = [ "//third-party/rust/crates/proc-macro2/1.0.103:proc-macro2", "//third-party/rust/crates/quote/1.0.42:quote", - "//third-party/rust/crates/syn/2.0.110:syn", + "//third-party/rust/crates/syn/2.0.111:syn", ], ) diff --git a/third-party/rust/crates/async-trait/0.1.89/BUCK b/third-party/rust/crates/async-trait/0.1.89/BUCK index 56c1076d..f842da77 100644 --- a/third-party/rust/crates/async-trait/0.1.89/BUCK +++ b/third-party/rust/crates/async-trait/0.1.89/BUCK @@ -29,6 +29,6 @@ rust_library( deps = [ "//third-party/rust/crates/proc-macro2/1.0.103:proc-macro2", "//third-party/rust/crates/quote/1.0.42:quote", - "//third-party/rust/crates/syn/2.0.110:syn", + "//third-party/rust/crates/syn/2.0.111:syn", ], ) diff --git a/third-party/rust/crates/axum-macros/0.5.0/BUCK b/third-party/rust/crates/axum-macros/0.5.0/BUCK index 668fe9e9..cbf26f18 100644 --- a/third-party/rust/crates/axum-macros/0.5.0/BUCK +++ b/third-party/rust/crates/axum-macros/0.5.0/BUCK @@ -30,6 +30,6 @@ rust_library( deps = [ "//third-party/rust/crates/proc-macro2/1.0.103:proc-macro2", "//third-party/rust/crates/quote/1.0.42:quote", - "//third-party/rust/crates/syn/2.0.110:syn", + "//third-party/rust/crates/syn/2.0.111:syn", ], ) diff --git a/third-party/rust/crates/axum/0.8.7/BUCK b/third-party/rust/crates/axum/0.8.7/BUCK index 701256f0..ac552938 100644 --- a/third-party/rust/crates/axum/0.8.7/BUCK +++ b/third-party/rust/crates/axum/0.8.7/BUCK @@ -47,7 +47,7 @@ rust_library( "//third-party/rust/crates/http-body-util/0.1.3:http-body-util", "//third-party/rust/crates/http-body/1.0.1:http-body", "//third-party/rust/crates/http/1.4.0:http", - "//third-party/rust/crates/hyper-util/0.1.17:hyper-util", + "//third-party/rust/crates/hyper-util/0.1.19:hyper-util", "//third-party/rust/crates/hyper/1.8.1:hyper", "//third-party/rust/crates/itoa/1.0.15:itoa", "//third-party/rust/crates/matchit/0.8.4:matchit", diff --git a/third-party/rust/crates/base64ct/1.8.0/BUCK b/third-party/rust/crates/base64ct/1.8.1/BUCK similarity index 83% rename from third-party/rust/crates/base64ct/1.8.0/BUCK rename to third-party/rust/crates/base64ct/1.8.1/BUCK index 5a857d08..fe91efe1 100644 --- a/third-party/rust/crates/base64ct/1.8.0/BUCK +++ b/third-party/rust/crates/base64ct/1.8.1/BUCK @@ -5,10 +5,10 @@ load("@buckal//:wrapper.bzl", "buildscript_run", "rust_binary", "rust_library") http_archive( name = "base64ct-vendor", - urls = ["https://static.crates.io/crates/base64ct/base64ct-1.8.0.crate"], - sha256 = "55248b47b0caf0546f7988906588779981c43bb1bc9d0c44087278f80cdb44ba", + urls = ["https://static.crates.io/crates/base64ct/base64ct-1.8.1.crate"], + sha256 = "0e050f626429857a27ddccb31e0aca21356bfa709c04041aefddac081a8f068a", type = "tar.gz", - strip_prefix = "base64ct-1.8.0", + strip_prefix = "base64ct-1.8.1", out = "vendor", ) diff --git a/third-party/rust/crates/bindgen/0.72.1/BUCK b/third-party/rust/crates/bindgen/0.72.1/BUCK index a573da53..bfb8350b 100644 --- a/third-party/rust/crates/bindgen/0.72.1/BUCK +++ b/third-party/rust/crates/bindgen/0.72.1/BUCK @@ -42,7 +42,7 @@ rust_library( "//third-party/rust/crates/regex/1.12.2:regex", "//third-party/rust/crates/rustc-hash/2.1.1:rustc-hash", "//third-party/rust/crates/shlex/1.3.0:shlex", - "//third-party/rust/crates/syn/2.0.110:syn", + "//third-party/rust/crates/syn/2.0.111:syn", ], ) diff --git a/third-party/rust/crates/borsh-derive/1.6.0/BUCK b/third-party/rust/crates/borsh-derive/1.6.0/BUCK index 466c5369..828b8945 100644 --- a/third-party/rust/crates/borsh-derive/1.6.0/BUCK +++ b/third-party/rust/crates/borsh-derive/1.6.0/BUCK @@ -35,6 +35,6 @@ rust_library( "//third-party/rust/crates/proc-macro-crate/3.4.0:proc-macro-crate", "//third-party/rust/crates/proc-macro2/1.0.103:proc-macro2", "//third-party/rust/crates/quote/1.0.42:quote", - "//third-party/rust/crates/syn/2.0.110:syn", + "//third-party/rust/crates/syn/2.0.111:syn", ], ) diff --git a/third-party/rust/crates/cc/1.2.45/BUCK b/third-party/rust/crates/cc/1.2.49/BUCK similarity index 76% rename from third-party/rust/crates/cc/1.2.45/BUCK rename to third-party/rust/crates/cc/1.2.49/BUCK index 012ce5c9..e2d5aa57 100644 --- a/third-party/rust/crates/cc/1.2.45/BUCK +++ b/third-party/rust/crates/cc/1.2.49/BUCK @@ -5,10 +5,10 @@ load("@buckal//:wrapper.bzl", "buildscript_run", "rust_binary", "rust_library") http_archive( name = "cc-vendor", - urls = ["https://static.crates.io/crates/cc/cc-1.2.45.crate"], - sha256 = "35900b6c8d709fb1d854671ae27aeaa9eec2f8b01b364e1619a40da3e6fe2afe", + urls = ["https://static.crates.io/crates/cc/cc-1.2.49.crate"], + sha256 = "90583009037521a116abf44494efecd645ba48b6622457080f080b85544e2215", type = "tar.gz", - strip_prefix = "cc-1.2.45", + strip_prefix = "cc-1.2.49", out = "vendor", ) @@ -27,7 +27,7 @@ rust_library( rustc_flags = ["@$(location :cc-manifest[env_flags])"], visibility = ["PUBLIC"], deps = [ - "//third-party/rust/crates/find-msvc-tools/0.1.4:find-msvc-tools", + "//third-party/rust/crates/find-msvc-tools/0.1.5:find-msvc-tools", "//third-party/rust/crates/jobserver/0.1.34:jobserver", "//third-party/rust/crates/libc/0.2.178:libc", "//third-party/rust/crates/shlex/1.3.0:shlex", diff --git a/third-party/rust/crates/derive_more-impl/2.0.1/BUCK b/third-party/rust/crates/derive_more-impl/2.1.0/BUCK similarity index 82% rename from third-party/rust/crates/derive_more-impl/2.0.1/BUCK rename to third-party/rust/crates/derive_more-impl/2.1.0/BUCK index 0f003fb6..0f01be10 100644 --- a/third-party/rust/crates/derive_more-impl/2.0.1/BUCK +++ b/third-party/rust/crates/derive_more-impl/2.1.0/BUCK @@ -5,10 +5,10 @@ load("@buckal//:wrapper.bzl", "buildscript_run", "rust_binary", "rust_library") http_archive( name = "derive_more-impl-vendor", - urls = ["https://static.crates.io/crates/derive_more-impl/derive_more-impl-2.0.1.crate"], - sha256 = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3", + urls = ["https://static.crates.io/crates/derive_more-impl/derive_more-impl-2.1.0.crate"], + sha256 = "6d286bfdaf75e988b4a78e013ecd79c581e06399ab53fbacd2d916c2f904f30b", type = "tar.gz", - strip_prefix = "derive_more-impl-2.0.1", + strip_prefix = "derive_more-impl-2.1.0", out = "vendor", ) @@ -33,7 +33,7 @@ rust_library( deps = [ "//third-party/rust/crates/proc-macro2/1.0.103:proc-macro2", "//third-party/rust/crates/quote/1.0.42:quote", - "//third-party/rust/crates/syn/2.0.110:syn", + "//third-party/rust/crates/syn/2.0.111:syn", "//third-party/rust/crates/unicode-xid/0.2.6:unicode-xid", ], ) diff --git a/third-party/rust/crates/derive_more/2.0.1/BUCK b/third-party/rust/crates/derive_more/2.1.0/BUCK similarity index 78% rename from third-party/rust/crates/derive_more/2.0.1/BUCK rename to third-party/rust/crates/derive_more/2.1.0/BUCK index c58166c0..0700f1a4 100644 --- a/third-party/rust/crates/derive_more/2.0.1/BUCK +++ b/third-party/rust/crates/derive_more/2.1.0/BUCK @@ -5,10 +5,10 @@ load("@buckal//:wrapper.bzl", "buildscript_run", "rust_binary", "rust_library") http_archive( name = "derive_more-vendor", - urls = ["https://static.crates.io/crates/derive_more/derive_more-2.0.1.crate"], - sha256 = "093242cf7570c207c83073cf82f79706fe7b8317e98620a47d5be7c3d8497678", + urls = ["https://static.crates.io/crates/derive_more/derive_more-2.1.0.crate"], + sha256 = "10b768e943bed7bf2cab53df09f4bc34bfd217cdb57d971e769874c9a6710618", type = "tar.gz", - strip_prefix = "derive_more-2.0.1", + strip_prefix = "derive_more-2.1.0", out = "vendor", ) @@ -30,5 +30,5 @@ rust_library( ], rustc_flags = ["@$(location :derive_more-manifest[env_flags])"], visibility = ["PUBLIC"], - deps = ["//third-party/rust/crates/derive_more-impl/2.0.1:derive_more-impl"], + deps = ["//third-party/rust/crates/derive_more-impl/2.1.0:derive_more-impl"], ) diff --git a/third-party/rust/crates/displaydoc/0.2.5/BUCK b/third-party/rust/crates/displaydoc/0.2.5/BUCK index 65702f2e..690f7783 100644 --- a/third-party/rust/crates/displaydoc/0.2.5/BUCK +++ b/third-party/rust/crates/displaydoc/0.2.5/BUCK @@ -29,6 +29,6 @@ rust_library( deps = [ "//third-party/rust/crates/proc-macro2/1.0.103:proc-macro2", "//third-party/rust/crates/quote/1.0.42:quote", - "//third-party/rust/crates/syn/2.0.110:syn", + "//third-party/rust/crates/syn/2.0.111:syn", ], ) diff --git a/third-party/rust/crates/env_logger/0.8.4/BUCK b/third-party/rust/crates/env_logger/0.8.4/BUCK index 128eb9fe..a39eabd2 100644 --- a/third-party/rust/crates/env_logger/0.8.4/BUCK +++ b/third-party/rust/crates/env_logger/0.8.4/BUCK @@ -27,7 +27,7 @@ rust_library( rustc_flags = ["@$(location :env_logger-manifest[env_flags])"], visibility = ["PUBLIC"], deps = [ - "//third-party/rust/crates/log/0.4.28:log", + "//third-party/rust/crates/log/0.4.29:log", "//third-party/rust/crates/regex/1.12.2:regex", ], ) diff --git a/third-party/rust/crates/find-msvc-tools/0.1.4/BUCK b/third-party/rust/crates/find-msvc-tools/0.1.5/BUCK similarity index 82% rename from third-party/rust/crates/find-msvc-tools/0.1.4/BUCK rename to third-party/rust/crates/find-msvc-tools/0.1.5/BUCK index 74ee5277..aa7aecca 100644 --- a/third-party/rust/crates/find-msvc-tools/0.1.4/BUCK +++ b/third-party/rust/crates/find-msvc-tools/0.1.5/BUCK @@ -5,10 +5,10 @@ load("@buckal//:wrapper.bzl", "buildscript_run", "rust_binary", "rust_library") http_archive( name = "find-msvc-tools-vendor", - urls = ["https://static.crates.io/crates/find-msvc-tools/find-msvc-tools-0.1.4.crate"], - sha256 = "52051878f80a721bb68ebfbc930e07b65ba72f2da88968ea5c06fd6ca3d3a127", + urls = ["https://static.crates.io/crates/find-msvc-tools/find-msvc-tools-0.1.5.crate"], + sha256 = "3a3076410a55c90011c298b04d0cfa770b00fa04e1e3c97d3f6c9de105a03844", type = "tar.gz", - strip_prefix = "find-msvc-tools-0.1.4", + strip_prefix = "find-msvc-tools-0.1.5", out = "vendor", ) diff --git a/third-party/rust/crates/flate2/1.1.7/BUCK b/third-party/rust/crates/flate2/1.1.5/BUCK similarity index 84% rename from third-party/rust/crates/flate2/1.1.7/BUCK rename to third-party/rust/crates/flate2/1.1.5/BUCK index ea2a695c..9b712a85 100644 --- a/third-party/rust/crates/flate2/1.1.7/BUCK +++ b/third-party/rust/crates/flate2/1.1.5/BUCK @@ -5,10 +5,10 @@ load("@buckal//:wrapper.bzl", "buildscript_run", "rust_binary", "rust_library") http_archive( name = "flate2-vendor", - urls = ["https://static.crates.io/crates/flate2/flate2-1.1.7.crate"], - sha256 = "a2152dbcb980c05735e2a651d96011320a949eb31a0c8b38b72645ce97dec676", + urls = ["https://static.crates.io/crates/flate2/flate2-1.1.5.crate"], + sha256 = "bfe33edd8e85a12a67454e37f8c75e730830d83e313556ab9ebf9ee7fbeb3bfb", type = "tar.gz", - strip_prefix = "flate2-1.1.7", + strip_prefix = "flate2-1.1.5", out = "vendor", ) diff --git a/third-party/rust/crates/futures-macro/0.3.31/BUCK b/third-party/rust/crates/futures-macro/0.3.31/BUCK index f584a7fe..4ce724db 100644 --- a/third-party/rust/crates/futures-macro/0.3.31/BUCK +++ b/third-party/rust/crates/futures-macro/0.3.31/BUCK @@ -29,6 +29,6 @@ rust_library( deps = [ "//third-party/rust/crates/proc-macro2/1.0.103:proc-macro2", "//third-party/rust/crates/quote/1.0.42:quote", - "//third-party/rust/crates/syn/2.0.110:syn", + "//third-party/rust/crates/syn/2.0.111:syn", ], ) diff --git a/third-party/rust/crates/hyper-util/0.1.17/BUCK b/third-party/rust/crates/hyper-util/0.1.19/BUCK similarity index 90% rename from third-party/rust/crates/hyper-util/0.1.17/BUCK rename to third-party/rust/crates/hyper-util/0.1.19/BUCK index 58ebefc3..bfd842be 100644 --- a/third-party/rust/crates/hyper-util/0.1.17/BUCK +++ b/third-party/rust/crates/hyper-util/0.1.19/BUCK @@ -5,10 +5,10 @@ load("@buckal//:wrapper.bzl", "buildscript_run", "rust_binary", "rust_library") http_archive( name = "hyper-util-vendor", - urls = ["https://static.crates.io/crates/hyper-util/hyper-util-0.1.17.crate"], - sha256 = "3c6995591a8f1380fcb4ba966a252a4b29188d51d2b89e3a252f5305be65aea8", + urls = ["https://static.crates.io/crates/hyper-util/hyper-util-0.1.19.crate"], + sha256 = "727805d60e7938b76b826a6ef209eb70eaa1812794f9424d4a4e2d740662df5f", type = "tar.gz", - strip_prefix = "hyper-util-0.1.17", + strip_prefix = "hyper-util-0.1.19", out = "vendor", ) diff --git a/third-party/rust/crates/iana-time-zone-haiku/0.1.2/BUCK b/third-party/rust/crates/iana-time-zone-haiku/0.1.2/BUCK index 1abf5bd0..f192920b 100644 --- a/third-party/rust/crates/iana-time-zone-haiku/0.1.2/BUCK +++ b/third-party/rust/crates/iana-time-zone-haiku/0.1.2/BUCK @@ -41,7 +41,7 @@ rust_binary( edition = "2018", rustc_flags = ["@$(location :iana-time-zone-haiku-manifest[env_flags])"], visibility = [], - deps = ["//third-party/rust/crates/cc/1.2.45:cc"], + deps = ["//third-party/rust/crates/cc/1.2.49:cc"], ) buildscript_run( diff --git a/third-party/rust/crates/inherent/1.0.13/BUCK b/third-party/rust/crates/inherent/1.0.13/BUCK index a2ab603c..2f2051e2 100644 --- a/third-party/rust/crates/inherent/1.0.13/BUCK +++ b/third-party/rust/crates/inherent/1.0.13/BUCK @@ -29,6 +29,6 @@ rust_library( deps = [ "//third-party/rust/crates/proc-macro2/1.0.103:proc-macro2", "//third-party/rust/crates/quote/1.0.42:quote", - "//third-party/rust/crates/syn/2.0.110:syn", + "//third-party/rust/crates/syn/2.0.111:syn", ], ) diff --git a/third-party/rust/crates/js-sys/0.3.82/BUCK b/third-party/rust/crates/js-sys/0.3.83/BUCK similarity index 80% rename from third-party/rust/crates/js-sys/0.3.82/BUCK rename to third-party/rust/crates/js-sys/0.3.83/BUCK index 2af75aee..e8da9640 100644 --- a/third-party/rust/crates/js-sys/0.3.82/BUCK +++ b/third-party/rust/crates/js-sys/0.3.83/BUCK @@ -5,10 +5,10 @@ load("@buckal//:wrapper.bzl", "buildscript_run", "rust_binary", "rust_library") http_archive( name = "js-sys-vendor", - urls = ["https://static.crates.io/crates/js-sys/js-sys-0.3.82.crate"], - sha256 = "b011eec8cc36da2aab2d5cff675ec18454fad408585853910a202391cf9f8e65", + urls = ["https://static.crates.io/crates/js-sys/js-sys-0.3.83.crate"], + sha256 = "464a3709c7f55f1f721e5389aa6ea4e3bc6aba669353300af094b29ffbdde1d8", type = "tar.gz", - strip_prefix = "js-sys-0.3.82", + strip_prefix = "js-sys-0.3.83", out = "vendor", ) @@ -31,6 +31,6 @@ rust_library( visibility = ["PUBLIC"], deps = [ "//third-party/rust/crates/once_cell/1.21.3:once_cell", - "//third-party/rust/crates/wasm-bindgen/0.2.105:wasm-bindgen", + "//third-party/rust/crates/wasm-bindgen/0.2.106:wasm-bindgen", ], ) diff --git a/third-party/rust/crates/libsqlite3-sys/0.30.1/BUCK b/third-party/rust/crates/libsqlite3-sys/0.30.1/BUCK index 30f47366..f5933b7c 100644 --- a/third-party/rust/crates/libsqlite3-sys/0.30.1/BUCK +++ b/third-party/rust/crates/libsqlite3-sys/0.30.1/BUCK @@ -58,7 +58,7 @@ rust_binary( rustc_flags = ["@$(location :libsqlite3-sys-manifest[env_flags])"], visibility = [], deps = [ - "//third-party/rust/crates/cc/1.2.45:cc", + "//third-party/rust/crates/cc/1.2.49:cc", "//third-party/rust/crates/pkg-config/0.3.32:pkg-config", "//third-party/rust/crates/vcpkg/0.2.15:vcpkg", ], diff --git a/third-party/rust/crates/libz-sys/1.1.23/BUCK b/third-party/rust/crates/libz-sys/1.1.23/BUCK index 149e47c4..acad57f2 100644 --- a/third-party/rust/crates/libz-sys/1.1.23/BUCK +++ b/third-party/rust/crates/libz-sys/1.1.23/BUCK @@ -42,7 +42,7 @@ rust_binary( rustc_flags = ["@$(location :libz-sys-manifest[env_flags])"], visibility = [], deps = [ - "//third-party/rust/crates/cc/1.2.45:cc", + "//third-party/rust/crates/cc/1.2.49:cc", "//third-party/rust/crates/pkg-config/0.3.32:pkg-config", "//third-party/rust/crates/vcpkg/0.2.15:vcpkg", ], diff --git a/third-party/rust/crates/log/0.4.28/BUCK b/third-party/rust/crates/log/0.4.29/BUCK similarity index 76% rename from third-party/rust/crates/log/0.4.28/BUCK rename to third-party/rust/crates/log/0.4.29/BUCK index d83d400a..c699422b 100644 --- a/third-party/rust/crates/log/0.4.28/BUCK +++ b/third-party/rust/crates/log/0.4.29/BUCK @@ -5,10 +5,10 @@ load("@buckal//:wrapper.bzl", "buildscript_run", "rust_binary", "rust_library") http_archive( name = "log-vendor", - urls = ["https://static.crates.io/crates/log/log-0.4.28.crate"], - sha256 = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432", + urls = ["https://static.crates.io/crates/log/log-0.4.29.crate"], + sha256 = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897", type = "tar.gz", - strip_prefix = "log-0.4.28", + strip_prefix = "log-0.4.29", out = "vendor", ) diff --git a/third-party/rust/crates/miniz_oxide/0.8.9/BUCK b/third-party/rust/crates/miniz_oxide/0.8.9/BUCK index 8e48c659..351d5144 100644 --- a/third-party/rust/crates/miniz_oxide/0.8.9/BUCK +++ b/third-party/rust/crates/miniz_oxide/0.8.9/BUCK @@ -32,6 +32,6 @@ rust_library( visibility = ["PUBLIC"], deps = [ "//third-party/rust/crates/adler2/2.0.1:adler2", - "//third-party/rust/crates/simd-adler32/0.3.7:simd-adler32", + "//third-party/rust/crates/simd-adler32/0.3.8:simd-adler32", ], ) diff --git a/third-party/rust/crates/mio/1.1.0/BUCK b/third-party/rust/crates/mio/1.1.1/BUCK similarity index 79% rename from third-party/rust/crates/mio/1.1.0/BUCK rename to third-party/rust/crates/mio/1.1.1/BUCK index 7313a686..17103720 100644 --- a/third-party/rust/crates/mio/1.1.0/BUCK +++ b/third-party/rust/crates/mio/1.1.1/BUCK @@ -5,10 +5,10 @@ load("@buckal//:wrapper.bzl", "buildscript_run", "rust_binary", "rust_library") http_archive( name = "mio-vendor", - urls = ["https://static.crates.io/crates/mio/mio-1.1.0.crate"], - sha256 = "69d83b0086dc8ecf3ce9ae2874b2d1290252e2a30720bea58a5c6639b0092873", + urls = ["https://static.crates.io/crates/mio/mio-1.1.1.crate"], + sha256 = "a69bcab0ad47271a0234d9422b131806bf3968021e5dc9328caf2d4cd58557fc", type = "tar.gz", - strip_prefix = "mio-1.1.0", + strip_prefix = "mio-1.1.1", out = "vendor", ) diff --git a/third-party/rust/crates/ouroboros_macro/0.18.5/BUCK b/third-party/rust/crates/ouroboros_macro/0.18.5/BUCK index d5a128f9..1e7602d3 100644 --- a/third-party/rust/crates/ouroboros_macro/0.18.5/BUCK +++ b/third-party/rust/crates/ouroboros_macro/0.18.5/BUCK @@ -31,6 +31,6 @@ rust_library( "//third-party/rust/crates/proc-macro2-diagnostics/0.10.1:proc-macro2-diagnostics", "//third-party/rust/crates/proc-macro2/1.0.103:proc-macro2", "//third-party/rust/crates/quote/1.0.42:quote", - "//third-party/rust/crates/syn/2.0.110:syn", + "//third-party/rust/crates/syn/2.0.111:syn", ], ) diff --git a/third-party/rust/crates/pem-rfc7468/0.7.0/BUCK b/third-party/rust/crates/pem-rfc7468/0.7.0/BUCK index d478a925..e444e599 100644 --- a/third-party/rust/crates/pem-rfc7468/0.7.0/BUCK +++ b/third-party/rust/crates/pem-rfc7468/0.7.0/BUCK @@ -26,5 +26,5 @@ rust_library( features = ["alloc"], rustc_flags = ["@$(location :pem-rfc7468-manifest[env_flags])"], visibility = ["PUBLIC"], - deps = ["//third-party/rust/crates/base64ct/1.8.0:base64ct"], + deps = ["//third-party/rust/crates/base64ct/1.8.1:base64ct"], ) diff --git a/third-party/rust/crates/ppv-lite86/0.2.21/BUCK b/third-party/rust/crates/ppv-lite86/0.2.21/BUCK index c365bb21..0607791b 100644 --- a/third-party/rust/crates/ppv-lite86/0.2.21/BUCK +++ b/third-party/rust/crates/ppv-lite86/0.2.21/BUCK @@ -29,5 +29,5 @@ rust_library( ], rustc_flags = ["@$(location :ppv-lite86-manifest[env_flags])"], visibility = ["PUBLIC"], - deps = ["//third-party/rust/crates/zerocopy/0.8.27:zerocopy"], + deps = ["//third-party/rust/crates/zerocopy/0.8.31:zerocopy"], ) diff --git a/third-party/rust/crates/proc-macro-crate/3.4.0/BUCK b/third-party/rust/crates/proc-macro-crate/3.4.0/BUCK index 24c85f10..ad60e740 100644 --- a/third-party/rust/crates/proc-macro-crate/3.4.0/BUCK +++ b/third-party/rust/crates/proc-macro-crate/3.4.0/BUCK @@ -25,5 +25,5 @@ rust_library( edition = "2021", rustc_flags = ["@$(location :proc-macro-crate-manifest[env_flags])"], visibility = ["PUBLIC"], - deps = ["//third-party/rust/crates/toml_edit/0.23.7:toml_edit"], + deps = ["//third-party/rust/crates/toml_edit/0.23.9:toml_edit"], ) diff --git a/third-party/rust/crates/proc-macro-error2/2.0.1/BUCK b/third-party/rust/crates/proc-macro-error2/2.0.1/BUCK index 00b27d43..c1d8ec40 100644 --- a/third-party/rust/crates/proc-macro-error2/2.0.1/BUCK +++ b/third-party/rust/crates/proc-macro-error2/2.0.1/BUCK @@ -33,6 +33,6 @@ rust_library( "//third-party/rust/crates/proc-macro-error-attr2/2.0.0:proc-macro-error-attr2", "//third-party/rust/crates/proc-macro2/1.0.103:proc-macro2", "//third-party/rust/crates/quote/1.0.42:quote", - "//third-party/rust/crates/syn/2.0.110:syn", + "//third-party/rust/crates/syn/2.0.111:syn", ], ) diff --git a/third-party/rust/crates/proc-macro2-diagnostics/0.10.1/BUCK b/third-party/rust/crates/proc-macro2-diagnostics/0.10.1/BUCK index 5f9d98f0..09ea663d 100644 --- a/third-party/rust/crates/proc-macro2-diagnostics/0.10.1/BUCK +++ b/third-party/rust/crates/proc-macro2-diagnostics/0.10.1/BUCK @@ -39,7 +39,7 @@ rust_library( deps = [ "//third-party/rust/crates/proc-macro2/1.0.103:proc-macro2", "//third-party/rust/crates/quote/1.0.42:quote", - "//third-party/rust/crates/syn/2.0.110:syn", + "//third-party/rust/crates/syn/2.0.111:syn", "//third-party/rust/crates/yansi/1.0.1:yansi", ], ) diff --git a/third-party/rust/crates/quickcheck/1.0.3/BUCK b/third-party/rust/crates/quickcheck/1.0.3/BUCK index f39886ba..d5538167 100644 --- a/third-party/rust/crates/quickcheck/1.0.3/BUCK +++ b/third-party/rust/crates/quickcheck/1.0.3/BUCK @@ -34,7 +34,7 @@ rust_library( visibility = ["PUBLIC"], deps = [ "//third-party/rust/crates/env_logger/0.8.4:env_logger", - "//third-party/rust/crates/log/0.4.28:log", + "//third-party/rust/crates/log/0.4.29:log", "//third-party/rust/crates/rand/0.8.5:rand", ], ) diff --git a/third-party/rust/crates/rustc_version/0.4.1/BUCK b/third-party/rust/crates/rustc_version/0.4.1/BUCK new file mode 100644 index 00000000..f4ec8813 --- /dev/null +++ b/third-party/rust/crates/rustc_version/0.4.1/BUCK @@ -0,0 +1,29 @@ +# @generated by `cargo buckal` + +load("@buckal//:cargo_manifest.bzl", "cargo_manifest") +load("@buckal//:wrapper.bzl", "buildscript_run", "rust_binary", "rust_library") + +http_archive( + name = "rustc_version-vendor", + urls = ["https://static.crates.io/crates/rustc_version/rustc_version-0.4.1.crate"], + sha256 = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92", + type = "tar.gz", + strip_prefix = "rustc_version-0.4.1", + out = "vendor", +) + +cargo_manifest( + name = "rustc_version-manifest", + vendor = ":rustc_version-vendor", +) + +rust_library( + name = "rustc_version", + srcs = [":rustc_version-vendor"], + crate = "rustc_version", + crate_root = "vendor/src/lib.rs", + edition = "2018", + rustc_flags = ["@$(location :rustc_version-manifest[env_flags])"], + visibility = ["PUBLIC"], + deps = ["//third-party/rust/crates/semver/1.0.27:semver"], +) diff --git a/third-party/rust/crates/sea-bae/0.2.1/BUCK b/third-party/rust/crates/sea-bae/0.2.1/BUCK index 4fa12179..0bb07209 100644 --- a/third-party/rust/crates/sea-bae/0.2.1/BUCK +++ b/third-party/rust/crates/sea-bae/0.2.1/BUCK @@ -31,6 +31,6 @@ rust_library( "//third-party/rust/crates/proc-macro-error2/2.0.1:proc-macro-error2", "//third-party/rust/crates/proc-macro2/1.0.103:proc-macro2", "//third-party/rust/crates/quote/1.0.42:quote", - "//third-party/rust/crates/syn/2.0.110:syn", + "//third-party/rust/crates/syn/2.0.111:syn", ], ) diff --git a/third-party/rust/crates/sea-orm-macros/1.1.19/BUCK b/third-party/rust/crates/sea-orm-macros/1.1.19/BUCK index 73217ef3..c433a796 100644 --- a/third-party/rust/crates/sea-orm-macros/1.1.19/BUCK +++ b/third-party/rust/crates/sea-orm-macros/1.1.19/BUCK @@ -38,7 +38,7 @@ rust_library( "//third-party/rust/crates/heck/0.5.0:heck", "//third-party/rust/crates/proc-macro2/1.0.103:proc-macro2", "//third-party/rust/crates/quote/1.0.42:quote", - "//third-party/rust/crates/syn/2.0.110:syn", + "//third-party/rust/crates/syn/2.0.111:syn", "//third-party/rust/crates/unicode-ident/1.0.22:unicode-ident", ], ) diff --git a/third-party/rust/crates/sea-orm/1.1.19/BUCK b/third-party/rust/crates/sea-orm/1.1.19/BUCK index fd375577..aedb6327 100644 --- a/third-party/rust/crates/sea-orm/1.1.19/BUCK +++ b/third-party/rust/crates/sea-orm/1.1.19/BUCK @@ -50,9 +50,9 @@ rust_library( "//third-party/rust/crates/async-trait/0.1.89:async-trait", "//third-party/rust/crates/bigdecimal/0.4.9:bigdecimal", "//third-party/rust/crates/chrono/0.4.42:chrono", - "//third-party/rust/crates/derive_more/2.0.1:derive_more", + "//third-party/rust/crates/derive_more/2.1.0:derive_more", "//third-party/rust/crates/futures-util/0.3.31:futures-util", - "//third-party/rust/crates/log/0.4.28:log", + "//third-party/rust/crates/log/0.4.29:log", "//third-party/rust/crates/ouroboros/0.18.5:ouroboros", "//third-party/rust/crates/pgvector/0.4.1:pgvector", "//third-party/rust/crates/rust_decimal/1.39.0:rust_decimal", diff --git a/third-party/rust/crates/semver/1.0.27/BUCK b/third-party/rust/crates/semver/1.0.27/BUCK new file mode 100644 index 00000000..aa1cfbfa --- /dev/null +++ b/third-party/rust/crates/semver/1.0.27/BUCK @@ -0,0 +1,32 @@ +# @generated by `cargo buckal` + +load("@buckal//:cargo_manifest.bzl", "cargo_manifest") +load("@buckal//:wrapper.bzl", "buildscript_run", "rust_binary", "rust_library") + +http_archive( + name = "semver-vendor", + urls = ["https://static.crates.io/crates/semver/semver-1.0.27.crate"], + sha256 = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2", + type = "tar.gz", + strip_prefix = "semver-1.0.27", + out = "vendor", +) + +cargo_manifest( + name = "semver-manifest", + vendor = ":semver-vendor", +) + +rust_library( + name = "semver", + srcs = [":semver-vendor"], + crate = "semver", + crate_root = "vendor/src/lib.rs", + edition = "2018", + features = [ + "default", + "std", + ], + rustc_flags = ["@$(location :semver-manifest[env_flags])"], + visibility = ["PUBLIC"], +) diff --git a/third-party/rust/crates/serde_derive/1.0.228/BUCK b/third-party/rust/crates/serde_derive/1.0.228/BUCK index 6f98c3fc..c8c66d89 100644 --- a/third-party/rust/crates/serde_derive/1.0.228/BUCK +++ b/third-party/rust/crates/serde_derive/1.0.228/BUCK @@ -30,6 +30,6 @@ rust_library( deps = [ "//third-party/rust/crates/proc-macro2/1.0.103:proc-macro2", "//third-party/rust/crates/quote/1.0.42:quote", - "//third-party/rust/crates/syn/2.0.110:syn", + "//third-party/rust/crates/syn/2.0.111:syn", ], ) diff --git a/third-party/rust/crates/signal-hook-registry/1.4.6/BUCK b/third-party/rust/crates/signal-hook-registry/1.4.7/BUCK similarity index 82% rename from third-party/rust/crates/signal-hook-registry/1.4.6/BUCK rename to third-party/rust/crates/signal-hook-registry/1.4.7/BUCK index b017bee3..6fef5042 100644 --- a/third-party/rust/crates/signal-hook-registry/1.4.6/BUCK +++ b/third-party/rust/crates/signal-hook-registry/1.4.7/BUCK @@ -5,10 +5,10 @@ load("@buckal//:wrapper.bzl", "buildscript_run", "rust_binary", "rust_library") http_archive( name = "signal-hook-registry-vendor", - urls = ["https://static.crates.io/crates/signal-hook-registry/signal-hook-registry-1.4.6.crate"], - sha256 = "b2a4719bff48cee6b39d12c020eeb490953ad2443b7055bd0b21fca26bd8c28b", + urls = ["https://static.crates.io/crates/signal-hook-registry/signal-hook-registry-1.4.7.crate"], + sha256 = "7664a098b8e616bdfcc2dc0e9ac44eb231eedf41db4e9fe95d8d32ec728dedad", type = "tar.gz", - strip_prefix = "signal-hook-registry-1.4.6", + strip_prefix = "signal-hook-registry-1.4.7", out = "vendor", ) diff --git a/third-party/rust/crates/simd-adler32/0.3.7/BUCK b/third-party/rust/crates/simd-adler32/0.3.8/BUCK similarity index 82% rename from third-party/rust/crates/simd-adler32/0.3.7/BUCK rename to third-party/rust/crates/simd-adler32/0.3.8/BUCK index 67fa6bf4..5fcdd706 100644 --- a/third-party/rust/crates/simd-adler32/0.3.7/BUCK +++ b/third-party/rust/crates/simd-adler32/0.3.8/BUCK @@ -5,10 +5,10 @@ load("@buckal//:wrapper.bzl", "buildscript_run", "rust_binary", "rust_library") http_archive( name = "simd-adler32-vendor", - urls = ["https://static.crates.io/crates/simd-adler32/simd-adler32-0.3.7.crate"], - sha256 = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe", + urls = ["https://static.crates.io/crates/simd-adler32/simd-adler32-0.3.8.crate"], + sha256 = "e320a6c5ad31d271ad523dcf3ad13e2767ad8b1cb8f047f75a8aeaf8da139da2", type = "tar.gz", - strip_prefix = "simd-adler32-0.3.7", + strip_prefix = "simd-adler32-0.3.8", out = "vendor", ) diff --git a/third-party/rust/crates/spki/0.7.3/BUCK b/third-party/rust/crates/spki/0.7.3/BUCK index fff70cc7..f1cae7e9 100644 --- a/third-party/rust/crates/spki/0.7.3/BUCK +++ b/third-party/rust/crates/spki/0.7.3/BUCK @@ -31,7 +31,7 @@ rust_library( rustc_flags = ["@$(location :spki-manifest[env_flags])"], visibility = ["PUBLIC"], deps = [ - "//third-party/rust/crates/base64ct/1.8.0:base64ct", + "//third-party/rust/crates/base64ct/1.8.1:base64ct", "//third-party/rust/crates/der/0.7.10:der", ], ) diff --git a/third-party/rust/crates/sqlx-core/0.8.6/BUCK b/third-party/rust/crates/sqlx-core/0.8.6/BUCK index 535b0f1a..66ee304f 100644 --- a/third-party/rust/crates/sqlx-core/0.8.6/BUCK +++ b/third-party/rust/crates/sqlx-core/0.8.6/BUCK @@ -57,7 +57,7 @@ rust_library( "//third-party/rust/crates/hashbrown/0.15.5:hashbrown", "//third-party/rust/crates/hashlink/0.10.0:hashlink", "//third-party/rust/crates/indexmap/2.12.1:indexmap", - "//third-party/rust/crates/log/0.4.28:log", + "//third-party/rust/crates/log/0.4.29:log", "//third-party/rust/crates/memchr/2.7.6:memchr", "//third-party/rust/crates/once_cell/1.21.3:once_cell", "//third-party/rust/crates/percent-encoding/2.3.2:percent-encoding", diff --git a/third-party/rust/crates/sqlx-macros-core/0.8.6/BUCK b/third-party/rust/crates/sqlx-macros-core/0.8.6/BUCK index f30eb42a..536d02ac 100644 --- a/third-party/rust/crates/sqlx-macros-core/0.8.6/BUCK +++ b/third-party/rust/crates/sqlx-macros-core/0.8.6/BUCK @@ -52,7 +52,7 @@ rust_library( "//third-party/rust/crates/sqlx-mysql/0.8.6:sqlx-mysql", "//third-party/rust/crates/sqlx-postgres/0.8.6:sqlx-postgres", "//third-party/rust/crates/sqlx-sqlite/0.8.6:sqlx-sqlite", - "//third-party/rust/crates/syn/2.0.110:syn", + "//third-party/rust/crates/syn/2.0.111:syn", "//third-party/rust/crates/url/2.5.7:url", ], ) diff --git a/third-party/rust/crates/sqlx-macros/0.8.6/BUCK b/third-party/rust/crates/sqlx-macros/0.8.6/BUCK index cb5132b4..f6cb3099 100644 --- a/third-party/rust/crates/sqlx-macros/0.8.6/BUCK +++ b/third-party/rust/crates/sqlx-macros/0.8.6/BUCK @@ -41,6 +41,6 @@ rust_library( "//third-party/rust/crates/quote/1.0.42:quote", "//third-party/rust/crates/sqlx-core/0.8.6:sqlx-core", "//third-party/rust/crates/sqlx-macros-core/0.8.6:sqlx-macros-core", - "//third-party/rust/crates/syn/2.0.110:syn", + "//third-party/rust/crates/syn/2.0.111:syn", ], ) diff --git a/third-party/rust/crates/sqlx-mysql/0.8.6/BUCK b/third-party/rust/crates/sqlx-mysql/0.8.6/BUCK index e2edd0e0..fbe445f3 100644 --- a/third-party/rust/crates/sqlx-mysql/0.8.6/BUCK +++ b/third-party/rust/crates/sqlx-mysql/0.8.6/BUCK @@ -60,7 +60,7 @@ rust_library( "//third-party/rust/crates/hkdf/0.12.4:hkdf", "//third-party/rust/crates/hmac/0.12.1:hmac", "//third-party/rust/crates/itoa/1.0.15:itoa", - "//third-party/rust/crates/log/0.4.28:log", + "//third-party/rust/crates/log/0.4.29:log", "//third-party/rust/crates/memchr/2.7.6:memchr", "//third-party/rust/crates/once_cell/1.21.3:once_cell", "//third-party/rust/crates/percent-encoding/2.3.2:percent-encoding", diff --git a/third-party/rust/crates/sqlx-postgres/0.8.6/BUCK b/third-party/rust/crates/sqlx-postgres/0.8.6/BUCK index 5391f8b8..4787a547 100644 --- a/third-party/rust/crates/sqlx-postgres/0.8.6/BUCK +++ b/third-party/rust/crates/sqlx-postgres/0.8.6/BUCK @@ -55,7 +55,7 @@ rust_library( "//third-party/rust/crates/hmac/0.12.1:hmac", "//third-party/rust/crates/home/0.5.12:home", "//third-party/rust/crates/itoa/1.0.15:itoa", - "//third-party/rust/crates/log/0.4.28:log", + "//third-party/rust/crates/log/0.4.29:log", "//third-party/rust/crates/memchr/2.7.6:memchr", "//third-party/rust/crates/num-bigint/0.4.6:num-bigint", "//third-party/rust/crates/once_cell/1.21.3:once_cell", diff --git a/third-party/rust/crates/sqlx-sqlite/0.8.6/BUCK b/third-party/rust/crates/sqlx-sqlite/0.8.6/BUCK index 2250f20c..d4e03979 100644 --- a/third-party/rust/crates/sqlx-sqlite/0.8.6/BUCK +++ b/third-party/rust/crates/sqlx-sqlite/0.8.6/BUCK @@ -45,7 +45,7 @@ rust_library( "//third-party/rust/crates/futures-intrusive/0.5.0:futures-intrusive", "//third-party/rust/crates/futures-util/0.3.31:futures-util", "//third-party/rust/crates/libsqlite3-sys/0.30.1:libsqlite3-sys", - "//third-party/rust/crates/log/0.4.28:log", + "//third-party/rust/crates/log/0.4.29:log", "//third-party/rust/crates/percent-encoding/2.3.2:percent-encoding", "//third-party/rust/crates/serde/1.0.228:serde", "//third-party/rust/crates/serde_urlencoded/0.7.1:serde_urlencoded", diff --git a/third-party/rust/crates/syn/2.0.110/BUCK b/third-party/rust/crates/syn/2.0.111/BUCK similarity index 85% rename from third-party/rust/crates/syn/2.0.110/BUCK rename to third-party/rust/crates/syn/2.0.111/BUCK index 97ae3c18..c2622d32 100644 --- a/third-party/rust/crates/syn/2.0.110/BUCK +++ b/third-party/rust/crates/syn/2.0.111/BUCK @@ -5,10 +5,10 @@ load("@buckal//:wrapper.bzl", "buildscript_run", "rust_binary", "rust_library") http_archive( name = "syn-vendor", - urls = ["https://static.crates.io/crates/syn/syn-2.0.110.crate"], - sha256 = "a99801b5bd34ede4cf3fc688c5919368fea4e4814a4664359503e6015b280aea", + urls = ["https://static.crates.io/crates/syn/syn-2.0.111.crate"], + sha256 = "390cc9a294ab71bdb1aa2e99d13be9c753cd2d7bd6560c77118597410c4d2e87", type = "tar.gz", - strip_prefix = "syn-2.0.110", + strip_prefix = "syn-2.0.111", out = "vendor", ) diff --git a/third-party/rust/crates/synstructure/0.13.2/BUCK b/third-party/rust/crates/synstructure/0.13.2/BUCK index 5000d48f..690d104a 100644 --- a/third-party/rust/crates/synstructure/0.13.2/BUCK +++ b/third-party/rust/crates/synstructure/0.13.2/BUCK @@ -32,6 +32,6 @@ rust_library( deps = [ "//third-party/rust/crates/proc-macro2/1.0.103:proc-macro2", "//third-party/rust/crates/quote/1.0.42:quote", - "//third-party/rust/crates/syn/2.0.110:syn", + "//third-party/rust/crates/syn/2.0.111:syn", ], ) diff --git a/third-party/rust/crates/thiserror-impl/2.0.17/BUCK b/third-party/rust/crates/thiserror-impl/2.0.17/BUCK index 730876d6..2f7bbe1d 100644 --- a/third-party/rust/crates/thiserror-impl/2.0.17/BUCK +++ b/third-party/rust/crates/thiserror-impl/2.0.17/BUCK @@ -29,6 +29,6 @@ rust_library( deps = [ "//third-party/rust/crates/proc-macro2/1.0.103:proc-macro2", "//third-party/rust/crates/quote/1.0.42:quote", - "//third-party/rust/crates/syn/2.0.110:syn", + "//third-party/rust/crates/syn/2.0.111:syn", ], ) diff --git a/third-party/rust/crates/tokio-macros/2.6.0/BUCK b/third-party/rust/crates/tokio-macros/2.6.0/BUCK index 45159ea0..210dd092 100644 --- a/third-party/rust/crates/tokio-macros/2.6.0/BUCK +++ b/third-party/rust/crates/tokio-macros/2.6.0/BUCK @@ -29,6 +29,6 @@ rust_library( deps = [ "//third-party/rust/crates/proc-macro2/1.0.103:proc-macro2", "//third-party/rust/crates/quote/1.0.42:quote", - "//third-party/rust/crates/syn/2.0.110:syn", + "//third-party/rust/crates/syn/2.0.111:syn", ], ) diff --git a/third-party/rust/crates/tokio/1.48.0/BUCK b/third-party/rust/crates/tokio/1.48.0/BUCK index fb7b62cc..7f3d46c2 100644 --- a/third-party/rust/crates/tokio/1.48.0/BUCK +++ b/third-party/rust/crates/tokio/1.48.0/BUCK @@ -51,10 +51,10 @@ rust_library( deps = [ "//third-party/rust/crates/bytes/1.11.0:bytes", "//third-party/rust/crates/libc/0.2.178:libc", - "//third-party/rust/crates/mio/1.1.0:mio", + "//third-party/rust/crates/mio/1.1.1:mio", "//third-party/rust/crates/parking_lot/0.12.5:parking_lot", "//third-party/rust/crates/pin-project-lite/0.2.16:pin-project-lite", - "//third-party/rust/crates/signal-hook-registry/1.4.6:signal-hook-registry", + "//third-party/rust/crates/signal-hook-registry/1.4.7:signal-hook-registry", "//third-party/rust/crates/socket2/0.6.1:socket2", "//third-party/rust/crates/tokio-macros/2.6.0:tokio-macros", ], diff --git a/third-party/rust/crates/toml_edit/0.23.7/BUCK b/third-party/rust/crates/toml_edit/0.23.9/BUCK similarity index 87% rename from third-party/rust/crates/toml_edit/0.23.7/BUCK rename to third-party/rust/crates/toml_edit/0.23.9/BUCK index 726fef15..224a616e 100644 --- a/third-party/rust/crates/toml_edit/0.23.7/BUCK +++ b/third-party/rust/crates/toml_edit/0.23.9/BUCK @@ -5,10 +5,10 @@ load("@buckal//:wrapper.bzl", "buildscript_run", "rust_binary", "rust_library") http_archive( name = "toml_edit-vendor", - urls = ["https://static.crates.io/crates/toml_edit/toml_edit-0.23.7.crate"], - sha256 = "6485ef6d0d9b5d0ec17244ff7eb05310113c3f316f2d14200d4de56b3cb98f8d", + urls = ["https://static.crates.io/crates/toml_edit/toml_edit-0.23.9.crate"], + sha256 = "5d7cbc3b4b49633d57a0509303158ca50de80ae32c265093b24c414705807832", type = "tar.gz", - strip_prefix = "toml_edit-0.23.7", + strip_prefix = "toml_edit-0.23.9", out = "vendor", ) diff --git a/third-party/rust/crates/tracing-attributes/0.1.31/BUCK b/third-party/rust/crates/tracing-attributes/0.1.31/BUCK index 396cdf9f..f288d44a 100644 --- a/third-party/rust/crates/tracing-attributes/0.1.31/BUCK +++ b/third-party/rust/crates/tracing-attributes/0.1.31/BUCK @@ -29,6 +29,6 @@ rust_library( deps = [ "//third-party/rust/crates/proc-macro2/1.0.103:proc-macro2", "//third-party/rust/crates/quote/1.0.42:quote", - "//third-party/rust/crates/syn/2.0.110:syn", + "//third-party/rust/crates/syn/2.0.111:syn", ], ) diff --git a/third-party/rust/crates/tracing-log/0.2.0/BUCK b/third-party/rust/crates/tracing-log/0.2.0/BUCK index f4f4195c..ef1e3606 100644 --- a/third-party/rust/crates/tracing-log/0.2.0/BUCK +++ b/third-party/rust/crates/tracing-log/0.2.0/BUCK @@ -30,7 +30,7 @@ rust_library( rustc_flags = ["@$(location :tracing-log-manifest[env_flags])"], visibility = ["PUBLIC"], deps = [ - "//third-party/rust/crates/log/0.4.28:log", + "//third-party/rust/crates/log/0.4.29:log", "//third-party/rust/crates/once_cell/1.21.3:once_cell", "//third-party/rust/crates/tracing-core/0.1.35:tracing-core", ], diff --git a/third-party/rust/crates/tracing/0.1.43/BUCK b/third-party/rust/crates/tracing/0.1.43/BUCK index ec00faac..8c6fc7be 100644 --- a/third-party/rust/crates/tracing/0.1.43/BUCK +++ b/third-party/rust/crates/tracing/0.1.43/BUCK @@ -33,7 +33,7 @@ rust_library( rustc_flags = ["@$(location :tracing-manifest[env_flags])"], visibility = ["PUBLIC"], deps = [ - "//third-party/rust/crates/log/0.4.28:log", + "//third-party/rust/crates/log/0.4.29:log", "//third-party/rust/crates/pin-project-lite/0.2.16:pin-project-lite", "//third-party/rust/crates/tracing-attributes/0.1.31:tracing-attributes", "//third-party/rust/crates/tracing-core/0.1.35:tracing-core", diff --git a/third-party/rust/crates/wasm-bindgen-macro-support/0.2.105/BUCK b/third-party/rust/crates/wasm-bindgen-macro-support/0.2.106/BUCK similarity index 76% rename from third-party/rust/crates/wasm-bindgen-macro-support/0.2.105/BUCK rename to third-party/rust/crates/wasm-bindgen-macro-support/0.2.106/BUCK index 64995635..1bb2e4d4 100644 --- a/third-party/rust/crates/wasm-bindgen-macro-support/0.2.105/BUCK +++ b/third-party/rust/crates/wasm-bindgen-macro-support/0.2.106/BUCK @@ -5,10 +5,10 @@ load("@buckal//:wrapper.bzl", "buildscript_run", "rust_binary", "rust_library") http_archive( name = "wasm-bindgen-macro-support-vendor", - urls = ["https://static.crates.io/crates/wasm-bindgen-macro-support/wasm-bindgen-macro-support-0.2.105.crate"], - sha256 = "420bc339d9f322e562942d52e115d57e950d12d88983a14c79b86859ee6c7ebc", + urls = ["https://static.crates.io/crates/wasm-bindgen-macro-support/wasm-bindgen-macro-support-0.2.106.crate"], + sha256 = "cefb59d5cd5f92d9dcf80e4683949f15ca4b511f4ac0a6e14d4e1ac60c6ecd40", type = "tar.gz", - strip_prefix = "wasm-bindgen-macro-support-0.2.105", + strip_prefix = "wasm-bindgen-macro-support-0.2.106", out = "vendor", ) @@ -29,7 +29,7 @@ rust_library( "//third-party/rust/crates/bumpalo/3.19.0:bumpalo", "//third-party/rust/crates/proc-macro2/1.0.103:proc-macro2", "//third-party/rust/crates/quote/1.0.42:quote", - "//third-party/rust/crates/syn/2.0.110:syn", - "//third-party/rust/crates/wasm-bindgen-shared/0.2.105:wasm-bindgen-shared", + "//third-party/rust/crates/syn/2.0.111:syn", + "//third-party/rust/crates/wasm-bindgen-shared/0.2.106:wasm-bindgen-shared", ], ) diff --git a/third-party/rust/crates/wasm-bindgen-macro/0.2.105/BUCK b/third-party/rust/crates/wasm-bindgen-macro/0.2.106/BUCK similarity index 81% rename from third-party/rust/crates/wasm-bindgen-macro/0.2.105/BUCK rename to third-party/rust/crates/wasm-bindgen-macro/0.2.106/BUCK index 54e15df5..8c8c64a3 100644 --- a/third-party/rust/crates/wasm-bindgen-macro/0.2.105/BUCK +++ b/third-party/rust/crates/wasm-bindgen-macro/0.2.106/BUCK @@ -5,10 +5,10 @@ load("@buckal//:wrapper.bzl", "buildscript_run", "rust_binary", "rust_library") http_archive( name = "wasm-bindgen-macro-vendor", - urls = ["https://static.crates.io/crates/wasm-bindgen-macro/wasm-bindgen-macro-0.2.105.crate"], - sha256 = "04264334509e04a7bf8690f2384ef5265f05143a4bff3889ab7a3269adab59c2", + urls = ["https://static.crates.io/crates/wasm-bindgen-macro/wasm-bindgen-macro-0.2.106.crate"], + sha256 = "48cb0d2638f8baedbc542ed444afc0644a29166f1595371af4fecf8ce1e7eeb3", type = "tar.gz", - strip_prefix = "wasm-bindgen-macro-0.2.105", + strip_prefix = "wasm-bindgen-macro-0.2.106", out = "vendor", ) @@ -28,6 +28,6 @@ rust_library( visibility = ["PUBLIC"], deps = [ "//third-party/rust/crates/quote/1.0.42:quote", - "//third-party/rust/crates/wasm-bindgen-macro-support/0.2.105:wasm-bindgen-macro-support", + "//third-party/rust/crates/wasm-bindgen-macro-support/0.2.106:wasm-bindgen-macro-support", ], ) diff --git a/third-party/rust/crates/wasm-bindgen-shared/0.2.105/BUCK b/third-party/rust/crates/wasm-bindgen-shared/0.2.106/BUCK similarity index 89% rename from third-party/rust/crates/wasm-bindgen-shared/0.2.105/BUCK rename to third-party/rust/crates/wasm-bindgen-shared/0.2.106/BUCK index 6158866c..0628ffc9 100644 --- a/third-party/rust/crates/wasm-bindgen-shared/0.2.105/BUCK +++ b/third-party/rust/crates/wasm-bindgen-shared/0.2.106/BUCK @@ -5,10 +5,10 @@ load("@buckal//:wrapper.bzl", "buildscript_run", "rust_binary", "rust_library") http_archive( name = "wasm-bindgen-shared-vendor", - urls = ["https://static.crates.io/crates/wasm-bindgen-shared/wasm-bindgen-shared-0.2.105.crate"], - sha256 = "76f218a38c84bcb33c25ec7059b07847d465ce0e0a76b995e134a45adcb6af76", + urls = ["https://static.crates.io/crates/wasm-bindgen-shared/wasm-bindgen-shared-0.2.106.crate"], + sha256 = "cbc538057e648b67f72a982e708d485b2efa771e1ac05fec311f9f63e5800db4", type = "tar.gz", - strip_prefix = "wasm-bindgen-shared-0.2.105", + strip_prefix = "wasm-bindgen-shared-0.2.106", out = "vendor", ) @@ -49,7 +49,7 @@ buildscript_run( package_name = "wasm-bindgen-shared", buildscript_rule = ":wasm-bindgen-shared-build-script-build", env_srcs = [":wasm-bindgen-shared-manifest[env_dict]"], - version = "0.2.105", + version = "0.2.106", manifest_dir = ":wasm-bindgen-shared-vendor", visibility = ["PUBLIC"], ) diff --git a/third-party/rust/crates/wasm-bindgen/0.2.105/BUCK b/third-party/rust/crates/wasm-bindgen/0.2.106/BUCK similarity index 84% rename from third-party/rust/crates/wasm-bindgen/0.2.105/BUCK rename to third-party/rust/crates/wasm-bindgen/0.2.106/BUCK index 899d431c..c6137b9c 100644 --- a/third-party/rust/crates/wasm-bindgen/0.2.105/BUCK +++ b/third-party/rust/crates/wasm-bindgen/0.2.106/BUCK @@ -5,10 +5,10 @@ load("@buckal//:wrapper.bzl", "buildscript_run", "rust_binary", "rust_library") http_archive( name = "wasm-bindgen-vendor", - urls = ["https://static.crates.io/crates/wasm-bindgen/wasm-bindgen-0.2.105.crate"], - sha256 = "da95793dfc411fbbd93f5be7715b0578ec61fe87cb1a42b12eb625caa5c5ea60", + urls = ["https://static.crates.io/crates/wasm-bindgen/wasm-bindgen-0.2.106.crate"], + sha256 = "0d759f433fa64a2d763d1340820e46e111a7a5ab75f993d1852d70b03dbb80fd", type = "tar.gz", - strip_prefix = "wasm-bindgen-0.2.105", + strip_prefix = "wasm-bindgen-0.2.106", out = "vendor", ) @@ -39,8 +39,8 @@ rust_library( deps = [ "//third-party/rust/crates/cfg-if/1.0.4:cfg-if", "//third-party/rust/crates/once_cell/1.21.3:once_cell", - "//third-party/rust/crates/wasm-bindgen-macro/0.2.105:wasm-bindgen-macro", - "//third-party/rust/crates/wasm-bindgen-shared/0.2.105:wasm-bindgen-shared", + "//third-party/rust/crates/wasm-bindgen-macro/0.2.106:wasm-bindgen-macro", + "//third-party/rust/crates/wasm-bindgen-shared/0.2.106:wasm-bindgen-shared", ], ) @@ -67,7 +67,7 @@ buildscript_run( package_name = "wasm-bindgen", buildscript_rule = ":wasm-bindgen-build-script-build", env_srcs = [ - "//third-party/rust/crates/wasm-bindgen-shared/0.2.105:wasm-bindgen-shared-build-script-run[metadata]", + "//third-party/rust/crates/wasm-bindgen-shared/0.2.106:wasm-bindgen-shared-build-script-run[metadata]", ":wasm-bindgen-manifest[env_dict]", ], features = [ @@ -75,7 +75,7 @@ buildscript_run( "msrv", "std", ], - version = "0.2.105", + version = "0.2.106", manifest_dir = ":wasm-bindgen-vendor", visibility = ["PUBLIC"], ) diff --git a/third-party/rust/crates/windows-implement/0.60.2/BUCK b/third-party/rust/crates/windows-implement/0.60.2/BUCK index 39fb3f1b..ad54dad8 100644 --- a/third-party/rust/crates/windows-implement/0.60.2/BUCK +++ b/third-party/rust/crates/windows-implement/0.60.2/BUCK @@ -29,6 +29,6 @@ rust_library( deps = [ "//third-party/rust/crates/proc-macro2/1.0.103:proc-macro2", "//third-party/rust/crates/quote/1.0.42:quote", - "//third-party/rust/crates/syn/2.0.110:syn", + "//third-party/rust/crates/syn/2.0.111:syn", ], ) diff --git a/third-party/rust/crates/windows-interface/0.59.3/BUCK b/third-party/rust/crates/windows-interface/0.59.3/BUCK index 3db84e37..361cfe8b 100644 --- a/third-party/rust/crates/windows-interface/0.59.3/BUCK +++ b/third-party/rust/crates/windows-interface/0.59.3/BUCK @@ -29,6 +29,6 @@ rust_library( deps = [ "//third-party/rust/crates/proc-macro2/1.0.103:proc-macro2", "//third-party/rust/crates/quote/1.0.42:quote", - "//third-party/rust/crates/syn/2.0.110:syn", + "//third-party/rust/crates/syn/2.0.111:syn", ], ) diff --git a/third-party/rust/crates/yoke-derive/0.8.1/BUCK b/third-party/rust/crates/yoke-derive/0.8.1/BUCK index 0b096ae5..4a5be841 100644 --- a/third-party/rust/crates/yoke-derive/0.8.1/BUCK +++ b/third-party/rust/crates/yoke-derive/0.8.1/BUCK @@ -29,7 +29,7 @@ rust_library( deps = [ "//third-party/rust/crates/proc-macro2/1.0.103:proc-macro2", "//third-party/rust/crates/quote/1.0.42:quote", - "//third-party/rust/crates/syn/2.0.110:syn", + "//third-party/rust/crates/syn/2.0.111:syn", "//third-party/rust/crates/synstructure/0.13.2:synstructure", ], ) diff --git a/third-party/rust/crates/zerocopy-derive/0.8.27/BUCK b/third-party/rust/crates/zerocopy-derive/0.8.31/BUCK similarity index 80% rename from third-party/rust/crates/zerocopy-derive/0.8.27/BUCK rename to third-party/rust/crates/zerocopy-derive/0.8.31/BUCK index 3083de5d..4b5326a4 100644 --- a/third-party/rust/crates/zerocopy-derive/0.8.27/BUCK +++ b/third-party/rust/crates/zerocopy-derive/0.8.31/BUCK @@ -5,10 +5,10 @@ load("@buckal//:wrapper.bzl", "buildscript_run", "rust_binary", "rust_library") http_archive( name = "zerocopy-derive-vendor", - urls = ["https://static.crates.io/crates/zerocopy-derive/zerocopy-derive-0.8.27.crate"], - sha256 = "88d2b8d9c68ad2b9e4340d7832716a4d21a22a1154777ad56ea55c51a9cf3831", + urls = ["https://static.crates.io/crates/zerocopy-derive/zerocopy-derive-0.8.31.crate"], + sha256 = "d8a8d209fdf45cf5138cbb5a506f6b52522a25afccc534d1475dad8e31105c6a", type = "tar.gz", - strip_prefix = "zerocopy-derive-0.8.27", + strip_prefix = "zerocopy-derive-0.8.31", out = "vendor", ) @@ -29,6 +29,6 @@ rust_library( deps = [ "//third-party/rust/crates/proc-macro2/1.0.103:proc-macro2", "//third-party/rust/crates/quote/1.0.42:quote", - "//third-party/rust/crates/syn/2.0.110:syn", + "//third-party/rust/crates/syn/2.0.111:syn", ], ) diff --git a/third-party/rust/crates/zerocopy/0.8.27/BUCK b/third-party/rust/crates/zerocopy/0.8.31/BUCK similarity index 90% rename from third-party/rust/crates/zerocopy/0.8.27/BUCK rename to third-party/rust/crates/zerocopy/0.8.31/BUCK index dceeca97..0192bba1 100644 --- a/third-party/rust/crates/zerocopy/0.8.27/BUCK +++ b/third-party/rust/crates/zerocopy/0.8.31/BUCK @@ -5,10 +5,10 @@ load("@buckal//:wrapper.bzl", "buildscript_run", "rust_binary", "rust_library") http_archive( name = "zerocopy-vendor", - urls = ["https://static.crates.io/crates/zerocopy/zerocopy-0.8.27.crate"], - sha256 = "0894878a5fa3edfd6da3f88c4805f4c8558e2b996227a3d864f47fe11e38282c", + urls = ["https://static.crates.io/crates/zerocopy/zerocopy-0.8.31.crate"], + sha256 = "fd74ec98b9250adb3ca554bdde269adf631549f51d8a8f8f0a10b50f1cb298c3", type = "tar.gz", - strip_prefix = "zerocopy-0.8.27", + strip_prefix = "zerocopy-0.8.31", out = "vendor", ) @@ -51,7 +51,7 @@ buildscript_run( buildscript_rule = ":zerocopy-build-script-build", env_srcs = [":zerocopy-manifest[env_dict]"], features = ["simd"], - version = "0.8.27", + version = "0.8.31", manifest_dir = ":zerocopy-vendor", visibility = ["PUBLIC"], ) diff --git a/third-party/rust/crates/zerofrom-derive/0.1.6/BUCK b/third-party/rust/crates/zerofrom-derive/0.1.6/BUCK index 31144063..33a3173c 100644 --- a/third-party/rust/crates/zerofrom-derive/0.1.6/BUCK +++ b/third-party/rust/crates/zerofrom-derive/0.1.6/BUCK @@ -29,7 +29,7 @@ rust_library( deps = [ "//third-party/rust/crates/proc-macro2/1.0.103:proc-macro2", "//third-party/rust/crates/quote/1.0.42:quote", - "//third-party/rust/crates/syn/2.0.110:syn", + "//third-party/rust/crates/syn/2.0.111:syn", "//third-party/rust/crates/synstructure/0.13.2:synstructure", ], ) diff --git a/third-party/rust/crates/zerovec-derive/0.11.2/BUCK b/third-party/rust/crates/zerovec-derive/0.11.2/BUCK index 7046ab4b..dd82218a 100644 --- a/third-party/rust/crates/zerovec-derive/0.11.2/BUCK +++ b/third-party/rust/crates/zerovec-derive/0.11.2/BUCK @@ -29,6 +29,6 @@ rust_library( deps = [ "//third-party/rust/crates/proc-macro2/1.0.103:proc-macro2", "//third-party/rust/crates/quote/1.0.42:quote", - "//third-party/rust/crates/syn/2.0.110:syn", + "//third-party/rust/crates/syn/2.0.111:syn", ], ) diff --git a/third-party/rust/crates/zstd-sys/2.0.16+zstd.1.5.7/BUCK b/third-party/rust/crates/zstd-sys/2.0.16+zstd.1.5.7/BUCK index 257f1994..53f0c025 100644 --- a/third-party/rust/crates/zstd-sys/2.0.16+zstd.1.5.7/BUCK +++ b/third-party/rust/crates/zstd-sys/2.0.16+zstd.1.5.7/BUCK @@ -57,7 +57,7 @@ rust_binary( visibility = [], deps = [ "//third-party/rust/crates/bindgen/0.72.1:bindgen", - "//third-party/rust/crates/cc/1.2.45:cc", + "//third-party/rust/crates/cc/1.2.49:cc", "//third-party/rust/crates/pkg-config/0.3.32:pkg-config", ], )