fix(deps): bump tree-sitter to 0.26 and set sqlx default-features=false to fix RUSTSEC advisories (#7031)

Signed-off-by: Adrian Cole <adrian@tetrate.io>
This commit is contained in:
Adrian Cole
2026-02-06 18:39:24 +08:00
committed by GitHub
parent 2c7e2293b2
commit 81b0a348d6
9 changed files with 242 additions and 262 deletions
+4 -3
View File
@@ -26,6 +26,7 @@ jobs:
# https://github.com/marketplace/actions/cargo-audit-your-rust-dependencies
- uses: actions-rust-lang/audit@72c09e02f132669d52284a3323acdb503cfc1a24
name: Audit Rust Dependencies
# with:
# Comma separated list of issues to ignore
# ignore: RUSTSEC-2020-0036
with:
# sqlx-mysql pulls in rsa, but goose only uses sqlite. cargo-audit
# can't distinguish used from unused deps (rustsec/rustsec#1119).
ignore: RUSTSEC-2023-0071
Generated
+193 -215
View File
@@ -30,9 +30,9 @@ dependencies = [
[[package]]
name = "agent-client-protocol-schema"
version = "0.10.7"
version = "0.10.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5a871245e59daecd6abf45f516d35445466294ae987dc685106e1676685bfdce"
checksum = "44bc1fef9c32f03bce2ab44af35b6f483bfd169bf55cc59beeb2e3b1a00ae4d1"
dependencies = [
"anyhow",
"derive_more",
@@ -156,9 +156,18 @@ dependencies = [
[[package]]
name = "anyhow"
version = "1.0.100"
version = "1.0.101"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61"
checksum = "5f0e0fee31ef5ed1ba1316088939cea399010ed7731dba877ed44aeb407a75ea"
[[package]]
name = "ar_archive_writer"
version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7eb93bbb63b9c227414f6eb3a0adfddca591a8ce1e9b60661bb08969b87e340b"
dependencies = [
"object",
]
[[package]]
name = "arbitrary"
@@ -330,9 +339,9 @@ dependencies = [
[[package]]
name = "aws-lc-rs"
version = "1.13.3"
version = "1.15.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5c953fe1ba023e6b7730c0d4b031d06f267f23a46167dcbd40316644b10a17ba"
checksum = "7b7b6141e96a8c160799cc2d5adecd5cbbe5054cb8c7c4af53da0f83bb7ad256"
dependencies = [
"aws-lc-sys",
"zeroize",
@@ -340,11 +349,10 @@ dependencies = [
[[package]]
name = "aws-lc-sys"
version = "0.30.0"
version = "0.37.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dbfd150b5dbdb988bcc8fb1fe787eb6b7ee6180ca24da683b61ea5405f3d43ff"
checksum = "5c34dda4df7017c8db52132f0f8a2e0f8161649d15723ed63fc00c82d0f2081a"
dependencies = [
"bindgen 0.69.5",
"cc",
"cmake",
"dunce",
@@ -579,7 +587,7 @@ dependencies = [
"hyper-util",
"pin-project-lite",
"rustls 0.21.12",
"rustls 0.23.31",
"rustls 0.23.36",
"rustls-native-certs",
"rustls-pki-types",
"tokio",
@@ -948,29 +956,6 @@ dependencies = [
"serde",
]
[[package]]
name = "bindgen"
version = "0.69.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088"
dependencies = [
"bitflags 2.10.0",
"cexpr",
"clang-sys",
"itertools 0.12.1",
"lazy_static",
"lazycell",
"log",
"prettyplease",
"proc-macro2",
"quote",
"regex",
"rustc-hash 1.1.0",
"shlex",
"syn 2.0.114",
"which 4.4.2",
]
[[package]]
name = "bindgen"
version = "0.72.1"
@@ -1330,15 +1315,16 @@ dependencies = [
[[package]]
name = "blake3"
version = "1.5.3"
version = "1.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e9ec96fe9a81b5e365f9db71fe00edc4fe4ca2cc7dcb7861f0603012a7caa210"
checksum = "2468ef7d57b3fb7e16b576e8377cdbde2320c60e1491e961d11da40fc4f02a2d"
dependencies = [
"arrayref",
"arrayvec",
"cc",
"cfg-if",
"constant_time_eq 0.3.1",
"constant_time_eq 0.4.2",
"cpufeatures",
]
[[package]]
@@ -1593,7 +1579,7 @@ dependencies = [
"candle-kernels",
"candle-metal-kernels",
"candle-ug",
"cudarc 0.19.0",
"cudarc 0.19.1",
"float8 0.6.1",
"gemm 0.19.0",
"half",
@@ -1609,7 +1595,7 @@ dependencies = [
"safetensors 0.7.0",
"thiserror 2.0.18",
"yoke 0.8.1",
"zip 7.2.0",
"zip 7.4.0",
]
[[package]]
@@ -1726,13 +1712,14 @@ dependencies = [
[[package]]
name = "cc"
version = "1.0.106"
version = "1.2.55"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "066fce287b1d4eafef758e89e09d724a24808a9196fe9756b8ca90e86d0719a2"
checksum = "47b26a0954ae34af09b50f0de26458fa95369a0d478d8236d3f93082b219bd29"
dependencies = [
"find-msvc-tools",
"jobserver",
"libc",
"once_cell",
"shlex",
]
[[package]]
@@ -1805,7 +1792,7 @@ checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4"
dependencies = [
"glob",
"libc",
"libloading",
"libloading 0.8.9",
]
[[package]]
@@ -1893,9 +1880,9 @@ dependencies = [
[[package]]
name = "cmake"
version = "0.1.53"
version = "0.1.57"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e24a03c8b52922d68a1589ad61032f2c1aa5a8158d2aa0d93c6e9534944bbad6"
checksum = "75443c44cd6b379beb8c5b45d85d0773baf31cce901fe7bb252f4eff3008ef7d"
dependencies = [
"cc",
]
@@ -2069,9 +2056,9 @@ checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc"
[[package]]
name = "constant_time_eq"
version = "0.3.1"
version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6"
checksum = "3d52eff69cd5e647efe296129160853a42795992097e8af39800e1060caeea9b"
[[package]]
name = "content_inspector"
@@ -2330,18 +2317,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0bf99ab37ee7072d64d906aa2dada9a3422f1d975cdf8c8055a573bc84897ed8"
dependencies = [
"half",
"libloading",
"libloading 0.8.9",
]
[[package]]
name = "cudarc"
version = "0.19.0"
version = "0.19.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4d5be1e9776a20360ca270df637b391c85d48ea57508140f30a4e8f6da91884a"
checksum = "60d4882b3e023670c25b8a3e1ac97349070f8e5400807c091b70e0bdad6e9b93"
dependencies = [
"float8 0.3.0",
"float8 0.7.0",
"half",
"libloading",
"libloading 0.9.0",
]
[[package]]
@@ -2981,16 +2968,6 @@ dependencies = [
"unicode-xid",
]
[[package]]
name = "devgen-tree-sitter-swift"
version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "55c23625b6874f93a85934eb8fe4804a87d0a7d38ff1b74fc3d7ab4a06bd92ae"
dependencies = [
"cc",
"tree-sitter",
]
[[package]]
name = "diff"
version = "0.1.13"
@@ -3493,6 +3470,12 @@ dependencies = [
"libredox",
]
[[package]]
name = "find-msvc-tools"
version = "0.1.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582"
[[package]]
name = "fixedbitset"
version = "0.5.7"
@@ -3509,28 +3492,28 @@ dependencies = [
"miniz_oxide",
]
[[package]]
name = "float8"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0f498aec3b227cd892ce18967f4033d9d397d28a80a7ab67e9f6b0176a79654e"
dependencies = [
"half",
]
[[package]]
name = "float8"
version = "0.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "719a903cc23e4a89e87962c2a80fdb45cdaad0983a89bd150bb57b4c8571a7d5"
dependencies = [
"cudarc 0.19.0",
"cudarc 0.19.1",
"half",
"num-traits",
"rand 0.9.2",
"rand_distr",
]
[[package]]
name = "float8"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c2d1f04709a8ac06e8e8042875a3c466cc4832d3c1a18dbcb9dba3c6e83046bc"
dependencies = [
"half",
]
[[package]]
name = "fluent-uri"
version = "0.3.2"
@@ -4371,7 +4354,6 @@ dependencies = [
"anyhow",
"base64 0.22.1",
"chrono",
"devgen-tree-sitter-swift",
"docx-rs",
"etcetera 0.11.0",
"ignore",
@@ -4403,10 +4385,11 @@ dependencies = [
"tree-sitter-go",
"tree-sitter-java",
"tree-sitter-javascript",
"tree-sitter-kotlin",
"tree-sitter-kotlin-ng",
"tree-sitter-python",
"tree-sitter-ruby",
"tree-sitter-rust",
"tree-sitter-swift",
"umya-spreadsheet",
"url",
"which 8.0.0",
@@ -4436,7 +4419,7 @@ dependencies = [
"rand 0.9.2",
"reqwest 0.12.28",
"rmcp 0.14.0",
"rustls 0.23.31",
"rustls 0.23.36",
"serde",
"serde_json",
"serde_path_to_error",
@@ -4581,6 +4564,8 @@ version = "0.15.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1"
dependencies = [
"allocator-api2",
"equivalent",
"foldhash 0.1.5",
]
@@ -4597,15 +4582,6 @@ dependencies = [
"serde_core",
]
[[package]]
name = "hashlink"
version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6ba4ff7128dee98c7dc9794b6a411377e1404dba1c97deb8d1a55297bd25d8af"
dependencies = [
"hashbrown 0.14.5",
]
[[package]]
name = "hashlink"
version = "0.10.0"
@@ -4865,7 +4841,7 @@ dependencies = [
"http 1.4.0",
"hyper 1.8.1",
"hyper-util",
"rustls 0.23.31",
"rustls 0.23.36",
"rustls-native-certs",
"rustls-pki-types",
"tokio",
@@ -5318,15 +5294,6 @@ version = "1.70.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695"
[[package]]
name = "itertools"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569"
dependencies = [
"either",
]
[[package]]
name = "itertools"
version = "0.13.0"
@@ -5359,9 +5326,9 @@ checksum = "84de9d95a6d2547d9b77ee3f25fa0ee32e3c3a6484d47a55adebc0439c077992"
[[package]]
name = "jiff"
version = "0.2.18"
version = "0.2.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e67e8da4c49d6d9909fe03361f9b620f58898859f5c7aded68351e85e71ecf50"
checksum = "d89a5b5e10d5a9ad6e5d1f4bd58225f655d6fe9767575a5e8ac5a6fe64e04495"
dependencies = [
"jiff-static",
"jiff-tzdb-platform",
@@ -5374,9 +5341,9 @@ dependencies = [
[[package]]
name = "jiff-static"
version = "0.2.18"
version = "0.2.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e0c84ee7f197eca9a86c6fd6cb771e55eb991632f15f2bc3ca6ec838929e6e78"
checksum = "ff7a39c8862fc1369215ccf0a8f12dd4598c7f6484704359f0351bd617034dbf"
dependencies = [
"proc-macro2",
"quote",
@@ -5570,12 +5537,6 @@ dependencies = [
"spin",
]
[[package]]
name = "lazycell"
version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
[[package]]
name = "lebe"
version = "0.5.3"
@@ -5620,6 +5581,16 @@ dependencies = [
"windows-link 0.2.1",
]
[[package]]
name = "libloading"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "754ca22de805bb5744484a5b151a9e1a8e837d5dc232c2d7d8c2e3492edc8b60"
dependencies = [
"cfg-if",
"windows-link 0.2.1",
]
[[package]]
name = "libm"
version = "0.2.16"
@@ -5639,9 +5610,9 @@ dependencies = [
[[package]]
name = "libsqlite3-sys"
version = "0.28.0"
version = "0.30.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0c10584274047cb335c23d3e61bcef8e323adae7c5c8c760540f73610177fc3f"
checksum = "2e99fb7a497b1e3339bc746195567ed8d3e24945ecd636e3619d20b9de9e9149"
dependencies = [
"cc",
"pkg-config",
@@ -7153,9 +7124,9 @@ checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220"
[[package]]
name = "pest"
version = "2.8.5"
version = "2.8.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2c9eb05c21a464ea704b53158d358a31e6425db2f63a1a7312268b05fe2b75f7"
checksum = "e0848c601009d37dfa3430c4666e147e49cdcf1b92ecd3e63657d8a5f19da662"
dependencies = [
"memchr",
"ucd-trie",
@@ -7163,9 +7134,9 @@ dependencies = [
[[package]]
name = "pest_derive"
version = "2.8.5"
version = "2.8.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "68f9dbced329c441fa79d80472764b1a2c7e57123553b8519b36663a2fb234ed"
checksum = "11f486f1ea21e6c10ed15d5a7c77165d0ee443402f0780849d1768e7d9d6fe77"
dependencies = [
"pest",
"pest_generator",
@@ -7173,9 +7144,9 @@ dependencies = [
[[package]]
name = "pest_generator"
version = "2.8.5"
version = "2.8.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3bb96d5051a78f44f43c8f712d8e810adb0ebf923fc9ed2655a7f66f63ba8ee5"
checksum = "8040c4647b13b210a963c1ed407c1ff4fdfa01c31d6d2a098218702e6664f94f"
dependencies = [
"pest",
"pest_meta",
@@ -7186,9 +7157,9 @@ dependencies = [
[[package]]
name = "pest_meta"
version = "2.8.5"
version = "2.8.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "602113b5b5e8621770cfd490cfd90b9f84ab29bd2b0e49ad83eb6d186cef2365"
checksum = "89815c69d36021a140146f26659a81d6c2afa33d216d736dd4be5381a7362220"
dependencies = [
"pest",
"sha2",
@@ -7546,10 +7517,11 @@ checksum = "33cb294fe86a74cbcf50d4445b37da762029549ebeea341421c7c70370f86cac"
[[package]]
name = "psm"
version = "0.1.23"
version = "0.1.29"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "aa37f80ca58604976033fae9515a8a2989fc13797d953f7c04fb8fa36a11f205"
checksum = "1fa96cb91275ed31d6da3e983447320c4eb219ac180fa1679a0889ff32861e2d"
dependencies = [
"ar_archive_writer",
"cc",
]
@@ -7658,7 +7630,7 @@ dependencies = [
"quinn-proto",
"quinn-udp",
"rustc-hash 2.1.1",
"rustls 0.23.31",
"rustls 0.23.36",
"socket2 0.6.2",
"thiserror 2.0.18",
"tokio",
@@ -7678,7 +7650,7 @@ dependencies = [
"rand 0.9.2",
"ring",
"rustc-hash 2.1.1",
"rustls 0.23.31",
"rustls 0.23.36",
"rustls-pki-types",
"slab",
"thiserror 2.0.18",
@@ -8040,7 +8012,7 @@ dependencies = [
"percent-encoding",
"pin-project-lite",
"quinn",
"rustls 0.23.31",
"rustls 0.23.36",
"rustls-native-certs",
"rustls-pki-types",
"serde",
@@ -8082,9 +8054,9 @@ dependencies = [
[[package]]
name = "ring"
version = "0.17.9"
version = "0.17.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e75ec5e92c4d8aede845126adc388046234541629e76029599ed35a003c7ed24"
checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7"
dependencies = [
"cc",
"cfg-if",
@@ -8315,16 +8287,16 @@ dependencies = [
[[package]]
name = "rustls"
version = "0.23.31"
version = "0.23.36"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c0ebcbd2f03de0fc1122ad9bb24b127a5a6cd51d72604a3f3c50ac459762b6cc"
checksum = "c665f33d38cea657d9614f766881e4d510e0eda4239891eea56b4cadcf01801b"
dependencies = [
"aws-lc-rs",
"log",
"once_cell",
"ring",
"rustls-pki-types",
"rustls-webpki 0.103.4",
"rustls-webpki 0.103.9",
"subtle",
"zeroize",
]
@@ -8372,9 +8344,9 @@ dependencies = [
[[package]]
name = "rustls-webpki"
version = "0.103.4"
version = "0.103.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0a17884ae0c1b773f1ccd2bd4a8c72f16da897310a98b0e84bf349ad5ead92fc"
checksum = "d7df23109aa6c1567d1c575b9952556388da57401e4ace1d15f79eedad0d8f53"
dependencies = [
"aws-lc-rs",
"ring",
@@ -9078,21 +9050,11 @@ version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3b9b39299b249ad65f3b7e96443bad61c02ca5cd3589f46cb6d610a0fd6c0d6a"
[[package]]
name = "sqlformat"
version = "0.2.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7bba3a93db0cc4f7bdece8bb09e77e2e785c20bfebf79eb8340ed80708048790"
dependencies = [
"nom 7.1.3",
"unicode_categories",
]
[[package]]
name = "sqlx"
version = "0.8.0"
version = "0.8.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "27144619c6e5802f1380337a209d2ac1c431002dd74c6e60aebff3c506dc4f0c"
checksum = "1fefb893899429669dcdd979aff487bd78f4064e5e7907e4269081e0ef7d97dc"
dependencies = [
"sqlx-core",
"sqlx-macros",
@@ -9103,52 +9065,46 @@ dependencies = [
[[package]]
name = "sqlx-core"
version = "0.8.0"
version = "0.8.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a999083c1af5b5d6c071d34a708a19ba3e02106ad82ef7bbd69f5e48266b613b"
checksum = "ee6798b1838b6a0f69c007c133b8df5866302197e404e8b6ee8ed3e3a5e68dc6"
dependencies = [
"atoi",
"byteorder",
"base64 0.22.1",
"bytes",
"chrono",
"crc",
"crossbeam-queue",
"either",
"event-listener",
"futures-channel",
"futures-core",
"futures-intrusive",
"futures-io",
"futures-util",
"hashbrown 0.14.5",
"hashlink 0.9.1",
"hex",
"hashbrown 0.15.5",
"hashlink",
"indexmap 2.13.0",
"log",
"memchr",
"once_cell",
"paste",
"percent-encoding",
"rustls 0.21.12",
"rustls-pemfile",
"rustls 0.23.36",
"serde",
"serde_json",
"sha2",
"smallvec",
"sqlformat",
"thiserror 1.0.69",
"thiserror 2.0.18",
"tokio",
"tokio-stream",
"tracing",
"url",
"webpki-roots 0.25.4",
"webpki-roots 0.26.11",
]
[[package]]
name = "sqlx-macros"
version = "0.8.0"
version = "0.8.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a23217eb7d86c584b8cbe0337b9eacf12ab76fe7673c513141ec42565698bb88"
checksum = "a2d452988ccaacfbf5e0bdbc348fb91d7c8af5bee192173ac3636b5fb6e6715d"
dependencies = [
"proc-macro2",
"quote",
@@ -9159,9 +9115,9 @@ dependencies = [
[[package]]
name = "sqlx-macros-core"
version = "0.8.0"
version = "0.8.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1a099220ae541c5db479c6424bdf1b200987934033c2584f79a0e1693601e776"
checksum = "19a9c1841124ac5a61741f96e1d9e2ec77424bf323962dd894bdb93f37d5219b"
dependencies = [
"dotenvy",
"either",
@@ -9178,16 +9134,15 @@ dependencies = [
"sqlx-postgres",
"sqlx-sqlite",
"syn 2.0.114",
"tempfile",
"tokio",
"url",
]
[[package]]
name = "sqlx-mysql"
version = "0.8.0"
version = "0.8.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5afe4c38a9b417b6a9a5eeffe7235d0a106716495536e7727d1c7f4b1ff3eba6"
checksum = "aa003f0038df784eb8fecbbac13affe3da23b45194bd57dba231c8f48199c526"
dependencies = [
"atoi",
"base64 0.22.1",
@@ -9221,16 +9176,16 @@ dependencies = [
"smallvec",
"sqlx-core",
"stringprep",
"thiserror 1.0.69",
"thiserror 2.0.18",
"tracing",
"whoami",
]
[[package]]
name = "sqlx-postgres"
version = "0.8.0"
version = "0.8.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b1dbb157e65f10dbe01f729339c06d239120221c9ad9fa0ba8408c4cc18ecf21"
checksum = "db58fcd5a53cf07c184b154801ff91347e4c30d17a3562a635ff028ad5deda46"
dependencies = [
"atoi",
"base64 0.22.1",
@@ -9242,7 +9197,6 @@ dependencies = [
"etcetera 0.8.0",
"futures-channel",
"futures-core",
"futures-io",
"futures-util",
"hex",
"hkdf",
@@ -9260,16 +9214,16 @@ dependencies = [
"smallvec",
"sqlx-core",
"stringprep",
"thiserror 1.0.69",
"thiserror 2.0.18",
"tracing",
"whoami",
]
[[package]]
name = "sqlx-sqlite"
version = "0.8.0"
version = "0.8.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9b2cdd83c008a622d94499c0006d8ee5f821f36c89b7d625c900e5dc30b5c5ee"
checksum = "c2d12fe70b2c1b4401038055f90f151b78208de1f9f89a7dbfd41587a10c3eea"
dependencies = [
"atoi",
"chrono",
@@ -9285,6 +9239,7 @@ dependencies = [
"serde",
"serde_urlencoded",
"sqlx-core",
"thiserror 2.0.18",
"tracing",
"url",
]
@@ -9310,9 +9265,9 @@ checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596"
[[package]]
name = "stacker"
version = "0.1.17"
version = "0.1.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "799c883d55abdb5e98af1a7b3f23b9b6de8ecada0ecac058672d7635eb48ca7b"
checksum = "e1f8b29fb42aafcea4edeeb6b2f2d7ecd0d969c48b4cf0d2e64aafc471dd6e59"
dependencies = [
"cc",
"cfg-if",
@@ -9342,6 +9297,12 @@ dependencies = [
"unicode-ident",
]
[[package]]
name = "streaming-iterator"
version = "0.1.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2b2231b7c3057d5e4ad0156fb3dc807d900806020c5ffa3ee6ff2c8c76fb8520"
[[package]]
name = "strength_reduce"
version = "0.2.4"
@@ -10591,7 +10552,7 @@ version = "0.26.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1729aa945f29d91ba541258c8df89027d5792d85a8841fb65e8bf0f4ede4ef61"
dependencies = [
"rustls 0.23.31",
"rustls 0.23.36",
"tokio",
]
@@ -10614,7 +10575,7 @@ checksum = "d25a406cddcc431a75d3d9afc6a7c0f7428d4891dd973e4d54c56b46127bf857"
dependencies = [
"futures-util",
"log",
"rustls 0.23.31",
"rustls 0.23.36",
"rustls-native-certs",
"rustls-pki-types",
"tokio",
@@ -10945,82 +10906,102 @@ dependencies = [
[[package]]
name = "tree-sitter"
version = "0.21.0"
version = "0.26.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "705bf7c0958d0171dd7d3a6542f2f4f21d87ed5f1dc8db52919d3a6bed9a359a"
checksum = "12987371f54efc9b9306a20dc87ed5aaee9f320c8a8b115e28515c412b2efe39"
dependencies = [
"cc",
"regex",
"regex-syntax",
"serde_json",
"streaming-iterator",
"tree-sitter-language",
]
[[package]]
name = "tree-sitter-go"
version = "0.21.2"
version = "0.25.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b8d702a98d3c7e70e466456e58ff2b1ac550bf1e29b97e5770676d2fdabec00d"
checksum = "c8560a4d2f835cc0d4d2c2e03cbd0dde2f6114b43bc491164238d333e28b16ea"
dependencies = [
"cc",
"tree-sitter",
"tree-sitter-language",
]
[[package]]
name = "tree-sitter-java"
version = "0.21.0"
version = "0.23.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "33bc21adf831a773c075d9d00107ab43965e6a6ea7607b47fd9ec6f3db4b481b"
checksum = "0aa6cbcdc8c679b214e616fd3300da67da0e492e066df01bcf5a5921a71e90d6"
dependencies = [
"cc",
"tree-sitter",
"tree-sitter-language",
]
[[package]]
name = "tree-sitter-javascript"
version = "0.21.4"
version = "0.25.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8710a71bc6779e33811a8067bdda3ed08bed1733296ff915e44faf60f8c533d7"
checksum = "68204f2abc0627a90bdf06e605f5c470aa26fdcb2081ea553a04bdad756693f5"
dependencies = [
"cc",
"tree-sitter",
"tree-sitter-language",
]
[[package]]
name = "tree-sitter-kotlin"
version = "0.3.8"
name = "tree-sitter-kotlin-ng"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "54ff60aeb036f5762515ceb31404512ea4f9599764bcd3857074bb82867bdd34"
checksum = "e800ebbda938acfbf224f4d2c34947a31994b1295ee6e819b65226c7b51b4450"
dependencies = [
"cc",
"tree-sitter",
"tree-sitter-language",
]
[[package]]
name = "tree-sitter-language"
version = "0.1.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "009994f150cc0cd50ff54917d5bc8bffe8cad10ca10d81c34da2ec421ae61782"
[[package]]
name = "tree-sitter-python"
version = "0.21.0"
version = "0.25.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b4066c6cf678f962f8c2c4561f205945c84834cce73d981e71392624fdc390a9"
checksum = "6bf85fd39652e740bf60f46f4cda9492c3a9ad75880575bf14960f775cb74a1c"
dependencies = [
"cc",
"tree-sitter",
"tree-sitter-language",
]
[[package]]
name = "tree-sitter-ruby"
version = "0.21.0"
version = "0.23.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c0031f687c0772f2dad7b77104c43428611099a1804c81244ada21560f41f0b1"
checksum = "be0484ea4ef6bb9c575b4fdabde7e31340a8d2dbc7d52b321ac83da703249f95"
dependencies = [
"cc",
"tree-sitter",
"tree-sitter-language",
]
[[package]]
name = "tree-sitter-rust"
version = "0.21.2"
version = "0.24.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "277690f420bf90741dea984f3da038ace46c4fe6047cba57a66822226cde1c93"
checksum = "4b9b18034c684a2420722be8b2a91c9c44f2546b631c039edf575ccba8c61be1"
dependencies = [
"cc",
"tree-sitter",
"tree-sitter-language",
]
[[package]]
name = "tree-sitter-swift"
version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4ef216011c3e3df4fa864736f347cb8d509b1066cf0c8549fb1fd81ac9832e59"
dependencies = [
"cc",
"tree-sitter-language",
]
[[package]]
@@ -11051,7 +11032,7 @@ dependencies = [
"httparse",
"log",
"rand 0.9.2",
"rustls 0.23.31",
"rustls 0.23.36",
"rustls-pki-types",
"sha1",
"thiserror 2.0.18",
@@ -11096,7 +11077,7 @@ checksum = "76b761acf8af3494640d826a8609e2265e19778fb43306c7f15379c78c9b05b0"
dependencies = [
"gemm 0.18.2",
"half",
"libloading",
"libloading 0.8.9",
"memmap2",
"num",
"num-traits",
@@ -11399,7 +11380,7 @@ version = "145.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "61d9a107e16bae35a0be2bb0096ac1d2318aac352c82edd796ab2b9cac66d8f0"
dependencies = [
"bindgen 0.72.1",
"bindgen",
"bitflags 2.10.0",
"fslock",
"gzip-header",
@@ -11604,6 +11585,15 @@ version = "0.25.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1"
[[package]]
name = "webpki-roots"
version = "0.26.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "521bc38abb08001b01866da9f51eb7c5d647a19260e00054a8c7fd5f9e57f7a9"
dependencies = [
"webpki-roots 1.0.6",
]
[[package]]
name = "webpki-roots"
version = "1.0.6"
@@ -11619,18 +11609,6 @@ version = "0.1.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a28ac98ddc8b9274cb41bb4d9d4d5c425b6020c50c46f25559911905610b4a88"
[[package]]
name = "which"
version = "4.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7"
dependencies = [
"either",
"home",
"once_cell",
"rustix 0.38.44",
]
[[package]]
name = "which"
version = "6.0.3"
@@ -12445,7 +12423,7 @@ checksum = "2462ea039c445496d8793d052e13787f2b90e750b833afee748e601c17621ed9"
dependencies = [
"arraydeque",
"encoding_rs",
"hashlink 0.10.0",
"hashlink",
]
[[package]]
@@ -12503,18 +12481,18 @@ dependencies = [
[[package]]
name = "zerocopy"
version = "0.8.38"
version = "0.8.39"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "57cf3aa6855b23711ee9852dfc97dfaa51c45feaba5b645d0c777414d494a961"
checksum = "db6d35d663eadb6c932438e763b262fe1a70987f9ae936e60158176d710cae4a"
dependencies = [
"zerocopy-derive",
]
[[package]]
name = "zerocopy-derive"
version = "0.8.38"
version = "0.8.39"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8a616990af1a287837c4fe6596ad77ef57948f787e46ce28e166facc0cc1cb75"
checksum = "4122cd3169e94605190e77839c9a40d40ed048d305bfdc146e7df40ab0f3e517"
dependencies = [
"proc-macro2",
"quote",
@@ -12635,9 +12613,9 @@ dependencies = [
[[package]]
name = "zip"
version = "7.2.0"
version = "7.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c42e33efc22a0650c311c2ef19115ce232583abbe80850bc8b66509ebef02de0"
checksum = "cc12baa6db2b15a140161ce53d72209dacea594230798c24774139b54ecaa980"
dependencies = [
"crc32fast",
"indexmap 2.13.0",
+9 -9
View File
@@ -40,15 +40,15 @@ image = { version = "0.24.9", features = ["jpeg"] }
umya-spreadsheet = "2.2.3"
which = {workspace = true}
lru = "0.16"
tree-sitter = "0.21"
tree-sitter-python = "0.21"
tree-sitter-rust = "0.21"
tree-sitter-javascript = "0.21"
tree-sitter-go = "0.21"
tree-sitter-java = "0.21"
tree-sitter-kotlin = "0.3.8"
devgen-tree-sitter-swift = "0.21.0"
tree-sitter-ruby = "0.21.0"
tree-sitter = "0.26"
tree-sitter-python = "0.25"
tree-sitter-rust = "0.24"
tree-sitter-javascript = "0.25"
tree-sitter-go = "0.25"
tree-sitter-java = "0.23"
tree-sitter-kotlin-ng = "1.1"
tree-sitter-swift = "0.7"
tree-sitter-ruby = "0.23"
rayon = "1.10"
libc = "0.2"
# TODO: Fork mpatch or replace with a custom implementation using `similar` crate
@@ -84,7 +84,7 @@ pub fn find_method_for_receiver(
let mut current = *receiver_node;
while let Some(parent) = current.parent() {
if parent.kind() == "method_declaration" {
for i in 0..parent.child_count() {
for i in 0..parent.child_count() as u32 {
if let Some(child) = parent.child(i) {
if child.kind() == "field_identifier" {
return source.get(child.byte_range()).map(|s| s.to_string());
@@ -1,27 +1,26 @@
/// Tree-sitter query for extracting Kotlin code elements
pub const ELEMENT_QUERY: &str = r#"
; Functions
(function_declaration (simple_identifier) @func)
(function_declaration name: (identifier) @func)
; Classes
(class_declaration (type_identifier) @class)
(class_declaration name: (identifier) @class)
; Objects (singleton classes)
(object_declaration (type_identifier) @class)
(object_declaration name: (identifier) @class)
; Imports
(import_header) @import
(import) @import
"#;
/// Tree-sitter query for extracting Kotlin function calls
pub const CALL_QUERY: &str = r#"
; Simple function calls
(call_expression
(simple_identifier) @function.call)
(identifier) @function.call)
; Method calls with navigation (obj.method())
(call_expression
(navigation_expression
(navigation_suffix
(simple_identifier) @method.call)))
(identifier) @method.call))
"#;
@@ -113,7 +113,7 @@ fn find_first_method_in_class(
source: &str,
max_depth: usize,
) -> Option<String> {
for i in 0..class_node.child_count() {
for i in 0..class_node.child_count() as u32 {
if let Some(child) = class_node.child(i) {
if child.kind() == "body_statement" {
return find_method_in_body_with_depth(&child, source, 0, max_depth);
@@ -134,10 +134,10 @@ fn find_method_in_body_with_depth(
return None;
}
for i in 0..node.child_count() {
for i in 0..node.child_count() as u32 {
if let Some(child) = node.child(i) {
if child.kind() == "method" {
for j in 0..child.child_count() {
for j in 0..child.child_count() as u32 {
if let Some(name_node) = child.child(j) {
if name_node.kind() == "identifier" {
return source.get(name_node.byte_range()).map(|s| s.to_string());
@@ -80,7 +80,7 @@ pub fn extract_function_name_for_kind(
) -> Option<String> {
if kind == "impl_item" {
// For impl blocks, find the type being implemented
for i in 0..node.child_count() {
for i in 0..node.child_count() as u32 {
if let Some(child) = node.child(i) {
if child.kind() == "type_identifier" {
return source
@@ -108,7 +108,7 @@ pub fn find_method_for_receiver(
while let Some(parent) = current.parent() {
if parent.kind() == "function_item" {
// Found the function, get its name
for i in 0..parent.child_count() {
for i in 0..parent.child_count() as u32 {
if let Some(child) = parent.child(i) {
if child.kind() == "identifier" {
return source.get(child.byte_range()).map(|s| s.to_string());
@@ -132,7 +132,7 @@ pub fn find_receiver_type(node: &tree_sitter::Node, source: &str) -> Option<Stri
while let Some(parent) = current.parent() {
if parent.kind() == "impl_item" {
// Find the type_identifier in the impl block
for i in 0..parent.child_count() {
for i in 0..parent.child_count() as u32 {
if let Some(child) = parent.child(i) {
if child.kind() == "type_identifier" {
return source.get(child.byte_range()).map(|s| s.to_string());
@@ -1,7 +1,7 @@
use rmcp::model::{ErrorCode, ErrorData};
use std::collections::HashMap;
use std::sync::{Arc, Mutex};
use tree_sitter::{Language, Parser, Tree};
use tree_sitter::{Language, Parser, StreamingIterator, Tree};
use super::lock_or_recover;
use crate::developer::analyze::types::{
@@ -33,14 +33,14 @@ impl ParserManager {
tracing::debug!("Creating new parser for {}", language);
let mut parser = Parser::new();
let language_config: Language = match language {
"python" => tree_sitter_python::language(),
"rust" => tree_sitter_rust::language(),
"javascript" | "typescript" => tree_sitter_javascript::language(),
"go" => tree_sitter_go::language(),
"java" => tree_sitter_java::language(),
"kotlin" => tree_sitter_kotlin::language(),
"swift" => devgen_tree_sitter_swift::language(),
"ruby" => tree_sitter_ruby::language(),
"python" => tree_sitter_python::LANGUAGE.into(),
"rust" => tree_sitter_rust::LANGUAGE.into(),
"javascript" | "typescript" => tree_sitter_javascript::LANGUAGE.into(),
"go" => tree_sitter_go::LANGUAGE.into(),
"java" => tree_sitter_java::LANGUAGE.into(),
"kotlin" => tree_sitter_kotlin_ng::LANGUAGE.into(),
"swift" => tree_sitter_swift::LANGUAGE.into(),
"ruby" => tree_sitter_ruby::LANGUAGE.into(),
_ => {
tracing::warn!("Unsupported language: {}", language);
return Err(ErrorData::new(
@@ -93,7 +93,7 @@ impl ElementExtractor {
node: &'a tree_sitter::Node,
kinds: &[&str],
) -> Option<tree_sitter::Node<'a>> {
(0..node.child_count())
(0..node.child_count() as u32)
.filter_map(|i| node.child(i))
.find(|child| kinds.contains(&child.kind()))
}
@@ -214,7 +214,7 @@ impl ElementExtractor {
let mut cursor = QueryCursor::new();
let mut matches = cursor.matches(&query, tree.root_node(), source.as_bytes());
for match_ in matches.by_ref() {
while let Some(match_) = matches.next() {
for capture in match_.captures {
let node = capture.node;
let Some(text) = source.get(node.byte_range()) else {
@@ -222,7 +222,7 @@ impl ElementExtractor {
};
let line = source
.get(..node.start_byte())
.map(|s| s.lines().count() + 1)
.map(|s: &str| s.lines().count() + 1)
.unwrap_or(1);
match query.capture_names()[capture.index as usize] {
@@ -287,7 +287,7 @@ impl ElementExtractor {
let mut cursor = QueryCursor::new();
let mut matches = cursor.matches(&query, tree.root_node(), source.as_bytes());
for match_ in matches.by_ref() {
while let Some(match_) = matches.next() {
for capture in match_.captures {
let node = capture.node;
let Some(text) = source.get(node.byte_range()) else {
@@ -297,17 +297,17 @@ impl ElementExtractor {
let line_start = source
.get(..node.start_byte())
.and_then(|s| s.rfind('\n'))
.and_then(|s: &str| s.rfind('\n'))
.map(|i| i + 1)
.unwrap_or(0);
let line_end = source
.get(node.end_byte()..)
.and_then(|s| s.find('\n'))
.and_then(|s: &str| s.find('\n'))
.map(|i| node.end_byte() + i)
.unwrap_or(source.len());
let context = source
.get(line_start..line_end)
.map(|s| s.trim().to_string())
.map(|s: &str| s.trim().to_string())
.unwrap_or_default();
let caller_name = Self::find_containing_function(&node, source, language);
@@ -366,7 +366,7 @@ impl ElementExtractor {
let mut cursor = QueryCursor::new();
let mut matches = cursor.matches(&query, tree.root_node(), source.as_bytes());
for match_ in matches.by_ref() {
while let Some(match_) = matches.next() {
for capture in match_.captures {
let node = capture.node;
let Some(text) = source.get(node.byte_range()) else {
@@ -376,17 +376,17 @@ impl ElementExtractor {
let line_start = source
.get(..node.start_byte())
.and_then(|s| s.rfind('\n'))
.and_then(|s: &str| s.rfind('\n'))
.map(|i| i + 1)
.unwrap_or(0);
let line_end = source
.get(node.end_byte()..)
.and_then(|s| s.find('\n'))
.and_then(|s: &str| s.find('\n'))
.map(|i| node.end_byte() + i)
.unwrap_or(source.len());
let context = source
.get(line_start..line_end)
.map(|s| s.trim().to_string())
.map(|s: &str| s.trim().to_string())
.unwrap_or_default();
let capture_name = query.capture_names()[capture.index as usize];
+3 -1
View File
@@ -82,11 +82,13 @@ utoipa = { version = "4.1", features = ["chrono"] }
tokio-cron-scheduler = "0.14.0"
urlencoding = "2.1"
v_htmlescape = "0.15"
sqlx = { version = "0.8", features = [
sqlx = { version = "0.8", default-features = false, features = [
"runtime-tokio-rustls",
"sqlite",
"chrono",
"json",
"macros",
"migrate",
] }
# For Bedrock provider