diff --git a/Cargo.lock b/Cargo.lock index 8dd91370262b..6adb81fda268 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -493,9 +493,9 @@ dependencies = [ [[package]] name = "aws-smithy-async" -version = "1.2.9" +version = "1.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e0e99800414b0c4cae85ed775a1559f8992f4e69f5ebafe9c936e29609eae78" +checksum = "52eec3db979d18cb807fc1070961cc51d87d069abe9ab57917769687368a8c6c" dependencies = [ "futures-util", "pin-project-lite", @@ -1214,9 +1214,9 @@ checksum = "175812e0be2bccb6abe50bb8d566126198344f707e304f45c648fd8f2cc0365e" [[package]] name = "bytemuck" -version = "1.24.0" +version = "1.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fbdf580320f38b612e485521afda1ee26d10cc9884efaaa750d383e13e3c5f4" +checksum = "c8efb64bd706a16a1bdde310ae86b351e4d21550d98d056f22f8a7f7a2183fec" dependencies = [ "bytemuck_derive", ] @@ -1288,68 +1288,74 @@ dependencies = [ [[package]] name = "candle-core" -version = "0.8.4" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ccf5ee3532e66868516d9b315f73aec9f34ea1a37ae98514534d458915dbf1" +checksum = "c15b675b80d994b2eadb20a4bbe434eabeb454eac3ee5e2b4cf6f147ee9be091" dependencies = [ "byteorder", "candle-metal-kernels", - "gemm 0.17.1", + "candle-ug", + "float8", + "gemm 0.19.0", "half", + "libm", "memmap2", - "metal 0.27.0", "num-traits", "num_cpus", + "objc2-foundation", + "objc2-metal", "rand 0.9.2", "rand_distr", "rayon", - "safetensors", - "thiserror 1.0.69", - "ug", - "ug-metal", - "yoke 0.7.5", - "zip 1.1.4", + "safetensors 0.7.0", + "thiserror 2.0.18", + "yoke 0.8.1", + "zip 7.2.0", ] [[package]] name = "candle-metal-kernels" -version = "0.8.4" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52c85c21827c28db94e7112e364abe7e0cf8d2b022c014edf08642be6b94f21e" +checksum = "2fdfe9d06de16ce49961e49084e5b79a75a9bdf157246e7c7b6328e87a7aa25d" dependencies = [ - "metal 0.27.0", + "half", + "objc2", + "objc2-foundation", + "objc2-metal", "once_cell", - "thiserror 1.0.69", + "thiserror 2.0.18", "tracing", ] [[package]] name = "candle-nn" -version = "0.8.4" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be1160c3b63f47d40d91110a3e1e1e566ae38edddbbf492a60b40ffc3bc1ff38" +checksum = "3045fa9e7aef8567d209a27d56b692f60b96f4d0569f4c3011f8ca6715c65e03" dependencies = [ "candle-core", "candle-metal-kernels", "half", - "metal 0.27.0", + "libc", "num-traits", + "objc2-metal", "rayon", - "safetensors", + "safetensors 0.7.0", "serde", - "thiserror 1.0.69", + "thiserror 2.0.18", ] [[package]] name = "candle-transformers" -version = "0.8.4" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94a0900d49f8605e0e7e6693a1f560e6271279de98e5fa369e7abf3aac245020" +checksum = "b538ec4aa807c416a2ddd3621044888f188827862e2a6fcacba4738e89795d01" dependencies = [ "byteorder", "candle-core", "candle-nn", - "fancy-regex 0.13.0", + "fancy-regex 0.17.0", "num-traits", "rand 0.9.2", "rayon", @@ -1359,6 +1365,16 @@ dependencies = [ "tracing", ] +[[package]] +name = "candle-ug" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c22d62be69068bf58987a45f690612739d8d2ea1bf508c1b87dc6815a019575d" +dependencies = [ + "ug", + "ug-metal", +] + [[package]] name = "castaway" version = "0.2.4" @@ -2342,16 +2358,6 @@ version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555" -[[package]] -name = "dyn-stack" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56e53799688f5632f364f8fb387488dd05db9fe45db7011be066fc20e7027f8b" -dependencies = [ - "bytemuck", - "reborrow", -] - [[package]] name = "dyn-stack" version = "0.13.2" @@ -2620,6 +2626,17 @@ dependencies = [ "regex-syntax", ] +[[package]] +name = "fancy-regex" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72cf461f865c862bb7dc573f643dd6a2b6842f7c30b07882b56bd148cc2761b8" +dependencies = [ + "bit-set 0.8.0", + "regex-automata", + "regex-syntax", +] + [[package]] name = "fast-float2" version = "0.2.3" @@ -2671,9 +2688,9 @@ checksum = "1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99" [[package]] name = "flate2" -version = "1.1.8" +version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b375d6465b98090a5f25b1c7703f3859783755aa9a80433b36e0379a3ec2f369" +checksum = "843fba2746e448b37e26a819579957415c8cef339bf08564fe8b7ddbd959573c" dependencies = [ "crc32fast", "miniz_oxide", @@ -2689,6 +2706,18 @@ dependencies = [ "rustc_version 0.2.3", ] +[[package]] +name = "float8" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f463a8a37ede13dac13316d1a1eeafa992300906a0c4c7fa1177f366d10bcbf" +dependencies = [ + "half", + "num-traits", + "rand 0.9.2", + "rand_distr", +] + [[package]] name = "fluent-uri" version = "0.3.2" @@ -2956,33 +2985,13 @@ dependencies = [ "byteorder", ] -[[package]] -name = "gemm" -version = "0.17.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ab24cc62135b40090e31a76a9b2766a501979f3070fa27f689c27ec04377d32" -dependencies = [ - "dyn-stack 0.10.0", - "gemm-c32 0.17.1", - "gemm-c64 0.17.1", - "gemm-common 0.17.1", - "gemm-f16 0.17.1", - "gemm-f32 0.17.1", - "gemm-f64 0.17.1", - "num-complex", - "num-traits", - "paste", - "raw-cpuid 10.7.0", - "seq-macro", -] - [[package]] name = "gemm" version = "0.18.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ab96b703d31950f1aeddded248bc95543c9efc7ac9c4a21fda8703a83ee35451" dependencies = [ - "dyn-stack 0.13.2", + "dyn-stack", "gemm-c32 0.18.2", "gemm-c64 0.18.2", "gemm-common 0.18.2", @@ -2992,22 +3001,27 @@ dependencies = [ "num-complex", "num-traits", "paste", - "raw-cpuid 11.6.0", + "raw-cpuid", "seq-macro", ] [[package]] -name = "gemm-c32" -version = "0.17.1" +name = "gemm" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9c030d0b983d1e34a546b86e08f600c11696fde16199f971cd46c12e67512c0" +checksum = "aa0673db364b12263d103b68337a68fbecc541d6f6b61ba72fe438654709eacb" dependencies = [ - "dyn-stack 0.10.0", - "gemm-common 0.17.1", + "dyn-stack", + "gemm-c32 0.19.0", + "gemm-c64 0.19.0", + "gemm-common 0.19.0", + "gemm-f16 0.19.0", + "gemm-f32 0.19.0", + "gemm-f64 0.19.0", "num-complex", "num-traits", "paste", - "raw-cpuid 10.7.0", + "raw-cpuid", "seq-macro", ] @@ -3017,27 +3031,27 @@ version = "0.18.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f6db9fd9f40421d00eea9dd0770045a5603b8d684654816637732463f4073847" dependencies = [ - "dyn-stack 0.13.2", + "dyn-stack", "gemm-common 0.18.2", "num-complex", "num-traits", "paste", - "raw-cpuid 11.6.0", + "raw-cpuid", "seq-macro", ] [[package]] -name = "gemm-c64" -version = "0.17.1" +name = "gemm-c32" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbb5f2e79fefb9693d18e1066a557b4546cd334b226beadc68b11a8f9431852a" +checksum = "086936dbdcb99e37aad81d320f98f670e53c1e55a98bee70573e83f95beb128c" dependencies = [ - "dyn-stack 0.10.0", - "gemm-common 0.17.1", + "dyn-stack", + "gemm-common 0.19.0", "num-complex", "num-traits", "paste", - "raw-cpuid 10.7.0", + "raw-cpuid", "seq-macro", ] @@ -3047,33 +3061,28 @@ version = "0.18.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dfcad8a3d35a43758330b635d02edad980c1e143dc2f21e6fd25f9e4eada8edf" dependencies = [ - "dyn-stack 0.13.2", + "dyn-stack", "gemm-common 0.18.2", "num-complex", "num-traits", "paste", - "raw-cpuid 11.6.0", + "raw-cpuid", "seq-macro", ] [[package]] -name = "gemm-common" -version = "0.17.1" +name = "gemm-c64" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2e7ea062c987abcd8db95db917b4ffb4ecdfd0668471d8dc54734fdff2354e8" +checksum = "20c8aeeeec425959bda4d9827664029ba1501a90a0d1e6228e48bef741db3a3f" dependencies = [ - "bytemuck", - "dyn-stack 0.10.0", - "half", + "dyn-stack", + "gemm-common 0.19.0", "num-complex", "num-traits", - "once_cell", "paste", - "pulp 0.18.22", - "raw-cpuid 10.7.0", - "rayon", + "raw-cpuid", "seq-macro", - "sysctl 0.5.5", ] [[package]] @@ -3083,7 +3092,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a352d4a69cbe938b9e2a9cb7a3a63b7e72f9349174a2752a558a8a563510d0f3" dependencies = [ "bytemuck", - "dyn-stack 0.13.2", + "dyn-stack", "half", "libm", "num-complex", @@ -3091,28 +3100,31 @@ dependencies = [ "once_cell", "paste", "pulp 0.21.5", - "raw-cpuid 11.6.0", + "raw-cpuid", "rayon", "seq-macro", - "sysctl 0.6.0", + "sysctl", ] [[package]] -name = "gemm-f16" -version = "0.17.1" +name = "gemm-common" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ca4c06b9b11952071d317604acb332e924e817bd891bec8dfb494168c7cedd4" +checksum = "88027625910cc9b1085aaaa1c4bc46bb3a36aad323452b33c25b5e4e7c8e2a3e" dependencies = [ - "dyn-stack 0.10.0", - "gemm-common 0.17.1", - "gemm-f32 0.17.1", + "bytemuck", + "dyn-stack", "half", + "libm", "num-complex", "num-traits", + "once_cell", "paste", - "raw-cpuid 10.7.0", + "pulp 0.22.2", + "raw-cpuid", "rayon", "seq-macro", + "sysctl", ] [[package]] @@ -3121,30 +3133,33 @@ version = "0.18.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cff95ae3259432f3c3410eaa919033cd03791d81cebd18018393dc147952e109" dependencies = [ - "dyn-stack 0.13.2", + "dyn-stack", "gemm-common 0.18.2", "gemm-f32 0.18.2", "half", "num-complex", "num-traits", "paste", - "raw-cpuid 11.6.0", + "raw-cpuid", "rayon", "seq-macro", ] [[package]] -name = "gemm-f32" -version = "0.17.1" +name = "gemm-f16" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9a69f51aaefbd9cf12d18faf273d3e982d9d711f60775645ed5c8047b4ae113" +checksum = "e3df7a55202e6cd6739d82ae3399c8e0c7e1402859b30e4cb780e61525d9486e" dependencies = [ - "dyn-stack 0.10.0", - "gemm-common 0.17.1", + "dyn-stack", + "gemm-common 0.19.0", + "gemm-f32 0.19.0", + "half", "num-complex", "num-traits", "paste", - "raw-cpuid 10.7.0", + "raw-cpuid", + "rayon", "seq-macro", ] @@ -3154,27 +3169,27 @@ version = "0.18.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc8d3d4385393304f407392f754cd2dc4b315d05063f62cf09f47b58de276864" dependencies = [ - "dyn-stack 0.13.2", + "dyn-stack", "gemm-common 0.18.2", "num-complex", "num-traits", "paste", - "raw-cpuid 11.6.0", + "raw-cpuid", "seq-macro", ] [[package]] -name = "gemm-f64" -version = "0.17.1" +name = "gemm-f32" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa397a48544fadf0b81ec8741e5c0fba0043008113f71f2034def1935645d2b0" +checksum = "02e0b8c9da1fbec6e3e3ab2ce6bc259ef18eb5f6f0d3e4edf54b75f9fd41a81c" dependencies = [ - "dyn-stack 0.10.0", - "gemm-common 0.17.1", + "dyn-stack", + "gemm-common 0.19.0", "num-complex", "num-traits", "paste", - "raw-cpuid 10.7.0", + "raw-cpuid", "seq-macro", ] @@ -3184,12 +3199,27 @@ version = "0.18.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "35b2a4f76ce4b8b16eadc11ccf2e083252d8237c1b589558a49b0183545015bd" dependencies = [ - "dyn-stack 0.13.2", + "dyn-stack", "gemm-common 0.18.2", "num-complex", "num-traits", "paste", - "raw-cpuid 11.6.0", + "raw-cpuid", + "seq-macro", +] + +[[package]] +name = "gemm-f64" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "056131e8f2a521bfab322f804ccd652520c79700d81209e9d9275bbdecaadc6a" +dependencies = [ + "dyn-stack", + "gemm-common 0.19.0", + "num-complex", + "num-traits", + "paste", + "raw-cpuid", "seq-macro", ] @@ -3693,6 +3723,8 @@ dependencies = [ "allocator-api2", "equivalent", "foldhash 0.2.0", + "serde", + "serde_core", ] [[package]] @@ -3962,14 +3994,13 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.19" +version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "727805d60e7938b76b826a6ef209eb70eaa1812794f9424d4a4e2d740662df5f" +checksum = "96547c2556ec9d12fb1578c4eaf448b04993e7fb79cbaad930a656880a6bdfa0" dependencies = [ "base64 0.22.1", "bytes", "futures-channel", - "futures-core", "futures-util", "http 1.4.0", "http-body 1.0.1", @@ -3979,7 +4010,7 @@ dependencies = [ "percent-encoding", "pin-project-lite", "socket2 0.6.2", - "system-configuration", + "system-configuration 0.7.0", "tokio", "tower-service", "tracing", @@ -4267,9 +4298,9 @@ dependencies = [ [[package]] name = "insta" -version = "1.46.1" +version = "1.46.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "248b42847813a1550dafd15296fd9748c651d0c32194559dbc05d804d54b21e8" +checksum = "e82db8c87c7f1ccecb34ce0c24399b8a73081427f3c7c50a5d597925356115e4" dependencies = [ "console 0.15.11", "once_cell", @@ -4807,21 +4838,6 @@ dependencies = [ "autocfg", ] -[[package]] -name = "metal" -version = "0.27.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c43f73953f8cbe511f021b58f18c3ce1c3d1ae13fe953293e13345bf83217f25" -dependencies = [ - "bitflags 2.10.0", - "block", - "core-graphics-types", - "foreign-types 0.5.0", - "log", - "objc", - "paste", -] - [[package]] name = "metal" version = "0.29.0" @@ -5249,7 +5265,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" dependencies = [ "malloc_buf", - "objc_exception", ] [[package]] @@ -5500,7 +5515,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a0125f776a10d00af4152d74616409f0d4a2053a6f57fa5b7d6aa2854ac04794" dependencies = [ "bitflags 2.10.0", + "block2", + "dispatch2 0.3.0", "objc2", + "objc2-core-foundation", "objc2-foundation", ] @@ -5515,15 +5533,6 @@ dependencies = [ "objc2-foundation", ] -[[package]] -name = "objc_exception" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad970fb455818ad6cba4c122ad012fae53ae8b4795f86378bce65e4f6bab2ca4" -dependencies = [ - "cc", -] - [[package]] name = "once_cell" version = "1.21.3" @@ -6027,15 +6036,15 @@ dependencies = [ [[package]] name = "portable-atomic" -version = "1.13.0" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f89776e4d69bb58bc6993e99ffa1d11f228b839984854c7daeb5d37f87cbe950" +checksum = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49" [[package]] name = "portable-atomic-util" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8a2f0d8d040d7848a709caf78912debcc3f33ee4b3cac47d73d1e1069e83507" +checksum = "7a9db96d7fa8782dd8c15ce32ffe8680bbd1e978a43bf51a34d39483540495f5" dependencies = [ "portable-atomic", ] @@ -6221,30 +6230,41 @@ dependencies = [ [[package]] name = "pulp" -version = "0.18.22" +version = "0.21.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0a01a0dc67cf4558d279f0c25b0962bd08fc6dec0137699eae304103e882fe6" +checksum = "96b86df24f0a7ddd5e4b95c94fc9ed8a98f1ca94d3b01bdce2824097e7835907" dependencies = [ "bytemuck", + "cfg-if", "libm", "num-complex", "reborrow", + "version_check", ] [[package]] name = "pulp" -version = "0.21.5" +version = "0.22.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96b86df24f0a7ddd5e4b95c94fc9ed8a98f1ca94d3b01bdce2824097e7835907" +checksum = "2e205bb30d5b916c55e584c22201771bcf2bad9aabd5d4127f38387140c38632" dependencies = [ "bytemuck", "cfg-if", "libm", "num-complex", + "paste", + "pulp-wasm-simd-flag", + "raw-cpuid", "reborrow", "version_check", ] +[[package]] +name = "pulp-wasm-simd-flag" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40e24eee682d89fb193496edf918a7f407d30175b2e785fe057e4392dfd182e0" + [[package]] name = "pxfm" version = "0.1.27" @@ -6446,15 +6466,6 @@ version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "973443cf09a9c8656b574a866ab68dfa19f0867d0340648c7d2f6a71b8a8ea68" -[[package]] -name = "raw-cpuid" -version = "10.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c297679cb867470fa8c9f67dbba74a78d78e3e98d7cf2b08d6d71540f797332" -dependencies = [ - "bitflags 1.3.2", -] - [[package]] name = "raw-cpuid" version = "11.6.0" @@ -6658,7 +6669,7 @@ dependencies = [ "serde_json", "serde_urlencoded", "sync_wrapper 0.1.2", - "system-configuration", + "system-configuration 0.5.1", "tokio", "tokio-rustls 0.24.1", "tower-service", @@ -7119,6 +7130,17 @@ dependencies = [ "serde_json", ] +[[package]] +name = "safetensors" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "675656c1eabb620b921efea4f9199f97fc86e36dd6ffd1fbbe48d0f59a4987f5" +dependencies = [ + "hashbrown 0.16.1", + "serde", + "serde_json", +] + [[package]] name = "same-file" version = "1.0.6" @@ -7148,9 +7170,9 @@ dependencies = [ [[package]] name = "schemars" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54e910108742c57a770f492731f99be216a52fadd361b06c8fb59d74ccc267d2" +checksum = "a2b42f36aa1cd011945615b92222f6bf73c599a102a300334cd7f8dbeec726cc" dependencies = [ "chrono", "dyn-clone", @@ -7162,9 +7184,9 @@ dependencies = [ [[package]] name = "schemars_derive" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4908ad288c5035a8eb12cfdf0d49270def0a268ee162b75eeee0f85d155a7c45" +checksum = "7d115b50f4aaeea07e79c1912f645c7513d81715d0420f8bc77a18c6260b307f" dependencies = [ "proc-macro2", "quote", @@ -7551,9 +7573,9 @@ checksum = "b2aa850e253778c88a04c3d7323b043aeda9d3e30d5971937c1855769763678e" [[package]] name = "slab" -version = "0.4.11" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589" +checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" [[package]] name = "small_btree" @@ -8195,20 +8217,6 @@ dependencies = [ "libc", ] -[[package]] -name = "sysctl" -version = "0.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec7dddc5f0fee506baf8b9fdb989e242f17e4b11c61dfbb0635b705217199eea" -dependencies = [ - "bitflags 2.10.0", - "byteorder", - "enum-as-inner", - "libc", - "thiserror 1.0.69", - "walkdir", -] - [[package]] name = "sysctl" version = "0.6.0" @@ -8245,7 +8253,18 @@ checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" dependencies = [ "bitflags 1.3.2", "core-foundation 0.9.4", - "system-configuration-sys", + "system-configuration-sys 0.5.0", +] + +[[package]] +name = "system-configuration" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a13f3d0daba03132c0aa9767f98351b3488edc2c100cda2d2ec2b04f3d8d3c8b" +dependencies = [ + "bitflags 2.10.0", + "core-foundation 0.9.4", + "system-configuration-sys 0.6.0", ] [[package]] @@ -8258,6 +8277,16 @@ dependencies = [ "libc", ] +[[package]] +name = "system-configuration-sys" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "tag_ptr" version = "0.1.0" @@ -9099,6 +9128,12 @@ dependencies = [ "utf-8", ] +[[package]] +name = "typed-path" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3015e6ce46d5ad8751e4a772543a30c7511468070e98e64e20165f8f81155b64" + [[package]] name = "typeid" version = "1.0.3" @@ -9119,9 +9154,9 @@ checksum = "2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971" [[package]] name = "ug" -version = "0.1.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03719c61a91b51541f076dfdba45caacf750b230cefaa4b32d6f5411c3f7f437" +checksum = "76b761acf8af3494640d826a8609e2265e19778fb43306c7f15379c78c9b05b0" dependencies = [ "gemm 0.18.2", "half", @@ -9131,7 +9166,7 @@ dependencies = [ "num-traits", "num_cpus", "rayon", - "safetensors", + "safetensors 0.4.5", "serde", "thiserror 1.0.69", "tracing", @@ -9140,12 +9175,12 @@ dependencies = [ [[package]] name = "ug-metal" -version = "0.1.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a02ddc17bf32f7dcaaf016b6735f7198082b82f122df7b3ca15d8ead5911ccef" +checksum = "9f7adf545a99a086d362efc739e7cf4317c18cbeda22706000fd434d70ea3d95" dependencies = [ "half", - "metal 0.29.0", + "metal", "objc", "serde", "thiserror 1.0.69", @@ -10448,18 +10483,18 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.8.36" +version = "0.8.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dafd85c832c1b68bbb4ec0c72c7f6f4fc5179627d2bc7c26b30e4c0cc11e76cc" +checksum = "7456cf00f0685ad319c5b1693f291a650eaf345e941d082fc4e03df8a03996ac" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.36" +version = "0.8.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cb7e4e8436d9db52fbd6625dbf2f45243ab84994a72882ec8227b99e72b439a" +checksum = "1328722bbf2115db7e19d69ebcc15e795719e2d66b60827c6a69a117365e37a0" dependencies = [ "proc-macro2", "quote", @@ -10563,41 +10598,38 @@ dependencies = [ [[package]] name = "zip" -version = "1.1.4" +version = "2.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cc23c04387f4da0374be4533ad1208cbb091d5c11d070dfef13676ad6497164" +checksum = "fabe6324e908f85a1c52063ce7aa26b68dcb7eb6dbc83a2d148403c9bc3eba50" dependencies = [ "arbitrary", "crc32fast", "crossbeam-utils", "displaydoc", + "flate2", "indexmap 2.13.0", - "num_enum", - "thiserror 1.0.69", + "memchr", + "thiserror 2.0.18", + "zopfli", ] [[package]] name = "zip" -version = "2.4.2" +version = "7.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fabe6324e908f85a1c52063ce7aa26b68dcb7eb6dbc83a2d148403c9bc3eba50" +checksum = "c42e33efc22a0650c311c2ef19115ce232583abbe80850bc8b66509ebef02de0" dependencies = [ - "arbitrary", "crc32fast", - "crossbeam-utils", - "displaydoc", - "flate2", "indexmap 2.13.0", "memchr", - "thiserror 2.0.18", - "zopfli", + "typed-path", ] [[package]] name = "zmij" -version = "1.0.17" +version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02aae0f83f69aafc94776e879363e9771d7ecbffe2c7fbb6c14c5e00dfe88439" +checksum = "3ff05f8caa9038894637571ae6b9e29466c1f4f829d26c9b28f869a29cbe3445" [[package]] name = "zopfli" diff --git a/crates/goose/Cargo.toml b/crates/goose/Cargo.toml index 1e40e948f9dc..a5d9396b5189 100644 --- a/crates/goose/Cargo.toml +++ b/crates/goose/Cargo.toml @@ -93,9 +93,9 @@ unicode-normalization = "0.1" goose-mcp = { path = "../goose-mcp" } # For local Whisper transcription -candle-core = { version = "0.8.4" } -candle-nn = { version = "0.8.4" } -candle-transformers = { version = "0.8.4" } +candle-core = { version = "0.9", default-features = false } +candle-nn = { version = "0.9", default-features = false } +candle-transformers = { version = "0.9", default-features = false } byteorder = "1.5.0" tokenizers = "0.21.0" hf-hub = { version = "0.4.3", default-features = false, features = ["tokio"] } @@ -120,8 +120,8 @@ winapi = { version = "0.3", features = ["wincred"] } # Platform-specific GPU acceleration for Whisper [target.'cfg(target_os = "macos")'.dependencies] -candle-core = { version = "0.8.4", features = ["metal"] } -candle-nn = { version = "0.8.4", features = ["metal"] } +candle-core = { version = "0.9", default-features = false, features = ["metal"] } +candle-nn = { version = "0.9", default-features = false, features = ["metal"] } [dev-dependencies] serial_test = { workspace = true } diff --git a/crates/goose/src/agents/code_execution_extension.rs b/crates/goose/src/agents/code_execution_extension.rs index 812bb5e1484f..d39184dfcc95 100644 --- a/crates/goose/src/agents/code_execution_extension.rs +++ b/crates/goose/src/agents/code_execution_extension.rs @@ -201,7 +201,7 @@ struct ToolInfo { impl ToolInfo { fn from_mcp_tool(tool: &McpTool) -> Option { - let (server_name, tool_name) = tool.name.as_ref().split_once("__")?; + let (server_name, tool_name) = tool.name.split_once("__")?; let param_names = get_parameter_names(tool); let mut schema_value = Value::Object(tool.input_schema.as_ref().clone()); @@ -235,11 +235,11 @@ impl ToolInfo { Some(Self { server_name: server_name.to_string(), tool_name: tool_name.to_string(), - full_name: tool.name.as_ref().to_string(), + full_name: tool.name.to_string(), description: tool .description .as_ref() - .map(|d| d.as_ref().to_string()) + .map(|d| d.to_string()) .unwrap_or_default(), params, return_type, diff --git a/crates/goose/src/agents/extension_manager.rs b/crates/goose/src/agents/extension_manager.rs index e54e5bb40122..254c27e63cab 100644 --- a/crates/goose/src/agents/extension_manager.rs +++ b/crates/goose/src/agents/extension_manager.rs @@ -791,7 +791,7 @@ impl ExtensionManager { tools .iter() .filter(|tool| { - let tool_prefix = tool.name.as_ref().split("__").next().unwrap_or(""); + let tool_prefix = tool.name.split("__").next().unwrap_or(""); if let Some(ref excluded) = exclude_normalized { if tool_prefix == excluded { diff --git a/crates/goose/src/config/search_path.rs b/crates/goose/src/config/search_path.rs index a8cfdc56a59e..245132fac8db 100644 --- a/crates/goose/src/config/search_path.rs +++ b/crates/goose/src/config/search_path.rs @@ -33,7 +33,7 @@ impl SearchPaths { Self { paths: paths .into_iter() - .map(|s| PathBuf::from(shellexpand::tilde(&s).as_ref())) + .map(|s| PathBuf::from(&*shellexpand::tilde(&s))) .collect(), } } diff --git a/crates/goose/src/permission/permission_inspector.rs b/crates/goose/src/permission/permission_inspector.rs index c105c87081dc..a04d81768a5b 100644 --- a/crates/goose/src/permission/permission_inspector.rs +++ b/crates/goose/src/permission/permission_inspector.rs @@ -131,8 +131,8 @@ impl ToolInspector for PermissionInspector { } } // 2. Check if it's a readonly or regular tool (both pre-approved) - else if self.readonly_tools.contains(tool_name.as_ref()) - || self.regular_tools.contains(tool_name.as_ref()) + else if self.readonly_tools.contains(&**tool_name) + || self.regular_tools.contains(&**tool_name) { InspectionAction::Allow } @@ -153,9 +153,9 @@ impl ToolInspector for PermissionInspector { InspectionAction::Allow => { if goose_mode == GooseMode::Auto { "Auto mode - all tools approved".to_string() - } else if self.readonly_tools.contains(tool_name.as_ref()) { + } else if self.readonly_tools.contains(&**tool_name) { "Tool marked as read-only".to_string() - } else if self.regular_tools.contains(tool_name.as_ref()) { + } else if self.regular_tools.contains(&**tool_name) { "Tool pre-approved".to_string() } else { "User permission allows this tool".to_string() diff --git a/crates/goose/src/session/session_manager.rs b/crates/goose/src/session/session_manager.rs index ea039da6a6ba..13fbe82b70f3 100644 --- a/crates/goose/src/session/session_manager.rs +++ b/crates/goose/src/session/session_manager.rs @@ -697,7 +697,7 @@ impl SessionStorage { .bind(&session.name) .bind(session.user_set_name) .bind(session.session_type.to_string()) - .bind(session.working_dir.to_string_lossy().as_ref()) + .bind(&*session.working_dir.to_string_lossy()) .bind(session.created_at) .bind(session.updated_at) .bind(serde_json::to_string(&session.extension_data)?) @@ -924,7 +924,7 @@ impl SessionStorage { .bind(&today) .bind(&name) .bind(session_type.to_string()) - .bind(working_dir.to_string_lossy().as_ref()) + .bind(&*working_dir.to_string_lossy()) .fetch_one(&mut *tx) .await?; diff --git a/crates/goose/src/token_counter.rs b/crates/goose/src/token_counter.rs index dabb57082b7f..c689d7324515 100644 --- a/crates/goose/src/token_counter.rs +++ b/crates/goose/src/token_counter.rs @@ -65,8 +65,7 @@ impl TokenCounter { let name = &tool.name; let description = &tool .description - .as_ref() - .map(|d| d.as_ref()) + .as_deref() .unwrap_or_default() .trim_end_matches('.');