diff --git a/clients/cerebro/Cargo.lock b/clients/cerebro/Cargo.lock index 7ddf1571..fa0c232c 100644 --- a/clients/cerebro/Cargo.lock +++ b/clients/cerebro/Cargo.lock @@ -13,16 +13,18 @@ dependencies = [ [[package]] name = "affinitypool" -version = "0.4.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a58b64a64aecad4ba7f2ccf0f79115f5d2d184b1e55307f78c20be07adc6633" +checksum = "c4a46f56d354df11b6bcd8ca4f84fa03ac816cc41c72568a1b337d8f7e5af90e" dependencies = [ - "crossbeam", + "arc-swap", + "async-task", + "crossbeam-deque", + "crossbeam-utils", "libc", "num_cpus", "parking_lot", "thiserror", - "tokio", "winapi", ] @@ -152,6 +154,15 @@ dependencies = [ "num-traits", ] +[[package]] +name = "arc-swap" +version = "1.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a3a1fd6f75306b68087b831f025c712524bcb19aad54e557b1129cfa0a2b207" +dependencies = [ + "rustversion", +] + [[package]] name = "argon2" version = "0.5.3" @@ -237,6 +248,12 @@ dependencies = [ "syn 2.0.117", ] +[[package]] +name = "async-task" +version = "4.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" + [[package]] name = "async-trait" version = "0.1.89" @@ -538,6 +555,20 @@ name = "bytemuck" version = "1.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c8efb64bd706a16a1bdde310ae86b351e4d21550d98d056f22f8a7f7a2183fec" +dependencies = [ + "bytemuck_derive", +] + +[[package]] +name = "bytemuck_derive" +version = "1.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9abbd1bc6865053c427f7198e6af43bfdedc55ab791faed4fbd361d789575ff" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] [[package]] name = "byteorder" @@ -732,7 +763,7 @@ version = "4.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f2ce8604710f6733aa641a2b3731eaa1e8b3d9973d5e3565da11800813f997a9" dependencies = [ - "heck", + "heck 0.5.0", "proc-macro2", "quote", "syn 2.0.117", @@ -839,28 +870,6 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" -[[package]] -name = "crossbeam" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1137cd7e7fc0fb5d3c5a8678be38ec56e819125d8d7907411fe24ccb943faca8" -dependencies = [ - "crossbeam-channel", - "crossbeam-deque", - "crossbeam-epoch", - "crossbeam-queue", - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-channel" -version = "0.5.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82b8f8f868b36967f9606790d1903570de9ceaf870a7bf9fbbd3016d636a2cb2" -dependencies = [ - "crossbeam-utils", -] - [[package]] name = "crossbeam-deque" version = "0.8.6" @@ -880,15 +889,6 @@ dependencies = [ "crossbeam-utils", ] -[[package]] -name = "crossbeam-queue" -version = "0.3.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f58bbc28f91df819d0aa2a2c00cd19754769c2fad90579b3592b1c9ba7a3115" -dependencies = [ - "crossbeam-utils", -] - [[package]] name = "crossbeam-utils" version = "0.8.21" @@ -1140,6 +1140,64 @@ dependencies = [ "crypto-common 0.2.1", ] +[[package]] +name = "diskann" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "376186e025eb294c22f06236b23417608f1867def159c3a61a5c57788a3e889e" +dependencies = [ + "anyhow", + "bytemuck", + "diskann-utils", + "diskann-vector", + "diskann-wide", + "futures-util", + "half", + "hashbrown 0.16.1", + "num-traits", + "rand 0.9.4", + "thiserror", + "tokio", +] + +[[package]] +name = "diskann-utils" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b70289db1b66826fa1ef2b4113bf2f9d0dedc8df983b2b804c38dc1e519e15e" +dependencies = [ + "bytemuck", + "cfg-if", + "diskann-vector", + "diskann-wide", + "half", + "rand 0.9.4", + "rand_distr", + "rayon", + "thiserror", +] + +[[package]] +name = "diskann-vector" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f62c9d81aad6e3df6a026b1bb693dbbcfbee5ea93d9e7a5ff15c31576263bc29" +dependencies = [ + "cfg-if", + "diskann-wide", + "half", +] + +[[package]] +name = "diskann-wide" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46fcacef8ea9274969f98499456718f3dcaa5d3d7392b3171079653370fa0b20" +dependencies = [ + "cfg-if", + "half", +] + [[package]] name = "displaydoc" version = "0.2.5" @@ -1513,12 +1571,6 @@ version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393" -[[package]] -name = "futures-timer" -version = "3.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" - [[package]] name = "futures-util" version = "0.3.32" @@ -1574,25 +1626,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "geo" -version = "0.31.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fc1a1678e54befc9b4bcab6cd43b8e7f834ae8ea121118b0fd8c42747675b4a" -dependencies = [ - "earcutr", - "float_next_after", - "geo-types", - "geographiclib-rs", - "i_overlay", - "log", - "num-traits", - "robust", - "rstar 0.12.2", - "serde", - "spade", -] - [[package]] name = "geo" version = "0.32.0" @@ -1722,8 +1755,12 @@ version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" dependencies = [ + "bytemuck", "cfg-if", "crunchy", + "num-traits", + "rand 0.9.4", + "rand_distr", "zerocopy", ] @@ -1854,6 +1891,12 @@ dependencies = [ "stable_deref_trait", ] +[[package]] +name = "heck" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" + [[package]] name = "heck" version = "0.5.0" @@ -3438,6 +3481,16 @@ dependencies = [ "getrandom 0.3.4", ] +[[package]] +name = "rand_distr" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a8615d50dcf34fa31f7ab52692afec947c4dd0ab803cc87cb3b0b4570ff7463" +dependencies = [ + "num-traits", + "rand 0.9.4", +] + [[package]] name = "ratatui" version = "0.30.0" @@ -3571,12 +3624,6 @@ version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a" -[[package]] -name = "relative-path" -version = "1.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba39f3699c378cd8970968dcbff9c43159ea4cfbd88d43c00b22f2ef10a435d2" - [[package]] name = "rend" version = "0.4.2" @@ -3626,13 +3673,13 @@ dependencies = [ [[package]] name = "revision" -version = "0.17.1" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b66f44139d1fe8e1b6c21bf1a855f12df38517aab94e21cea2a077e9753f216" +checksum = "e735a8c2864f0b0fd48a55d0a71c081c7cbef8c8958a4665d8de423f20f2d0cf" dependencies = [ "bytes", "chrono", - "geo 0.31.0", + "geo", "regex", "revision-derive", "roaring", @@ -3642,9 +3689,9 @@ dependencies = [ [[package]] name = "revision-derive" -version = "0.17.1" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "696cbf6f9d0bdeb7d75ef3a037c8295ea9fb665c89c6b70c23022f5918713353" +checksum = "f446f8c55ba240992330b09f69fe9e5ec8a2e1ba266843cb9f59d7bc6037c821" dependencies = [ "proc-macro2", "quote", @@ -3821,35 +3868,6 @@ dependencies = [ "smallvec", ] -[[package]] -name = "rstest" -version = "0.26.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5a3193c063baaa2a95a33f03035c8a72b83d97a54916055ba22d35ed3839d49" -dependencies = [ - "futures-timer", - "futures-util", - "rstest_macros", -] - -[[package]] -name = "rstest_macros" -version = "0.26.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c845311f0ff7951c5506121a9ad75aec44d083c31583b2ea5a30bcb0b0abba0" -dependencies = [ - "cfg-if", - "glob", - "proc-macro-crate", - "proc-macro2", - "quote", - "regex", - "relative-path", - "rustc_version", - "syn 2.0.117", - "unicode-ident", -] - [[package]] name = "rust-stemmers" version = "1.2.0" @@ -3862,9 +3880,9 @@ dependencies = [ [[package]] name = "rust_decimal" -version = "1.41.0" +version = "1.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ce901f9a19d251159075a4c37af514c3b8ef99c22e02dd8c19161cf397ee94a" +checksum = "be2a24f50780bc85f09cc6ac299bdf1424302742d77221106859c9d8b102126a" dependencies = [ "arrayvec", "borsh", @@ -4365,7 +4383,7 @@ version = "0.27.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7695ce3845ea4b33927c055a39dc438a45b059f7c1b3d91d38d10355fb8cbca7" dependencies = [ - "heck", + "heck 0.5.0", "proc-macro2", "quote", "syn 2.0.117", @@ -4379,9 +4397,9 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "surrealdb" -version = "3.0.5" +version = "3.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "504a96b55e86ef8653a03b6b97e771f49c954e26bcc0308160b0134d94f334fd" +checksum = "81ee3110fe3ab8172eb8c135c96ed2d57c7470cdf1ad732d176db95a92c9faab" dependencies = [ "anyhow", "async-channel", @@ -4412,11 +4430,21 @@ dependencies = [ "web-sys", ] +[[package]] +name = "surrealdb-collections" +version = "3.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "069e0c90dad71cf8f17475f75118a56ad3047f2f46fac24643e562b415b3f11a" +dependencies = [ + "revision", + "storekey", +] + [[package]] name = "surrealdb-core" -version = "3.0.5" +version = "3.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3e6a7f248c958fd5000c4fab5759503663bf93c622be10a6d7bf7d2d676b8fc" +checksum = "9780c2f3dd6a3cb1cce8ca7c866b5e82ac4377b826a09bf718ca441bfd2bd747" dependencies = [ "addr", "affinitypool", @@ -4426,7 +4454,6 @@ dependencies = [ "argon2", "async-channel", "async-stream", - "async-trait", "base64", "bcrypt", "blake3", @@ -4435,15 +4462,19 @@ dependencies = [ "ciborium", "dashmap", "deunicode", + "diskann", + "diskann-utils", + "diskann-vector", "dmp", "ext-sort", "fastnum", "fst", "futures", "fuzzy-matcher", - "geo 0.32.0", + "geo", "geo-types", "getrandom 0.3.4", + "half", "headers", "hex", "http", @@ -4452,6 +4483,7 @@ dependencies = [ "jsonwebtoken", "lexicmp", "md-5", + "memchr", "mime", "ndarray", "ndarray-stats", @@ -4465,7 +4497,8 @@ dependencies = [ "pin-project-lite", "quick_cache", "radix_trie", - "rand 0.8.6", + "rand 0.9.4", + "rand_core 0.6.4", "rayon", "reblessive", "regex", @@ -4483,8 +4516,10 @@ dependencies = [ "storekey", "strsim", "subtle", + "surrealdb-collections", "surrealdb-protocol", "surrealdb-rocksdb", + "surrealdb-strand", "surrealdb-types", "sysinfo", "tempfile", @@ -4519,9 +4554,9 @@ dependencies = [ [[package]] name = "surrealdb-protocol" -version = "0.8.3" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb37698e0493bcfac3229ecb6ec6894a3ad705a3a2087b1562eeb881b3db19d4" +checksum = "3f4e06f586c9179a02349b88b0c18e3a0850c55431aa513e0cd66529c00da1af" dependencies = [ "anyhow", "async-trait", @@ -4529,7 +4564,7 @@ dependencies = [ "chrono", "flatbuffers", "futures", - "geo 0.32.0", + "geo", "prost", "prost-types", "rust_decimal", @@ -4551,38 +4586,54 @@ dependencies = [ "surrealdb-librocksdb-sys", ] +[[package]] +name = "surrealdb-strand" +version = "3.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4af300a172983b23c05e692cacba462ca023e3e9404812b6783d09a8af487865" +dependencies = [ + "revision", + "serde", + "storekey", +] + [[package]] name = "surrealdb-types" -version = "3.0.5" +version = "3.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c79e71d035367b933cf528c09b7ed186bc17dea58c66a1bca84d22f9abf167db" +checksum = "edd434d643c040c2872c9cfc88c90e9910e9a55456d2df7e68e92725225d3e20" dependencies = [ "anyhow", + "async-channel", "bytes", + "castaway", "chrono", "flatbuffers", - "geo 0.32.0", + "geo", "hex", "http", "papaya", - "rand 0.8.6", + "rand 0.9.4", "regex", - "rstest", "rust_decimal", + "semver", "serde", "serde_json", "surrealdb-protocol", "surrealdb-types-derive", + "tracing", "ulid", + "url", "uuid", ] [[package]] name = "surrealdb-types-derive" -version = "3.0.5" +version = "3.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a76abdbfc597e062daae5269251e18a84553f9090cfff423591f57c8c6765aa8" +checksum = "16d385184f3b727c58c4d099a877a4c54ffe879dd190396cc80b1676146b8b2b" dependencies = [ + "heck 0.4.1", "proc-macro2", "quote", "syn 2.0.117", @@ -5770,7 +5821,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc" dependencies = [ "anyhow", - "heck", + "heck 0.5.0", "wit-parser", ] @@ -5781,7 +5832,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" dependencies = [ "anyhow", - "heck", + "heck 0.5.0", "indexmap", "prettyplease", "syn 2.0.117",