From 3373894b9f12662403e5d3e6513cea130d5b5c98 Mon Sep 17 00:00:00 2001 From: Michael Neale Date: Thu, 13 Aug 2026 00:30:40 +0000 Subject: [PATCH] fix: update SQLite to 3.51.3 (#11157) Signed-off-by: Michael Neale --- Cargo.lock | 299 ++++++------------ crates/goose/Cargo.toml | 6 +- .../goose/src/session/chat_history_search.rs | 4 +- .../goose/src/session/last_message_snippet.rs | 4 +- crates/goose/src/session/session_manager.rs | 35 +- 5 files changed, 117 insertions(+), 231 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 57e6b95a6..41d4eeda0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -211,7 +211,7 @@ version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" dependencies = [ - "windows-sys 0.61.2", + "windows-sys 0.60.2", ] [[package]] @@ -222,7 +222,7 @@ checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" dependencies = [ "anstyle", "once_cell_polyfill", - "windows-sys 0.61.2", + "windows-sys 0.60.2", ] [[package]] @@ -621,7 +621,7 @@ dependencies = [ "fastrand", "hex", "http 1.4.2", - "sha1", + "sha1 0.10.6", "time", "tokio", "tracing", @@ -1101,7 +1101,7 @@ dependencies = [ "serde_json", "serde_path_to_error", "serde_urlencoded", - "sha1", + "sha1 0.10.6", "sync_wrapper", "tokio", "tokio-tungstenite 0.29.0", @@ -2473,7 +2473,7 @@ version = "3.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "faf9468729b8cbcea668e36183cb69d317348c2e08e994829fb56ebfdfbaac34" dependencies = [ - "windows-sys 0.61.2", + "windows-sys 0.52.0", ] [[package]] @@ -3732,7 +3732,7 @@ dependencies = [ "libc", "option-ext", "redox_users", - "windows-sys 0.61.2", + "windows-sys 0.59.0", ] [[package]] @@ -3955,7 +3955,7 @@ dependencies = [ "ff", "generic-array", "group", - "hkdf", + "hkdf 0.12.4", "pem-rfc7468", "pkcs8", "rand_core 0.6.4", @@ -4051,7 +4051,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.61.2", + "windows-sys 0.52.0", ] [[package]] @@ -4069,17 +4069,6 @@ dependencies = [ "cc", ] -[[package]] -name = "etcetera" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "136d1b5283a1ab77bd9257427ffd09d8667ced0570b6f938942bc7568ed5b943" -dependencies = [ - "cfg-if 1.0.4", - "home", - "windows-sys 0.48.0", -] - [[package]] name = "etcetera" version = "0.11.0" @@ -4275,9 +4264,9 @@ dependencies = [ [[package]] name = "flume" -version = "0.11.1" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da0e4dd2a88388a1f4ccc7c9ce104604dab68d9f408dc34cd45823d5a9069095" +checksum = "5e139bc46ca777eb5efaf62df0ab8cc5fd400866427e56c68b22e414e53bd3be" dependencies = [ "futures-core", "futures-sink", @@ -4290,12 +4279,6 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" -[[package]] -name = "foldhash" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" - [[package]] name = "foldhash" version = "0.2.0" @@ -4978,7 +4961,7 @@ dependencies = [ "dotenvy", "dtor 1.0.5", "env-lock", - "etcetera 0.11.0", + "etcetera", "fs-err", "fs2", "futures", @@ -5112,7 +5095,7 @@ dependencies = [ "console", "dotenvy", "env-lock", - "etcetera 0.11.0", + "etcetera", "futures", "goose", "goose-mcp", @@ -5187,7 +5170,7 @@ dependencies = [ "chrono", "encoding_rs", "env-lock", - "etcetera 0.11.0", + "etcetera", "fs2", "futures", "goose-download-manager", @@ -5220,7 +5203,7 @@ dependencies = [ "base64 0.23.0", "chrono", "docx-rs", - "etcetera 0.11.0", + "etcetera", "image 0.24.9", "include_dir", "indoc", @@ -5440,17 +5423,6 @@ dependencies = [ "allocator-api2", ] -[[package]] -name = "hashbrown" -version = "0.15.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" -dependencies = [ - "allocator-api2", - "equivalent", - "foldhash 0.1.5", -] - [[package]] name = "hashbrown" version = "0.16.1" @@ -5459,7 +5431,7 @@ checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" dependencies = [ "allocator-api2", "equivalent", - "foldhash 0.2.0", + "foldhash", "serde", "serde_core", ] @@ -5472,16 +5444,16 @@ checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a" dependencies = [ "allocator-api2", "equivalent", - "foldhash 0.2.0", + "foldhash", ] [[package]] name = "hashlink" -version = "0.10.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7382cf6263419f2d8df38c55d7da83da5c18aef87fc7a7fc1fb1e344edfe14c1" +checksum = "824e001ac4f3012dd16a264bec811403a67ca9deb6c102fc5049b32c4574b35f" dependencies = [ - "hashbrown 0.15.5", + "hashbrown 0.16.1", ] [[package]] @@ -5594,6 +5566,15 @@ dependencies = [ "hmac 0.12.1", ] +[[package]] +name = "hkdf" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4aaa26c720c68b866f2c96ef5c1264b3e6f473fe5d4ce61cd44bbe913e553018" +dependencies = [ + "hmac 0.13.0", +] + [[package]] name = "hmac" version = "0.12.1" @@ -6595,17 +6576,14 @@ version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c943259e342f1e06ff2da7a83eabdfe7f92ce10262688dbf1895ff0b3e6e4652" dependencies = [ - "bitflags 2.13.0", "libc", - "plain", - "redox_syscall 0.9.0", ] [[package]] name = "libsqlite3-sys" -version = "0.30.1" +version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e99fb7a497b1e3339bc746195567ed8d3e24945ecd636e3619d20b9de9e9149" +checksum = "b1f111c8c41e7c61a49cd34e44c7619462967221a6443b0ec299e0ac30cfb9b1" dependencies = [ "cc", "pkg-config", @@ -7209,7 +7187,7 @@ version = "0.50.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" dependencies = [ - "windows-sys 0.61.2", + "windows-sys 0.59.0", ] [[package]] @@ -7884,7 +7862,7 @@ checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" dependencies = [ "cfg-if 1.0.4", "libc", - "redox_syscall 0.5.18", + "redox_syscall", "smallvec", "windows-link", ] @@ -8705,7 +8683,7 @@ dependencies = [ "once_cell", "socket2", "tracing", - "windows-sys 0.61.2", + "windows-sys 0.52.0", ] [[package]] @@ -8925,15 +8903,6 @@ dependencies = [ "bitflags 2.13.0", ] -[[package]] -name = "redox_syscall" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5102a6aaa05aa011a238e178e6bca86d2cb56fc9f586d37cb80f5bca6e07759" -dependencies = [ - "bitflags 2.13.0", -] - [[package]] name = "redox_users" version = "0.5.2" @@ -9353,7 +9322,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys 0.12.1", - "windows-sys 0.61.2", + "windows-sys 0.52.0", ] [[package]] @@ -9411,7 +9380,7 @@ dependencies = [ "security-framework 3.7.0", "security-framework-sys", "webpki-root-certs", - "windows-sys 0.61.2", + "windows-sys 0.52.0", ] [[package]] @@ -10043,6 +10012,17 @@ dependencies = [ "digest 0.10.7", ] +[[package]] +name = "sha1" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aacc4cc499359472b4abe1bf11d0b12e688af9a805fa5e3016f9a386dc2d0214" +dependencies = [ + "cfg-if 1.0.4", + "cpufeatures 0.3.0", + "digest 0.11.3", +] + [[package]] name = "sha2" version = "0.10.9" @@ -10422,7 +10402,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "52d1cfed4120b4d927bf7c0f86d2087a4a7d6027c906d9f9d525a80573b9be51" dependencies = [ "libc", - "windows-sys 0.61.2", + "windows-sys 0.60.2", ] [[package]] @@ -10482,9 +10462,9 @@ checksum = "3b9b39299b249ad65f3b7e96443bad61c02ca5cd3589f46cb6d610a0fd6c0d6a" [[package]] name = "sqlx" -version = "0.8.6" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fefb893899429669dcdd979aff487bd78f4064e5e7907e4269081e0ef7d97dc" +checksum = "378620ccc25c62c89d8be1c819e76a88d59bdcc3304733330788948e619bfd71" dependencies = [ "sqlx-core", "sqlx-macros", @@ -10495,12 +10475,13 @@ dependencies = [ [[package]] name = "sqlx-core" -version = "0.8.6" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee6798b1838b6a0f69c007c133b8df5866302197e404e8b6ee8ed3e3a5e68dc6" +checksum = "05b44e85bf579a8eeb4ceaa77a3a523baf2bf0e9bac7e40f405d537b5d2d5ccb" dependencies = [ "base64 0.22.1", "bytes", + "cfg-if 1.0.4", "chrono", "crc", "crossbeam-queue", @@ -10510,13 +10491,12 @@ dependencies = [ "futures-intrusive", "futures-io", "futures-util", - "hashbrown 0.15.5", + "hashbrown 0.16.1", "hashlink", "indexmap 2.14.0", "log", "memchr", "native-tls", - "once_cell", "percent-encoding", "rustls", "serde", @@ -10528,14 +10508,14 @@ dependencies = [ "tokio-stream", "tracing", "url", - "webpki-roots 0.26.11", + "webpki-roots 1.0.8", ] [[package]] name = "sqlx-macros" -version = "0.8.6" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2d452988ccaacfbf5e0bdbc348fb91d7c8af5bee192173ac3636b5fb6e6715d" +checksum = "bd2b84f2bc39a5705ef27ec785a11c934a41bbd4a24941e257927cddc26b60bf" dependencies = [ "proc-macro2", "quote", @@ -10546,15 +10526,15 @@ dependencies = [ [[package]] name = "sqlx-macros-core" -version = "0.8.6" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19a9c1841124ac5a61741f96e1d9e2ec77424bf323962dd894bdb93f37d5219b" +checksum = "fb8d96de5fdc85a5c4ec813432b523ec637e80ba98f046555f75f7908ddac7c3" dependencies = [ + "cfg-if 1.0.4", "dotenvy", "either", "heck", "hex", - "once_cell", "proc-macro2", "quote", "serde", @@ -10565,58 +10545,43 @@ dependencies = [ "sqlx-postgres", "sqlx-sqlite", "syn 2.0.118", + "thiserror 2.0.18", "tokio", "url", ] [[package]] name = "sqlx-mysql" -version = "0.8.6" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa003f0038df784eb8fecbbac13affe3da23b45194bd57dba231c8f48199c526" +checksum = "90b8020fe17c5f2c245bfa2505d7ef59c5604839527c740266ad2214acebea27" dependencies = [ - "atoi", - "base64 0.22.1", "bitflags 2.13.0", "byteorder", "bytes", "chrono", "crc", - "digest 0.10.7", + "digest 0.11.3", "dotenvy", "either", - "futures-channel", "futures-core", - "futures-io", "futures-util", "generic-array", - "hex", - "hkdf", - "hmac 0.12.1", - "itoa", "log", - "md-5 0.10.6", - "memchr", - "once_cell", "percent-encoding", - "rand 0.8.6", - "rsa", "serde", - "sha1", - "sha2 0.10.9", - "smallvec", + "sha1 0.11.0", + "sha2 0.11.0", "sqlx-core", - "stringprep", "thiserror 2.0.18", "tracing", - "whoami 1.6.1", ] [[package]] name = "sqlx-postgres" -version = "0.8.6" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db58fcd5a53cf07c184b154801ff91347e4c30d17a3562a635ff028ad5deda46" +checksum = "87a2bdd6e83f6b3ea525ca9fee568030508b58355a43d0b2c1674d5f79dcd65e" dependencies = [ "atoi", "base64 0.22.1", @@ -10625,40 +10590,39 @@ dependencies = [ "chrono", "crc", "dotenvy", - "etcetera 0.8.0", + "etcetera", "futures-channel", "futures-core", "futures-util", "hex", - "hkdf", - "hmac 0.12.1", - "home", + "hkdf 0.13.0", + "hmac 0.13.0", "itoa", "log", - "md-5 0.10.6", + "md-5 0.11.0", "memchr", - "once_cell", - "rand 0.8.6", + "rand 0.10.2", "serde", "serde_json", - "sha2 0.10.9", + "sha2 0.11.0", "smallvec", "sqlx-core", "stringprep", "thiserror 2.0.18", "tracing", - "whoami 1.6.1", + "whoami", ] [[package]] name = "sqlx-sqlite" -version = "0.8.6" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2d12fe70b2c1b4401038055f90f151b78208de1f9f89a7dbfd41587a10c3eea" +checksum = "488e99c397a62007e4229aec669a179816339afc6d2620ca6fa420dbee2e982c" dependencies = [ "atoi", "chrono", "flume", + "form_urlencoded", "futures-channel", "futures-core", "futures-executor", @@ -10668,7 +10632,6 @@ dependencies = [ "log", "percent-encoding", "serde", - "serde_urlencoded", "sqlx-core", "thiserror 2.0.18", "tracing", @@ -10704,7 +10667,7 @@ dependencies = [ "cfg-if 1.0.4", "libc", "psm", - "windows-sys 0.61.2", + "windows-sys 0.60.2", ] [[package]] @@ -11092,7 +11055,7 @@ dependencies = [ "once_cell", "rustc-hash 2.1.3", "serde", - "sha1", + "sha1 0.10.6", "string_enum", "swc_atoms", "swc_common", @@ -11554,10 +11517,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd" dependencies = [ "fastrand", - "getrandom 0.4.3", + "getrandom 0.3.4", "once_cell", "rustix 1.1.4", - "windows-sys 0.61.2", + "windows-sys 0.52.0", ] [[package]] @@ -12529,7 +12492,7 @@ dependencies = [ "rand 0.9.4", "rustls", "rustls-pki-types", - "sha1", + "sha1 0.10.6", "thiserror 2.0.18", "utf-8", ] @@ -12546,7 +12509,7 @@ dependencies = [ "httparse", "log", "rand 0.9.4", - "sha1", + "sha1 0.10.6", "thiserror 2.0.18", ] @@ -13096,12 +13059,6 @@ dependencies = [ "wit-bindgen", ] -[[package]] -name = "wasite" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" - [[package]] name = "wasite" version = "1.0.2" @@ -13211,15 +13168,15 @@ dependencies = [ [[package]] name = "webbrowser" -version = "1.2.1" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fc95580916af1e68ff6a7be07446fc5db73ebf71cf092de939bbf5f7e189f72" +checksum = "ef62a3d5f7b2411119a11b6f62570dbff91d7105e011a20fb83fbf8f5761c40f" dependencies = [ - "core-foundation 0.10.1", "jni", "log", "ndk-context", "objc2", + "objc2-app-kit", "objc2-foundation", "url", "web-sys", @@ -13306,16 +13263,6 @@ dependencies = [ "libc", ] -[[package]] -name = "whoami" -version = "1.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d4a4db5077702ca3015d3d02d74974948aba2ad9e12ab7df718ee64ccd7e97d" -dependencies = [ - "libredox", - "wasite 0.1.0", -] - [[package]] name = "whoami" version = "2.1.2" @@ -13325,7 +13272,7 @@ dependencies = [ "libc", "libredox", "objc2-system-configuration", - "wasite 1.0.2", + "wasite", "web-sys", ] @@ -13351,7 +13298,7 @@ version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.61.2", + "windows-sys 0.52.0", ] [[package]] @@ -13525,15 +13472,6 @@ dependencies = [ "windows-link", ] -[[package]] -name = "windows-sys" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" -dependencies = [ - "windows-targets 0.48.5", -] - [[package]] name = "windows-sys" version = "0.52.0" @@ -13570,21 +13508,6 @@ dependencies = [ "windows-link", ] -[[package]] -name = "windows-targets" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" -dependencies = [ - "windows_aarch64_gnullvm 0.48.5", - "windows_aarch64_msvc 0.48.5", - "windows_i686_gnu 0.48.5", - "windows_i686_msvc 0.48.5", - "windows_x86_64_gnu 0.48.5", - "windows_x86_64_gnullvm 0.48.5", - "windows_x86_64_msvc 0.48.5", -] - [[package]] name = "windows-targets" version = "0.52.6" @@ -13627,12 +13550,6 @@ dependencies = [ "windows-link", ] -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" - [[package]] name = "windows_aarch64_gnullvm" version = "0.52.6" @@ -13645,12 +13562,6 @@ version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" -[[package]] -name = "windows_aarch64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" - [[package]] name = "windows_aarch64_msvc" version = "0.52.6" @@ -13663,12 +13574,6 @@ version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" -[[package]] -name = "windows_i686_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" - [[package]] name = "windows_i686_gnu" version = "0.52.6" @@ -13693,12 +13598,6 @@ version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" -[[package]] -name = "windows_i686_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" - [[package]] name = "windows_i686_msvc" version = "0.52.6" @@ -13711,12 +13610,6 @@ version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" -[[package]] -name = "windows_x86_64_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" - [[package]] name = "windows_x86_64_gnu" version = "0.52.6" @@ -13729,12 +13622,6 @@ version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" - [[package]] name = "windows_x86_64_gnullvm" version = "0.52.6" @@ -13747,12 +13634,6 @@ version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" -[[package]] -name = "windows_x86_64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" - [[package]] name = "windows_x86_64_msvc" version = "0.52.6" @@ -13855,7 +13736,7 @@ checksum = "1301e935010a701ae5f8655edc0ad17c44bad3ac5ce8c39185f75453b720ae94" dependencies = [ "const-oid 0.9.6", "der", - "sha1", + "sha1 0.10.6", "signature", "spki", "tls_codec", @@ -14034,7 +13915,7 @@ dependencies = [ "tracing", "tracing-appender", "tracing-subscriber", - "whoami 2.1.2", + "whoami", "winapi", ] diff --git a/crates/goose/Cargo.toml b/crates/goose/Cargo.toml index ad8a6e02b..476872090 100644 --- a/crates/goose/Cargo.toml +++ b/crates/goose/Cargo.toml @@ -51,7 +51,7 @@ rustls-tls = [ "reqwest/rustls", "rmcp/reqwest", "smithy-transport-reqwest?/rustls", - "sqlx/runtime-tokio-rustls", + "sqlx/tls-rustls", "jsonwebtoken/aws_lc_rs", "oauth2/reqwest", "oauth2/rustls-tls", @@ -69,7 +69,7 @@ native-tls = [ "reqwest/native-tls", "rmcp/reqwest-native-tls", "smithy-transport-reqwest?/native-tls", - "sqlx/runtime-tokio-native-tls", + "sqlx/tls-native-tls", "jsonwebtoken/rust_crypto", "oauth2/reqwest", "oauth2/native-tls", @@ -143,7 +143,7 @@ rand = { workspace = true } tokio-cron-scheduler = { version = "0.15", default-features = false } urlencoding = { workspace = true } v_htmlescape = { version = "0.17", default-features = false, features = ["std"] } -sqlx = { version = "0.8.5", default-features = false, features = [ +sqlx = { version = "0.9.0", default-features = false, features = [ "runtime-tokio", "sqlite", "chrono", diff --git a/crates/goose/src/session/chat_history_search.rs b/crates/goose/src/session/chat_history_search.rs index a92768a33..c8a5f79f4 100644 --- a/crates/goose/src/session/chat_history_search.rs +++ b/crates/goose/src/session/chat_history_search.rs @@ -4,7 +4,7 @@ use anyhow::Result; use chrono::{DateTime, Utc}; use rmcp::model::Role; use serde::Serialize; -use sqlx::{Pool, Sqlite}; +use sqlx::{AssertSqlSafe, Pool, Sqlite}; use std::collections::HashMap; #[derive(Debug, Clone, Serialize)] @@ -97,7 +97,7 @@ impl<'a> ChatHistorySearch<'a> { async fn fetch_rows(&self, keywords: &[String]) -> Result> { let sql = self.build_sql(keywords); - let mut query_builder = sqlx::query_as::<_, SqlQueryRow>(&sql); + let mut query_builder = sqlx::query_as::<_, SqlQueryRow>(AssertSqlSafe(sql)); for keyword in keywords { query_builder = query_builder.bind(keyword); diff --git a/crates/goose/src/session/last_message_snippet.rs b/crates/goose/src/session/last_message_snippet.rs index 9aafadd25..98009f395 100644 --- a/crates/goose/src/session/last_message_snippet.rs +++ b/crates/goose/src/session/last_message_snippet.rs @@ -2,7 +2,7 @@ use crate::conversation::message::Message; use crate::session::session_manager::Session; use anyhow::Result; use rmcp::model::Role; -use sqlx::{Pool, Sqlite}; +use sqlx::{AssertSqlSafe, Pool, Sqlite}; use std::collections::HashMap; const LAST_MESSAGE_SNIPPET_MAX_CHARS: usize = 128; @@ -78,7 +78,7 @@ async fn recent_message_rows( .collect::>() .join(" UNION ALL "); - let mut query = sqlx::query_as::<_, RecentMessageRow>(&sql); + let mut query = sqlx::query_as::<_, RecentMessageRow>(AssertSqlSafe(sql)); for session_id in session_ids { query = query .bind(session_id) diff --git a/crates/goose/src/session/session_manager.rs b/crates/goose/src/session/session_manager.rs index 040c06dcf..e1f0cb1b5 100644 --- a/crates/goose/src/session/session_manager.rs +++ b/crates/goose/src/session/session_manager.rs @@ -17,7 +17,7 @@ use goose_providers::model::ModelConfig; use rmcp::model::Role; use serde::{Deserialize, Serialize}; use sqlx::sqlite::{SqliteConnectOptions, SqlitePoolOptions}; -use sqlx::{Pool, Sqlite}; +use sqlx::{AssertSqlSafe, Pool, Sqlite}; use std::collections::HashMap; use std::fs; use std::path::{Path, PathBuf}; @@ -1513,9 +1513,11 @@ impl SessionStorage { .await? > 0; if !has_column { - sqlx::query(&format!("ALTER TABLE sessions ADD COLUMN {column} INTEGER")) - .execute(&mut **tx) - .await?; + sqlx::query(AssertSqlSafe(format!( + "ALTER TABLE sessions ADD COLUMN {column} INTEGER" + ))) + .execute(&mut **tx) + .await?; } } } @@ -1664,10 +1666,11 @@ impl SessionStorage { user_visible_message_sql("metadata_json"), normalized_message_timestamp_sql("created_timestamp") ); - let (count, last_message_timestamp): (i64, Option) = sqlx::query_as(&sql) - .bind(&session.id) - .fetch_one(pool) - .await?; + let (count, last_message_timestamp): (i64, Option) = + sqlx::query_as(AssertSqlSafe(sql)) + .bind(&session.id) + .fetch_one(pool) + .await?; session.message_count = count as usize; session.last_message_at = last_message_timestamp.and_then(message_timestamp_to_datetime); @@ -1728,7 +1731,7 @@ impl SessionStorage { query.push_str(", "); query.push_str("updated_at = datetime('now') WHERE id = ?"); - let mut q = sqlx::query(&query); + let mut q = sqlx::query(AssertSqlSafe(query)); if let Some(name) = builder.name { q = q.bind(name); @@ -2023,7 +2026,7 @@ impl SessionStorage { limit_clause ); - let mut q = sqlx::query_as::<_, Session>(&sql); + let mut q = sqlx::query_as::<_, Session>(AssertSqlSafe(sql)); if let Some(types) = filters.types { for session_type in types { q = q.bind(session_type.to_string()); @@ -2162,7 +2165,7 @@ impl SessionStorage { ); let pool = self.pool().await?; - let mut q = sqlx::query_as::<_, (i64, Option)>(&query); + let mut q = sqlx::query_as::<_, (i64, Option)>(AssertSqlSafe(query)); for t in types { q = q.bind(t.to_string()); } @@ -4353,10 +4356,12 @@ mod tests { "accumulated_cache_read_tokens", "accumulated_cache_write_tokens", ] { - sqlx::query(&format!("ALTER TABLE sessions DROP COLUMN {column}")) - .execute(&pool) - .await - .unwrap(); + sqlx::query(AssertSqlSafe(format!( + "ALTER TABLE sessions DROP COLUMN {column}" + ))) + .execute(&pool) + .await + .unwrap(); } sqlx::query("UPDATE schema_version SET version = 13") .execute(&pool)