diff --git a/Cargo.lock b/Cargo.lock index 7f218b676..579f04a26 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -30,16 +30,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 2.0.18", - "tokio", "winapi", ] @@ -594,6 +596,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" @@ -1606,6 +1614,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" @@ -2032,19 +2054,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" @@ -3200,7 +3209,65 @@ dependencies = [ "libc", "option-ext", "redox_users", - "windows-sys 0.59.0", + "windows-sys 0.60.2", +] + +[[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 2.0.18", + "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 2.0.18", +] + +[[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]] @@ -3437,7 +3504,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] @@ -3910,8 +3977,8 @@ dependencies = [ "libc", "log", "rustversion", - "windows-link 0.1.3", - "windows-result 0.3.4", + "windows-link 0.2.1", + "windows-result 0.4.1", ] [[package]] @@ -3943,25 +4010,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" @@ -4382,9 +4430,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", ] @@ -4959,7 +5010,7 @@ dependencies = [ "libc", "percent-encoding", "pin-project-lite", - "socket2 0.5.10", + "socket2 0.6.3", "system-configuration", "tokio", "tower-service", @@ -5420,7 +5471,7 @@ dependencies = [ "portable-atomic", "portable-atomic-util", "serde_core", - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] @@ -7037,7 +7088,7 @@ version = "0.50.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] @@ -8318,7 +8369,7 @@ dependencies = [ "quinn-udp", "rustc-hash", "rustls 0.23.39", - "socket2 0.5.10", + "socket2 0.6.3", "thiserror 2.0.18", "tokio", "tracing", @@ -8356,9 +8407,9 @@ dependencies = [ "cfg_aliases", "libc", "once_cell", - "socket2 0.5.10", + "socket2 0.6.3", "tracing", - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] @@ -8735,12 +8786,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" @@ -8916,13 +8961,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", @@ -8932,9 +8977,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", @@ -9618,35 +9663,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 3.5.0", - "proc-macro2", - "quote", - "regex", - "relative-path", - "rustc_version", - "syn 2.0.117", - "unicode-ident", -] - [[package]] name = "rusqlite" version = "0.32.1" @@ -9673,9 +9689,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", @@ -9723,7 +9739,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys", - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] @@ -9830,7 +9846,7 @@ dependencies = [ "security-framework 3.7.0", "security-framework-sys", "webpki-root-certs", - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] @@ -10113,7 +10129,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b55fb86dfd3a2f5f76ea78310a88f96c4ea21a3031f8d212443d56123fd0521" dependencies = [ "libc", - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] @@ -10595,7 +10611,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3a766e1110788c36f4fa1c2b71b387a7815aa65f88ce0229841826633d93723e" dependencies = [ "libc", - "windows-sys 0.61.2", + "windows-sys 0.60.2", ] [[package]] @@ -11061,9 +11077,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", @@ -11097,11 +11113,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", @@ -11111,7 +11137,6 @@ dependencies = [ "argon2", "async-channel", "async-stream", - "async-trait", "base64 0.22.1", "bcrypt", "blake3", @@ -11120,15 +11145,19 @@ dependencies = [ "ciborium", "dashmap 6.1.0", "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 1.4.0", @@ -11137,6 +11166,7 @@ dependencies = [ "jsonwebtoken", "lexicmp", "md-5", + "memchr", "mime", "ndarray 0.17.2", "ndarray-stats", @@ -11150,7 +11180,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", @@ -11168,7 +11199,9 @@ dependencies = [ "storekey", "strsim 0.11.1", "subtle", + "surrealdb-collections", "surrealdb-protocol", + "surrealdb-strand", "surrealdb-types", "surrealmx", "sysinfo", @@ -11189,9 +11222,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", @@ -11199,7 +11232,7 @@ dependencies = [ "chrono", "flatbuffers", "futures", - "geo 0.32.0", + "geo", "prost 0.14.3", "prost-types 0.14.3", "rust_decimal", @@ -11211,38 +11244,54 @@ dependencies = [ "uuid", ] +[[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 1.4.0", "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", @@ -11250,9 +11299,9 @@ dependencies = [ [[package]] name = "surrealmx" -version = "0.18.0" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6508449a7d1379a92a51ba49391b48ccab0b60dd11a4277c0dda965d8c99dbff" +checksum = "9e8a87f050a4860832ccf4a53e43ea264e98d27618983602b5c575e6df296054" dependencies = [ "arc-swap", "bincode", @@ -11401,7 +11450,7 @@ dependencies = [ "getrandom 0.4.2", "once_cell", "rustix", - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] @@ -12881,7 +12930,7 @@ version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.60.2", ] [[package]]