From b7777fd964c59450995a84feef2a03a1f02acf8c Mon Sep 17 00:00:00 2001 From: Kosuke Morimoto Date: Mon, 26 Aug 2024 11:52:28 +0900 Subject: [PATCH 01/14] implement richer error model Signed-off-by: Kosuke Morimoto --- rust/Cargo.lock | 2918 ++++++++++++++++++++++++-- rust/bin/agent/Cargo.toml | 4 + rust/bin/agent/src/handler.rs | 32 +- rust/bin/agent/src/handler/index.rs | 16 +- rust/bin/agent/src/handler/insert.rs | 6 +- rust/bin/agent/src/handler/remove.rs | 8 +- rust/bin/agent/src/handler/search.rs | 164 +- rust/bin/agent/src/handler/update.rs | 6 +- rust/bin/agent/src/handler/upsert.rs | 6 +- rust/bin/agent/src/main.rs | 19 +- rust/libs/algorithm/Cargo.toml | 3 + rust/libs/algorithm/src/lib.rs | 17 +- 12 files changed, 2953 insertions(+), 246 deletions(-) diff --git a/rust/Cargo.lock b/rust/Cargo.lock index 78ae0a540d..fac73e89f1 100644 --- a/rust/Cargo.lock +++ b/rust/Cargo.lock @@ -4,13 +4,19 @@ version = 3 [[package]] name = "addr2line" -version = "0.24.1" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5fb1d8e4442bd405fdfd1dacb42792696b0cf9cb15882e5d097b742a676d375" +checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" dependencies = [ "gimli", ] +[[package]] +name = "adler" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + [[package]] name = "adler2" version = "2.0.0" @@ -22,26 +28,125 @@ name = "agent" version = "0.1.0" dependencies = [ "algorithm", - "prost 0.13.2", + "anyhow", + "cargo", + "prost 0.13.1", + "prost-types", "proto", "tokio", "tokio-stream", - "tonic 0.12.2", + "tonic 0.12.1", + "tonic-types", +] + +[[package]] +name = "ahash" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" +dependencies = [ + "cfg-if", + "once_cell", + "version_check", + "zerocopy", +] + +[[package]] +name = "aho-corasick" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +dependencies = [ + "memchr", ] [[package]] name = "algorithm" version = "0.1.0" dependencies = [ + "anyhow", "faiss", "ngt", + "proto", + "tonic 0.12.1", +] + +[[package]] +name = "allocator-api2" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" + +[[package]] +name = "annotate-snippets" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24e35ed54e5ea7997c14ed4c70ba043478db1112e98263b3b035907aa197d991" +dependencies = [ + "anstyle", + "unicode-width", +] + +[[package]] +name = "anstream" +version = "0.6.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526" +dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "is_terminal_polyfill", + "utf8parse", +] + +[[package]] +name = "anstyle" +version = "1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1" + +[[package]] +name = "anstyle-parse" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb" +dependencies = [ + "utf8parse", +] + +[[package]] +name = "anstyle-query" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a" +dependencies = [ + "windows-sys 0.52.0", +] + +[[package]] +name = "anstyle-wincon" +version = "3.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8" +dependencies = [ + "anstyle", + "windows-sys 0.52.0", ] [[package]] name = "anyhow" -version = "1.0.88" +version = "1.0.86" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" + +[[package]] +name = "arc-swap" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e1496f8fb1fbf272686b8d37f523dab3e4a7443300055e74cdaa449f3114356" +checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457" [[package]] name = "async-stream" @@ -67,9 +172,9 @@ dependencies = [ [[package]] name = "async-trait" -version = "0.1.82" +version = "0.1.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a27b8a3a6e1a44fa4c8baf1f653e4172e81486d4941f2237e20dc2d0cf4ddff1" +checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107" dependencies = [ "proc-macro2", "quote", @@ -182,17 +287,17 @@ dependencies = [ [[package]] name = "backtrace" -version = "0.3.74" +version = "0.3.73" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" +checksum = "5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a" dependencies = [ "addr2line", + "cc", "cfg-if", "libc", - "miniz_oxide", + "miniz_oxide 0.7.4", "object", "rustc-demangle", - "windows-targets 0.52.6", ] [[package]] @@ -204,6 +309,12 @@ dependencies = [ "backtrace", ] +[[package]] +name = "base16ct" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" + [[package]] name = "base64" version = "0.21.7" @@ -216,6 +327,12 @@ version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" +[[package]] +name = "base64ct" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" + [[package]] name = "bitflags" version = "1.3.2" @@ -228,6 +345,35 @@ version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" +[[package]] +name = "bitmaps" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "031043d04099746d8db04daf1fa424b2bc8bd69d92b25962dcde24da39ab64a2" +dependencies = [ + "typenum", +] + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "bstr" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40723b8fb387abc38f4f4a37c09073622e41dd12327033091ef8950659e6dc0c" +dependencies = [ + "memchr", + "regex-automata 0.4.7", + "serde", +] + [[package]] name = "bumpalo" version = "3.16.0" @@ -246,12 +392,191 @@ version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8318a53db07bb3f8dca91a600466bdb3f2eaadeedfdbcf02e1accbad9271ba50" +[[package]] +name = "bytesize" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3e368af43e418a04d52505cf3dbc23dda4e3407ae2fa99fd0e4f308ce546acc" + +[[package]] +name = "cargo" +version = "0.81.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f24c9dcadcdad2f6fa2553b63d5e9c9700fa6932b75d53f3b11b8aea35ebab99" +dependencies = [ + "annotate-snippets", + "anstream", + "anstyle", + "anyhow", + "base64 0.22.1", + "bytesize", + "cargo-credential", + "cargo-credential-libsecret", + "cargo-credential-macos-keychain", + "cargo-credential-wincred", + "cargo-platform", + "cargo-util", + "cargo-util-schemas", + "clap", + "color-print", + "crates-io", + "curl", + "curl-sys", + "filetime", + "flate2", + "git2", + "git2-curl", + "gix", + "glob", + "hex", + "hmac", + "home", + "http-auth", + "humantime", + "ignore", + "im-rc", + "indexmap 2.4.0", + "itertools 0.12.1", + "jobserver", + "lazycell", + "libc", + "libgit2-sys", + "memchr", + "opener", + "os_info", + "pasetors", + "pathdiff", + "rand", + "regex", + "rusqlite", + "rustfix", + "same-file", + "semver", + "serde", + "serde-untagged", + "serde_ignored", + "serde_json", + "sha1", + "shell-escape", + "supports-hyperlinks", + "supports-unicode", + "tar", + "tempfile", + "time", + "toml", + "toml_edit", + "tracing", + "tracing-chrome", + "tracing-subscriber", + "unicase", + "unicode-width", + "url", + "walkdir", + "windows-sys 0.52.0", +] + +[[package]] +name = "cargo-credential" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a3e7c625670eacbefd48f552588c491eccc79a85a96898af13af7b312d1c4cd" +dependencies = [ + "anyhow", + "libc", + "serde", + "serde_json", + "thiserror", + "time", + "windows-sys 0.52.0", +] + +[[package]] +name = "cargo-credential-libsecret" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7133c8156697989e0d3547f886083bdcb4d7463be67699c37c206152e46925b0" +dependencies = [ + "anyhow", + "cargo-credential", + "libloading", +] + +[[package]] +name = "cargo-credential-macos-keychain" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e238786dd6bc99a94a99a108a0fedcc7e786a86c81b8e9857da88ca3caac3d0" +dependencies = [ + "cargo-credential", + "security-framework", +] + +[[package]] +name = "cargo-credential-wincred" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc0e24a553bb387e22fd5a18f49b72f15db22426b5a0cd37c5fc804978f5ce13" +dependencies = [ + "cargo-credential", + "windows-sys 0.52.0", +] + +[[package]] +name = "cargo-platform" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" +dependencies = [ + "serde", +] + +[[package]] +name = "cargo-util" +version = "0.2.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14104698cb1694d43c2ff73492468ccf2bb0b047071a9838d999eeba9e984ffa" +dependencies = [ + "anyhow", + "core-foundation", + "filetime", + "hex", + "ignore", + "jobserver", + "libc", + "miow", + "same-file", + "sha2", + "shell-escape", + "tempfile", + "tracing", + "walkdir", + "windows-sys 0.52.0", +] + +[[package]] +name = "cargo-util-schemas" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34ddc7fc157e3dbbd88f05ef8be7c3ed3ecb05925a3f51f716d6103a607fb7c4" +dependencies = [ + "semver", + "serde", + "serde-untagged", + "serde-value", + "thiserror", + "toml", + "unicode-xid", + "url", +] + [[package]] name = "cc" -version = "1.1.18" +version = "1.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b62ac837cdb5cb22e10a256099b4fc502b1dfe560cb282963a974d7abd80e476" +checksum = "72db2f7947ecee9b03b510377e8bb9077afa27176fdbff55c51027e976fdcc48" dependencies = [ + "jobserver", + "libc", "shlex", ] @@ -261,6 +586,40 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "clap" +version = "4.5.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed6719fffa43d0d87e5fd8caeab59be1554fb028cd30edc88fc4369b17971019" +dependencies = [ + "clap_builder", +] + +[[package]] +name = "clap_builder" +version = "4.5.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "216aec2b177652e3846684cbfe25c9964d18ec45234f0f5da5157b207ed1aab6" +dependencies = [ + "anstream", + "anstyle", + "clap_lex", + "strsim", + "terminal_size", +] + +[[package]] +name = "clap_lex" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97" + +[[package]] +name = "clru" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cbd0f76e066e64fdc5631e3bb46381254deab9ef1158292f27c8c57e3bf3fe59" + [[package]] name = "codespan-reporting" version = "0.11.1" @@ -271,6 +630,39 @@ dependencies = [ "unicode-width", ] +[[package]] +name = "color-print" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ee543c60ff3888934877a5671f45494dd27ed4ba25c6670b9a7576b7ed7a8c0" +dependencies = [ + "color-print-proc-macro", +] + +[[package]] +name = "color-print-proc-macro" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77ff1a80c5f3cb1ca7c06ffdd71b6a6dd6d8f896c42141fbd43f50ed28dcdb93" +dependencies = [ + "nom", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "colorchoice" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0" + +[[package]] +name = "const-oid" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" + [[package]] name = "core-foundation" version = "0.9.4" @@ -288,83 +680,375 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] -name = "cxx" -version = "1.0.128" +name = "cpufeatures" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54ccead7d199d584d139148b04b4a368d1ec7556a1d9ea2548febb1b9d49f9a4" +checksum = "51e852e6dc9a5bed1fae92dd2375037bf2b768725bf3be87811edee3249d09ad" dependencies = [ - "cc", - "cxxbridge-flags", - "cxxbridge-macro", - "link-cplusplus", + "libc", ] [[package]] -name = "cxx-build" -version = "1.0.128" +name = "crates-io" +version = "0.40.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c77953e99f01508f89f55c494bfa867171ef3a6c8cea03d26975368f2121a5c1" +checksum = "3b7837d3d2ea5d21a399489029609840d95608bfdf1dc5fd8604392df4b219b3" dependencies = [ - "cc", - "codespan-reporting", - "once_cell", - "proc-macro2", - "quote", - "scratch", - "syn", + "curl", + "percent-encoding", + "serde", + "serde_json", + "thiserror", + "url", ] [[package]] -name = "cxxbridge-flags" -version = "1.0.128" +name = "crc32fast" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65777e06cc48f0cb0152024c77d6cf9e4bdb4408e7b48bea993d42fa0f5b02b6" +checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" +dependencies = [ + "cfg-if", +] [[package]] -name = "cxxbridge-macro" -version = "1.0.128" +name = "crossbeam-channel" +version = "0.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98532a60dedaebc4848cb2cba5023337cc9ea3af16a5b062633fabfd9f18fb60" +checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" dependencies = [ - "proc-macro2", - "quote", - "syn", + "crossbeam-utils", ] [[package]] -name = "either" -version = "1.13.0" +name = "crossbeam-deque" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" +checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" +dependencies = [ + "crossbeam-epoch", + "crossbeam-utils", +] [[package]] -name = "encoding_rs" -version = "0.8.34" +name = "crossbeam-epoch" +version = "0.9.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" dependencies = [ - "cfg-if", + "crossbeam-utils", ] [[package]] -name = "equivalent" -version = "1.0.1" +name = "crossbeam-utils" +version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" +checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" [[package]] -name = "errno" -version = "0.3.9" +name = "crypto-bigint" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" +checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" dependencies = [ - "libc", - "windows-sys 0.52.0", + "generic-array", + "rand_core", + "subtle", + "zeroize", ] [[package]] -name = "faiss" -version = "0.1.0" +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "ct-codecs" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3b7eb4404b8195a9abb6356f4ac07d8ba267045c8d6d220ac4dc992e6cc75df" + +[[package]] +name = "curl" +version = "0.4.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e2161dd6eba090ff1594084e95fd67aeccf04382ffea77999ea94ed42ec67b6" +dependencies = [ + "curl-sys", + "libc", + "openssl-probe", + "openssl-sys", + "schannel", + "socket2", + "windows-sys 0.52.0", +] + +[[package]] +name = "curl-sys" +version = "0.4.74+curl-8.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8af10b986114528fcdc4b63b6f5f021b7057618411046a4de2ba0f0149a097bf" +dependencies = [ + "cc", + "libc", + "libnghttp2-sys", + "libz-sys", + "openssl-sys", + "pkg-config", + "vcpkg", + "windows-sys 0.52.0", +] + +[[package]] +name = "cxx" +version = "1.0.126" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c4eae4b7fc8dcb0032eb3b1beee46b38d371cdeaf2d0c64b9944f6f69ad7755" +dependencies = [ + "cc", + "cxxbridge-flags", + "cxxbridge-macro", + "link-cplusplus", +] + +[[package]] +name = "cxx-build" +version = "1.0.126" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c822bf7fb755d97328d6c337120b6f843678178751cba33c9da25cf522272e0" +dependencies = [ + "cc", + "codespan-reporting", + "once_cell", + "proc-macro2", + "quote", + "scratch", + "syn", +] + +[[package]] +name = "cxxbridge-flags" +version = "1.0.126" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "719d6197dc016c88744aff3c0d0340a01ecce12e8939fc282e7c8f583ee64bc6" + +[[package]] +name = "cxxbridge-macro" +version = "1.0.126" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35de3b547387863c8f82013c4f79f1c2162edee956383e4089e1d04c18c4f16c" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "dbus" +version = "0.9.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bb21987b9fb1613058ba3843121dd18b163b254d8a6e797e144cbac14d96d1b" +dependencies = [ + "libc", + "libdbus-sys", + "winapi", +] + +[[package]] +name = "der" +version = "0.7.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" +dependencies = [ + "const-oid", + "pem-rfc7468", + "zeroize", +] + +[[package]] +name = "deranged" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +dependencies = [ + "powerfmt", + "serde", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer", + "const-oid", + "crypto-common", + "subtle", +] + +[[package]] +name = "dunce" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" + +[[package]] +name = "ecdsa" +version = "0.16.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" +dependencies = [ + "der", + "digest", + "elliptic-curve", + "rfc6979", + "signature", + "spki", +] + +[[package]] +name = "ed25519-compact" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9b3460f44bea8cd47f45a0c70892f1eff856d97cd55358b2f73f663789f6190" +dependencies = [ + "getrandom", +] + +[[package]] +name = "either" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" + +[[package]] +name = "elliptic-curve" +version = "0.13.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" +dependencies = [ + "base16ct", + "crypto-bigint", + "digest", + "ff", + "generic-array", + "group", + "hkdf", + "pem-rfc7468", + "pkcs8", + "rand_core", + "sec1", + "subtle", + "zeroize", +] + +[[package]] +name = "encoding_rs" +version = "0.8.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + +[[package]] +name = "erased-serde" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24e2389d65ab4fab27dc2a5de7b191e1f6617d1f1c8855c0dc569c94a4cbb18d" +dependencies = [ + "serde", + "typeid", +] + +[[package]] +name = "errno" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "faiss" +version = "0.1.0" + +[[package]] +name = "fallible-iterator" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649" + +[[package]] +name = "fallible-streaming-iterator" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a" + +[[package]] +name = "faster-hex" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2a2b11eda1d40935b26cf18f6833c526845ae8c41e58d09af6adeb6f0269183" + +[[package]] +name = "fastrand" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" + +[[package]] +name = "ff" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" +dependencies = [ + "rand_core", + "subtle", +] + +[[package]] +name = "fiat-crypto" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" + +[[package]] +name = "filetime" +version = "0.2.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf401df4a4e3872c4fe8151134cf483738e74b67fc934d6532c882b3d24a4550" +dependencies = [ + "cfg-if", + "libc", + "libredox", + "windows-sys 0.59.0", +] + +[[package]] +name = "flate2" +version = "1.0.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c0596c1eac1f9e04ed902702e9878208b336edc9d6fddc8a48387349bab3666" +dependencies = [ + "crc32fast", + "libz-sys", + "miniz_oxide 0.8.0", +] [[package]] name = "fnv" @@ -373,102 +1057,917 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] -name = "form_urlencoded" -version = "1.2.1" +name = "form_urlencoded" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "futures-channel" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" +dependencies = [ + "futures-core", +] + +[[package]] +name = "futures-core" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" + +[[package]] +name = "futures-executor" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-io" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" + +[[package]] +name = "futures-macro" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "futures-sink" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" + +[[package]] +name = "futures-task" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" + +[[package]] +name = "futures-util" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" +dependencies = [ + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", + "zeroize", +] + +[[package]] +name = "getrandom" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" +dependencies = [ + "cfg-if", + "js-sys", + "libc", + "wasi", + "wasm-bindgen", +] + +[[package]] +name = "gimli" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" + +[[package]] +name = "git2" +version = "0.18.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "232e6a7bfe35766bf715e55a88b39a700596c0ccfd88cd3680b4cdb40d66ef70" +dependencies = [ + "bitflags 2.6.0", + "libc", + "libgit2-sys", + "log", + "openssl-probe", + "openssl-sys", + "url", +] + +[[package]] +name = "git2-curl" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78e26b61608c573ffd26fc79061a823aa5147449a1afe1f61679a21e2031f7c3" +dependencies = [ + "curl", + "git2", + "log", + "url", +] + +[[package]] +name = "gix" +version = "0.63.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "984c5018adfa7a4536ade67990b3ebc6e11ab57b3d6cd9968de0947ca99b4b06" +dependencies = [ + "gix-actor", + "gix-attributes", + "gix-command", + "gix-commitgraph", + "gix-config", + "gix-credentials", + "gix-date 0.8.7", + "gix-diff", + "gix-dir", + "gix-discover", + "gix-features", + "gix-filter", + "gix-fs", + "gix-glob", + "gix-hash", + "gix-hashtable", + "gix-ignore", + "gix-index", + "gix-lock", + "gix-macros", + "gix-negotiate", + "gix-object", + "gix-odb", + "gix-pack", + "gix-path", + "gix-pathspec", + "gix-prompt", + "gix-protocol", + "gix-ref", + "gix-refspec", + "gix-revision", + "gix-revwalk", + "gix-sec", + "gix-submodule", + "gix-tempfile", + "gix-trace", + "gix-transport", + "gix-traverse", + "gix-url", + "gix-utils", + "gix-validate", + "gix-worktree", + "once_cell", + "parking_lot", + "prodash", + "smallvec", + "thiserror", +] + +[[package]] +name = "gix-actor" +version = "0.31.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0e454357e34b833cc3a00b6efbbd3dd4d18b24b9fb0c023876ec2645e8aa3f2" +dependencies = [ + "bstr", + "gix-date 0.8.7", + "gix-utils", + "itoa", + "thiserror", + "winnow", +] + +[[package]] +name = "gix-attributes" +version = "0.22.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebccbf25aa4a973dd352564a9000af69edca90623e8a16dad9cbc03713131311" +dependencies = [ + "bstr", + "gix-glob", + "gix-path", + "gix-quote", + "gix-trace", + "kstring", + "smallvec", + "thiserror", + "unicode-bom", +] + +[[package]] +name = "gix-bitmap" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a371db66cbd4e13f0ed9dc4c0fea712d7276805fccc877f77e96374d317e87ae" +dependencies = [ + "thiserror", +] + +[[package]] +name = "gix-chunk" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45c8751169961ba7640b513c3b24af61aa962c967aaf04116734975cd5af0c52" +dependencies = [ + "thiserror", +] + +[[package]] +name = "gix-command" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dff2e692b36bbcf09286c70803006ca3fd56551a311de450be317a0ab8ea92e7" +dependencies = [ + "bstr", + "gix-path", + "gix-trace", + "shell-words", +] + +[[package]] +name = "gix-commitgraph" +version = "0.24.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "133b06f67f565836ec0c473e2116a60fb74f80b6435e21d88013ac0e3c60fc78" +dependencies = [ + "bstr", + "gix-chunk", + "gix-features", + "gix-hash", + "memmap2", + "thiserror", +] + +[[package]] +name = "gix-config" +version = "0.37.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53fafe42957e11d98e354a66b6bd70aeea00faf2f62dd11164188224a507c840" +dependencies = [ + "bstr", + "gix-config-value", + "gix-features", + "gix-glob", + "gix-path", + "gix-ref", + "gix-sec", + "memchr", + "once_cell", + "smallvec", + "thiserror", + "unicode-bom", + "winnow", +] + +[[package]] +name = "gix-config-value" +version = "0.14.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03f76169faa0dec598eac60f83d7fcdd739ec16596eca8fb144c88973dbe6f8c" +dependencies = [ + "bitflags 2.6.0", + "bstr", + "gix-path", + "libc", + "thiserror", +] + +[[package]] +name = "gix-credentials" +version = "0.24.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ce391d305968782f1ae301c4a3d42c5701df7ff1d8bc03740300f6fd12bce78" +dependencies = [ + "bstr", + "gix-command", + "gix-config-value", + "gix-path", + "gix-prompt", + "gix-sec", + "gix-trace", + "gix-url", + "thiserror", +] + +[[package]] +name = "gix-date" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9eed6931f21491ee0aeb922751bd7ec97b4b2fe8fbfedcb678e2a2dce5f3b8c0" +dependencies = [ + "bstr", + "itoa", + "thiserror", + "time", +] + +[[package]] +name = "gix-date" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35c84b7af01e68daf7a6bb8bb909c1ff5edb3ce4326f1f43063a5a96d3c3c8a5" +dependencies = [ + "bstr", + "itoa", + "jiff", + "thiserror", +] + +[[package]] +name = "gix-diff" +version = "0.44.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1996d5c8a305b59709467d80617c9fde48d9d75fd1f4179ea970912630886c9d" +dependencies = [ + "bstr", + "gix-hash", + "gix-object", + "thiserror", +] + +[[package]] +name = "gix-dir" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60c99f8c545abd63abe541d20ab6cda347de406c0a3f1c80aadc12d9b0e94974" +dependencies = [ + "bstr", + "gix-discover", + "gix-fs", + "gix-ignore", + "gix-index", + "gix-object", + "gix-path", + "gix-pathspec", + "gix-trace", + "gix-utils", + "gix-worktree", + "thiserror", +] + +[[package]] +name = "gix-discover" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc27c699b63da66b50d50c00668bc0b7e90c3a382ef302865e891559935f3dbf" +dependencies = [ + "bstr", + "dunce", + "gix-fs", + "gix-hash", + "gix-path", + "gix-ref", + "gix-sec", + "thiserror", +] + +[[package]] +name = "gix-features" +version = "0.38.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac7045ac9fe5f9c727f38799d002a7ed3583cd777e3322a7c4b43e3cf437dc69" +dependencies = [ + "bytes", + "crc32fast", + "crossbeam-channel", + "flate2", + "gix-hash", + "gix-trace", + "gix-utils", + "libc", + "once_cell", + "parking_lot", + "prodash", + "sha1_smol", + "thiserror", + "walkdir", +] + +[[package]] +name = "gix-filter" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6547738da28275f4dff4e9f3a0f28509f53f94dd6bd822733c91cb306bca61a" +dependencies = [ + "bstr", + "encoding_rs", + "gix-attributes", + "gix-command", + "gix-hash", + "gix-object", + "gix-packetline-blocking", + "gix-path", + "gix-quote", + "gix-trace", + "gix-utils", + "smallvec", + "thiserror", +] + +[[package]] +name = "gix-fs" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2bfe6249cfea6d0c0e0990d5226a4cb36f030444ba9e35e0639275db8f98575" +dependencies = [ + "fastrand", + "gix-features", + "gix-utils", +] + +[[package]] +name = "gix-glob" +version = "0.16.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74908b4bbc0a0a40852737e5d7889f676f081e340d5451a16e5b4c50d592f111" +dependencies = [ + "bitflags 2.6.0", + "bstr", + "gix-features", + "gix-path", +] + +[[package]] +name = "gix-hash" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f93d7df7366121b5018f947a04d37f034717e113dcf9ccd85c34b58e57a74d5e" +dependencies = [ + "faster-hex", + "thiserror", +] + +[[package]] +name = "gix-hashtable" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ddf80e16f3c19ac06ce415a38b8591993d3f73aede049cb561becb5b3a8e242" +dependencies = [ + "gix-hash", + "hashbrown 0.14.5", + "parking_lot", +] + +[[package]] +name = "gix-ignore" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e447cd96598460f5906a0f6c75e950a39f98c2705fc755ad2f2020c9e937fab7" +dependencies = [ + "bstr", + "gix-glob", + "gix-path", + "gix-trace", + "unicode-bom", +] + +[[package]] +name = "gix-index" +version = "0.33.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a9a44eb55bd84bb48f8a44980e951968ced21e171b22d115d1cdcef82a7d73f" +dependencies = [ + "bitflags 2.6.0", + "bstr", + "filetime", + "fnv", + "gix-bitmap", + "gix-features", + "gix-fs", + "gix-hash", + "gix-lock", + "gix-object", + "gix-traverse", + "gix-utils", + "gix-validate", + "hashbrown 0.14.5", + "itoa", + "libc", + "memmap2", + "rustix", + "smallvec", + "thiserror", +] + +[[package]] +name = "gix-lock" +version = "14.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3bc7fe297f1f4614774989c00ec8b1add59571dc9b024b4c00acb7dedd4e19d" +dependencies = [ + "gix-tempfile", + "gix-utils", + "thiserror", +] + +[[package]] +name = "gix-macros" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "999ce923619f88194171a67fb3e6d613653b8d4d6078b529b15a765da0edcc17" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "gix-negotiate" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ec879fb6307bb63519ba89be0024c6f61b4b9d61f1a91fd2ce572d89fe9c224" +dependencies = [ + "bitflags 2.6.0", + "gix-commitgraph", + "gix-date 0.8.7", + "gix-hash", + "gix-object", + "gix-revwalk", + "smallvec", + "thiserror", +] + +[[package]] +name = "gix-object" +version = "0.42.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25da2f46b4e7c2fa7b413ce4dffb87f69eaf89c2057e386491f4c55cadbfe386" +dependencies = [ + "bstr", + "gix-actor", + "gix-date 0.8.7", + "gix-features", + "gix-hash", + "gix-utils", + "gix-validate", + "itoa", + "smallvec", + "thiserror", + "winnow", +] + +[[package]] +name = "gix-odb" +version = "0.61.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20d384fe541d93d8a3bb7d5d5ef210780d6df4f50c4e684ccba32665a5e3bc9b" +dependencies = [ + "arc-swap", + "gix-date 0.8.7", + "gix-features", + "gix-fs", + "gix-hash", + "gix-object", + "gix-pack", + "gix-path", + "gix-quote", + "parking_lot", + "tempfile", + "thiserror", +] + +[[package]] +name = "gix-pack" +version = "0.51.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e0594491fffe55df94ba1c111a6566b7f56b3f8d2e1efc750e77d572f5f5229" +dependencies = [ + "clru", + "gix-chunk", + "gix-features", + "gix-hash", + "gix-hashtable", + "gix-object", + "gix-path", + "gix-tempfile", + "memmap2", + "parking_lot", + "smallvec", + "thiserror", +] + +[[package]] +name = "gix-packetline" +version = "0.17.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c43ef4d5fe2fa222c606731c8bdbf4481413ee4ef46d61340ec39e4df4c5e49" +dependencies = [ + "bstr", + "faster-hex", + "gix-trace", + "thiserror", +] + +[[package]] +name = "gix-packetline-blocking" +version = "0.17.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9802304baa798dd6f5ff8008a2b6516d54b74a69ca2d3a2b9e2d6c3b5556b40" +dependencies = [ + "bstr", + "faster-hex", + "gix-trace", + "thiserror", +] + +[[package]] +name = "gix-path" +version = "0.10.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38d5b8722112fa2fa87135298780bc833b0e9f6c56cc82795d209804b3a03484" +dependencies = [ + "bstr", + "gix-trace", + "home", + "once_cell", + "thiserror", +] + +[[package]] +name = "gix-pathspec" +version = "0.7.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d23bf239532b4414d0e63b8ab3a65481881f7237ed9647bb10c1e3cc54c5ceb" +dependencies = [ + "bitflags 2.6.0", + "bstr", + "gix-attributes", + "gix-config-value", + "gix-glob", + "gix-path", + "thiserror", +] + +[[package]] +name = "gix-prompt" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74fde865cdb46b30d8dad1293385d9bcf998d3a39cbf41bee67d0dab026fe6b1" +dependencies = [ + "gix-command", + "gix-config-value", + "parking_lot", + "rustix", + "thiserror", +] + +[[package]] +name = "gix-protocol" +version = "0.45.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc43a1006f01b5efee22a003928c9eb83dde2f52779ded9d4c0732ad93164e3e" +dependencies = [ + "bstr", + "gix-credentials", + "gix-date 0.9.0", + "gix-features", + "gix-hash", + "gix-transport", + "gix-utils", + "maybe-async", + "thiserror", + "winnow", +] + +[[package]] +name = "gix-quote" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cbff4f9b9ea3fa7a25a70ee62f545143abef624ac6aa5884344e70c8b0a1d9ff" +dependencies = [ + "bstr", + "gix-utils", + "thiserror", +] + +[[package]] +name = "gix-ref" +version = "0.44.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3394a2997e5bc6b22ebc1e1a87b41eeefbcfcff3dbfa7c4bd73cb0ac8f1f3e2e" +dependencies = [ + "gix-actor", + "gix-date 0.8.7", + "gix-features", + "gix-fs", + "gix-hash", + "gix-lock", + "gix-object", + "gix-path", + "gix-tempfile", + "gix-utils", + "gix-validate", + "memmap2", + "thiserror", + "winnow", +] + +[[package]] +name = "gix-refspec" +version = "0.23.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6868f8cd2e62555d1f7c78b784bece43ace40dd2a462daf3b588d5416e603f37" +dependencies = [ + "bstr", + "gix-hash", + "gix-revision", + "gix-validate", + "smallvec", + "thiserror", +] + +[[package]] +name = "gix-revision" +version = "0.27.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01b13e43c2118c4b0537ddac7d0821ae0dfa90b7b8dbf20c711e153fb749adce" +dependencies = [ + "bstr", + "gix-date 0.8.7", + "gix-hash", + "gix-hashtable", + "gix-object", + "gix-revwalk", + "gix-trace", + "thiserror", +] + +[[package]] +name = "gix-revwalk" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +checksum = "1b030ccaab71af141f537e0225f19b9e74f25fefdba0372246b844491cab43e0" dependencies = [ - "percent-encoding", + "gix-commitgraph", + "gix-date 0.8.7", + "gix-hash", + "gix-hashtable", + "gix-object", + "smallvec", + "thiserror", ] [[package]] -name = "futures-channel" -version = "0.3.30" +name = "gix-sec" +version = "0.10.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" +checksum = "0fe4d52f30a737bbece5276fab5d3a8b276dc2650df963e293d0673be34e7a5f" dependencies = [ - "futures-core", + "bitflags 2.6.0", + "gix-path", + "libc", + "windows-sys 0.52.0", ] [[package]] -name = "futures-core" -version = "0.3.30" +name = "gix-submodule" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" +checksum = "921cd49924ac14b6611b22e5fb7bbba74d8780dc7ad26153304b64d1272460ac" +dependencies = [ + "bstr", + "gix-config", + "gix-path", + "gix-pathspec", + "gix-refspec", + "gix-url", + "thiserror", +] [[package]] -name = "futures-executor" -version = "0.3.30" +name = "gix-tempfile" +version = "14.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" +checksum = "046b4927969fa816a150a0cda2e62c80016fe11fb3c3184e4dddf4e542f108aa" dependencies = [ - "futures-core", - "futures-task", - "futures-util", + "gix-fs", + "libc", + "once_cell", + "parking_lot", + "tempfile", ] [[package]] -name = "futures-io" -version = "0.3.30" +name = "gix-trace" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" +checksum = "f924267408915fddcd558e3f37295cc7d6a3e50f8bd8b606cee0808c3915157e" [[package]] -name = "futures-macro" -version = "0.3.30" +name = "gix-transport" +version = "0.42.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" +checksum = "421dcccab01b41a15d97b226ad97a8f9262295044e34fbd37b10e493b0a6481f" dependencies = [ - "proc-macro2", - "quote", - "syn", + "base64 0.22.1", + "bstr", + "curl", + "gix-command", + "gix-credentials", + "gix-features", + "gix-packetline", + "gix-quote", + "gix-sec", + "gix-url", + "thiserror", ] [[package]] -name = "futures-sink" -version = "0.3.30" +name = "gix-traverse" +version = "0.39.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" +checksum = "e499a18c511e71cf4a20413b743b9f5bcf64b3d9e81e9c3c6cd399eae55a8840" +dependencies = [ + "bitflags 2.6.0", + "gix-commitgraph", + "gix-date 0.8.7", + "gix-hash", + "gix-hashtable", + "gix-object", + "gix-revwalk", + "smallvec", + "thiserror", +] [[package]] -name = "futures-task" -version = "0.3.30" +name = "gix-url" +version = "0.27.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" +checksum = "fd280c5e84fb22e128ed2a053a0daeacb6379469be6a85e3d518a0636e160c89" +dependencies = [ + "bstr", + "gix-features", + "gix-path", + "home", + "thiserror", + "url", +] [[package]] -name = "futures-util" -version = "0.3.30" +name = "gix-utils" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" +checksum = "35192df7fd0fa112263bad8021e2df7167df4cc2a6e6d15892e1e55621d3d4dc" dependencies = [ - "futures-core", - "futures-io", - "futures-macro", - "futures-sink", - "futures-task", - "memchr", - "pin-project-lite", - "pin-utils", - "slab", + "bstr", + "fastrand", + "unicode-normalization", ] [[package]] -name = "getrandom" -version = "0.2.15" +name = "gix-validate" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" +checksum = "82c27dd34a49b1addf193c92070bcbf3beaf6e10f16a78544de6372e146a0acf" dependencies = [ - "cfg-if", - "libc", - "wasi", + "bstr", + "thiserror", ] [[package]] -name = "gimli" -version = "0.31.0" +name = "gix-worktree" +version = "0.34.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32085ea23f3234fc7846555e85283ba4de91e21016dc0455a16286d87a292d64" +checksum = "26f7326ebe0b9172220694ea69d344c536009a9b98fb0f9de092c440f3efe7a6" +dependencies = [ + "bstr", + "gix-attributes", + "gix-features", + "gix-fs", + "gix-glob", + "gix-hash", + "gix-ignore", + "gix-index", + "gix-object", + "gix-path", + "gix-validate", +] [[package]] name = "glob" @@ -476,6 +1975,30 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" +[[package]] +name = "globset" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57da3b9b5b85bd66f31093f8c408b90a74431672542466497dcbdfdc02034be1" +dependencies = [ + "aho-corasick", + "bstr", + "log", + "regex-automata 0.4.7", + "regex-syntax 0.8.4", +] + +[[package]] +name = "group" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" +dependencies = [ + "ff", + "rand_core", + "subtle", +] + [[package]] name = "h2" version = "0.3.26" @@ -488,7 +2011,7 @@ dependencies = [ "futures-sink", "futures-util", "http 0.2.12", - "indexmap 2.5.0", + "indexmap 2.4.0", "slab", "tokio", "tokio-util", @@ -507,7 +2030,7 @@ dependencies = [ "futures-core", "futures-sink", "http 1.1.0", - "indexmap 2.5.0", + "indexmap 2.4.0", "slab", "tokio", "tokio-util", @@ -525,6 +2048,19 @@ name = "hashbrown" version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" +dependencies = [ + "ahash", + "allocator-api2", +] + +[[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 = "hermit-abi" @@ -532,6 +2068,39 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "hkdf" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" +dependencies = [ + "hmac", +] + +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest", +] + +[[package]] +name = "home" +version = "0.5.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" +dependencies = [ + "windows-sys 0.52.0", +] + [[package]] name = "http" version = "0.2.12" @@ -554,6 +2123,15 @@ dependencies = [ "itoa", ] +[[package]] +name = "http-auth" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "643c9bbf6a4ea8a656d6b4cd53d34f79e3f841ad5203c1a55fb7d761923bc255" +dependencies = [ + "memchr", +] + [[package]] name = "http-body" version = "0.4.6" @@ -600,6 +2178,12 @@ version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" +[[package]] +name = "humantime" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" + [[package]] name = "hyper" version = "0.14.30" @@ -672,9 +2256,9 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.8" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da62f120a8a37763efb0cf8fdf264b884c7b8b9ac8660b900c8661030c00e6ba" +checksum = "cde7055719c54e36e95e8719f95883f22072a48ede39db7fc17a4e1d5281e9b9" dependencies = [ "bytes", "futures-channel", @@ -700,6 +2284,36 @@ dependencies = [ "unicode-normalization", ] +[[package]] +name = "ignore" +version = "0.4.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b46810df39e66e925525d6e38ce1e7f6e1d208f72dc39757880fcb66e2c58af1" +dependencies = [ + "crossbeam-deque", + "globset", + "log", + "memchr", + "regex-automata 0.4.7", + "same-file", + "walkdir", + "winapi-util", +] + +[[package]] +name = "im-rc" +version = "15.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af1955a75fa080c677d3972822ec4bad316169ab1cfc6c257a942c2265dbe5fe" +dependencies = [ + "bitmaps", + "rand_core", + "rand_xoshiro", + "sized-chunks", + "typenum", + "version_check", +] + [[package]] name = "indexmap" version = "1.9.3" @@ -712,9 +2326,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.5.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68b900aa2f7301e21c36462b170ee99994de34dff39a4a6a528e80e7376d07e5" +checksum = "93ead53efc7ea8ed3cfb0c79fc8023fbb782a5432b52830b6518941cebe6505c" dependencies = [ "equivalent", "hashbrown 0.14.5", @@ -722,9 +2336,9 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.10.0" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "187674a687eed5fe42285b40c6291f9a01517d415fad1c3cbc6a9f778af7fcd4" +checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" [[package]] name = "is_ci" @@ -732,6 +2346,12 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7655c9839580ee829dfacba1d1278c2b7883e50a277ff7541299489d6bdfdc45" +[[package]] +name = "is_terminal_polyfill" +version = "1.70.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" + [[package]] name = "itertools" version = "0.12.1" @@ -756,6 +2376,40 @@ version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" +[[package]] +name = "jiff" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db2b7379a75544c94b3da32821b0bf41f9062e9970e23b78cc577d0d89676d16" +dependencies = [ + "jiff-tzdb-platform", + "windows-sys 0.59.0", +] + +[[package]] +name = "jiff-tzdb" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05fac328b3df1c0f18a3c2ab6cb7e06e4e549f366017d796e3e66b6d6889abe6" + +[[package]] +name = "jiff-tzdb-platform" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8da387d5feaf355954c2c122c194d6df9c57d865125a67984bb453db5336940" +dependencies = [ + "jiff-tzdb", +] + +[[package]] +name = "jobserver" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" +dependencies = [ + "libc", +] + [[package]] name = "js-sys" version = "0.3.70" @@ -765,18 +2419,125 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "kstring" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "558bf9508a558512042d3095138b1f7b8fe90c5467d94f9f1da28b3731c5dbd1" +dependencies = [ + "static_assertions", +] + [[package]] name = "lazy_static" version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" +[[package]] +name = "lazycell" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" + [[package]] name = "libc" version = "0.2.158" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439" +[[package]] +name = "libdbus-sys" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06085512b750d640299b79be4bad3d2fa90a9c00b1fd9e1b46364f66f0485c72" +dependencies = [ + "cc", + "pkg-config", +] + +[[package]] +name = "libgit2-sys" +version = "0.16.2+1.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee4126d8b4ee5c9d9ea891dd875cfdc1e9d0950437179104b183d7d8a74d24e8" +dependencies = [ + "cc", + "libc", + "libssh2-sys", + "libz-sys", + "openssl-sys", + "pkg-config", +] + +[[package]] +name = "libloading" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4" +dependencies = [ + "cfg-if", + "windows-targets 0.52.6", +] + +[[package]] +name = "libnghttp2-sys" +version = "0.1.10+1.61.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "959c25552127d2e1fa72f0e52548ec04fc386e827ba71a7bd01db46a447dc135" +dependencies = [ + "cc", + "libc", +] + +[[package]] +name = "libredox" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" +dependencies = [ + "bitflags 2.6.0", + "libc", + "redox_syscall", +] + +[[package]] +name = "libsqlite3-sys" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c10584274047cb335c23d3e61bcef8e323adae7c5c8c760540f73610177fc3f" +dependencies = [ + "cc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "libssh2-sys" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dc8a030b787e2119a731f1951d6a773e2280c660f8ec4b0f5e1505a386e71ee" +dependencies = [ + "cc", + "libc", + "libz-sys", + "openssl-sys", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "libz-sys" +version = "1.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdc53a7799a7496ebc9fd29f31f7df80e83c9bda5299768af5f9e59eeea74647" +dependencies = [ + "cc", + "libc", + "pkg-config", + "vcpkg", +] + [[package]] name = "link-cplusplus" version = "1.0.9" @@ -808,12 +2569,32 @@ version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" +[[package]] +name = "matchers" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" +dependencies = [ + "regex-automata 0.1.10", +] + [[package]] name = "matchit" version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" +[[package]] +name = "maybe-async" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5cf92c10c7e361d6b99666ec1c6f9805b0bea2c3bd8c78dc6fe98ac5bd78db11" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "memchr" version = "2.7.4" @@ -821,12 +2602,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" [[package]] -name = "meta" -version = "0.1.0" +name = "memmap2" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe751422e4a8caa417e13c3ea66452215d7d63e19e604f4980461212f3ae1322" dependencies = [ - "proto", - "tokio", - "tonic 0.12.2", + "libc", ] [[package]] @@ -866,6 +2647,21 @@ version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" +[[package]] +name = "minimal-lexical" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" + +[[package]] +name = "miniz_oxide" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08" +dependencies = [ + "adler", +] + [[package]] name = "miniz_oxide" version = "0.8.0" @@ -887,6 +2683,15 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "miow" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "359f76430b20a79f9e20e115b3428614e654f04fab314482fc0fda0ebd3c6044" +dependencies = [ + "windows-sys 0.48.0", +] + [[package]] name = "ngt" version = "0.1.0" @@ -898,6 +2703,41 @@ dependencies = [ "rand", ] +[[package]] +name = "nom" +version = "7.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" +dependencies = [ + "memchr", + "minimal-lexical", +] + +[[package]] +name = "normpath" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8911957c4b1549ac0dc74e30db9c8b0e66ddcd6d7acc33098f4c63a64a6d7ed" +dependencies = [ + "windows-sys 0.59.0", +] + +[[package]] +name = "nu-ansi-term" +version = "0.46.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" +dependencies = [ + "overload", + "winapi", +] + +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + [[package]] name = "num-traits" version = "0.2.19" @@ -907,11 +2747,20 @@ dependencies = [ "autocfg", ] +[[package]] +name = "num_threads" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9" +dependencies = [ + "libc", +] + [[package]] name = "object" -version = "0.36.4" +version = "0.36.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "084f1a5821ac4c651660a94a7153d27ac9d8a53736203f58b31945ded098070a" +checksum = "27b64972346851a39438c60b341ebc01bba47464ae329e55cf343eb93964efd9" dependencies = [ "memchr", ] @@ -938,6 +2787,36 @@ version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" +[[package]] +name = "opener" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0812e5e4df08da354c851a3376fead46db31c2214f849d3de356d774d057681" +dependencies = [ + "bstr", + "dbus", + "normpath", + "windows-sys 0.59.0", +] + +[[package]] +name = "openssl-probe" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" + +[[package]] +name = "openssl-sys" +version = "0.9.103" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f9e8deee91df40a943c71b917e5874b951d32a802526c85721ce3b776c929d6" +dependencies = [ + "cc", + "libc", + "pkg-config", + "vcpkg", +] + [[package]] name = "opentelemetry" version = "0.23.0" @@ -1017,7 +2896,7 @@ dependencies = [ "lazy_static", "once_cell", "opentelemetry", - "ordered-float", + "ordered-float 4.2.2", "percent-encoding", "rand", "serde_json", @@ -1026,6 +2905,15 @@ dependencies = [ "tokio-stream", ] +[[package]] +name = "ordered-float" +version = "2.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68f19d67e5a2795c94e73e0bb1cc1a7edeb2e28efd39e2e1c9b7a40c1108b11c" +dependencies = [ + "num-traits", +] + [[package]] name = "ordered-float" version = "4.2.2" @@ -1035,11 +2923,50 @@ dependencies = [ "num-traits", ] +[[package]] +name = "orion" +version = "0.17.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7abdb10181903c8c4b016ba45d6d6d5af1a1e2a461aa4763a83b87f5df4695e5" +dependencies = [ + "fiat-crypto", + "subtle", + "zeroize", +] + +[[package]] +name = "os_info" +version = "3.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae99c7fa6dd38c7cafe1ec085e804f8f555a2f8659b0dbe03f1f9963a9b51092" +dependencies = [ + "log", + "windows-sys 0.52.0", +] + +[[package]] +name = "overload" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" + [[package]] name = "owo-colors" -version = "4.1.0" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "caff54706df99d2a78a5a4e3455ff45448d81ef1bb63c22cd14052ca0e993a3f" + +[[package]] +name = "p384" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb37767f6569cd834a413442455e0f066d0d522de8630436e2a1761d9726ba56" +checksum = "70786f51bcc69f6a4c0360e063a4cac5419ef7c5cd5b3c99ad70f3be5ba79209" +dependencies = [ + "ecdsa", + "elliptic-curve", + "primeorder", + "sha2", +] [[package]] name = "parking_lot" @@ -1064,12 +2991,48 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "pasetors" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b36d47c66f2230dd1b7143d9afb2b4891879020210eddf2ccb624e529b96dba" +dependencies = [ + "ct-codecs", + "ed25519-compact", + "getrandom", + "orion", + "p384", + "rand_core", + "regex", + "serde", + "serde_json", + "sha2", + "subtle", + "time", + "zeroize", +] + [[package]] name = "paste" version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" +[[package]] +name = "pathdiff" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd" + +[[package]] +name = "pem-rfc7468" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" +dependencies = [ + "base64ct", +] + [[package]] name = "percent-encoding" version = "2.3.1" @@ -1108,6 +3071,28 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" +[[package]] +name = "pkcs8" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" +dependencies = [ + "der", + "spki", +] + +[[package]] +name = "pkg-config" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" + +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + [[package]] name = "ppv-lite86" version = "0.2.20" @@ -1117,6 +3102,15 @@ dependencies = [ "zerocopy", ] +[[package]] +name = "primeorder" +version = "0.13.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6" +dependencies = [ + "elliptic-curve", +] + [[package]] name = "proc-macro2" version = "1.0.86" @@ -1126,6 +3120,15 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "prodash" +version = "28.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "744a264d26b88a6a7e37cbad97953fa233b94d585236310bcbc88474b4092d79" +dependencies = [ + "parking_lot", +] + [[package]] name = "prost" version = "0.12.6" @@ -1138,12 +3141,12 @@ dependencies = [ [[package]] name = "prost" -version = "0.13.2" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b2ecbe40f08db5c006b5764a2645f7f3f141ce756412ac9e1dd6087e6d32995" +checksum = "e13db3d3fde688c61e2446b4d843bc27a7e8af269a69440c0308021dc92333cc" dependencies = [ "bytes", - "prost-derive 0.13.2", + "prost-derive 0.13.1", ] [[package]] @@ -1161,9 +3164,9 @@ dependencies = [ [[package]] name = "prost-derive" -version = "0.13.2" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acf0c195eebb4af52c752bec4f52f645da98b6e92077a04110c7f349477ae5ac" +checksum = "18bec9b0adc4eba778b33684b7ba3e7137789434769ee3ce3930463ef904cfca" dependencies = [ "anyhow", "itertools 0.13.0", @@ -1174,11 +3177,11 @@ dependencies = [ [[package]] name = "prost-types" -version = "0.13.2" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60caa6738c7369b940c3d49246a8d1749323674c65cb13010134f5c9bad5b519" +checksum = "cee5168b05f49d4b0ca581206eb14a7b22fafd963efe729ac48eb03266e25cc2" dependencies = [ - "prost 0.13.2", + "prost 0.13.1", ] [[package]] @@ -1186,17 +3189,16 @@ name = "proto" version = "0.1.0" dependencies = [ "futures-core", - "prost 0.13.2", - "prost-types", - "tonic 0.12.2", + "prost 0.13.1", + "tonic 0.12.1", "tonic-types", ] [[package]] name = "quote" -version = "1.0.37" +version = "1.0.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" +checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" dependencies = [ "proc-macro2", ] @@ -1231,15 +3233,68 @@ dependencies = [ "getrandom", ] +[[package]] +name = "rand_xoshiro" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f97cdb2a36ed4183de61b2f824cc45c9f1037f28afe0a322e9fff4c108b5aaa" +dependencies = [ + "rand_core", +] + [[package]] name = "redox_syscall" -version = "0.5.4" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0884ad60e090bf1345b93da0a5de8923c93884cd03f40dfcfddd3b4bee661853" +checksum = "2a908a6e00f1fdd0dfd9c0eb08ce85126f6d8bbda50017e74bc4a4b7d4a926a4" dependencies = [ "bitflags 2.6.0", ] +[[package]] +name = "regex" +version = "1.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata 0.4.7", + "regex-syntax 0.8.4", +] + +[[package]] +name = "regex-automata" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" +dependencies = [ + "regex-syntax 0.6.29", +] + +[[package]] +name = "regex-automata" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax 0.8.4", +] + +[[package]] +name = "regex-syntax" +version = "0.6.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" + +[[package]] +name = "regex-syntax" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" + [[package]] name = "reqwest" version = "0.11.27" @@ -1277,73 +3332,203 @@ dependencies = [ ] [[package]] -name = "rustc-demangle" -version = "0.1.24" +name = "rfc6979" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" +dependencies = [ + "hmac", + "subtle", +] + +[[package]] +name = "rusqlite" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b838eba278d213a8beaf485bd313fd580ca4505a00d5871caeb1457c55322cae" +dependencies = [ + "bitflags 2.6.0", + "fallible-iterator", + "fallible-streaming-iterator", + "hashlink", + "libsqlite3-sys", + "smallvec", +] + +[[package]] +name = "rustc-demangle" +version = "0.1.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" + +[[package]] +name = "rustfix" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cef0c817217c330b3ef879e06455d726c1cffc800eaf7734d3b4ac63213636b" +dependencies = [ + "serde", + "serde_json", + "thiserror", + "tracing", +] + +[[package]] +name = "rustix" +version = "0.38.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" +dependencies = [ + "bitflags 2.6.0", + "errno", + "libc", + "linux-raw-sys", + "windows-sys 0.52.0", +] + +[[package]] +name = "rustversion" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" + +[[package]] +name = "ryu" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "schannel" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" +dependencies = [ + "windows-sys 0.52.0", +] + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "scratch" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3cf7c11c38cb994f3d40e8a8cde3bbd1f72a435e4c49e85d6553d8312306152" + +[[package]] +name = "sec1" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" +checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" +dependencies = [ + "base16ct", + "der", + "generic-array", + "pkcs8", + "subtle", + "zeroize", +] [[package]] -name = "rustix" -version = "0.38.37" +name = "security-framework" +version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811" +checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ "bitflags 2.6.0", - "errno", + "core-foundation", + "core-foundation-sys", "libc", - "linux-raw-sys", - "windows-sys 0.52.0", + "security-framework-sys", ] [[package]] -name = "rustversion" -version = "1.0.17" +name = "security-framework-sys" +version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" +checksum = "75da29fe9b9b08fe9d6b22b5b4bcbc75d8db3aa31e639aa56bb62e9d46bfceaf" +dependencies = [ + "core-foundation-sys", + "libc", +] [[package]] -name = "ryu" -version = "1.0.18" +name = "semver" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" +checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" +dependencies = [ + "serde", +] [[package]] -name = "scopeguard" -version = "1.2.0" +name = "serde" +version = "1.0.208" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" +checksum = "cff085d2cb684faa248efb494c39b68e522822ac0de72ccf08109abde717cfb2" +dependencies = [ + "serde_derive", +] [[package]] -name = "scratch" -version = "1.0.7" +name = "serde-untagged" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3cf7c11c38cb994f3d40e8a8cde3bbd1f72a435e4c49e85d6553d8312306152" +checksum = "2676ba99bd82f75cae5cbd2c8eda6fa0b8760f18978ea840e980dd5567b5c5b6" +dependencies = [ + "erased-serde", + "serde", + "typeid", +] [[package]] -name = "serde" -version = "1.0.210" +name = "serde-value" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a" +checksum = "f3a1a3341211875ef120e117ea7fd5228530ae7e7036a779fdc9117be6b3282c" dependencies = [ - "serde_derive", + "ordered-float 2.10.1", + "serde", ] [[package]] name = "serde_derive" -version = "1.0.210" +version = "1.0.208" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" +checksum = "24008e81ff7613ed8e5ba0cfaf24e2c2f1e5b8a0495711e44fcd4882fca62bcf" dependencies = [ "proc-macro2", "quote", "syn", ] +[[package]] +name = "serde_ignored" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8e319a36d1b52126a0d608f24e93b2d81297091818cd70625fcf50a15d84ddf" +dependencies = [ + "serde", +] + [[package]] name = "serde_json" -version = "1.0.128" +version = "1.0.125" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8" +checksum = "83c8e735a073ccf5be70aa8066aa984eaf2fa000db6c8d0100ae605b366d31ed" dependencies = [ "itoa", "memchr", @@ -1351,6 +3536,15 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_spanned" +version = "0.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb5b1b31579f3811bf615c144393417496f152e12ac8b7663bf664f4a815306d" +dependencies = [ + "serde", +] + [[package]] name = "serde_urlencoded" version = "0.7.1" @@ -1363,6 +3557,55 @@ dependencies = [ "serde", ] +[[package]] +name = "sha1" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "sha1_smol" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbfa15b3dddfee50a0fff136974b3e1bde555604ba463834a7eb7deb6417705d" + +[[package]] +name = "sha2" +version = "0.10.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "sharded-slab" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" +dependencies = [ + "lazy_static", +] + +[[package]] +name = "shell-escape" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45bb67a18fa91266cc7807181f62f9178a6873bfad7dc788c42e6430db40184f" + +[[package]] +name = "shell-words" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde" + [[package]] name = "shlex" version = "1.3.0" @@ -1378,6 +3621,26 @@ dependencies = [ "libc", ] +[[package]] +name = "signature" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" +dependencies = [ + "digest", + "rand_core", +] + +[[package]] +name = "sized-chunks" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16d69225bde7a69b235da73377861095455d298f2b970996eec25ddbb42b3d1e" +dependencies = [ + "bitmaps", + "typenum", +] + [[package]] name = "slab" version = "0.4.9" @@ -1409,11 +3672,39 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "spki" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" +dependencies = [ + "base64ct", + "der", +] + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + +[[package]] +name = "subtle" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" + [[package]] name = "supports-color" -version = "3.0.1" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8775305acf21c96926c900ad056abeef436701108518cf890020387236ac5a77" +checksum = "9829b314621dfc575df4e409e79f9d6a66a3bd707ab73f23cb4aa3a854ac854f" dependencies = [ "is_ci", ] @@ -1432,9 +3723,9 @@ checksum = "b7401a30af6cb5818bb64852270bb722533397edcfc7344954a38f420819ece2" [[package]] name = "syn" -version = "2.0.77" +version = "2.0.75" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" +checksum = "f6af063034fc1935ede7be0122941bafa9bacb949334d090b77ca98b5817c7d9" dependencies = [ "proc-macro2", "quote", @@ -1474,6 +3765,29 @@ dependencies = [ "libc", ] +[[package]] +name = "tar" +version = "0.4.41" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb797dad5fb5b76fcf519e702f4a589483b5ef06567f160c392832c1f5e44909" +dependencies = [ + "filetime", + "libc", +] + +[[package]] +name = "tempfile" +version = "3.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04cbcdd0c794ebb0d4cf35e88edd2f7d2c4c3e9a5a6dab322839b321c6a87a64" +dependencies = [ + "cfg-if", + "fastrand", + "once_cell", + "rustix", + "windows-sys 0.59.0", +] + [[package]] name = "termcolor" version = "1.4.1" @@ -1524,6 +3838,49 @@ dependencies = [ "syn", ] +[[package]] +name = "thread_local" +version = "1.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" +dependencies = [ + "cfg-if", + "once_cell", +] + +[[package]] +name = "time" +version = "0.3.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" +dependencies = [ + "deranged", + "itoa", + "libc", + "num-conv", + "num_threads", + "powerfmt", + "serde", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" + +[[package]] +name = "time-macros" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" +dependencies = [ + "num-conv", + "time-core", +] + [[package]] name = "tinyvec" version = "1.8.0" @@ -1541,9 +3898,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.40.0" +version = "1.39.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2b070231665d27ad9ec9b8df639893f46727666c6767db40317fbe920a5d998" +checksum = "9babc99b9923bfa4804bd74722ff02c0381021eafa4db9949217e3be8e84fff5" dependencies = [ "backtrace", "bytes", @@ -1580,9 +3937,9 @@ dependencies = [ [[package]] name = "tokio-stream" -version = "0.1.16" +version = "0.1.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f4e6ce100d0eb49a2734f8c0812bcd324cf357d21810932c5df6b96ef2b86f1" +checksum = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af" dependencies = [ "futures-core", "pin-project-lite", @@ -1592,9 +3949,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.12" +version = "0.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61e7c3654c13bcd040d4a03abee2c75b1d14a37b423cf5a813ceae1cc903ec6a" +checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" dependencies = [ "bytes", "futures-core", @@ -1603,6 +3960,40 @@ dependencies = [ "tokio", ] +[[package]] +name = "toml" +version = "0.8.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit", +] + +[[package]] +name = "toml_datetime" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_edit" +version = "0.22.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "583c44c02ad26b0c3f3066fe629275e50627026c51ac2e595cca4c230ce1ce1d" +dependencies = [ + "indexmap 2.4.0", + "serde", + "serde_spanned", + "toml_datetime", + "winnow", +] + [[package]] name = "tonic" version = "0.11.0" @@ -1632,9 +4023,9 @@ dependencies = [ [[package]] name = "tonic" -version = "0.12.2" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6f6ba989e4b2c58ae83d862d3a3e27690b6e3ae630d0deb59f3697f32aa88ad" +checksum = "38659f4a91aba8598d27821589f5db7dddd94601e7a01b1e485a50e5484c7401" dependencies = [ "async-stream", "async-trait", @@ -1650,7 +4041,7 @@ dependencies = [ "hyper-util", "percent-encoding", "pin-project", - "prost 0.13.2", + "prost 0.13.1", "socket2", "tokio", "tokio-stream", @@ -1662,13 +4053,13 @@ dependencies = [ [[package]] name = "tonic-types" -version = "0.12.2" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d967793411bc1a5392accf4731114295f0fd122865d22cde46a8584b03402b2" +checksum = "5563899ec5aa5f0ec48e37457461ffbbc184c9a0f413f715dacd154f46408a10" dependencies = [ - "prost 0.13.2", + "prost 0.13.1", "prost-types", - "tonic 0.12.2", + "tonic 0.12.1", ] [[package]] @@ -1725,6 +4116,17 @@ dependencies = [ "syn", ] +[[package]] +name = "tracing-chrome" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf0a738ed5d6450a9fb96e86a23ad808de2b727fd1394585da5cdd6788ffe724" +dependencies = [ + "serde_json", + "tracing-core", + "tracing-subscriber", +] + [[package]] name = "tracing-core" version = "0.1.32" @@ -1732,6 +4134,36 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" dependencies = [ "once_cell", + "valuable", +] + +[[package]] +name = "tracing-log" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" +dependencies = [ + "log", + "once_cell", + "tracing-core", +] + +[[package]] +name = "tracing-subscriber" +version = "0.3.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" +dependencies = [ + "matchers", + "nu-ansi-term", + "once_cell", + "regex", + "sharded-slab", + "smallvec", + "thread_local", + "tracing", + "tracing-core", + "tracing-log", ] [[package]] @@ -1740,17 +4172,44 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" +[[package]] +name = "typeid" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e13db2e0ccd5e14a544e8a246ba2312cd25223f616442d7f2cb0e3db614236e" + +[[package]] +name = "typenum" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" + +[[package]] +name = "unicase" +version = "2.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89" +dependencies = [ + "version_check", +] + [[package]] name = "unicode-bidi" version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" +[[package]] +name = "unicode-bom" +version = "2.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7eec5d1121208364f6793f7d2e222bf75a915c19557537745b195b253dd64217" + [[package]] name = "unicode-ident" -version = "1.0.13" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "unicode-linebreak" @@ -1773,6 +4232,12 @@ version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" +[[package]] +name = "unicode-xid" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "229730647fbc343e3a80e463c1db7f78f3855d3f3739bee0dda773c9a037c90a" + [[package]] name = "url" version = "2.5.2" @@ -1784,6 +4249,40 @@ dependencies = [ "percent-encoding", ] +[[package]] +name = "utf8parse" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" + +[[package]] +name = "valuable" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" + +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + +[[package]] +name = "version_check" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + [[package]] name = "want" version = "0.3.1" @@ -1876,6 +4375,22 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + [[package]] name = "winapi-util" version = "0.1.9" @@ -1885,6 +4400,12 @@ dependencies = [ "windows-sys 0.59.0", ] +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + [[package]] name = "windows-sys" version = "0.48.0" @@ -2033,6 +4554,15 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" +[[package]] +name = "winnow" +version = "0.6.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68a9bda4691f099d435ad181000724da8e5899daa10713c2d432552b9ccd3a6f" +dependencies = [ + "memchr", +] + [[package]] name = "winreg" version = "0.50.0" @@ -2063,3 +4593,9 @@ dependencies = [ "quote", "syn", ] + +[[package]] +name = "zeroize" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" diff --git a/rust/bin/agent/Cargo.toml b/rust/bin/agent/Cargo.toml index 7e11dd94d6..9a428bda11 100644 --- a/rust/bin/agent/Cargo.toml +++ b/rust/bin/agent/Cargo.toml @@ -22,8 +22,12 @@ edition = "2021" [dependencies] algorithm = { version = "0.1.0", path = "../../libs/algorithm" } +anyhow = "1.0.86" +cargo = "0.81.0" prost = "0.13.1" +prost-types = "0.13.1" proto = { version = "0.1.0", path = "../../libs/proto" } tokio = { version = "1.39.3", features = ["full"] } tokio-stream = { version = "0.1.15", features = ["full"] } tonic = "0.12.1" +tonic-types = "0.12.1" diff --git a/rust/bin/agent/src/handler.rs b/rust/bin/agent/src/handler.rs index 7baa1b6237..d57a0e4908 100644 --- a/rust/bin/agent/src/handler.rs +++ b/rust/bin/agent/src/handler.rs @@ -14,14 +14,30 @@ // limitations under the License. // mod common; -mod index; -mod insert; -mod remove; -mod search; -mod update; -mod upsert; +pub mod index; +pub mod insert; +pub mod remove; +pub mod search; +pub mod update; +pub mod upsert; -#[derive(Default, Debug)] +#[derive(Debug)] pub struct Agent { - + s: &dyn algorithm::ANN, + name: String, + ip: String, + resource_type: String, + api_name: String, } + +impl Agent { + pub fn new(s: impl algorithm::ANN, name: &str, ip: &str, resource_type: &str, api_name: &str) -> Agent { + Agent { + s: s, + name: name.to_string(), + ip: ip.to_string(), + resource_type: resource_type.to_string(), + api_name: api_name.to_string(), + } + } +} \ No newline at end of file diff --git a/rust/bin/agent/src/handler/index.rs b/rust/bin/agent/src/handler/index.rs index fa6b39d6a6..df535b82fc 100644 --- a/rust/bin/agent/src/handler/index.rs +++ b/rust/bin/agent/src/handler/index.rs @@ -23,14 +23,14 @@ use proto::{ impl agent_server::Agent for super::Agent { async fn create_index( &self, - request: tonic::Request, + _request: tonic::Request, ) -> std::result::Result, tonic::Status> { todo!() } async fn save_index( &self, - request: tonic::Request, + _request: tonic::Request, ) -> std::result::Result, tonic::Status> { todo!() } @@ -38,7 +38,7 @@ impl agent_server::Agent for super::Agent { #[doc = " Represent the creating and saving index RPC.\n"] async fn create_and_save_index( &self, - request: tonic::Request, + _request: tonic::Request, ) -> std::result::Result, tonic::Status> { todo!() } @@ -49,7 +49,7 @@ impl index_server::Index for super::Agent { #[doc = " Represent the RPC to get the agent index information.\n"] async fn index_info( &self, - request: tonic::Request, + _request: tonic::Request, ) -> std::result::Result, tonic::Status> { todo!() } @@ -57,14 +57,14 @@ impl index_server::Index for super::Agent { #[doc = " Represent the RPC to get the agent index detailed information.\n"] async fn index_detail( &self, - request: tonic::Request, + _request: tonic::Request, ) -> std::result::Result, tonic::Status> { todo!() } #[doc = " Represent the RPC to get the agent index statistics.\n"] async fn index_statistics( &self, - request: tonic::Request, + _request: tonic::Request, ) -> std::result::Result, tonic::Status> { todo!() } @@ -72,7 +72,7 @@ impl index_server::Index for super::Agent { #[doc = " Represent the RPC to get the agent index detailed statistics.\n"] async fn index_statistics_detail( &self, - request: tonic::Request, + _request: tonic::Request, ) -> std::result::Result, tonic::Status> { todo!() } @@ -80,7 +80,7 @@ impl index_server::Index for super::Agent { #[doc = " Represent the RPC to get the index property.\n"] async fn index_property( &self, - request: tonic::Request, + _request: tonic::Request, ) -> std::result::Result, tonic::Status> { todo!() } diff --git a/rust/bin/agent/src/handler/insert.rs b/rust/bin/agent/src/handler/insert.rs index e0073a0818..91f77a00d7 100644 --- a/rust/bin/agent/src/handler/insert.rs +++ b/rust/bin/agent/src/handler/insert.rs @@ -21,7 +21,7 @@ use proto::{ impl insert_server::Insert for super::Agent { async fn insert( &self, - request: tonic::Request, + _request: tonic::Request, ) -> std::result::Result, tonic::Status> { todo!() } @@ -32,7 +32,7 @@ impl insert_server::Insert for super::Agent { #[doc = " A method to add new multiple vectors by bidirectional streaming.\n"] async fn stream_insert( &self, - request: tonic::Request>, + _request: tonic::Request>, ) -> std::result::Result, tonic::Status> { todo!() } @@ -40,7 +40,7 @@ impl insert_server::Insert for super::Agent { #[doc = " A method to add new multiple vectors in a single request.\n"] async fn multi_insert( &self, - request: tonic::Request, + _request: tonic::Request, ) -> std::result::Result, tonic::Status> { todo!() } diff --git a/rust/bin/agent/src/handler/remove.rs b/rust/bin/agent/src/handler/remove.rs index 803f33564d..25f45b8bb4 100644 --- a/rust/bin/agent/src/handler/remove.rs +++ b/rust/bin/agent/src/handler/remove.rs @@ -22,7 +22,7 @@ use proto::{ impl remove_server::Remove for super::Agent { async fn remove( &self, - request: tonic::Request, + _request: tonic::Request, ) -> std::result::Result, tonic::Status> { todo!() } @@ -30,7 +30,7 @@ impl remove_server::Remove for super::Agent { #[doc = " A method to remove an indexed vector based on timestamp.\n"] async fn remove_by_timestamp( &self, - request: tonic::Request, + _request: tonic::Request, ) -> std::result::Result, tonic::Status> { todo!() } @@ -41,7 +41,7 @@ impl remove_server::Remove for super::Agent { #[doc = " A method to remove multiple indexed vectors by bidirectional streaming.\n"] async fn stream_remove( &self, - request: tonic::Request>, + _request: tonic::Request>, ) -> std::result::Result, tonic::Status> { todo!() } @@ -49,7 +49,7 @@ impl remove_server::Remove for super::Agent { #[doc = " A method to remove multiple indexed vectors in a single request.\n"] async fn multi_remove( &self, - request: tonic::Request, + _request: tonic::Request, ) -> std::result::Result, tonic::Status> { todo!() } diff --git a/rust/bin/agent/src/handler/search.rs b/rust/bin/agent/src/handler/search.rs index d522d456ae..3970913f7d 100644 --- a/rust/bin/agent/src/handler/search.rs +++ b/rust/bin/agent/src/handler/search.rs @@ -13,21 +13,159 @@ // See the License for the specific language governing permissions and // limitations under the License. // +use anyhow::Result; +use std::{collections::HashMap, error, fmt}; + use proto::{payload::v1::search, vald::v1::search_server}; +use tonic::{Code, Status}; +use tonic_types::{ErrorDetails, FieldViolation, StatusExt}; + +#[derive(Debug, Clone)] +pub struct CreateIndexingIsInProgress {} +#[derive(Debug, Clone)] +pub struct FlushingIsInProgress {} +#[derive(Debug, Clone)] +pub struct EmptySearchResult {} +#[derive(Debug, Clone)] +pub struct IncompatibleDimensionSize { + got: usize, + want: usize, +} + +impl fmt::Display for CreateIndexingIsInProgress { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + write!(f, "create indexing is in progress") + } +} + +impl error::Error for CreateIndexingIsInProgress { + fn source(&self) -> Option<&(dyn error::Error + 'static)> { + None + } +} + +impl fmt::Display for FlushingIsInProgress { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + write!(f, "flush is in progress") + } +} + +impl error::Error for FlushingIsInProgress { + fn source(&self) -> Option<&(dyn error::Error + 'static)> { + None + } +} + +impl fmt::Display for EmptySearchResult { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + write!(f, "search result is empty") + } +} + +impl error::Error for EmptySearchResult { + fn source(&self) -> Option<&(dyn error::Error + 'static)> { + None + } +} +impl IncompatibleDimensionSize { + pub fn new(got: usize, want: usize) -> IncompatibleDimensionSize { + IncompatibleDimensionSize { + got: got, + want: want, + } + } +} + +impl fmt::Display for IncompatibleDimensionSize { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + write!(f, "incompatible dimension size detected\trequested: {},\tconfigured: {}", self.got, self.want) + } +} + +impl error::Error for IncompatibleDimensionSize { + fn source(&self) -> Option<&(dyn error::Error + 'static)> { + None + } +} #[tonic::async_trait] impl search_server::Search for super::Agent { async fn search( &self, request: tonic::Request, - ) -> Result, tonic::Status> { - todo!() + ) -> Result, Status> { + let req = request.get_ref(); + let config = req.config.unwrap(); + let domain = cargo::util::hostname().unwrap_or("".into()).to_str().unwrap_or(""); + if req.vector.len() != self.s.get_dimension_size() { + let err = IncompatibleDimensionSize::new(req.vector.len(), self.s.get_dimension_size()); + let msg = err.to_string(); + let mut err_details = ErrorDetails::new(); + err_details.set_error_info(msg, domain, HashMap::new()); + err_details.set_request_info(config.request_id, req.into()); + err_details.set_bad_request(vec![FieldViolation::new("vector dimension size", msg)]); + err_details.set_resource_info(self.resource_type + "/ngt.Search", "", "", ""); + let status = Status::with_error_details(Code::InvalidArgument, "Search API Incombatible Dimension Size detedted", err_details); + return Err(status); + } + + let result = self.s.search(req.vector, config.num, config.epsilon, config.radius); + match result { + Err(err) => { + let metadata = HashMap::new(); + let resource_type = self.resource_type + "/ngt.Search"; + let resource_name = format!("{}: {}({})", self.api_name, self.name, self.ip); + let status = match err { + CreateIndexingIsInProgress => { + let mut err_details = ErrorDetails::new(); + err_details.set_error_info(err.to_string(), domain, metadata); + err_details.set_request_info(config.request_id, req.into()); + err_details.set_resource_info(resource_type, resource_name, "", ""); + Status::with_error_details(Code::Aborted, "Search API aborted to process search request due to creating indices is in progress", err_details) + } + FlushingIsInProgress => { + let mut err_details = ErrorDetails::new(); + err_details.set_error_info(err.to_string(), domain, metadata); + err_details.set_request_info(config.request_id, req.into()); + err_details.set_resource_info(resource_type, resource_name, "", ""); + Status::with_error_details(Code::Aborted, "Search API aborted to process search request due to flushing indices is in progress", err_details) + } + EmptySearchResult => { + let mut err_details = ErrorDetails::new(); + err_details.set_error_info(err.to_string(), domain, metadata); + err_details.set_request_info(config.request_id, req.into()); + err_details.set_resource_info(resource_type, resource_name, "", ""); + Status::with_error_details(Code::NotFound, format!("Search API requestID {}'s search result not found", config.request_id), err_details) + } + IncompatibleDimensionSize => { + let mut err_details = ErrorDetails::new(); + err_details.set_error_info(err.to_string(), domain, metadata); + err_details.set_request_info(config.request_id, req.into()); + err_details.set_resource_info(resource_type, resource_name, "", ""); + err_details.set_bad_request(vec![FieldViolation::new("vector dimension size", err.to_string())]); + Status::with_error_details(Code::InvalidArgument, "Search API Incompatible Dimension Size detected", err_details) + } + _ => { + let mut err_details = ErrorDetails::new(); + err_details.set_error_info(err.to_string(), domain, metadata); + err_details.set_request_info(config.request_id, req.into()); + err_details.set_resource_info(resource_type, resource_name, "", ""); + Status::with_error_details(Code::Internal, "Search API failed to process search request", err_details) + } + }; + Err(status) + } + Ok(mut response) => { + response.get_mut().request_id = config.request_id; + Ok(response) + } + } } #[doc = " A method to search indexed vectors by ID.\n"] async fn search_by_id( &self, - request: tonic::Request, + _request: tonic::Request, ) -> Result, tonic::Status> { todo!() } @@ -38,7 +176,7 @@ impl search_server::Search for super::Agent { #[doc = " A method to search indexed vectors by multiple vectors.\n"] async fn stream_search( &self, - request: tonic::Request>, + _request: tonic::Request>, ) -> std::result::Result, tonic::Status> { todo!() } @@ -49,7 +187,7 @@ impl search_server::Search for super::Agent { #[doc = " A method to search indexed vectors by multiple IDs.\n"] async fn stream_search_by_id( &self, - request: tonic::Request>, + _request: tonic::Request>, ) -> std::result::Result, tonic::Status> { todo!() } @@ -57,7 +195,7 @@ impl search_server::Search for super::Agent { #[doc = " A method to search indexed vectors by multiple vectors in a single request.\n"] async fn multi_search( &self, - request: tonic::Request, + _request: tonic::Request, ) -> std::result::Result, tonic::Status> { todo!() } @@ -65,7 +203,7 @@ impl search_server::Search for super::Agent { #[doc = " A method to search indexed vectors by multiple IDs in a single request.\n"] async fn multi_search_by_id( &self, - request: tonic::Request, + _request: tonic::Request, ) -> std::result::Result, tonic::Status> { todo!() } @@ -73,7 +211,7 @@ impl search_server::Search for super::Agent { #[doc = " A method to linear search indexed vectors by a raw vector.\n"] async fn linear_search( &self, - request: tonic::Request, + _request: tonic::Request, ) -> std::result::Result, tonic::Status> { todo!() } @@ -81,7 +219,7 @@ impl search_server::Search for super::Agent { #[doc = " A method to linear search indexed vectors by ID.\n"] async fn linear_search_by_id( &self, - request: tonic::Request, + _request: tonic::Request, ) -> std::result::Result, tonic::Status> { todo!() } @@ -92,7 +230,7 @@ impl search_server::Search for super::Agent { #[doc = " A method to linear search indexed vectors by multiple vectors.\n"] async fn stream_linear_search( &self, - request: tonic::Request>, + _request: tonic::Request>, ) -> std::result::Result, tonic::Status> { todo!() } @@ -103,7 +241,7 @@ impl search_server::Search for super::Agent { #[doc = " A method to linear search indexed vectors by multiple IDs.\n"] async fn stream_linear_search_by_id( &self, - request: tonic::Request>, + _request: tonic::Request>, ) -> std::result::Result, tonic::Status> { todo!() @@ -112,7 +250,7 @@ impl search_server::Search for super::Agent { #[doc = " A method to linear search indexed vectors by multiple vectors in a single\n request.\n"] async fn multi_linear_search( &self, - request: tonic::Request, + _request: tonic::Request, ) -> std::result::Result, tonic::Status> { todo!() } @@ -120,7 +258,7 @@ impl search_server::Search for super::Agent { #[doc = " A method to linear search indexed vectors by multiple IDs in a single\n request.\n"] async fn multi_linear_search_by_id( &self, - request: tonic::Request, + _request: tonic::Request, ) -> std::result::Result, tonic::Status> { todo!() } diff --git a/rust/bin/agent/src/handler/update.rs b/rust/bin/agent/src/handler/update.rs index 90ac9d5cdb..073faaa2e4 100644 --- a/rust/bin/agent/src/handler/update.rs +++ b/rust/bin/agent/src/handler/update.rs @@ -22,7 +22,7 @@ use proto::{ impl update_server::Update for super::Agent { async fn update( &self, - request: tonic::Request, + _request: tonic::Request, ) -> std::result::Result, tonic::Status> { todo!() } @@ -33,7 +33,7 @@ impl update_server::Update for super::Agent { #[doc = " A method to update multiple indexed vectors by bidirectional streaming.\n"] async fn stream_update( &self, - request: tonic::Request>, + _request: tonic::Request>, ) -> std::result::Result, tonic::Status> { todo!() } @@ -41,7 +41,7 @@ impl update_server::Update for super::Agent { #[doc = " A method to update multiple indexed vectors in a single request.\n"] async fn multi_update( &self, - request: tonic::Request, + _request: tonic::Request, ) -> std::result::Result, tonic::Status> { todo!() } diff --git a/rust/bin/agent/src/handler/upsert.rs b/rust/bin/agent/src/handler/upsert.rs index 8191d736c4..c1040e6c9e 100644 --- a/rust/bin/agent/src/handler/upsert.rs +++ b/rust/bin/agent/src/handler/upsert.rs @@ -22,7 +22,7 @@ use proto::{ impl upsert_server::Upsert for super::Agent { async fn upsert( &self, - request: tonic::Request, + _request: tonic::Request, ) -> std::result::Result, tonic::Status> { todo!() } @@ -33,7 +33,7 @@ impl upsert_server::Upsert for super::Agent { #[doc = " A method to insert/update multiple vectors by bidirectional streaming.\n"] async fn stream_upsert( &self, - request: tonic::Request>, + _request: tonic::Request>, ) -> std::result::Result, tonic::Status> { todo!() } @@ -41,7 +41,7 @@ impl upsert_server::Upsert for super::Agent { #[doc = " A method to insert/update multiple vectors in a single request.\n"] async fn multi_upsert( &self, - request: tonic::Request, + _request: tonic::Request, ) -> std::result::Result, tonic::Status> { todo!() } diff --git a/rust/bin/agent/src/main.rs b/rust/bin/agent/src/main.rs index 5ef03c184d..5f5a788877 100644 --- a/rust/bin/agent/src/main.rs +++ b/rust/bin/agent/src/main.rs @@ -14,12 +14,29 @@ // limitations under the License. // +use anyhow::Result; +use proto::payload::v1::search; + mod handler; +#[derive(Debug)] +struct MockService {} + +impl algorithm::ANN for MockService { + fn get_dimension_size(&self) -> usize { + 42 + } + + fn search(&self, vector: Vec, dim: usize, epsilon: f64, radius: f64) -> Result> { + Err(handler::search::IncompatibleDimensionSize::new(dim, 42)) + } +} + #[tokio::main] async fn main() -> Result<(), Box> { let addr = "[::1]:8081".parse()?; - let agent = handler::Agent::default(); + let service = MockService{}; + let agent = handler::Agent::new(service, "agent-ngt", "127.0.0.1", "vald/internal/core/algorithm", "vald-agent"); tonic::transport::Server::builder() .add_service(proto::core::v1::agent_server::AgentServer::new(agent)) diff --git a/rust/libs/algorithm/Cargo.toml b/rust/libs/algorithm/Cargo.toml index c4ca71aef8..3352760c29 100644 --- a/rust/libs/algorithm/Cargo.toml +++ b/rust/libs/algorithm/Cargo.toml @@ -19,5 +19,8 @@ version = "0.1.0" edition = "2021" [dependencies] +anyhow = "1.0.86" faiss = { version = "0.1.0", path = "../algorithms/faiss" } ngt = { version = "0.1.0", path = "../algorithms/ngt" } +proto = { version = "0.1.0", path = "../proto" } +tonic = "0.12.1" diff --git a/rust/libs/algorithm/src/lib.rs b/rust/libs/algorithm/src/lib.rs index cdca5d93de..bd2f604475 100644 --- a/rust/libs/algorithm/src/lib.rs +++ b/rust/libs/algorithm/src/lib.rs @@ -13,17 +13,10 @@ // See the License for the specific language governing permissions and // limitations under the License. // -pub fn add(left: u64, right: u64) -> u64 { - left + right -} - -#[cfg(test)] -mod tests { - use super::*; +use anyhow::Result; +use proto::payload::v1::search; - #[test] - fn it_works() { - let result = add(2, 2); - assert_eq!(result, 4); - } +pub trait ANN: Send + Sync { + fn get_dimension_size(&self) -> usize; + fn search(&self, vector: Vec, dim: usize, epsilon: f64, radius: f64) -> Result>; } From 5dc4cd5d40080ec65f5a3c45715bf8fdcc43a232 Mon Sep 17 00:00:00 2001 From: Kosuke Morimoto Date: Fri, 30 Aug 2024 23:49:08 +0900 Subject: [PATCH 02/14] fix Signed-off-by: Kosuke Morimoto --- buf.gen.yaml | 2 + rust/Cargo.lock | 78 ++-- rust/bin/agent/Cargo.toml | 4 +- rust/bin/agent/src/handler.rs | 9 +- rust/bin/agent/src/handler/search.rs | 116 ++--- rust/bin/agent/src/main.rs | 15 +- rust/libs/algorithm/Cargo.toml | 2 +- rust/libs/algorithm/src/lib.rs | 28 +- rust/libs/observability/Cargo.toml | 2 +- rust/libs/proto/Cargo.toml | 6 +- rust/libs/proto/src/core.v1.tonic.rs | 17 +- rust/libs/proto/src/discoverer.v1.tonic.rs | 17 +- rust/libs/proto/src/filter.egress.v1.tonic.rs | 17 +- .../libs/proto/src/filter.ingress.v1.tonic.rs | 17 +- rust/libs/proto/src/lib.rs | 1 + rust/libs/proto/src/mirror.v1.tonic.rs | 17 +- rust/libs/proto/src/payload.v1.rs | 427 +++++++++++++++--- rust/libs/proto/src/rpc.v1.rs | 97 +++- rust/libs/proto/src/sidecar.v1.tonic.rs | 17 +- rust/libs/proto/src/vald.v1.tonic.rs | 17 +- 20 files changed, 585 insertions(+), 321 deletions(-) diff --git a/buf.gen.yaml b/buf.gen.yaml index d02588fc78..04cc738bd4 100644 --- a/buf.gen.yaml +++ b/buf.gen.yaml @@ -44,6 +44,8 @@ plugins: - json_names_for_fields=true - plugin: buf.build/community/neoeinstein-prost out: rust/libs/proto/src + opt: + - enable_type_names - plugin: buf.build/community/neoeinstein-tonic out: rust/libs/proto/src opt: diff --git a/rust/Cargo.lock b/rust/Cargo.lock index fac73e89f1..56382d5f4e 100644 --- a/rust/Cargo.lock +++ b/rust/Cargo.lock @@ -35,7 +35,7 @@ dependencies = [ "proto", "tokio", "tokio-stream", - "tonic 0.12.1", + "tonic 0.12.2", "tonic-types", ] @@ -68,7 +68,7 @@ dependencies = [ "faiss", "ngt", "proto", - "tonic 0.12.1", + "tonic 0.12.2", ] [[package]] @@ -571,9 +571,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.1.13" +version = "1.1.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72db2f7947ecee9b03b510377e8bb9077afa27176fdbff55c51027e976fdcc48" +checksum = "57b6a275aa2903740dc87da01c62040406b8812552e97129a63ea8850a17c6e6" dependencies = [ "jobserver", "libc", @@ -1007,9 +1007,9 @@ checksum = "a2a2b11eda1d40935b26cf18f6833c526845ae8c41e58d09af6adeb6f0269183" [[package]] name = "fastrand" -version = "2.1.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" +checksum = "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6" [[package]] name = "ff" @@ -1029,9 +1029,9 @@ checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" [[package]] name = "filetime" -version = "0.2.24" +version = "0.2.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf401df4a4e3872c4fe8151134cf483738e74b67fc934d6532c882b3d24a4550" +checksum = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586" dependencies = [ "cfg-if", "libc", @@ -1041,9 +1041,9 @@ dependencies = [ [[package]] name = "flate2" -version = "1.0.32" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c0596c1eac1f9e04ed902702e9878208b336edc9d6fddc8a48387349bab3666" +checksum = "324a1be68054ef05ad64b861cc9eaf1d623d2d8cb25b4bf2cb9cdd902b4bf253" dependencies = [ "crc32fast", "libz-sys", @@ -2378,9 +2378,9 @@ checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" [[package]] name = "jiff" -version = "0.1.8" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db2b7379a75544c94b3da32821b0bf41f9062e9970e23b78cc577d0d89676d16" +checksum = "362be9c702bada57298130d0565e9c389e6d4024a541692f01819e21abc3e26a" dependencies = [ "jiff-tzdb-platform", "windows-sys 0.59.0", @@ -2528,9 +2528,9 @@ dependencies = [ [[package]] name = "libz-sys" -version = "1.1.19" +version = "1.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdc53a7799a7496ebc9fd29f31f7df80e83c9bda5299768af5f9e59eeea74647" +checksum = "d2d16453e800a8cf6dd2fc3eb4bc99b786a9b90c663b8559a5b1a041bf89e472" dependencies = [ "cc", "libc", @@ -2610,6 +2610,15 @@ dependencies = [ "libc", ] +[[package]] +name = "meta" +version = "0.1.0" +dependencies = [ + "proto", + "tokio", + "tonic 0.12.2", +] + [[package]] name = "miette" version = "7.2.0" @@ -3190,15 +3199,16 @@ version = "0.1.0" dependencies = [ "futures-core", "prost 0.13.1", - "tonic 0.12.1", + "prost-types", + "tonic 0.12.2", "tonic-types", ] [[package]] name = "quote" -version = "1.0.36" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ "proc-macro2", ] @@ -3375,9 +3385,9 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.34" +version = "0.38.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" +checksum = "a85d50532239da68e9addb745ba38ff4612a242c1c7ceea689c4bc7c2f43c36f" dependencies = [ "bitflags 2.6.0", "errno", @@ -3476,9 +3486,9 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.208" +version = "1.0.209" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cff085d2cb684faa248efb494c39b68e522822ac0de72ccf08109abde717cfb2" +checksum = "99fce0ffe7310761ca6bf9faf5115afbc19688edd00171d81b1bb1b116c63e09" dependencies = [ "serde_derive", ] @@ -3506,9 +3516,9 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.208" +version = "1.0.209" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24008e81ff7613ed8e5ba0cfaf24e2c2f1e5b8a0495711e44fcd4882fca62bcf" +checksum = "a5831b979fd7b5439637af1752d535ff49f4860c0f341d1baeb6faf0f4242170" dependencies = [ "proc-macro2", "quote", @@ -3526,9 +3536,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.125" +version = "1.0.127" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83c8e735a073ccf5be70aa8066aa984eaf2fa000db6c8d0100ae605b366d31ed" +checksum = "8043c06d9f82bd7271361ed64f415fe5e12a77fdb52e573e7f06a516dea329ad" dependencies = [ "itoa", "memchr", @@ -3723,9 +3733,9 @@ checksum = "b7401a30af6cb5818bb64852270bb722533397edcfc7344954a38f420819ece2" [[package]] name = "syn" -version = "2.0.75" +version = "2.0.76" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6af063034fc1935ede7be0122941bafa9bacb949334d090b77ca98b5817c7d9" +checksum = "578e081a14e0cefc3279b0472138c513f37b41a08d5a3cca9b6e4e8ceb6cd525" dependencies = [ "proc-macro2", "quote", @@ -3898,9 +3908,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.39.3" +version = "1.40.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9babc99b9923bfa4804bd74722ff02c0381021eafa4db9949217e3be8e84fff5" +checksum = "e2b070231665d27ad9ec9b8df639893f46727666c6767db40317fbe920a5d998" dependencies = [ "backtrace", "bytes", @@ -4023,9 +4033,9 @@ dependencies = [ [[package]] name = "tonic" -version = "0.12.1" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38659f4a91aba8598d27821589f5db7dddd94601e7a01b1e485a50e5484c7401" +checksum = "c6f6ba989e4b2c58ae83d862d3a3e27690b6e3ae630d0deb59f3697f32aa88ad" dependencies = [ "async-stream", "async-trait", @@ -4053,13 +4063,13 @@ dependencies = [ [[package]] name = "tonic-types" -version = "0.12.1" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5563899ec5aa5f0ec48e37457461ffbbc184c9a0f413f715dacd154f46408a10" +checksum = "9d967793411bc1a5392accf4731114295f0fd122865d22cde46a8584b03402b2" dependencies = [ "prost 0.13.1", "prost-types", - "tonic 0.12.1", + "tonic 0.12.2", ] [[package]] diff --git a/rust/bin/agent/Cargo.toml b/rust/bin/agent/Cargo.toml index 9a428bda11..f20fdef23d 100644 --- a/rust/bin/agent/Cargo.toml +++ b/rust/bin/agent/Cargo.toml @@ -29,5 +29,5 @@ prost-types = "0.13.1" proto = { version = "0.1.0", path = "../../libs/proto" } tokio = { version = "1.39.3", features = ["full"] } tokio-stream = { version = "0.1.15", features = ["full"] } -tonic = "0.12.1" -tonic-types = "0.12.1" +tonic = "0.12.2" +tonic-types = "0.12.2" diff --git a/rust/bin/agent/src/handler.rs b/rust/bin/agent/src/handler.rs index d57a0e4908..74d15d9af1 100644 --- a/rust/bin/agent/src/handler.rs +++ b/rust/bin/agent/src/handler.rs @@ -21,9 +21,8 @@ pub mod search; pub mod update; pub mod upsert; -#[derive(Debug)] pub struct Agent { - s: &dyn algorithm::ANN, + s: Box, name: String, ip: String, resource_type: String, @@ -31,9 +30,9 @@ pub struct Agent { } impl Agent { - pub fn new(s: impl algorithm::ANN, name: &str, ip: &str, resource_type: &str, api_name: &str) -> Agent { - Agent { - s: s, + pub fn new(s: impl algorithm::ANN + 'static, name: &str, ip: &str, resource_type: &str, api_name: &str) -> Self { + Self { + s: Box::new(s), name: name.to_string(), ip: ip.to_string(), resource_type: resource_type.to_string(), diff --git a/rust/bin/agent/src/handler/search.rs b/rust/bin/agent/src/handler/search.rs index 3970913f7d..8824a00ac6 100644 --- a/rust/bin/agent/src/handler/search.rs +++ b/rust/bin/agent/src/handler/search.rs @@ -13,134 +13,70 @@ // See the License for the specific language governing permissions and // limitations under the License. // -use anyhow::Result; -use std::{collections::HashMap, error, fmt}; +use std::{collections::HashMap, string::String}; +use algorithm::Error; +use anyhow::Result; use proto::{payload::v1::search, vald::v1::search_server}; +use prost::Message; use tonic::{Code, Status}; use tonic_types::{ErrorDetails, FieldViolation, StatusExt}; -#[derive(Debug, Clone)] -pub struct CreateIndexingIsInProgress {} -#[derive(Debug, Clone)] -pub struct FlushingIsInProgress {} -#[derive(Debug, Clone)] -pub struct EmptySearchResult {} -#[derive(Debug, Clone)] -pub struct IncompatibleDimensionSize { - got: usize, - want: usize, -} - -impl fmt::Display for CreateIndexingIsInProgress { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - write!(f, "create indexing is in progress") - } -} - -impl error::Error for CreateIndexingIsInProgress { - fn source(&self) -> Option<&(dyn error::Error + 'static)> { - None - } -} - -impl fmt::Display for FlushingIsInProgress { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - write!(f, "flush is in progress") - } -} - -impl error::Error for FlushingIsInProgress { - fn source(&self) -> Option<&(dyn error::Error + 'static)> { - None - } -} - -impl fmt::Display for EmptySearchResult { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - write!(f, "search result is empty") - } -} - -impl error::Error for EmptySearchResult { - fn source(&self) -> Option<&(dyn error::Error + 'static)> { - None - } -} -impl IncompatibleDimensionSize { - pub fn new(got: usize, want: usize) -> IncompatibleDimensionSize { - IncompatibleDimensionSize { - got: got, - want: want, - } - } -} - -impl fmt::Display for IncompatibleDimensionSize { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - write!(f, "incompatible dimension size detected\trequested: {},\tconfigured: {}", self.got, self.want) - } -} - -impl error::Error for IncompatibleDimensionSize { - fn source(&self) -> Option<&(dyn error::Error + 'static)> { - None - } -} - #[tonic::async_trait] impl search_server::Search for super::Agent { async fn search( &self, request: tonic::Request, ) -> Result, Status> { + println!("Recieved a request from {:?}", request.remote_addr()); let req = request.get_ref(); - let config = req.config.unwrap(); - let domain = cargo::util::hostname().unwrap_or("".into()).to_str().unwrap_or(""); + let config = req.config.clone().unwrap(); + let hostname = cargo::util::hostname()?; + let domain = hostname.to_str().unwrap(); if req.vector.len() != self.s.get_dimension_size() { - let err = IncompatibleDimensionSize::new(req.vector.len(), self.s.get_dimension_size()); - let msg = err.to_string(); + let err = Error::IncompatibleDimensionSize{ got: req.vector.len(), want: self.s.get_dimension_size()}; let mut err_details = ErrorDetails::new(); - err_details.set_error_info(msg, domain, HashMap::new()); - err_details.set_request_info(config.request_id, req.into()); - err_details.set_bad_request(vec![FieldViolation::new("vector dimension size", msg)]); - err_details.set_resource_info(self.resource_type + "/ngt.Search", "", "", ""); + err_details.set_error_info(err.to_string(), domain, HashMap::new()); + err_details.set_request_info(config.request_id, String::from_utf8(req.encode_to_vec()).unwrap()); + err_details.set_bad_request(vec![FieldViolation::new("vector dimension size", err.to_string())]); + err_details.set_resource_info(self.resource_type.clone() + "/ngt.Search", "", "", ""); let status = Status::with_error_details(Code::InvalidArgument, "Search API Incombatible Dimension Size detedted", err_details); return Err(status); } - let result = self.s.search(req.vector, config.num, config.epsilon, config.radius); + let result = self.s.search(req.vector.clone(), config.num, config.epsilon, config.radius); match result { Err(err) => { let metadata = HashMap::new(); - let resource_type = self.resource_type + "/ngt.Search"; + let resource_type = self.resource_type.clone() + "/ngt.Search"; let resource_name = format!("{}: {}({})", self.api_name, self.name, self.ip); let status = match err { - CreateIndexingIsInProgress => { + Error::CreateIndexingIsInProgress{} => { let mut err_details = ErrorDetails::new(); err_details.set_error_info(err.to_string(), domain, metadata); - err_details.set_request_info(config.request_id, req.into()); + err_details.set_request_info(config.request_id, String::from_utf8(req.encode_to_vec()).unwrap()); err_details.set_resource_info(resource_type, resource_name, "", ""); Status::with_error_details(Code::Aborted, "Search API aborted to process search request due to creating indices is in progress", err_details) } - FlushingIsInProgress => { + Error::FlushingIsInProgress{} => { let mut err_details = ErrorDetails::new(); err_details.set_error_info(err.to_string(), domain, metadata); - err_details.set_request_info(config.request_id, req.into()); + err_details.set_request_info(config.request_id, String::from_utf8(req.encode_to_vec()).unwrap()); err_details.set_resource_info(resource_type, resource_name, "", ""); Status::with_error_details(Code::Aborted, "Search API aborted to process search request due to flushing indices is in progress", err_details) } - EmptySearchResult => { + Error::EmptySearchResult{} => { + let request_id = config.request_id; let mut err_details = ErrorDetails::new(); err_details.set_error_info(err.to_string(), domain, metadata); - err_details.set_request_info(config.request_id, req.into()); + err_details.set_request_info(&request_id, String::from_utf8(req.encode_to_vec()).unwrap()); err_details.set_resource_info(resource_type, resource_name, "", ""); - Status::with_error_details(Code::NotFound, format!("Search API requestID {}'s search result not found", config.request_id), err_details) + Status::with_error_details(Code::NotFound, format!("Search API requestID {}'s search result not found", &request_id), err_details) } - IncompatibleDimensionSize => { + Error::IncompatibleDimensionSize{ got: _, want: _ } => { let mut err_details = ErrorDetails::new(); err_details.set_error_info(err.to_string(), domain, metadata); - err_details.set_request_info(config.request_id, req.into()); + err_details.set_request_info(config.request_id, String::from_utf8(req.encode_to_vec()).unwrap()); err_details.set_resource_info(resource_type, resource_name, "", ""); err_details.set_bad_request(vec![FieldViolation::new("vector dimension size", err.to_string())]); Status::with_error_details(Code::InvalidArgument, "Search API Incompatible Dimension Size detected", err_details) @@ -148,7 +84,7 @@ impl search_server::Search for super::Agent { _ => { let mut err_details = ErrorDetails::new(); err_details.set_error_info(err.to_string(), domain, metadata); - err_details.set_request_info(config.request_id, req.into()); + err_details.set_request_info(config.request_id, String::from_utf8(req.encode_to_vec()).unwrap()); err_details.set_resource_info(resource_type, resource_name, "", ""); Status::with_error_details(Code::Internal, "Search API failed to process search request", err_details) } diff --git a/rust/bin/agent/src/main.rs b/rust/bin/agent/src/main.rs index 5f5a788877..d8755fc343 100644 --- a/rust/bin/agent/src/main.rs +++ b/rust/bin/agent/src/main.rs @@ -14,28 +14,31 @@ // limitations under the License. // +use algorithm::Error; use anyhow::Result; use proto::payload::v1::search; mod handler; #[derive(Debug)] -struct MockService {} +struct MockService { + dim: usize +} impl algorithm::ANN for MockService { fn get_dimension_size(&self) -> usize { - 42 + self.dim } - fn search(&self, vector: Vec, dim: usize, epsilon: f64, radius: f64) -> Result> { - Err(handler::search::IncompatibleDimensionSize::new(dim, 42)) + fn search(&self, _vector: Vec, dim: u32, _epsilon: f32, _radius: f32) -> Result, Error> { + Err(Error::IncompatibleDimensionSize{got: dim as usize, want: self.dim}.into()) } } #[tokio::main] async fn main() -> Result<(), Box> { - let addr = "[::1]:8081".parse()?; - let service = MockService{}; + let addr = "0.0.0.0:8081".parse()?; + let service = MockService{ dim: 42 }; let agent = handler::Agent::new(service, "agent-ngt", "127.0.0.1", "vald/internal/core/algorithm", "vald-agent"); tonic::transport::Server::builder() diff --git a/rust/libs/algorithm/Cargo.toml b/rust/libs/algorithm/Cargo.toml index 3352760c29..d3d6481518 100644 --- a/rust/libs/algorithm/Cargo.toml +++ b/rust/libs/algorithm/Cargo.toml @@ -23,4 +23,4 @@ anyhow = "1.0.86" faiss = { version = "0.1.0", path = "../algorithms/faiss" } ngt = { version = "0.1.0", path = "../algorithms/ngt" } proto = { version = "0.1.0", path = "../proto" } -tonic = "0.12.1" +tonic = "0.12.2" diff --git a/rust/libs/algorithm/src/lib.rs b/rust/libs/algorithm/src/lib.rs index bd2f604475..d83e45e5bd 100644 --- a/rust/libs/algorithm/src/lib.rs +++ b/rust/libs/algorithm/src/lib.rs @@ -13,10 +13,36 @@ // See the License for the specific language governing permissions and // limitations under the License. // +use std::{error, fmt}; + use anyhow::Result; use proto::payload::v1::search; +#[derive(Debug)] +pub enum Error { + CreateIndexingIsInProgress{}, + FlushingIsInProgress{}, + EmptySearchResult{}, + IncompatibleDimensionSize{got: usize, want: usize}, + + Unknown{}, +} + +impl error::Error for Error {} + +impl fmt::Display for Error { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + match self { + Error::CreateIndexingIsInProgress{} => write!(f, "create indexing is in progress"), + Error::FlushingIsInProgress{} => write!(f, "flush is in progress"), + Error::EmptySearchResult{} => write!(f, "search result is empty"), + Error::IncompatibleDimensionSize { got, want } => write!(f, "incompatible dimension size detected\trequested: {},\tconfigured: {}", got, want), + Error::Unknown { } => write!(f, "unknown error") + } + } +} + pub trait ANN: Send + Sync { fn get_dimension_size(&self) -> usize; - fn search(&self, vector: Vec, dim: usize, epsilon: f64, radius: f64) -> Result>; + fn search(&self, vector: Vec, dim: u32, epsilon: f32, radius: f32) -> Result, Error>; } diff --git a/rust/libs/observability/Cargo.toml b/rust/libs/observability/Cargo.toml index 1ef800cefb..d6d947b92b 100644 --- a/rust/libs/observability/Cargo.toml +++ b/rust/libs/observability/Cargo.toml @@ -25,7 +25,7 @@ opentelemetry = { version = "0.23" } opentelemetry_sdk = { version = "0.23", features = ["rt-tokio"] } opentelemetry-otlp = { version = "0.16.0", features = ["http-proto", "reqwest-client", "logs"] } tokio = { version = "1.39.3", features = ["full"] } -serde_json = { version="1.0.125" } +serde_json = { version="1.0.127" } opentelemetry-semantic-conventions = { version = "0.16.0"} scopeguard = { version = "1.2.0"} paste = {version = "1.0.15"} diff --git a/rust/libs/proto/Cargo.toml b/rust/libs/proto/Cargo.toml index 56505cf1bd..3fb9fcc5ef 100644 --- a/rust/libs/proto/Cargo.toml +++ b/rust/libs/proto/Cargo.toml @@ -23,6 +23,6 @@ edition = "2021" [dependencies] futures-core = "0.3.30" prost = "0.13.1" -prost-types = "0.13.2" -tonic = "0.12.1" -tonic-types = "0.12.1" +prost-types = "0.13.1" +tonic = "0.12.2" +tonic-types = "0.12.2" diff --git a/rust/libs/proto/src/core.v1.tonic.rs b/rust/libs/proto/src/core.v1.tonic.rs index f19cd43034..7a6ad21416 100644 --- a/rust/libs/proto/src/core.v1.tonic.rs +++ b/rust/libs/proto/src/core.v1.tonic.rs @@ -1,18 +1,5 @@ -// -// Copyright (C) 2019-2024 vdaas.org vald team -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// You may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// +// @generated +/// Generated client implementations. pub mod agent_client { #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] use tonic::codegen::*; diff --git a/rust/libs/proto/src/discoverer.v1.tonic.rs b/rust/libs/proto/src/discoverer.v1.tonic.rs index e1ca78c88a..b1f9c26343 100644 --- a/rust/libs/proto/src/discoverer.v1.tonic.rs +++ b/rust/libs/proto/src/discoverer.v1.tonic.rs @@ -1,18 +1,5 @@ -// -// Copyright (C) 2019-2024 vdaas.org vald team -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// You may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// +// @generated +/// Generated client implementations. pub mod discoverer_client { #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] use tonic::codegen::*; diff --git a/rust/libs/proto/src/filter.egress.v1.tonic.rs b/rust/libs/proto/src/filter.egress.v1.tonic.rs index 74102173ce..49398de256 100644 --- a/rust/libs/proto/src/filter.egress.v1.tonic.rs +++ b/rust/libs/proto/src/filter.egress.v1.tonic.rs @@ -1,18 +1,5 @@ -// -// Copyright (C) 2019-2024 vdaas.org vald team -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// You may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// +// @generated +/// Generated client implementations. pub mod filter_client { #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] use tonic::codegen::*; diff --git a/rust/libs/proto/src/filter.ingress.v1.tonic.rs b/rust/libs/proto/src/filter.ingress.v1.tonic.rs index d8b462caa1..6bd4325471 100644 --- a/rust/libs/proto/src/filter.ingress.v1.tonic.rs +++ b/rust/libs/proto/src/filter.ingress.v1.tonic.rs @@ -1,18 +1,5 @@ -// -// Copyright (C) 2019-2024 vdaas.org vald team -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// You may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// +// @generated +/// Generated client implementations. pub mod filter_client { #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] use tonic::codegen::*; diff --git a/rust/libs/proto/src/lib.rs b/rust/libs/proto/src/lib.rs index 7155b32bc7..b4685950c9 100644 --- a/rust/libs/proto/src/lib.rs +++ b/rust/libs/proto/src/lib.rs @@ -16,6 +16,7 @@ pub mod google { pub mod rpc { pub type Status = tonic_types::Status; +// include!("rpc.v1.rs"); } } diff --git a/rust/libs/proto/src/mirror.v1.tonic.rs b/rust/libs/proto/src/mirror.v1.tonic.rs index fb55727a62..07596240d8 100644 --- a/rust/libs/proto/src/mirror.v1.tonic.rs +++ b/rust/libs/proto/src/mirror.v1.tonic.rs @@ -1,18 +1,5 @@ -// -// Copyright (C) 2019-2024 vdaas.org vald team -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// You may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// +// @generated +/// Generated client implementations. pub mod mirror_client { #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] use tonic::codegen::*; diff --git a/rust/libs/proto/src/payload.v1.rs b/rust/libs/proto/src/payload.v1.rs index fbb3594f35..344b8a1a01 100644 --- a/rust/libs/proto/src/payload.v1.rs +++ b/rust/libs/proto/src/payload.v1.rs @@ -1,18 +1,6 @@ -// -// Copyright (C) 2019-2024 vdaas.org vald team -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// You may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// +// @generated +// This file is @generated by prost-build. +/// Search related messages. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, Copy, PartialEq, ::prost::Message)] pub struct Search { @@ -30,6 +18,10 @@ pub mod search { #[prost(message, optional, tag="2")] pub config: ::core::option::Option, } +impl ::prost::Name for Request { +const NAME: &'static str = "Request"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Search.Request".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Search.Request".into() }} /// Represent the multiple search request. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -38,6 +30,10 @@ pub mod search { #[prost(message, repeated, tag="1")] pub requests: ::prost::alloc::vec::Vec, } +impl ::prost::Name for MultiRequest { +const NAME: &'static str = "MultiRequest"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Search.MultiRequest".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Search.MultiRequest".into() }} /// Represent a search by ID request. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -49,6 +45,10 @@ pub mod search { #[prost(message, optional, tag="2")] pub config: ::core::option::Option, } +impl ::prost::Name for IdRequest { +const NAME: &'static str = "IDRequest"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Search.IDRequest".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Search.IDRequest".into() }} /// Represent the multiple search by ID request. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -57,6 +57,10 @@ pub mod search { #[prost(message, repeated, tag="1")] pub requests: ::prost::alloc::vec::Vec, } +impl ::prost::Name for MultiIdRequest { +const NAME: &'static str = "MultiIDRequest"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Search.MultiIDRequest".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Search.MultiIDRequest".into() }} /// Represent a search by binary object request. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -71,6 +75,10 @@ pub mod search { #[prost(message, optional, tag="3")] pub vectorizer: ::core::option::Option, } +impl ::prost::Name for ObjectRequest { +const NAME: &'static str = "ObjectRequest"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Search.ObjectRequest".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Search.ObjectRequest".into() }} /// Represent the multiple search by binary object request. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -79,6 +87,10 @@ pub mod search { #[prost(message, repeated, tag="1")] pub requests: ::prost::alloc::vec::Vec, } +impl ::prost::Name for MultiObjectRequest { +const NAME: &'static str = "MultiObjectRequest"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Search.MultiObjectRequest".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Search.MultiObjectRequest".into() }} /// Represent search configuration. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -117,6 +129,10 @@ pub mod search { #[prost(uint32, tag="11")] pub nprobe: u32, } +impl ::prost::Name for Config { +const NAME: &'static str = "Config"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Search.Config".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Search.Config".into() }} /// Represent a search response. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -128,6 +144,10 @@ pub mod search { #[prost(message, repeated, tag="2")] pub results: ::prost::alloc::vec::Vec, } +impl ::prost::Name for Response { +const NAME: &'static str = "Response"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Search.Response".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Search.Response".into() }} /// Represent multiple search responses. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -136,6 +156,10 @@ pub mod search { #[prost(message, repeated, tag="1")] pub responses: ::prost::alloc::vec::Vec, } +impl ::prost::Name for Responses { +const NAME: &'static str = "Responses"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Search.Responses".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Search.Responses".into() }} /// Represent stream search response. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -156,6 +180,10 @@ pub mod search { Status(super::super::super::super::google::rpc::Status), } } +impl ::prost::Name for StreamResponse { +const NAME: &'static str = "StreamResponse"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Search.StreamResponse".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Search.StreamResponse".into() }} /// AggregationAlgorithm is enum of each aggregation algorithms #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] #[repr(i32)] @@ -193,6 +221,10 @@ pub mod search { } } } +impl ::prost::Name for Search { +const NAME: &'static str = "Search"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Search".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Search".into() }} /// Filter related messages. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, Copy, PartialEq, ::prost::Message)] @@ -211,6 +243,10 @@ pub mod filter { #[prost(uint32, tag="2")] pub port: u32, } +impl ::prost::Name for Target { +const NAME: &'static str = "Target"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Filter.Target".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Filter.Target".into() }} /// Represent filter configuration. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -219,7 +255,15 @@ pub mod filter { #[prost(message, repeated, tag="1")] pub targets: ::prost::alloc::vec::Vec, } +impl ::prost::Name for Config { +const NAME: &'static str = "Config"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Filter.Config".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Filter.Config".into() }} } +impl ::prost::Name for Filter { +const NAME: &'static str = "Filter"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Filter".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Filter".into() }} /// Insert related messages. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, Copy, PartialEq, ::prost::Message)] @@ -238,6 +282,10 @@ pub mod insert { #[prost(message, optional, tag="2")] pub config: ::core::option::Option, } +impl ::prost::Name for Request { +const NAME: &'static str = "Request"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Insert.Request".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Insert.Request".into() }} /// Represent the multiple insert request. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -246,6 +294,10 @@ pub mod insert { #[prost(message, repeated, tag="1")] pub requests: ::prost::alloc::vec::Vec, } +impl ::prost::Name for MultiRequest { +const NAME: &'static str = "MultiRequest"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Insert.MultiRequest".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Insert.MultiRequest".into() }} /// Represent the insert by binary object request. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -260,6 +312,10 @@ pub mod insert { #[prost(message, optional, tag="3")] pub vectorizer: ::core::option::Option, } +impl ::prost::Name for ObjectRequest { +const NAME: &'static str = "ObjectRequest"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Insert.ObjectRequest".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Insert.ObjectRequest".into() }} /// Represent the multiple insert by binary object request. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -268,6 +324,10 @@ pub mod insert { #[prost(message, repeated, tag="1")] pub requests: ::prost::alloc::vec::Vec, } +impl ::prost::Name for MultiObjectRequest { +const NAME: &'static str = "MultiObjectRequest"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Insert.MultiObjectRequest".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Insert.MultiObjectRequest".into() }} /// Represent insert configurations. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -282,7 +342,15 @@ pub mod insert { #[prost(int64, tag="3")] pub timestamp: i64, } +impl ::prost::Name for Config { +const NAME: &'static str = "Config"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Insert.Config".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Insert.Config".into() }} } +impl ::prost::Name for Insert { +const NAME: &'static str = "Insert"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Insert".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Insert".into() }} /// Update related messages #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, Copy, PartialEq, ::prost::Message)] @@ -301,6 +369,10 @@ pub mod update { #[prost(message, optional, tag="2")] pub config: ::core::option::Option, } +impl ::prost::Name for Request { +const NAME: &'static str = "Request"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Update.Request".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Update.Request".into() }} /// Represent the multiple update request. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -309,6 +381,10 @@ pub mod update { #[prost(message, repeated, tag="1")] pub requests: ::prost::alloc::vec::Vec, } +impl ::prost::Name for MultiRequest { +const NAME: &'static str = "MultiRequest"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Update.MultiRequest".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Update.MultiRequest".into() }} /// Represent the update binary object request. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -323,6 +399,10 @@ pub mod update { #[prost(message, optional, tag="3")] pub vectorizer: ::core::option::Option, } +impl ::prost::Name for ObjectRequest { +const NAME: &'static str = "ObjectRequest"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Update.ObjectRequest".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Update.ObjectRequest".into() }} /// Represent the multiple update binary object request. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -331,20 +411,10 @@ pub mod update { #[prost(message, repeated, tag="1")] pub requests: ::prost::alloc::vec::Vec, } - /// Represent a vector meta data. - #[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] - pub struct TimestampRequest { - /// The vector ID. - #[prost(string, tag="1")] - pub id: ::prost::alloc::string::String, - /// timestamp represents when this vector inserted. - #[prost(int64, tag="2")] - pub timestamp: i64, - /// force represents forcefully update the timestamp. - #[prost(bool, tag="3")] - pub force: bool, - } +impl ::prost::Name for MultiObjectRequest { +const NAME: &'static str = "MultiObjectRequest"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Update.MultiObjectRequest".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Update.MultiObjectRequest".into() }} /// Represent the update configuration. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -363,7 +433,15 @@ pub mod update { #[prost(bool, tag="4")] pub disable_balanced_update: bool, } +impl ::prost::Name for Config { +const NAME: &'static str = "Config"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Update.Config".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Update.Config".into() }} } +impl ::prost::Name for Update { +const NAME: &'static str = "Update"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Update".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Update".into() }} /// Upsert related messages. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, Copy, PartialEq, ::prost::Message)] @@ -382,6 +460,10 @@ pub mod upsert { #[prost(message, optional, tag="2")] pub config: ::core::option::Option, } +impl ::prost::Name for Request { +const NAME: &'static str = "Request"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Upsert.Request".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Upsert.Request".into() }} /// Represent mthe ultiple upsert request. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -390,6 +472,10 @@ pub mod upsert { #[prost(message, repeated, tag="1")] pub requests: ::prost::alloc::vec::Vec, } +impl ::prost::Name for MultiRequest { +const NAME: &'static str = "MultiRequest"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Upsert.MultiRequest".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Upsert.MultiRequest".into() }} /// Represent the upsert binary object request. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -404,6 +490,10 @@ pub mod upsert { #[prost(message, optional, tag="3")] pub vectorizer: ::core::option::Option, } +impl ::prost::Name for ObjectRequest { +const NAME: &'static str = "ObjectRequest"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Upsert.ObjectRequest".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Upsert.ObjectRequest".into() }} /// Represent the multiple upsert binary object request. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -412,6 +502,10 @@ pub mod upsert { #[prost(message, repeated, tag="1")] pub requests: ::prost::alloc::vec::Vec, } +impl ::prost::Name for MultiObjectRequest { +const NAME: &'static str = "MultiObjectRequest"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Upsert.MultiObjectRequest".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Upsert.MultiObjectRequest".into() }} /// Represent the upsert configuration. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -430,7 +524,15 @@ pub mod upsert { #[prost(bool, tag="4")] pub disable_balanced_update: bool, } +impl ::prost::Name for Config { +const NAME: &'static str = "Config"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Upsert.Config".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Upsert.Config".into() }} } +impl ::prost::Name for Upsert { +const NAME: &'static str = "Upsert"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Upsert".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Upsert".into() }} /// Remove related messages. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, Copy, PartialEq, ::prost::Message)] @@ -449,6 +551,10 @@ pub mod remove { #[prost(message, optional, tag="2")] pub config: ::core::option::Option, } +impl ::prost::Name for Request { +const NAME: &'static str = "Request"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Remove.Request".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Remove.Request".into() }} /// Represent the multiple remove request. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -457,6 +563,10 @@ pub mod remove { #[prost(message, repeated, tag="1")] pub requests: ::prost::alloc::vec::Vec, } +impl ::prost::Name for MultiRequest { +const NAME: &'static str = "MultiRequest"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Remove.MultiRequest".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Remove.MultiRequest".into() }} /// Represent the remove request based on timestamp. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -466,6 +576,10 @@ pub mod remove { #[prost(message, repeated, tag="1")] pub timestamps: ::prost::alloc::vec::Vec, } +impl ::prost::Name for TimestampRequest { +const NAME: &'static str = "TimestampRequest"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Remove.TimestampRequest".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Remove.TimestampRequest".into() }} /// Represent the timestamp comparison. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, Copy, PartialEq, ::prost::Message)] @@ -527,6 +641,10 @@ pub mod remove { } } } +impl ::prost::Name for Timestamp { +const NAME: &'static str = "Timestamp"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Remove.Timestamp".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Remove.Timestamp".into() }} /// Represent the remove configuration. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, Copy, PartialEq, ::prost::Message)] @@ -538,7 +656,15 @@ pub mod remove { #[prost(int64, tag="3")] pub timestamp: i64, } +impl ::prost::Name for Config { +const NAME: &'static str = "Config"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Remove.Config".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Remove.Config".into() }} } +impl ::prost::Name for Remove { +const NAME: &'static str = "Remove"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Remove".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Remove".into() }} /// Flush related messages. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, Copy, PartialEq, ::prost::Message)] @@ -550,7 +676,15 @@ pub mod flush { #[derive(Clone, Copy, PartialEq, ::prost::Message)] pub struct Request { } +impl ::prost::Name for Request { +const NAME: &'static str = "Request"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Flush.Request".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Flush.Request".into() }} } +impl ::prost::Name for Flush { +const NAME: &'static str = "Flush"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Flush".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Flush".into() }} /// Common messages. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, Copy, PartialEq, ::prost::Message)] @@ -569,6 +703,10 @@ pub mod object { #[prost(message, optional, tag="2")] pub filters: ::core::option::Option, } +impl ::prost::Name for VectorRequest { +const NAME: &'static str = "VectorRequest"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.VectorRequest".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object.VectorRequest".into() }} /// Represent the ID and distance pair. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -580,6 +718,10 @@ pub mod object { #[prost(float, tag="2")] pub distance: f32, } +impl ::prost::Name for Distance { +const NAME: &'static str = "Distance"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.Distance".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object.Distance".into() }} /// Represent stream response of distances. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -600,6 +742,10 @@ pub mod object { Status(super::super::super::super::google::rpc::Status), } } +impl ::prost::Name for StreamDistance { +const NAME: &'static str = "StreamDistance"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.StreamDistance".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object.StreamDistance".into() }} /// Represent the vector ID. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -607,6 +753,10 @@ pub mod object { #[prost(string, tag="1")] pub id: ::prost::alloc::string::String, } +impl ::prost::Name for Id { +const NAME: &'static str = "ID"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.ID".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object.ID".into() }} /// Represent multiple vector IDs. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -614,6 +764,10 @@ pub mod object { #[prost(string, repeated, tag="1")] pub ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } +impl ::prost::Name for IDs { +const NAME: &'static str = "IDs"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.IDs".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object.IDs".into() }} /// Represent a vector. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -628,6 +782,10 @@ pub mod object { #[prost(int64, tag="3")] pub timestamp: i64, } +impl ::prost::Name for Vector { +const NAME: &'static str = "Vector"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.Vector".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object.Vector".into() }} /// Represent a request to fetch vector meta data. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -636,6 +794,10 @@ pub mod object { #[prost(message, optional, tag="1")] pub id: ::core::option::Option, } +impl ::prost::Name for TimestampRequest { +const NAME: &'static str = "TimestampRequest"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.TimestampRequest".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object.TimestampRequest".into() }} /// Represent a vector meta data. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -647,6 +809,10 @@ pub mod object { #[prost(int64, tag="2")] pub timestamp: i64, } +impl ::prost::Name for Timestamp { +const NAME: &'static str = "Timestamp"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.Timestamp".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object.Timestamp".into() }} /// Represent multiple vectors. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -654,6 +820,10 @@ pub mod object { #[prost(message, repeated, tag="1")] pub vectors: ::prost::alloc::vec::Vec, } +impl ::prost::Name for Vectors { +const NAME: &'static str = "Vectors"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.Vectors".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object.Vectors".into() }} /// Represent stream response of the vector. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -674,6 +844,10 @@ pub mod object { Status(super::super::super::super::google::rpc::Status), } } +impl ::prost::Name for StreamVector { +const NAME: &'static str = "StreamVector"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.StreamVector".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object.StreamVector".into() }} /// Represent reshape vector. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -685,6 +859,10 @@ pub mod object { #[prost(int32, repeated, tag="2")] pub shape: ::prost::alloc::vec::Vec, } +impl ::prost::Name for ReshapeVector { +const NAME: &'static str = "ReshapeVector"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.ReshapeVector".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object.ReshapeVector".into() }} /// Represent the binary object. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -696,6 +874,10 @@ pub mod object { #[prost(bytes="vec", tag="2")] pub object: ::prost::alloc::vec::Vec, } +impl ::prost::Name for Blob { +const NAME: &'static str = "Blob"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.Blob".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object.Blob".into() }} /// Represent stream response of binary objects. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -716,6 +898,10 @@ pub mod object { Status(super::super::super::super::google::rpc::Status), } } +impl ::prost::Name for StreamBlob { +const NAME: &'static str = "StreamBlob"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.StreamBlob".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object.StreamBlob".into() }} /// Represent the vector location. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -730,6 +916,10 @@ pub mod object { #[prost(string, repeated, tag="3")] pub ips: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } +impl ::prost::Name for Location { +const NAME: &'static str = "Location"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.Location".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object.Location".into() }} /// Represent the stream response of the vector location. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -750,6 +940,10 @@ pub mod object { Status(super::super::super::super::google::rpc::Status), } } +impl ::prost::Name for StreamLocation { +const NAME: &'static str = "StreamLocation"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.StreamLocation".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object.StreamLocation".into() }} /// Represent multiple vector locations. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -757,6 +951,10 @@ pub mod object { #[prost(message, repeated, tag="1")] pub locations: ::prost::alloc::vec::Vec, } +impl ::prost::Name for Locations { +const NAME: &'static str = "Locations"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.Locations".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object.Locations".into() }} /// Represent the list object vector stream request and response. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, Copy, PartialEq, ::prost::Message)] @@ -768,6 +966,10 @@ pub mod object { #[derive(Clone, Copy, PartialEq, ::prost::Message)] pub struct Request { } +impl ::prost::Name for Request { +const NAME: &'static str = "Request"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.List.Request".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object.List.Request".into() }} #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct Response { @@ -787,8 +989,20 @@ pub mod object { Status(super::super::super::super::super::google::rpc::Status), } } - } +impl ::prost::Name for Response { +const NAME: &'static str = "Response"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.List.Response".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object.List.Response".into() }} + } +impl ::prost::Name for List { +const NAME: &'static str = "List"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.List".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object.List".into() }} } +impl ::prost::Name for Object { +const NAME: &'static str = "Object"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object".into() }} /// Control related messages. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, Copy, PartialEq, ::prost::Message)] @@ -804,7 +1018,15 @@ pub mod control { #[prost(uint32, tag="1")] pub pool_size: u32, } +impl ::prost::Name for CreateIndexRequest { +const NAME: &'static str = "CreateIndexRequest"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Control.CreateIndexRequest".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Control.CreateIndexRequest".into() }} } +impl ::prost::Name for Control { +const NAME: &'static str = "Control"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Control".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Control".into() }} /// Discoverer related messages. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, Copy, PartialEq, ::prost::Message)] @@ -826,7 +1048,15 @@ pub mod discoverer { #[prost(string, tag="3")] pub node: ::prost::alloc::string::String, } +impl ::prost::Name for Request { +const NAME: &'static str = "Request"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Discoverer.Request".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Discoverer.Request".into() }} } +impl ::prost::Name for Discoverer { +const NAME: &'static str = "Discoverer"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Discoverer".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Discoverer".into() }} /// Info related messages. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, Copy, PartialEq, ::prost::Message)] @@ -858,6 +1088,10 @@ pub mod info { #[prost(bool, tag="4")] pub saving: bool, } +impl ::prost::Name for Count { +const NAME: &'static str = "Count"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Index.Count".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.Index.Count".into() }} /// Represent the index count for each Agents message. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -872,6 +1106,10 @@ pub mod info { #[prost(uint32, tag="3")] pub live_agents: u32, } +impl ::prost::Name for Detail { +const NAME: &'static str = "Detail"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Index.Detail".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.Index.Detail".into() }} /// Represent the UUID message. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, Copy, PartialEq, ::prost::Message)] @@ -886,6 +1124,10 @@ pub mod info { #[prost(string, tag="1")] pub uuid: ::prost::alloc::string::String, } +impl ::prost::Name for Committed { +const NAME: &'static str = "Committed"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Index.UUID.Committed".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.Index.UUID.Committed".into() }} /// The uncommitted UUID. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -893,7 +1135,15 @@ pub mod info { #[prost(string, tag="1")] pub uuid: ::prost::alloc::string::String, } +impl ::prost::Name for Uncommitted { +const NAME: &'static str = "Uncommitted"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Index.UUID.Uncommitted".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.Index.UUID.Uncommitted".into() }} } +impl ::prost::Name for Uuid { +const NAME: &'static str = "UUID"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Index.UUID".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.Index.UUID".into() }} /// Represents index Statistics #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -965,6 +1215,10 @@ pub mod info { #[prost(uint64, repeated, tag="33")] pub indegree_histogram: ::prost::alloc::vec::Vec, } +impl ::prost::Name for Statistics { +const NAME: &'static str = "Statistics"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Index.Statistics".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.Index.Statistics".into() }} /// Represents index Statistics for each Agents #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -973,6 +1227,10 @@ pub mod info { #[prost(map="string, message", tag="1")] pub details: ::std::collections::HashMap<::prost::alloc::string::String, Statistics>, } +impl ::prost::Name for StatisticsDetail { +const NAME: &'static str = "StatisticsDetail"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Index.StatisticsDetail".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.Index.StatisticsDetail".into() }} /// Represents index Property #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -1046,6 +1304,10 @@ pub mod info { #[prost(int32, tag="34")] pub incoming_edge: i32, } +impl ::prost::Name for Property { +const NAME: &'static str = "Property"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Index.Property".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.Index.Property".into() }} /// Represents index Properties for each Agents #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -1053,7 +1315,15 @@ pub mod info { #[prost(map="string, message", tag="1")] pub details: ::std::collections::HashMap<::prost::alloc::string::String, Property>, } - } +impl ::prost::Name for PropertyDetail { +const NAME: &'static str = "PropertyDetail"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Index.PropertyDetail".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.Index.PropertyDetail".into() }} + } +impl ::prost::Name for Index { +const NAME: &'static str = "Index"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Index".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.Index".into() }} /// Represent the pod information message. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -1080,6 +1350,10 @@ pub mod info { #[prost(message, optional, tag="7")] pub node: ::core::option::Option, } +impl ::prost::Name for Pod { +const NAME: &'static str = "Pod"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Pod".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.Pod".into() }} /// Represent the node information message. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -1103,6 +1377,10 @@ pub mod info { #[prost(message, optional, tag="6")] pub pods: ::core::option::Option, } +impl ::prost::Name for Node { +const NAME: &'static str = "Node"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Node".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.Node".into() }} /// Represent the service information message. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -1126,6 +1404,10 @@ pub mod info { #[prost(message, optional, tag="6")] pub annotations: ::core::option::Option, } +impl ::prost::Name for Service { +const NAME: &'static str = "Service"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Service".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.Service".into() }} /// Represets the service port information message. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -1137,6 +1419,10 @@ pub mod info { #[prost(int32, tag="2")] pub port: i32, } +impl ::prost::Name for ServicePort { +const NAME: &'static str = "ServicePort"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.ServicePort".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.ServicePort".into() }} /// Represent the kubernetes labels. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -1144,6 +1430,10 @@ pub mod info { #[prost(map="string, string", tag="1")] pub labels: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>, } +impl ::prost::Name for Labels { +const NAME: &'static str = "Labels"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Labels".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.Labels".into() }} /// Represent the kubernetes annotations. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -1151,6 +1441,10 @@ pub mod info { #[prost(map="string, string", tag="1")] pub annotations: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>, } +impl ::prost::Name for Annotations { +const NAME: &'static str = "Annotations"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Annotations".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.Annotations".into() }} /// Represent the CPU information message. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, Copy, PartialEq, ::prost::Message)] @@ -1165,6 +1459,10 @@ pub mod info { #[prost(double, tag="3")] pub usage: f64, } +impl ::prost::Name for Cpu { +const NAME: &'static str = "CPU"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.CPU".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.CPU".into() }} /// Represent the memory information message. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, Copy, PartialEq, ::prost::Message)] @@ -1179,6 +1477,10 @@ pub mod info { #[prost(double, tag="3")] pub usage: f64, } +impl ::prost::Name for Memory { +const NAME: &'static str = "Memory"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Memory".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.Memory".into() }} /// Represent the multiple pod information message. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -1187,6 +1489,10 @@ pub mod info { #[prost(message, repeated, tag="1")] pub pods: ::prost::alloc::vec::Vec, } +impl ::prost::Name for Pods { +const NAME: &'static str = "Pods"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Pods".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.Pods".into() }} /// Represent the multiple node information message. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -1195,6 +1501,10 @@ pub mod info { #[prost(message, repeated, tag="1")] pub nodes: ::prost::alloc::vec::Vec, } +impl ::prost::Name for Nodes { +const NAME: &'static str = "Nodes"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Nodes".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.Nodes".into() }} /// Represent the multiple service information message. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -1203,6 +1513,10 @@ pub mod info { #[prost(message, repeated, tag="1")] pub services: ::prost::alloc::vec::Vec, } +impl ::prost::Name for Services { +const NAME: &'static str = "Services"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Services".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.Services".into() }} /// Represent the multiple IP message. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -1210,7 +1524,15 @@ pub mod info { #[prost(string, repeated, tag="1")] pub ip: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } +impl ::prost::Name for IPs { +const NAME: &'static str = "IPs"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.IPs".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.IPs".into() }} } +impl ::prost::Name for Info { +const NAME: &'static str = "Info"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info".into() }} /// Mirror related messages. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, Copy, PartialEq, ::prost::Message)] @@ -1229,6 +1551,10 @@ pub mod mirror { #[prost(uint32, tag="2")] pub port: u32, } +impl ::prost::Name for Target { +const NAME: &'static str = "Target"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Mirror.Target".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Mirror.Target".into() }} /// Represent the multiple Target message. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -1237,37 +1563,22 @@ pub mod mirror { #[prost(message, repeated, tag="1")] pub targets: ::prost::alloc::vec::Vec, } +impl ::prost::Name for Targets { +const NAME: &'static str = "Targets"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Mirror.Targets".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Mirror.Targets".into() }} } -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, Copy, PartialEq, ::prost::Message)] -pub struct Meta { -} -/// Nested message and enum types in `Meta`. -pub mod meta { - #[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] - pub struct Key { - #[prost(string, tag="1")] - pub key: ::prost::alloc::string::String, - } - #[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] - pub struct Value { - #[prost(message, optional, tag="1")] - pub value: ::core::option::Option<::prost_types::Any>, - } - #[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] - pub struct KeyValue { - #[prost(message, optional, tag="1")] - pub key: ::core::option::Option, - #[prost(message, optional, tag="2")] - pub value: ::core::option::Option, - } -} +impl ::prost::Name for Mirror { +const NAME: &'static str = "Mirror"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Mirror".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Mirror".into() }} /// Represent an empty message. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, Copy, PartialEq, ::prost::Message)] pub struct Empty { } +impl ::prost::Name for Empty { +const NAME: &'static str = "Empty"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Empty".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Empty".into() }} // @@protoc_insertion_point(module) diff --git a/rust/libs/proto/src/rpc.v1.rs b/rust/libs/proto/src/rpc.v1.rs index 3b9abf8f8b..dd94760a06 100644 --- a/rust/libs/proto/src/rpc.v1.rs +++ b/rust/libs/proto/src/rpc.v1.rs @@ -1,18 +1,29 @@ -// -// Copyright (C) 2019-2024 vdaas.org vald team -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// You may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// +// @generated +// This file is @generated by prost-build. +/// Describes the cause of the error with structured details. +/// +/// Example of an error when contacting the "pubsub.googleapis.com" API when it +/// is not enabled: +/// +/// { "reason": "API_DISABLED" +/// "domain": "googleapis.com" +/// "metadata": { +/// "resource": "projects/123", +/// "service": "pubsub.googleapis.com" +/// } +/// } +/// +/// This response indicates that the pubsub.googleapis.com API is not enabled. +/// +/// Example of an error that is returned when attempting to create a Spanner +/// instance in a region that is out of stock: +/// +/// { "reason": "STOCKOUT" +/// "domain": "spanner.googleapis.com", +/// "metadata": { +/// "availableRegions": "us-central1,us-east2" +/// } +/// } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ErrorInfo { @@ -42,6 +53,10 @@ pub struct ErrorInfo { #[prost(map="string, string", tag="3")] pub metadata: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>, } +impl ::prost::Name for ErrorInfo { +const NAME: &'static str = "ErrorInfo"; +const PACKAGE: &'static str = "rpc.v1"; +fn full_name() -> ::prost::alloc::string::String { "rpc.v1.ErrorInfo".into() }fn type_url() -> ::prost::alloc::string::String { "/rpc.v1.ErrorInfo".into() }} /// Describes when the clients can retry a failed request. Clients could ignore /// the recommendation here or retry when this information is missing from error /// responses. @@ -62,6 +77,10 @@ pub struct RetryInfo { #[prost(message, optional, tag="1")] pub retry_delay: ::core::option::Option<::prost_types::Duration>, } +impl ::prost::Name for RetryInfo { +const NAME: &'static str = "RetryInfo"; +const PACKAGE: &'static str = "rpc.v1"; +fn full_name() -> ::prost::alloc::string::String { "rpc.v1.RetryInfo".into() }fn type_url() -> ::prost::alloc::string::String { "/rpc.v1.RetryInfo".into() }} /// Describes additional debugging info. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -73,6 +92,10 @@ pub struct DebugInfo { #[prost(string, tag="2")] pub detail: ::prost::alloc::string::String, } +impl ::prost::Name for DebugInfo { +const NAME: &'static str = "DebugInfo"; +const PACKAGE: &'static str = "rpc.v1"; +fn full_name() -> ::prost::alloc::string::String { "rpc.v1.DebugInfo".into() }fn type_url() -> ::prost::alloc::string::String { "/rpc.v1.DebugInfo".into() }} /// Describes how a quota check failed. /// /// For example if a daily limit was exceeded for the calling project, @@ -113,7 +136,15 @@ pub mod quota_failure { #[prost(string, tag="2")] pub description: ::prost::alloc::string::String, } +impl ::prost::Name for Violation { +const NAME: &'static str = "Violation"; +const PACKAGE: &'static str = "rpc.v1"; +fn full_name() -> ::prost::alloc::string::String { "rpc.v1.QuotaFailure.Violation".into() }fn type_url() -> ::prost::alloc::string::String { "/rpc.v1.QuotaFailure.Violation".into() }} } +impl ::prost::Name for QuotaFailure { +const NAME: &'static str = "QuotaFailure"; +const PACKAGE: &'static str = "rpc.v1"; +fn full_name() -> ::prost::alloc::string::String { "rpc.v1.QuotaFailure".into() }fn type_url() -> ::prost::alloc::string::String { "/rpc.v1.QuotaFailure".into() }} /// Describes what preconditions have failed. /// /// For example, if an RPC failed because it required the Terms of Service to be @@ -149,7 +180,15 @@ pub mod precondition_failure { #[prost(string, tag="3")] pub description: ::prost::alloc::string::String, } +impl ::prost::Name for Violation { +const NAME: &'static str = "Violation"; +const PACKAGE: &'static str = "rpc.v1"; +fn full_name() -> ::prost::alloc::string::String { "rpc.v1.PreconditionFailure.Violation".into() }fn type_url() -> ::prost::alloc::string::String { "/rpc.v1.PreconditionFailure.Violation".into() }} } +impl ::prost::Name for PreconditionFailure { +const NAME: &'static str = "PreconditionFailure"; +const PACKAGE: &'static str = "rpc.v1"; +fn full_name() -> ::prost::alloc::string::String { "rpc.v1.PreconditionFailure".into() }fn type_url() -> ::prost::alloc::string::String { "/rpc.v1.PreconditionFailure".into() }} /// Describes violations in a client request. This error type focuses on the /// syntactic aspects of the request. #[allow(clippy::derive_partial_eq_without_eq)] @@ -208,7 +247,15 @@ pub mod bad_request { #[prost(string, tag="2")] pub description: ::prost::alloc::string::String, } +impl ::prost::Name for FieldViolation { +const NAME: &'static str = "FieldViolation"; +const PACKAGE: &'static str = "rpc.v1"; +fn full_name() -> ::prost::alloc::string::String { "rpc.v1.BadRequest.FieldViolation".into() }fn type_url() -> ::prost::alloc::string::String { "/rpc.v1.BadRequest.FieldViolation".into() }} } +impl ::prost::Name for BadRequest { +const NAME: &'static str = "BadRequest"; +const PACKAGE: &'static str = "rpc.v1"; +fn full_name() -> ::prost::alloc::string::String { "rpc.v1.BadRequest".into() }fn type_url() -> ::prost::alloc::string::String { "/rpc.v1.BadRequest".into() }} /// Contains metadata about the request that clients can attach when filing a bug /// or providing other forms of feedback. #[allow(clippy::derive_partial_eq_without_eq)] @@ -223,6 +270,10 @@ pub struct RequestInfo { #[prost(string, tag="2")] pub serving_data: ::prost::alloc::string::String, } +impl ::prost::Name for RequestInfo { +const NAME: &'static str = "RequestInfo"; +const PACKAGE: &'static str = "rpc.v1"; +fn full_name() -> ::prost::alloc::string::String { "rpc.v1.RequestInfo".into() }fn type_url() -> ::prost::alloc::string::String { "/rpc.v1.RequestInfo".into() }} /// Describes the resource that is being accessed. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -249,6 +300,10 @@ pub struct ResourceInfo { #[prost(string, tag="4")] pub description: ::prost::alloc::string::String, } +impl ::prost::Name for ResourceInfo { +const NAME: &'static str = "ResourceInfo"; +const PACKAGE: &'static str = "rpc.v1"; +fn full_name() -> ::prost::alloc::string::String { "rpc.v1.ResourceInfo".into() }fn type_url() -> ::prost::alloc::string::String { "/rpc.v1.ResourceInfo".into() }} /// Provides links to documentation or for performing an out of band action. /// /// For example, if a quota check failed with an error indicating the calling @@ -274,7 +329,15 @@ pub mod help { #[prost(string, tag="2")] pub url: ::prost::alloc::string::String, } +impl ::prost::Name for Link { +const NAME: &'static str = "Link"; +const PACKAGE: &'static str = "rpc.v1"; +fn full_name() -> ::prost::alloc::string::String { "rpc.v1.Help.Link".into() }fn type_url() -> ::prost::alloc::string::String { "/rpc.v1.Help.Link".into() }} } +impl ::prost::Name for Help { +const NAME: &'static str = "Help"; +const PACKAGE: &'static str = "rpc.v1"; +fn full_name() -> ::prost::alloc::string::String { "rpc.v1.Help".into() }fn type_url() -> ::prost::alloc::string::String { "/rpc.v1.Help".into() }} /// Provides a localized error message that is safe to return to the user /// which can be attached to an RPC error. #[allow(clippy::derive_partial_eq_without_eq)] @@ -289,4 +352,8 @@ pub struct LocalizedMessage { #[prost(string, tag="2")] pub message: ::prost::alloc::string::String, } +impl ::prost::Name for LocalizedMessage { +const NAME: &'static str = "LocalizedMessage"; +const PACKAGE: &'static str = "rpc.v1"; +fn full_name() -> ::prost::alloc::string::String { "rpc.v1.LocalizedMessage".into() }fn type_url() -> ::prost::alloc::string::String { "/rpc.v1.LocalizedMessage".into() }} // @@protoc_insertion_point(module) diff --git a/rust/libs/proto/src/sidecar.v1.tonic.rs b/rust/libs/proto/src/sidecar.v1.tonic.rs index ad7acdee15..200569c28e 100644 --- a/rust/libs/proto/src/sidecar.v1.tonic.rs +++ b/rust/libs/proto/src/sidecar.v1.tonic.rs @@ -1,18 +1,5 @@ -// -// Copyright (C) 2019-2024 vdaas.org vald team -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// You may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// +// @generated +/// Generated client implementations. pub mod sidecar_client { #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] use tonic::codegen::*; diff --git a/rust/libs/proto/src/vald.v1.tonic.rs b/rust/libs/proto/src/vald.v1.tonic.rs index 7cc2207e61..a47bf062e2 100644 --- a/rust/libs/proto/src/vald.v1.tonic.rs +++ b/rust/libs/proto/src/vald.v1.tonic.rs @@ -1,18 +1,5 @@ -// -// Copyright (C) 2019-2024 vdaas.org vald team -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// You may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// +// @generated +/// Generated client implementations. pub mod filter_client { #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] use tonic::codegen::*; From cd1688b30b737eb5e495c973d939897e77ae7d72 Mon Sep 17 00:00:00 2001 From: Kosuke Morimoto Date: Tue, 3 Sep 2024 15:24:20 +0900 Subject: [PATCH 03/14] bug fix Signed-off-by: Kosuke Morimoto --- rust/bin/agent/src/handler/search.rs | 4 ++-- rust/bin/agent/src/main.rs | 28 ++++++++++++++++++++++------ 2 files changed, 24 insertions(+), 8 deletions(-) diff --git a/rust/bin/agent/src/handler/search.rs b/rust/bin/agent/src/handler/search.rs index 8824a00ac6..06e072f0bf 100644 --- a/rust/bin/agent/src/handler/search.rs +++ b/rust/bin/agent/src/handler/search.rs @@ -28,7 +28,6 @@ impl search_server::Search for super::Agent { &self, request: tonic::Request, ) -> Result, Status> { - println!("Recieved a request from {:?}", request.remote_addr()); let req = request.get_ref(); let config = req.config.clone().unwrap(); let hostname = cargo::util::hostname()?; @@ -37,7 +36,8 @@ impl search_server::Search for super::Agent { let err = Error::IncompatibleDimensionSize{ got: req.vector.len(), want: self.s.get_dimension_size()}; let mut err_details = ErrorDetails::new(); err_details.set_error_info(err.to_string(), domain, HashMap::new()); - err_details.set_request_info(config.request_id, String::from_utf8(req.encode_to_vec()).unwrap()); + let serving_data = ""; + err_details.set_request_info(config.request_id, serving_data.to_string()); err_details.set_bad_request(vec![FieldViolation::new("vector dimension size", err.to_string())]); err_details.set_resource_info(self.resource_type.clone() + "/ngt.Search", "", "", ""); let status = Status::with_error_details(Code::InvalidArgument, "Search API Incombatible Dimension Size detedted", err_details); diff --git a/rust/bin/agent/src/main.rs b/rust/bin/agent/src/main.rs index d8755fc343..78a679e2b6 100644 --- a/rust/bin/agent/src/main.rs +++ b/rust/bin/agent/src/main.rs @@ -13,10 +13,12 @@ // See the License for the specific language governing permissions and // limitations under the License. // +use std::{thread::sleep, time::Duration}; use algorithm::Error; use anyhow::Result; -use proto::payload::v1::search; +use proto::{payload::v1::search, vald::v1::{search_client::SearchClient, search_server::SearchServer}}; +use tonic::transport::Server; mod handler; @@ -37,14 +39,28 @@ impl algorithm::ANN for MockService { #[tokio::main] async fn main() -> Result<(), Box> { - let addr = "0.0.0.0:8081".parse()?; + let addr = "[::1]:8081".parse().unwrap(); + let service = MockService{ dim: 42 }; let agent = handler::Agent::new(service, "agent-ngt", "127.0.0.1", "vald/internal/core/algorithm", "vald-agent"); - tonic::transport::Server::builder() - .add_service(proto::core::v1::agent_server::AgentServer::new(agent)) - .serve(addr) - .await?; + tokio::spawn(async move { + Server::builder() + .add_service(SearchServer::new(agent)) + .serve(addr) + .await + }); + + sleep(Duration::from_secs(3)); + + let mut client = SearchClient::connect("http://[::1]:8081").await?; + + let cfg = search::Config::default(); + let request = tonic::Request::new(search::Request { vector: vec![0.0], config: Some(cfg) }); + + let response = client.search(request).await?; + + println!("RESPONSE={:?}", response); Ok(()) } From 02c5e46e95299632c0a02ec87fd6dda443cd39ab Mon Sep 17 00:00:00 2001 From: Kosuke Morimoto Date: Tue, 3 Sep 2024 15:52:19 +0900 Subject: [PATCH 04/14] format Signed-off-by: Kosuke Morimoto --- rust/bin/agent/src/handler.rs | 2 +- rust/libs/proto/src/core.v1.tonic.rs | 17 +++++++- rust/libs/proto/src/discoverer.v1.tonic.rs | 17 +++++++- rust/libs/proto/src/filter.egress.v1.tonic.rs | 17 +++++++- .../libs/proto/src/filter.ingress.v1.tonic.rs | 17 +++++++- rust/libs/proto/src/mirror.v1.tonic.rs | 17 +++++++- rust/libs/proto/src/payload.v1.rs | 18 ++++++-- rust/libs/proto/src/rpc.v1.rs | 41 +++++++------------ rust/libs/proto/src/sidecar.v1.tonic.rs | 17 +++++++- rust/libs/proto/src/vald.v1.tonic.rs | 17 +++++++- 10 files changed, 136 insertions(+), 44 deletions(-) diff --git a/rust/bin/agent/src/handler.rs b/rust/bin/agent/src/handler.rs index 74d15d9af1..1165799dd4 100644 --- a/rust/bin/agent/src/handler.rs +++ b/rust/bin/agent/src/handler.rs @@ -39,4 +39,4 @@ impl Agent { api_name: api_name.to_string(), } } -} \ No newline at end of file +} diff --git a/rust/libs/proto/src/core.v1.tonic.rs b/rust/libs/proto/src/core.v1.tonic.rs index 7a6ad21416..f19cd43034 100644 --- a/rust/libs/proto/src/core.v1.tonic.rs +++ b/rust/libs/proto/src/core.v1.tonic.rs @@ -1,5 +1,18 @@ -// @generated -/// Generated client implementations. +// +// Copyright (C) 2019-2024 vdaas.org vald team +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// You may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// pub mod agent_client { #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] use tonic::codegen::*; diff --git a/rust/libs/proto/src/discoverer.v1.tonic.rs b/rust/libs/proto/src/discoverer.v1.tonic.rs index b1f9c26343..e1ca78c88a 100644 --- a/rust/libs/proto/src/discoverer.v1.tonic.rs +++ b/rust/libs/proto/src/discoverer.v1.tonic.rs @@ -1,5 +1,18 @@ -// @generated -/// Generated client implementations. +// +// Copyright (C) 2019-2024 vdaas.org vald team +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// You may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// pub mod discoverer_client { #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] use tonic::codegen::*; diff --git a/rust/libs/proto/src/filter.egress.v1.tonic.rs b/rust/libs/proto/src/filter.egress.v1.tonic.rs index 49398de256..74102173ce 100644 --- a/rust/libs/proto/src/filter.egress.v1.tonic.rs +++ b/rust/libs/proto/src/filter.egress.v1.tonic.rs @@ -1,5 +1,18 @@ -// @generated -/// Generated client implementations. +// +// Copyright (C) 2019-2024 vdaas.org vald team +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// You may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// pub mod filter_client { #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] use tonic::codegen::*; diff --git a/rust/libs/proto/src/filter.ingress.v1.tonic.rs b/rust/libs/proto/src/filter.ingress.v1.tonic.rs index 6bd4325471..d8b462caa1 100644 --- a/rust/libs/proto/src/filter.ingress.v1.tonic.rs +++ b/rust/libs/proto/src/filter.ingress.v1.tonic.rs @@ -1,5 +1,18 @@ -// @generated -/// Generated client implementations. +// +// Copyright (C) 2019-2024 vdaas.org vald team +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// You may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// pub mod filter_client { #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] use tonic::codegen::*; diff --git a/rust/libs/proto/src/mirror.v1.tonic.rs b/rust/libs/proto/src/mirror.v1.tonic.rs index 07596240d8..fb55727a62 100644 --- a/rust/libs/proto/src/mirror.v1.tonic.rs +++ b/rust/libs/proto/src/mirror.v1.tonic.rs @@ -1,5 +1,18 @@ -// @generated -/// Generated client implementations. +// +// Copyright (C) 2019-2024 vdaas.org vald team +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// You may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// pub mod mirror_client { #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] use tonic::codegen::*; diff --git a/rust/libs/proto/src/payload.v1.rs b/rust/libs/proto/src/payload.v1.rs index 344b8a1a01..555cfb59d8 100644 --- a/rust/libs/proto/src/payload.v1.rs +++ b/rust/libs/proto/src/payload.v1.rs @@ -1,6 +1,18 @@ -// @generated -// This file is @generated by prost-build. -/// Search related messages. +// +// Copyright (C) 2019-2024 vdaas.org vald team +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// You may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, Copy, PartialEq, ::prost::Message)] pub struct Search { diff --git a/rust/libs/proto/src/rpc.v1.rs b/rust/libs/proto/src/rpc.v1.rs index dd94760a06..d41601b08d 100644 --- a/rust/libs/proto/src/rpc.v1.rs +++ b/rust/libs/proto/src/rpc.v1.rs @@ -1,29 +1,18 @@ -// @generated -// This file is @generated by prost-build. -/// Describes the cause of the error with structured details. -/// -/// Example of an error when contacting the "pubsub.googleapis.com" API when it -/// is not enabled: -/// -/// { "reason": "API_DISABLED" -/// "domain": "googleapis.com" -/// "metadata": { -/// "resource": "projects/123", -/// "service": "pubsub.googleapis.com" -/// } -/// } -/// -/// This response indicates that the pubsub.googleapis.com API is not enabled. -/// -/// Example of an error that is returned when attempting to create a Spanner -/// instance in a region that is out of stock: -/// -/// { "reason": "STOCKOUT" -/// "domain": "spanner.googleapis.com", -/// "metadata": { -/// "availableRegions": "us-central1,us-east2" -/// } -/// } +// +// Copyright (C) 2019-2024 vdaas.org vald team +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// You may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ErrorInfo { diff --git a/rust/libs/proto/src/sidecar.v1.tonic.rs b/rust/libs/proto/src/sidecar.v1.tonic.rs index 200569c28e..ad7acdee15 100644 --- a/rust/libs/proto/src/sidecar.v1.tonic.rs +++ b/rust/libs/proto/src/sidecar.v1.tonic.rs @@ -1,5 +1,18 @@ -// @generated -/// Generated client implementations. +// +// Copyright (C) 2019-2024 vdaas.org vald team +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// You may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// pub mod sidecar_client { #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] use tonic::codegen::*; diff --git a/rust/libs/proto/src/vald.v1.tonic.rs b/rust/libs/proto/src/vald.v1.tonic.rs index a47bf062e2..7cc2207e61 100644 --- a/rust/libs/proto/src/vald.v1.tonic.rs +++ b/rust/libs/proto/src/vald.v1.tonic.rs @@ -1,5 +1,18 @@ -// @generated -/// Generated client implementations. +// +// Copyright (C) 2019-2024 vdaas.org vald team +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// You may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// pub mod filter_client { #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] use tonic::codegen::*; From 5c70fae0d2bddc02e23ce3308323577e53e6a98b Mon Sep 17 00:00:00 2001 From: Kosuke Morimoto Date: Tue, 3 Sep 2024 21:42:37 +0900 Subject: [PATCH 05/14] add pkg-config Signed-off-by: Kosuke Morimoto --- dockers/agent/core/agent/Dockerfile | 1 + dockers/ci/base/Dockerfile | 1 + dockers/dev/Dockerfile | 1 + hack/docker/gen/main.go | 12 +++++++++--- 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/dockers/agent/core/agent/Dockerfile b/dockers/agent/core/agent/Dockerfile index 41d415e47e..f0e82341f3 100644 --- a/dockers/agent/core/agent/Dockerfile +++ b/dockers/agent/core/agent/Dockerfile @@ -71,6 +71,7 @@ RUN --mount=type=bind,target=.,rw \ libomp-dev \ libopenblas-dev \ gfortran \ + pkg-config \ && ldconfig \ && echo "${LANG} UTF-8" > /etc/locale.gen \ && ln -fs /usr/share/zoneinfo/${TZ} /etc/localtime \ diff --git a/dockers/ci/base/Dockerfile b/dockers/ci/base/Dockerfile index 6a25b4682c..a05d3e2593 100644 --- a/dockers/ci/base/Dockerfile +++ b/dockers/ci/base/Dockerfile @@ -80,6 +80,7 @@ RUN --mount=type=bind,target=.,rw \ libomp-dev \ libopenblas-dev \ gfortran \ + pkg-config \ gawk \ gnupg2 \ graphviz \ diff --git a/dockers/dev/Dockerfile b/dockers/dev/Dockerfile index ffcdc07312..a45fcbbe0f 100644 --- a/dockers/dev/Dockerfile +++ b/dockers/dev/Dockerfile @@ -85,6 +85,7 @@ RUN --mount=type=bind,target=.,rw \ libomp-dev \ libopenblas-dev \ gfortran \ + pkg-config \ gawk \ gnupg2 \ graphviz \ diff --git a/hack/docker/gen/main.go b/hack/docker/gen/main.go index 3584cb3e20..bf0d575c28 100644 --- a/hack/docker/gen/main.go +++ b/hack/docker/gen/main.go @@ -351,6 +351,9 @@ var ( faissBuildDeps = []string{ "gfortran", } + rustBuildDeps = []string{ + "pkg-config", + } devContainerDeps = []string{ "gawk", "gnupg2", @@ -532,7 +535,8 @@ func main() { RuntimeImage: "gcr.io/distroless/cc-debian12", ExtraPackages: append(clangBuildDeps, append(ngtBuildDeps, - faissBuildDeps...)...), + append(faissBuildDeps, + rustBuildDeps...)...)...), Preprocess: []string{ ngtPreprocess, faissPreprocess, @@ -649,7 +653,8 @@ func main() { ExtraPackages: append([]string{"npm"}, append(clangBuildDeps, append(ngtBuildDeps, append(faissBuildDeps, - devContainerDeps...)...)...)...), + append(rustBuildDeps, + devContainerDeps...)...)...)...)...), Preprocess: append(ciContainerPreprocess, ngtPreprocess, faissPreprocess, usearchPreprocess), Entrypoints: []string{"/bin/bash"}, }, @@ -664,7 +669,8 @@ func main() { ExtraPackages: append(clangBuildDeps, append(ngtBuildDeps, append(faissBuildDeps, - devContainerDeps...)...)...), + append(rustBuildDeps, + devContainerDeps...)...)...)...), Preprocess: append(devContainerPreprocess, append(ciContainerPreprocess, ngtPreprocess, From 3731b64f1a0678e1690742a4824ee9e0aa36177b Mon Sep 17 00:00:00 2001 From: Kosuke Morimoto Date: Tue, 10 Sep 2024 14:59:16 +0900 Subject: [PATCH 06/14] delete comment out include Signed-off-by: Kosuke Morimoto --- rust/libs/proto/src/lib.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/rust/libs/proto/src/lib.rs b/rust/libs/proto/src/lib.rs index b4685950c9..7155b32bc7 100644 --- a/rust/libs/proto/src/lib.rs +++ b/rust/libs/proto/src/lib.rs @@ -16,7 +16,6 @@ pub mod google { pub mod rpc { pub type Status = tonic_types::Status; -// include!("rpc.v1.rs"); } } From 72f19a899fc82a4221f7f3872479d255aa084b51 Mon Sep 17 00:00:00 2001 From: Yusuke Kato Date: Thu, 12 Sep 2024 16:35:31 +0900 Subject: [PATCH 07/14] Add UpdateTimestamp API (#2605) Signed-off-by: kpango --- .github/ISSUE_TEMPLATE/bug_report.md | 2 +- .../ISSUE_TEMPLATE/security_issue_report.md | 2 +- .github/PULL_REQUEST_TEMPLATE.md | 2 +- .../workflows/dockers-agent-faiss-image.yaml | 2 - .github/workflows/dockers-agent-image.yaml | 2 - .../workflows/dockers-agent-ngt-image.yaml | 2 - .../dockers-agent-sidecar-image.yaml | 2 - .../dockers-benchmark-job-image.yaml | 2 - .../dockers-benchmark-operator-image.yaml | 2 - .github/workflows/dockers-binfmt-image.yaml | 2 - .../workflows/dockers-buildbase-image.yaml | 2 - .github/workflows/dockers-buildkit-image.yaml | 2 - .../dockers-buildkit-syft-scanner-image.yaml | 2 - .../workflows/dockers-ci-container-image.yaml | 2 - .../dockers-dev-container-image.yaml | 2 - .../dockers-discoverer-k8s-image.yaml | 2 - .../dockers-gateway-filter-image.yaml | 2 - .../workflows/dockers-gateway-lb-image.yaml | 2 - .../dockers-gateway-mirror-image.yaml | 2 - .../dockers-helm-operator-image.yaml | 2 - .../dockers-index-correction-image.yaml | 2 - .../dockers-index-creation-image.yaml | 2 - .../dockers-index-operator-image.yaml | 2 - .../workflows/dockers-index-save-image.yaml | 2 - .github/workflows/dockers-loadtest-image.yaml | 2 - .../dockers-manager-index-image.yaml | 2 - .../dockers-readreplica-rotate-image.yaml | 2 - example/client/go.mod | 2 +- example/client/go.sum | 4 +- go.mod | 50 +- go.sum | 65 +- pkg/agent/core/ngt/service/ngt_test.go | 1 + rust/Cargo.lock | 2886 +---------------- rust/libs/proto/src/filter.egress.v1.tonic.rs | 4 + .../libs/proto/src/filter.ingress.v1.tonic.rs | 4 + rust/libs/proto/src/payload.v1.rs | 382 +-- rust/libs/proto/src/vald.v1.tonic.rs | 8 + versions/HELM_VERSION | 2 +- versions/PROTOBUF_VERSION | 2 +- versions/actions/GITHUB_CODEQL_ACTION_ANALYZE | 2 +- .../actions/GITHUB_CODEQL_ACTION_AUTOBUILD | 2 +- versions/actions/GITHUB_CODEQL_ACTION_INIT | 2 +- .../actions/GITHUB_CODEQL_ACTION_UPLOAD_SARIF | 2 +- .../actions/PETER_EVANS_CREATE_PULL_REQUEST | 2 +- 44 files changed, 268 insertions(+), 3206 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 58d750ba12..d476e3a8dc 100755 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -27,6 +27,6 @@ assignees: "" - Rust Version: v1.81.0 - Docker Version: v27.2.1 - Kubernetes Version: v1.31.0 -- Helm Version: v3.16.0 +- Helm Version: v3.15.4 - NGT Version: v2.2.4 - Faiss Version: v1.8.0 diff --git a/.github/ISSUE_TEMPLATE/security_issue_report.md b/.github/ISSUE_TEMPLATE/security_issue_report.md index 94536a7445..f05a46ee13 100644 --- a/.github/ISSUE_TEMPLATE/security_issue_report.md +++ b/.github/ISSUE_TEMPLATE/security_issue_report.md @@ -21,6 +21,6 @@ assignees: "" - Rust Version: v1.81.0 - Docker Version: v27.2.1 - Kubernetes Version: v1.31.0 -- Helm Version: v3.16.0 +- Helm Version: v3.15.4 - NGT Version: v2.2.4 - Faiss Version: v1.8.0 diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index cc053c521a..4c7e257cf7 100755 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -20,7 +20,7 @@ - Rust Version: v1.81.0 - Docker Version: v27.2.1 - Kubernetes Version: v1.31.0 -- Helm Version: v3.16.0 +- Helm Version: v3.15.4 - NGT Version: v2.2.4 - Faiss Version: v1.8.0 diff --git a/.github/workflows/dockers-agent-faiss-image.yaml b/.github/workflows/dockers-agent-faiss-image.yaml index 400b178876..691dce26c6 100644 --- a/.github/workflows/dockers-agent-faiss-image.yaml +++ b/.github/workflows/dockers-agent-faiss-image.yaml @@ -13,9 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. # - # DO_NOT_EDIT this workflow file is generated by https://github.com/vdaas/vald/blob/main/hack/actions/gen/main.go - name: "Build docker image: agent-faiss" on: push: diff --git a/.github/workflows/dockers-agent-image.yaml b/.github/workflows/dockers-agent-image.yaml index f78c8de3fc..f73b44f46d 100644 --- a/.github/workflows/dockers-agent-image.yaml +++ b/.github/workflows/dockers-agent-image.yaml @@ -13,9 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. # - # DO_NOT_EDIT this workflow file is generated by https://github.com/vdaas/vald/blob/main/hack/actions/gen/main.go - name: "Build docker image: agent" on: push: diff --git a/.github/workflows/dockers-agent-ngt-image.yaml b/.github/workflows/dockers-agent-ngt-image.yaml index 257ba191bb..84c3b8f862 100644 --- a/.github/workflows/dockers-agent-ngt-image.yaml +++ b/.github/workflows/dockers-agent-ngt-image.yaml @@ -13,9 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. # - # DO_NOT_EDIT this workflow file is generated by https://github.com/vdaas/vald/blob/main/hack/actions/gen/main.go - name: "Build docker image: agent-ngt" on: push: diff --git a/.github/workflows/dockers-agent-sidecar-image.yaml b/.github/workflows/dockers-agent-sidecar-image.yaml index 768c4665c6..497151aee0 100644 --- a/.github/workflows/dockers-agent-sidecar-image.yaml +++ b/.github/workflows/dockers-agent-sidecar-image.yaml @@ -13,9 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. # - # DO_NOT_EDIT this workflow file is generated by https://github.com/vdaas/vald/blob/main/hack/actions/gen/main.go - name: "Build docker image: agent-sidecar" on: push: diff --git a/.github/workflows/dockers-benchmark-job-image.yaml b/.github/workflows/dockers-benchmark-job-image.yaml index 7d8c7e6103..23028c31bf 100644 --- a/.github/workflows/dockers-benchmark-job-image.yaml +++ b/.github/workflows/dockers-benchmark-job-image.yaml @@ -13,9 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. # - # DO_NOT_EDIT this workflow file is generated by https://github.com/vdaas/vald/blob/main/hack/actions/gen/main.go - name: "Build docker image: benchmark-job" on: push: diff --git a/.github/workflows/dockers-benchmark-operator-image.yaml b/.github/workflows/dockers-benchmark-operator-image.yaml index f5cba306cc..764f505d76 100644 --- a/.github/workflows/dockers-benchmark-operator-image.yaml +++ b/.github/workflows/dockers-benchmark-operator-image.yaml @@ -13,9 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. # - # DO_NOT_EDIT this workflow file is generated by https://github.com/vdaas/vald/blob/main/hack/actions/gen/main.go - name: "Build docker image: benchmark-operator" on: push: diff --git a/.github/workflows/dockers-binfmt-image.yaml b/.github/workflows/dockers-binfmt-image.yaml index 1df8ccba23..497a188926 100644 --- a/.github/workflows/dockers-binfmt-image.yaml +++ b/.github/workflows/dockers-binfmt-image.yaml @@ -13,9 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. # - # DO_NOT_EDIT this workflow file is generated by https://github.com/vdaas/vald/blob/main/hack/actions/gen/main.go - name: "Build docker image: binfmt" on: schedule: diff --git a/.github/workflows/dockers-buildbase-image.yaml b/.github/workflows/dockers-buildbase-image.yaml index 149ca6d1de..58b0a1ef83 100644 --- a/.github/workflows/dockers-buildbase-image.yaml +++ b/.github/workflows/dockers-buildbase-image.yaml @@ -13,9 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. # - # DO_NOT_EDIT this workflow file is generated by https://github.com/vdaas/vald/blob/main/hack/actions/gen/main.go - name: "Build docker image: buildbase" on: schedule: diff --git a/.github/workflows/dockers-buildkit-image.yaml b/.github/workflows/dockers-buildkit-image.yaml index aaa476761c..1d6ceea7c4 100644 --- a/.github/workflows/dockers-buildkit-image.yaml +++ b/.github/workflows/dockers-buildkit-image.yaml @@ -13,9 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. # - # DO_NOT_EDIT this workflow file is generated by https://github.com/vdaas/vald/blob/main/hack/actions/gen/main.go - name: "Build docker image: buildkit" on: schedule: diff --git a/.github/workflows/dockers-buildkit-syft-scanner-image.yaml b/.github/workflows/dockers-buildkit-syft-scanner-image.yaml index 1fb737e04e..b475416305 100644 --- a/.github/workflows/dockers-buildkit-syft-scanner-image.yaml +++ b/.github/workflows/dockers-buildkit-syft-scanner-image.yaml @@ -13,9 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. # - # DO_NOT_EDIT this workflow file is generated by https://github.com/vdaas/vald/blob/main/hack/actions/gen/main.go - name: "Build docker image: buildkit-syft-scanner" on: schedule: diff --git a/.github/workflows/dockers-ci-container-image.yaml b/.github/workflows/dockers-ci-container-image.yaml index 446351f961..1e3e501f7a 100644 --- a/.github/workflows/dockers-ci-container-image.yaml +++ b/.github/workflows/dockers-ci-container-image.yaml @@ -13,9 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. # - # DO_NOT_EDIT this workflow file is generated by https://github.com/vdaas/vald/blob/main/hack/actions/gen/main.go - name: "Build docker image: ci-container" on: push: diff --git a/.github/workflows/dockers-dev-container-image.yaml b/.github/workflows/dockers-dev-container-image.yaml index e9e7c4cbbe..163134d95e 100644 --- a/.github/workflows/dockers-dev-container-image.yaml +++ b/.github/workflows/dockers-dev-container-image.yaml @@ -13,9 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. # - # DO_NOT_EDIT this workflow file is generated by https://github.com/vdaas/vald/blob/main/hack/actions/gen/main.go - name: "Build docker image: dev-container" on: push: diff --git a/.github/workflows/dockers-discoverer-k8s-image.yaml b/.github/workflows/dockers-discoverer-k8s-image.yaml index 6453281b0e..a840e36cfd 100644 --- a/.github/workflows/dockers-discoverer-k8s-image.yaml +++ b/.github/workflows/dockers-discoverer-k8s-image.yaml @@ -13,9 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. # - # DO_NOT_EDIT this workflow file is generated by https://github.com/vdaas/vald/blob/main/hack/actions/gen/main.go - name: "Build docker image: discoverer-k8s" on: push: diff --git a/.github/workflows/dockers-gateway-filter-image.yaml b/.github/workflows/dockers-gateway-filter-image.yaml index 837c9b82fc..6d649d3c4a 100644 --- a/.github/workflows/dockers-gateway-filter-image.yaml +++ b/.github/workflows/dockers-gateway-filter-image.yaml @@ -13,9 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. # - # DO_NOT_EDIT this workflow file is generated by https://github.com/vdaas/vald/blob/main/hack/actions/gen/main.go - name: "Build docker image: gateway-filter" on: push: diff --git a/.github/workflows/dockers-gateway-lb-image.yaml b/.github/workflows/dockers-gateway-lb-image.yaml index 831efb3280..f61792f67a 100644 --- a/.github/workflows/dockers-gateway-lb-image.yaml +++ b/.github/workflows/dockers-gateway-lb-image.yaml @@ -13,9 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. # - # DO_NOT_EDIT this workflow file is generated by https://github.com/vdaas/vald/blob/main/hack/actions/gen/main.go - name: "Build docker image: gateway-lb" on: push: diff --git a/.github/workflows/dockers-gateway-mirror-image.yaml b/.github/workflows/dockers-gateway-mirror-image.yaml index 8a0e713af0..e31d0dcd98 100644 --- a/.github/workflows/dockers-gateway-mirror-image.yaml +++ b/.github/workflows/dockers-gateway-mirror-image.yaml @@ -13,9 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. # - # DO_NOT_EDIT this workflow file is generated by https://github.com/vdaas/vald/blob/main/hack/actions/gen/main.go - name: "Build docker image: gateway-mirror" on: push: diff --git a/.github/workflows/dockers-helm-operator-image.yaml b/.github/workflows/dockers-helm-operator-image.yaml index 28eed9d34d..d721fe37f5 100644 --- a/.github/workflows/dockers-helm-operator-image.yaml +++ b/.github/workflows/dockers-helm-operator-image.yaml @@ -13,9 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. # - # DO_NOT_EDIT this workflow file is generated by https://github.com/vdaas/vald/blob/main/hack/actions/gen/main.go - name: "Build docker image: helm-operator" on: push: diff --git a/.github/workflows/dockers-index-correction-image.yaml b/.github/workflows/dockers-index-correction-image.yaml index c5675f0280..6c9306740c 100644 --- a/.github/workflows/dockers-index-correction-image.yaml +++ b/.github/workflows/dockers-index-correction-image.yaml @@ -13,9 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. # - # DO_NOT_EDIT this workflow file is generated by https://github.com/vdaas/vald/blob/main/hack/actions/gen/main.go - name: "Build docker image: index-correction" on: push: diff --git a/.github/workflows/dockers-index-creation-image.yaml b/.github/workflows/dockers-index-creation-image.yaml index d6d1449636..b79aaa9e87 100644 --- a/.github/workflows/dockers-index-creation-image.yaml +++ b/.github/workflows/dockers-index-creation-image.yaml @@ -13,9 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. # - # DO_NOT_EDIT this workflow file is generated by https://github.com/vdaas/vald/blob/main/hack/actions/gen/main.go - name: "Build docker image: index-creation" on: push: diff --git a/.github/workflows/dockers-index-operator-image.yaml b/.github/workflows/dockers-index-operator-image.yaml index e482aa62e7..1287ac02d8 100644 --- a/.github/workflows/dockers-index-operator-image.yaml +++ b/.github/workflows/dockers-index-operator-image.yaml @@ -13,9 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. # - # DO_NOT_EDIT this workflow file is generated by https://github.com/vdaas/vald/blob/main/hack/actions/gen/main.go - name: "Build docker image: index-operator" on: push: diff --git a/.github/workflows/dockers-index-save-image.yaml b/.github/workflows/dockers-index-save-image.yaml index 9616d1342e..c1b6c838f3 100644 --- a/.github/workflows/dockers-index-save-image.yaml +++ b/.github/workflows/dockers-index-save-image.yaml @@ -13,9 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. # - # DO_NOT_EDIT this workflow file is generated by https://github.com/vdaas/vald/blob/main/hack/actions/gen/main.go - name: "Build docker image: index-save" on: push: diff --git a/.github/workflows/dockers-loadtest-image.yaml b/.github/workflows/dockers-loadtest-image.yaml index 3c9026b9ca..6bb824e9c0 100644 --- a/.github/workflows/dockers-loadtest-image.yaml +++ b/.github/workflows/dockers-loadtest-image.yaml @@ -13,9 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. # - # DO_NOT_EDIT this workflow file is generated by https://github.com/vdaas/vald/blob/main/hack/actions/gen/main.go - name: "Build docker image: loadtest" on: push: diff --git a/.github/workflows/dockers-manager-index-image.yaml b/.github/workflows/dockers-manager-index-image.yaml index c1f1f7dff7..71cde3006c 100644 --- a/.github/workflows/dockers-manager-index-image.yaml +++ b/.github/workflows/dockers-manager-index-image.yaml @@ -13,9 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. # - # DO_NOT_EDIT this workflow file is generated by https://github.com/vdaas/vald/blob/main/hack/actions/gen/main.go - name: "Build docker image: manager-index" on: push: diff --git a/.github/workflows/dockers-readreplica-rotate-image.yaml b/.github/workflows/dockers-readreplica-rotate-image.yaml index be5bbdbee5..8d1b815991 100644 --- a/.github/workflows/dockers-readreplica-rotate-image.yaml +++ b/.github/workflows/dockers-readreplica-rotate-image.yaml @@ -13,9 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. # - # DO_NOT_EDIT this workflow file is generated by https://github.com/vdaas/vald/blob/main/hack/actions/gen/main.go - name: "Build docker image: readreplica-rotate" on: push: diff --git a/example/client/go.mod b/example/client/go.mod index 198e984084..91b9c6fe62 100644 --- a/example/client/go.mod +++ b/example/client/go.mod @@ -14,7 +14,7 @@ replace ( google.golang.org/genproto => google.golang.org/genproto v0.0.0-20240903143218-8af14fe29dc1 google.golang.org/genproto/googleapis/api => google.golang.org/genproto/googleapis/api v0.0.0-20240903143218-8af14fe29dc1 google.golang.org/genproto/googleapis/rpc => google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 - google.golang.org/grpc => google.golang.org/grpc v1.66.2 + google.golang.org/grpc => google.golang.org/grpc v1.66.1 google.golang.org/protobuf => google.golang.org/protobuf v1.34.2 gopkg.in/yaml.v2 => gopkg.in/yaml.v2 v2.4.0 gopkg.in/yaml.v3 => gopkg.in/yaml.v3 v3.0.1 diff --git a/example/client/go.sum b/example/client/go.sum index 8fd1e3660a..90e30cb0d1 100644 --- a/example/client/go.sum +++ b/example/client/go.sum @@ -34,7 +34,7 @@ google.golang.org/genproto/googleapis/api v0.0.0-20240903143218-8af14fe29dc1 h1: google.golang.org/genproto/googleapis/api v0.0.0-20240903143218-8af14fe29dc1/go.mod h1:qpvKtACPCQhAdu3PyQgV4l3LMXZEtft7y8QcarRsp9I= google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 h1:pPJltXNxVzT4pK9yD8vR9X75DaWYYmLGMsEvBfFQZzQ= google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.2 h1:3QdXkuq3Bkh7w+ywLdLvM56cmGvQHUMZpiCzt6Rqaoo= -google.golang.org/grpc v1.66.2/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= +google.golang.org/grpc v1.66.1 h1:hO5qAXR19+/Z44hmvIM4dQFMSYX9XcWsByfoxutBpAM= +google.golang.org/grpc v1.66.1/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= diff --git a/go.mod b/go.mod index 1821334bac..99c1667e39 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,7 @@ replace ( cloud.google.com/go/bigquery => cloud.google.com/go/bigquery v1.62.0 cloud.google.com/go/compute => cloud.google.com/go/compute v1.28.0 cloud.google.com/go/datastore => cloud.google.com/go/datastore v1.19.0 - cloud.google.com/go/firestore => cloud.google.com/go/firestore v1.17.0 + cloud.google.com/go/firestore => cloud.google.com/go/firestore v1.16.0 cloud.google.com/go/iam => cloud.google.com/go/iam v1.2.0 cloud.google.com/go/kms => cloud.google.com/go/kms v1.19.0 cloud.google.com/go/monitoring => cloud.google.com/go/monitoring v1.21.0 @@ -15,7 +15,7 @@ replace ( cloud.google.com/go/secretmanager => cloud.google.com/go/secretmanager v1.14.0 cloud.google.com/go/storage => cloud.google.com/go/storage v1.43.0 cloud.google.com/go/trace => cloud.google.com/go/trace v1.11.0 - code.cloudfoundry.org/bytefmt => code.cloudfoundry.org/bytefmt v0.10.0 + code.cloudfoundry.org/bytefmt => code.cloudfoundry.org/bytefmt v0.9.0 contrib.go.opencensus.io/exporter/aws => contrib.go.opencensus.io/exporter/aws v0.0.0-20230502192102-15967c811cec contrib.go.opencensus.io/exporter/prometheus => contrib.go.opencensus.io/exporter/prometheus v0.4.2 contrib.go.opencensus.io/integrations/ocsql => contrib.go.opencensus.io/integrations/ocsql v0.1.7 @@ -154,7 +154,7 @@ replace ( github.com/google/gofuzz => github.com/google/gofuzz v1.2.0 github.com/google/martian => github.com/google/martian v2.1.0+incompatible github.com/google/martian/v3 => github.com/google/martian/v3 v3.3.3 - github.com/google/pprof => github.com/google/pprof v0.0.0-20240910150728-a0b0bb1d4134 + github.com/google/pprof => github.com/google/pprof v0.0.0-20240903155634-a8630aee4ab9 github.com/google/shlex => github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 github.com/google/subcommands => github.com/google/subcommands v1.2.0 github.com/google/uuid => github.com/google/uuid v1.6.0 @@ -192,11 +192,11 @@ replace ( github.com/jstemmer/go-junit-report => github.com/jstemmer/go-junit-report v1.0.0 github.com/kisielk/errcheck => github.com/kisielk/errcheck v1.7.0 github.com/kisielk/gotool => github.com/kisielk/gotool v1.0.0 - github.com/klauspost/compress => github.com/klauspost/compress v1.17.10-0.20240911134657-51aa0ecb46a9 + github.com/klauspost/compress => github.com/klauspost/compress v1.17.10-0.20240903161129-13c124496702 github.com/klauspost/cpuid/v2 => github.com/klauspost/cpuid/v2 v2.2.8 github.com/kpango/fastime => github.com/kpango/fastime v1.1.9 github.com/kpango/fuid => github.com/kpango/fuid v0.0.0-20221203053508-503b5ad89aa1 - github.com/kpango/gache/v2 => github.com/kpango/gache/v2 v2.0.10 + github.com/kpango/gache/v2 => github.com/kpango/gache/v2 v2.0.9 github.com/kpango/glg => github.com/kpango/glg v1.6.15 github.com/kr/fs => github.com/kr/fs v0.1.0 github.com/kr/pretty => github.com/kr/pretty v0.3.1 @@ -275,17 +275,17 @@ replace ( github.com/zeebo/xxh3 => github.com/zeebo/xxh3 v1.0.2 go.etcd.io/bbolt => go.etcd.io/bbolt v1.3.11 go.opencensus.io => go.opencensus.io v0.24.0 - go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc => go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.55.0 - go.opentelemetry.io/otel => go.opentelemetry.io/otel v1.30.0 + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc => go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 + go.opentelemetry.io/otel => go.opentelemetry.io/otel v1.29.0 go.opentelemetry.io/otel/exporters/otlp/internal/retry => go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.17.0 go.opentelemetry.io/otel/exporters/otlp/otlpmetric => go.opentelemetry.io/otel/exporters/otlp/otlpmetric v0.43.0 - go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc => go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.30.0 - go.opentelemetry.io/otel/exporters/otlp/otlptrace => go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.30.0 - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc => go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.30.0 - go.opentelemetry.io/otel/metric => go.opentelemetry.io/otel/metric v1.30.0 - go.opentelemetry.io/otel/sdk => go.opentelemetry.io/otel/sdk v1.30.0 - go.opentelemetry.io/otel/sdk/metric => go.opentelemetry.io/otel/sdk/metric v1.30.0 - go.opentelemetry.io/otel/trace => go.opentelemetry.io/otel/trace v1.30.0 + go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc => go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.29.0 + go.opentelemetry.io/otel/exporters/otlp/otlptrace => go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0 + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc => go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.29.0 + go.opentelemetry.io/otel/metric => go.opentelemetry.io/otel/metric v1.29.0 + go.opentelemetry.io/otel/sdk => go.opentelemetry.io/otel/sdk v1.29.0 + go.opentelemetry.io/otel/sdk/metric => go.opentelemetry.io/otel/sdk/metric v1.29.0 + go.opentelemetry.io/otel/trace => go.opentelemetry.io/otel/trace v1.29.0 go.opentelemetry.io/proto/otlp => go.opentelemetry.io/proto/otlp v1.3.1 go.starlark.net => go.starlark.net v0.0.0-20240725214946-42030a7cedce go.uber.org/atomic => go.uber.org/atomic v1.11.0 @@ -314,12 +314,12 @@ replace ( gonum.org/v1/gonum => gonum.org/v1/gonum v0.15.1 gonum.org/v1/hdf5 => gonum.org/v1/hdf5 v0.0.0-20210714002203-8c5d23bc6946 gonum.org/v1/plot => gonum.org/v1/plot v0.14.0 - google.golang.org/api => google.golang.org/api v0.197.0 + google.golang.org/api => google.golang.org/api v0.196.0 google.golang.org/appengine => google.golang.org/appengine v1.6.8 google.golang.org/genproto => google.golang.org/genproto v0.0.0-20240903143218-8af14fe29dc1 google.golang.org/genproto/googleapis/api => google.golang.org/genproto/googleapis/api v0.0.0-20240903143218-8af14fe29dc1 google.golang.org/genproto/googleapis/rpc => google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 - google.golang.org/grpc => google.golang.org/grpc v1.66.2 + google.golang.org/grpc => google.golang.org/grpc v1.66.1 google.golang.org/grpc/cmd/protoc-gen-go-grpc => google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.5.1 google.golang.org/protobuf => google.golang.org/protobuf v1.34.2 gopkg.in/check.v1 => gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c @@ -384,14 +384,14 @@ require ( github.com/zeebo/xxh3 v1.0.2 go.etcd.io/bbolt v1.3.8 go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 - go.opentelemetry.io/otel v1.30.0 + go.opentelemetry.io/otel v1.29.0 go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v0.0.0-00010101000000-000000000000 - go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.30.0 + go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0 go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.19.0 - go.opentelemetry.io/otel/metric v1.30.0 - go.opentelemetry.io/otel/sdk v1.30.0 - go.opentelemetry.io/otel/sdk/metric v1.30.0 - go.opentelemetry.io/otel/trace v1.30.0 + go.opentelemetry.io/otel/metric v1.29.0 + go.opentelemetry.io/otel/sdk v1.29.0 + go.opentelemetry.io/otel/sdk/metric v1.29.0 + go.opentelemetry.io/otel/trace v1.29.0 go.uber.org/automaxprocs v0.0.0-00010101000000-000000000000 go.uber.org/goleak v1.3.0 go.uber.org/ratelimit v0.3.1 @@ -408,7 +408,7 @@ require ( gonum.org/v1/plot v0.14.0 google.golang.org/genproto/googleapis/api v0.0.0-20240903143218-8af14fe29dc1 google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 - google.golang.org/grpc v1.66.1 + google.golang.org/grpc v1.66.0 google.golang.org/protobuf v1.34.2 gopkg.in/yaml.v2 v2.4.0 k8s.io/api v0.30.3 @@ -462,11 +462,11 @@ require ( github.com/google/btree v1.1.3 // indirect github.com/google/gnostic-models v0.6.8 // indirect github.com/google/gofuzz v1.2.0 // indirect - github.com/google/pprof v0.0.0-20240910150728-a0b0bb1d4134 // indirect + github.com/google/pprof v0.0.0-20240903155634-a8630aee4ab9 // indirect github.com/google/s2a-go v0.1.8 // indirect github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect github.com/google/wire v0.6.0 // indirect - github.com/googleapis/enterprise-certificate-proxy v0.3.4 // indirect + github.com/googleapis/enterprise-certificate-proxy v0.3.3 // indirect github.com/googleapis/gax-go/v2 v2.13.0 // indirect github.com/gorilla/websocket v1.5.0 // indirect github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7 // indirect diff --git a/go.sum b/go.sum index 85b80572f0..3397c36bfb 100644 --- a/go.sum +++ b/go.sum @@ -81,7 +81,7 @@ cloud.google.com/go/errorreporting v0.3.1/go.mod h1:6xVQXU1UuntfAf+bVkFk6nld41+C cloud.google.com/go/essentialcontacts v1.7.0/go.mod h1:0JEcNuyjyg43H/RJynZzv2eo6MkmnvRPUouBpOh6akY= cloud.google.com/go/eventarc v1.14.0/go.mod h1:60ZzZfOekvsc/keHc7uGHcoEOMVa+p+ZgRmTjpdamnA= cloud.google.com/go/filestore v1.9.0/go.mod h1:GlQK+VBaAGb19HqprnOMqYYpn7Gev5ZA9SSHpxFKD7Q= -cloud.google.com/go/firestore v1.17.0/go.mod h1:69uPx1papBsY8ZETooc71fOhoKkD70Q1DwMrtKuOT/Y= +cloud.google.com/go/firestore v1.16.0/go.mod h1:+22v/7p+WNBSQwdSwP57vz47aZiY+HrDkrOsJNhk7rg= cloud.google.com/go/functions v1.19.0/go.mod h1:WDreEDZoUVoOkXKDejFWGnprrGYn2cY2KHx73UQERC0= cloud.google.com/go/gkebackup v1.6.0/go.mod h1:1rskt7NgawoMDHTdLASX8caXXYG3MvDsoZ7qF4RMamQ= cloud.google.com/go/gkeconnect v0.11.0/go.mod h1:l3iPZl1OfT+DUQ+QkmH1PC5RTLqxKQSVnboLiQGAcCA= @@ -165,8 +165,8 @@ cloud.google.com/go/vpcaccess v1.8.0/go.mod h1:7fz79sxE9DbGm9dbbIdir3tsJhwCxiNAs cloud.google.com/go/webrisk v1.10.0/go.mod h1:ztRr0MCLtksoeSOQCEERZXdzwJGoH+RGYQ2qodGOy2U= cloud.google.com/go/websecurityscanner v1.7.0/go.mod h1:d5OGdHnbky9MAZ8SGzdWIm3/c9p0r7t+5BerY5JYdZc= cloud.google.com/go/workflows v1.13.0/go.mod h1:StCuY3jhBj1HYMjCPqZs7J0deQLHPhF6hDtzWJaVF+Y= -code.cloudfoundry.org/bytefmt v0.10.0 h1:q/n3VEyTHSYIr+MTRIYxNMRutBilgv0gbFWZbXqWI60= -code.cloudfoundry.org/bytefmt v0.10.0/go.mod h1:FQhPpsF//guTvK6ZnAC2JkVRZjl6s5ee0H90K2r3zxI= +code.cloudfoundry.org/bytefmt v0.9.0 h1:PmZlKwcjR2KqjhDCPcWDMyZYaspXCshkeQ+bfHAg+nM= +code.cloudfoundry.org/bytefmt v0.9.0/go.mod h1:WEpQg+9NS7k9tV66pocDKhliJWLTXwB8C5rL5isF8nc= dmitri.shuralyov.com/gpu/mtl v0.0.0-20201218220906-28db891af037/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= dmitri.shuralyov.com/gpu/mtl v0.0.0-20221208032759-85de2813cf6b/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= eliasnaur.com/font v0.0.0-20230308162249-dd43949cb42d/go.mod h1:OYVuxibdk9OSLX8vAqydtRPP87PyTFcT9uH3MlEGBQA= @@ -417,8 +417,8 @@ github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian/v3 v3.3.3 h1:DIhPTQrbPkgs2yJYdXU/eNACCG5DVQjySNRNlflZ9Fc= github.com/google/martian/v3 v3.3.3/go.mod h1:iEPrYcgCF7jA9OtScMFQyAlZZ4YXTKEtJ1E6RWzmBA0= -github.com/google/pprof v0.0.0-20240910150728-a0b0bb1d4134 h1:c5FlPPgxOn7kJz3VoPLkQYQXGBS3EklQ4Zfi57uOuqQ= -github.com/google/pprof v0.0.0-20240910150728-a0b0bb1d4134/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144= +github.com/google/pprof v0.0.0-20240903155634-a8630aee4ab9 h1:q5g0N9eal4bmJwXHC5z0QCKs8qhS35hFfq0BAYsIwZI= +github.com/google/pprof v0.0.0-20240903155634-a8630aee4ab9/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144= github.com/google/s2a-go v0.1.3/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A= github.com/google/s2a-go v0.1.4/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A= github.com/google/s2a-go v0.1.7/go.mod h1:50CgR4k1jNlWBu4UfS4AcfhVe1r6pdZPygJ3R8F0Qdw= @@ -439,9 +439,8 @@ github.com/googleapis/enterprise-certificate-proxy v0.2.3/go.mod h1:AwSRAtLfXpU5 github.com/googleapis/enterprise-certificate-proxy v0.2.4/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= github.com/googleapis/enterprise-certificate-proxy v0.3.1/go.mod h1:VLSiSSBs/ksPL8kq3OBOQ6WRI2QnaFynd1DCjZ62+V0= github.com/googleapis/enterprise-certificate-proxy v0.3.2/go.mod h1:VLSiSSBs/ksPL8kq3OBOQ6WRI2QnaFynd1DCjZ62+V0= +github.com/googleapis/enterprise-certificate-proxy v0.3.3 h1:QRje2j5GZimBzlbhGA2V2QlGNgL8G6e+wGo/+/2bWI0= github.com/googleapis/enterprise-certificate-proxy v0.3.3/go.mod h1:YKe7cfqYXjKGpGvmSg28/fFvhNzinZQm8DGnaburhGA= -github.com/googleapis/enterprise-certificate-proxy v0.3.4 h1:XYIDZApgAnrN1c855gTgghdIA6Stxb52D5RnLI1SLyw= -github.com/googleapis/enterprise-certificate-proxy v0.3.4/go.mod h1:YKe7cfqYXjKGpGvmSg28/fFvhNzinZQm8DGnaburhGA= github.com/googleapis/gax-go/v2 v2.13.0 h1:yitjD5f7jQHhyDsnhKEBU52NdvvdSeGzlAnDPT0hH1s= github.com/googleapis/gax-go/v2 v2.13.0/go.mod h1:Z/fvTZXF8/uw7Xu5GuslPw+bplx6SS338j1Is2S+B7A= github.com/googleapis/google-cloud-go-testing v0.0.0-20210719221736-1c9a4c676720/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= @@ -493,16 +492,16 @@ github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:C github.com/kisielk/errcheck v1.7.0/go.mod h1:1kLL+jV4e+CFfueBmI1dSK2ADDyQnlrnrY/FqKluHJQ= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/klauspost/asmfmt v1.3.2/go.mod h1:AG8TuvYojzulgDAMCnYn50l/5QV3Bs/tp6j0HLHbNSE= -github.com/klauspost/compress v1.17.10-0.20240911134657-51aa0ecb46a9 h1:LCVgxJhF5Dlzgea9oMdWiqNlRQV0srnLp6sKm1aj6sU= -github.com/klauspost/compress v1.17.10-0.20240911134657-51aa0ecb46a9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= +github.com/klauspost/compress v1.17.10-0.20240903161129-13c124496702 h1:q44xybtNinH6elZBfsrq3nMeepSAxGG0vHf2dupILU4= +github.com/klauspost/compress v1.17.10-0.20240903161129-13c124496702/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/klauspost/cpuid/v2 v2.2.8 h1:+StwCXwm9PdpiEkPyzBXIy+M9KUb4ODm0Zarf1kS5BM= github.com/klauspost/cpuid/v2 v2.2.8/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= github.com/kpango/fastime v1.1.9 h1:xVQHcqyPt5M69DyFH7g1EPRns1YQNap9d5eLhl/Jy84= github.com/kpango/fastime v1.1.9/go.mod h1:vyD7FnUn08zxY4b/QFBZVG+9EWMYsNl+QF0uE46urD4= github.com/kpango/fuid v0.0.0-20221203053508-503b5ad89aa1 h1:rxyM+7uaZQ35P9fbixdnld/h4AgEhODoubuy6A4nDdk= github.com/kpango/fuid v0.0.0-20221203053508-503b5ad89aa1/go.mod h1:CAYeq6us9NfnRkSz67/xKVIR6/vaY5ZQZRe6IVcaIKg= -github.com/kpango/gache/v2 v2.0.10 h1:GgbG57FFYljnPOcWIgquP4+Fsp9kccTZ/5tsu+zHMyU= -github.com/kpango/gache/v2 v2.0.10/go.mod h1:0YTbg//JH4Zylm/8LNHRaSbiXphcFStdVhiftgVpPds= +github.com/kpango/gache/v2 v2.0.9 h1:iov+hbPaKXDVjAFxmJ52Oso2VZyhcMiUkNlkq+OwylM= +github.com/kpango/gache/v2 v2.0.9/go.mod h1:5AWVWlHau1dwI9Hzf+NZc4rPTwxM3SVwJQgob/OyAjQ= github.com/kpango/glg v1.6.15 h1:nw0xSxpSyrDIWHeb3dvnE08PW+SCbK+aYFETT75IeLA= github.com/kpango/glg v1.6.15/go.mod h1:cmsc7Yeu8AS3wHLmN7bhwENXOpxfq+QoqxCIk2FneRk= github.com/kpango/go-hostpool v0.0.0-20210303030322-aab80263dcd0 h1:orIEVdc68woWO1ZyYWEVOl5Kl33eDjP+kbxgbdpMwi4= @@ -656,28 +655,28 @@ go.etcd.io/bbolt v1.3.11 h1:yGEzV1wPz2yVCLsD8ZAiGHhHVlczyC9d1rP43/VCRJ0= go.etcd.io/bbolt v1.3.11/go.mod h1:dksAq7YMXoljX0xu6VF5DMZGbhYYoLUalEiSySYAS4I= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.55.0 h1:hCq2hNMwsegUvPzI7sPOvtO9cqyy5GbWt/Ybp2xrx8Q= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.55.0/go.mod h1:LqaApwGx/oUmzsbqxkzuBvyoPpkxk3JQWnqfVrJ3wCA= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 h1:r6I7RJCN86bpD/FQwedZ0vSixDpwuWREjW9oRMsmqDc= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0/go.mod h1:B9yO6b04uB80CzjedvewuqDhxJxi11s7/GtiGa8bAjI= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0/go.mod h1:p8pYQP+m5XfbZm9fxtSKAbM6oIllS7s2AfxrChvc7iw= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.53.0/go.mod h1:jjdQuTGVsXV4vSs+CJ2qYDeDPf9yIJV23qlIzBm73Vg= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 h1:TT4fX+nBOA/+LUkobKGW1ydGcn+G3vRw9+g5HwCphpk= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0/go.mod h1:L7UH0GbB0p47T4Rri3uHjbpCFYrVrwc1I25QhNPiGK8= -go.opentelemetry.io/otel v1.30.0 h1:F2t8sK4qf1fAmY9ua4ohFS/K+FUuOPemHUIXHtktrts= -go.opentelemetry.io/otel v1.30.0/go.mod h1:tFw4Br9b7fOS+uEao81PJjVMjW/5fvNCbpsDIXqP0pc= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.30.0 h1:WypxHH02KX2poqqbaadmkMYalGyy/vil4HE4PM4nRJc= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.30.0/go.mod h1:U79SV99vtvGSEBeeHnpgGJfTsnsdkWLpPN/CcHAzBSI= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.30.0 h1:lsInsfvhVIfOI6qHVyysXMNDnjO9Npvl7tlDPJFBVd4= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.30.0/go.mod h1:KQsVNh4OjgjTG0G6EiNi1jVpnaeeKsKMRwbLN+f1+8M= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.30.0 h1:m0yTiGDLUvVYaTFbAvCkVYIYcvwKt3G7OLoN77NUs/8= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.30.0/go.mod h1:wBQbT4UekBfegL2nx0Xk1vBcnzyBPsIVm9hRG4fYcr4= -go.opentelemetry.io/otel/metric v1.30.0 h1:4xNulvn9gjzo4hjg+wzIKG7iNFEaBMX00Qd4QIZs7+w= -go.opentelemetry.io/otel/metric v1.30.0/go.mod h1:aXTfST94tswhWEb+5QjlSqG+cZlmyXy/u8jFpor3WqQ= -go.opentelemetry.io/otel/sdk v1.30.0 h1:cHdik6irO49R5IysVhdn8oaiR9m8XluDaJAs4DfOrYE= -go.opentelemetry.io/otel/sdk v1.30.0/go.mod h1:p14X4Ok8S+sygzblytT1nqG98QG2KYKv++HE0LY/mhg= -go.opentelemetry.io/otel/sdk/metric v1.30.0 h1:QJLT8Pe11jyHBHfSAgYH7kEmT24eX792jZO1bo4BXkM= -go.opentelemetry.io/otel/sdk/metric v1.30.0/go.mod h1:waS6P3YqFNzeP01kuo/MBBYqaoBJl7efRQHOaydhy1Y= -go.opentelemetry.io/otel/trace v1.30.0 h1:7UBkkYzeg3C7kQX8VAidWh2biiQbtAKjyIML8dQ9wmc= -go.opentelemetry.io/otel/trace v1.30.0/go.mod h1:5EyKqTzzmyqB9bwtCCq6pDLktPK6fmGf/Dph+8VI02o= +go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= +go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.29.0 h1:k6fQVDQexDE+3jG2SfCQjnHS7OamcP73YMoxEVq5B6k= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.29.0/go.mod h1:t4BrYLHU450Zo9fnydWlIuswB1bm7rM8havDpWOJeDo= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0 h1:dIIDULZJpgdiHz5tXrTgKIMLkus6jEFa7x5SOKcyR7E= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0/go.mod h1:jlRVBe7+Z1wyxFSUs48L6OBQZ5JwH2Hg/Vbl+t9rAgI= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.29.0 h1:nSiV3s7wiCam610XcLbYOmMfJxB9gO4uK3Xgv5gmTgg= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.29.0/go.mod h1:hKn/e/Nmd19/x1gvIHwtOwVWM+VhuITSWip3JUDghj0= +go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= +go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= +go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= +go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= +go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= +go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= +go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= +go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= go.opentelemetry.io/proto/otlp v1.3.1 h1:TrMUixzpM0yuc/znrFTP9MMRh8trP93mkCiDVeXrui0= go.opentelemetry.io/proto/otlp v1.3.1/go.mod h1:0X1WI4de4ZsLrrJNLAQbFeLCm3T7yBkR0XqQ7niQU+8= go.starlark.net v0.0.0-20240725214946-42030a7cedce h1:YyGqCjZtGZJ+mRPaenEiB87afEO2MFRzLiJNZ0Z0bPw= @@ -739,8 +738,8 @@ gonum.org/v1/hdf5 v0.0.0-20210714002203-8c5d23bc6946 h1:vJpL69PeUullhJyKtTjHjENE gonum.org/v1/hdf5 v0.0.0-20210714002203-8c5d23bc6946/go.mod h1:BQUWDHIAygjdt1HnUPQ0eWqLN2n5FwJycrpYUVUOx2I= gonum.org/v1/plot v0.14.0 h1:+LBDVFYwFe4LHhdP8coW6296MBEY4nQ+Y4vuUpJopcE= gonum.org/v1/plot v0.14.0/go.mod h1:MLdR9424SJed+5VqC6MsouEpig9pZX2VZ57H9ko2bXU= -google.golang.org/api v0.197.0 h1:x6CwqQLsFiA5JKAiGyGBjc2bNtHtLddhJCE2IKuhhcQ= -google.golang.org/api v0.197.0/go.mod h1:AuOuo20GoQ331nq7DquGHlU6d+2wN2fZ8O0ta60nRNw= +google.golang.org/api v0.196.0 h1:k/RafYqebaIJBO3+SMnfEGtFVlvp5vSgqTUF54UN/zg= +google.golang.org/api v0.196.0/go.mod h1:g9IL21uGkYgvQ5BZg6BAtoGJQIm8r6EgaAbpNey5wBE= google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds= google.golang.org/genproto v0.0.0-20240903143218-8af14fe29dc1 h1:BulPr26Jqjnd4eYDVe+YvyR7Yc2vJGkO5/0UxD0/jZU= google.golang.org/genproto v0.0.0-20240903143218-8af14fe29dc1/go.mod h1:hL97c3SYopEHblzpxRL4lSs523++l8DYxGM1FQiYmb4= @@ -749,8 +748,8 @@ google.golang.org/genproto/googleapis/api v0.0.0-20240903143218-8af14fe29dc1/go. google.golang.org/genproto/googleapis/bytestream v0.0.0-20240903143218-8af14fe29dc1/go.mod h1:q0eWNnCW04EJlyrmLT+ZHsjuoUiZ36/eAEdCCezZoco= google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 h1:pPJltXNxVzT4pK9yD8vR9X75DaWYYmLGMsEvBfFQZzQ= google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.2 h1:3QdXkuq3Bkh7w+ywLdLvM56cmGvQHUMZpiCzt6Rqaoo= -google.golang.org/grpc v1.66.2/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= +google.golang.org/grpc v1.66.1 h1:hO5qAXR19+/Z44hmvIM4dQFMSYX9XcWsByfoxutBpAM= +google.golang.org/grpc v1.66.1/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= diff --git a/pkg/agent/core/ngt/service/ngt_test.go b/pkg/agent/core/ngt/service/ngt_test.go index e85c19993f..8b2b1cbf79 100644 --- a/pkg/agent/core/ngt/service/ngt_test.go +++ b/pkg/agent/core/ngt/service/ngt_test.go @@ -36,6 +36,7 @@ import ( core "github.com/vdaas/vald/internal/core/algorithm/ngt" "github.com/vdaas/vald/internal/errors" "github.com/vdaas/vald/internal/file" + "github.com/vdaas/vald/internal/k8s/vald" kvald "github.com/vdaas/vald/internal/k8s/vald" "github.com/vdaas/vald/internal/log" "github.com/vdaas/vald/internal/net/grpc" diff --git a/rust/Cargo.lock b/rust/Cargo.lock index 56382d5f4e..f48cfd2328 100644 --- a/rust/Cargo.lock +++ b/rust/Cargo.lock @@ -4,19 +4,13 @@ version = 3 [[package]] name = "addr2line" -version = "0.22.0" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" +checksum = "f5fb1d8e4442bd405fdfd1dacb42792696b0cf9cb15882e5d097b742a676d375" dependencies = [ "gimli", ] -[[package]] -name = "adler" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" - [[package]] name = "adler2" version = "2.0.0" @@ -28,125 +22,26 @@ name = "agent" version = "0.1.0" dependencies = [ "algorithm", - "anyhow", - "cargo", - "prost 0.13.1", - "prost-types", + "prost 0.13.2", "proto", "tokio", "tokio-stream", "tonic 0.12.2", - "tonic-types", -] - -[[package]] -name = "ahash" -version = "0.8.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" -dependencies = [ - "cfg-if", - "once_cell", - "version_check", - "zerocopy", -] - -[[package]] -name = "aho-corasick" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" -dependencies = [ - "memchr", ] [[package]] name = "algorithm" version = "0.1.0" dependencies = [ - "anyhow", "faiss", "ngt", - "proto", - "tonic 0.12.2", -] - -[[package]] -name = "allocator-api2" -version = "0.2.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" - -[[package]] -name = "annotate-snippets" -version = "0.11.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24e35ed54e5ea7997c14ed4c70ba043478db1112e98263b3b035907aa197d991" -dependencies = [ - "anstyle", - "unicode-width", -] - -[[package]] -name = "anstream" -version = "0.6.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526" -dependencies = [ - "anstyle", - "anstyle-parse", - "anstyle-query", - "anstyle-wincon", - "colorchoice", - "is_terminal_polyfill", - "utf8parse", -] - -[[package]] -name = "anstyle" -version = "1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1" - -[[package]] -name = "anstyle-parse" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb" -dependencies = [ - "utf8parse", -] - -[[package]] -name = "anstyle-query" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a" -dependencies = [ - "windows-sys 0.52.0", -] - -[[package]] -name = "anstyle-wincon" -version = "3.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8" -dependencies = [ - "anstyle", - "windows-sys 0.52.0", ] [[package]] name = "anyhow" -version = "1.0.86" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" - -[[package]] -name = "arc-swap" -version = "1.7.1" +version = "1.0.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457" +checksum = "10f00e1f6e58a40e807377c75c6a7f97bf9044fab57816f2414e6f5f4499d7b8" [[package]] name = "async-stream" @@ -172,9 +67,9 @@ dependencies = [ [[package]] name = "async-trait" -version = "0.1.81" +version = "0.1.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107" +checksum = "a27b8a3a6e1a44fa4c8baf1f653e4172e81486d4941f2237e20dc2d0cf4ddff1" dependencies = [ "proc-macro2", "quote", @@ -287,17 +182,17 @@ dependencies = [ [[package]] name = "backtrace" -version = "0.3.73" +version = "0.3.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a" +checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" dependencies = [ "addr2line", - "cc", "cfg-if", "libc", - "miniz_oxide 0.7.4", + "miniz_oxide", "object", "rustc-demangle", + "windows-targets 0.52.6", ] [[package]] @@ -309,12 +204,6 @@ dependencies = [ "backtrace", ] -[[package]] -name = "base16ct" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" - [[package]] name = "base64" version = "0.21.7" @@ -327,12 +216,6 @@ version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" -[[package]] -name = "base64ct" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" - [[package]] name = "bitflags" version = "1.3.2" @@ -345,35 +228,6 @@ version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" -[[package]] -name = "bitmaps" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "031043d04099746d8db04daf1fa424b2bc8bd69d92b25962dcde24da39ab64a2" -dependencies = [ - "typenum", -] - -[[package]] -name = "block-buffer" -version = "0.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" -dependencies = [ - "generic-array", -] - -[[package]] -name = "bstr" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40723b8fb387abc38f4f4a37c09073622e41dd12327033091ef8950659e6dc0c" -dependencies = [ - "memchr", - "regex-automata 0.4.7", - "serde", -] - [[package]] name = "bumpalo" version = "3.16.0" @@ -392,191 +246,12 @@ version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8318a53db07bb3f8dca91a600466bdb3f2eaadeedfdbcf02e1accbad9271ba50" -[[package]] -name = "bytesize" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3e368af43e418a04d52505cf3dbc23dda4e3407ae2fa99fd0e4f308ce546acc" - -[[package]] -name = "cargo" -version = "0.81.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f24c9dcadcdad2f6fa2553b63d5e9c9700fa6932b75d53f3b11b8aea35ebab99" -dependencies = [ - "annotate-snippets", - "anstream", - "anstyle", - "anyhow", - "base64 0.22.1", - "bytesize", - "cargo-credential", - "cargo-credential-libsecret", - "cargo-credential-macos-keychain", - "cargo-credential-wincred", - "cargo-platform", - "cargo-util", - "cargo-util-schemas", - "clap", - "color-print", - "crates-io", - "curl", - "curl-sys", - "filetime", - "flate2", - "git2", - "git2-curl", - "gix", - "glob", - "hex", - "hmac", - "home", - "http-auth", - "humantime", - "ignore", - "im-rc", - "indexmap 2.4.0", - "itertools 0.12.1", - "jobserver", - "lazycell", - "libc", - "libgit2-sys", - "memchr", - "opener", - "os_info", - "pasetors", - "pathdiff", - "rand", - "regex", - "rusqlite", - "rustfix", - "same-file", - "semver", - "serde", - "serde-untagged", - "serde_ignored", - "serde_json", - "sha1", - "shell-escape", - "supports-hyperlinks", - "supports-unicode", - "tar", - "tempfile", - "time", - "toml", - "toml_edit", - "tracing", - "tracing-chrome", - "tracing-subscriber", - "unicase", - "unicode-width", - "url", - "walkdir", - "windows-sys 0.52.0", -] - -[[package]] -name = "cargo-credential" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a3e7c625670eacbefd48f552588c491eccc79a85a96898af13af7b312d1c4cd" -dependencies = [ - "anyhow", - "libc", - "serde", - "serde_json", - "thiserror", - "time", - "windows-sys 0.52.0", -] - -[[package]] -name = "cargo-credential-libsecret" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7133c8156697989e0d3547f886083bdcb4d7463be67699c37c206152e46925b0" -dependencies = [ - "anyhow", - "cargo-credential", - "libloading", -] - -[[package]] -name = "cargo-credential-macos-keychain" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e238786dd6bc99a94a99a108a0fedcc7e786a86c81b8e9857da88ca3caac3d0" -dependencies = [ - "cargo-credential", - "security-framework", -] - -[[package]] -name = "cargo-credential-wincred" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc0e24a553bb387e22fd5a18f49b72f15db22426b5a0cd37c5fc804978f5ce13" -dependencies = [ - "cargo-credential", - "windows-sys 0.52.0", -] - -[[package]] -name = "cargo-platform" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" -dependencies = [ - "serde", -] - -[[package]] -name = "cargo-util" -version = "0.2.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14104698cb1694d43c2ff73492468ccf2bb0b047071a9838d999eeba9e984ffa" -dependencies = [ - "anyhow", - "core-foundation", - "filetime", - "hex", - "ignore", - "jobserver", - "libc", - "miow", - "same-file", - "sha2", - "shell-escape", - "tempfile", - "tracing", - "walkdir", - "windows-sys 0.52.0", -] - -[[package]] -name = "cargo-util-schemas" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34ddc7fc157e3dbbd88f05ef8be7c3ed3ecb05925a3f51f716d6103a607fb7c4" -dependencies = [ - "semver", - "serde", - "serde-untagged", - "serde-value", - "thiserror", - "toml", - "unicode-xid", - "url", -] - [[package]] name = "cc" -version = "1.1.15" +version = "1.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57b6a275aa2903740dc87da01c62040406b8812552e97129a63ea8850a17c6e6" +checksum = "b62ac837cdb5cb22e10a256099b4fc502b1dfe560cb282963a974d7abd80e476" dependencies = [ - "jobserver", - "libc", "shlex", ] @@ -586,40 +261,6 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" -[[package]] -name = "clap" -version = "4.5.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed6719fffa43d0d87e5fd8caeab59be1554fb028cd30edc88fc4369b17971019" -dependencies = [ - "clap_builder", -] - -[[package]] -name = "clap_builder" -version = "4.5.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "216aec2b177652e3846684cbfe25c9964d18ec45234f0f5da5157b207ed1aab6" -dependencies = [ - "anstream", - "anstyle", - "clap_lex", - "strsim", - "terminal_size", -] - -[[package]] -name = "clap_lex" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97" - -[[package]] -name = "clru" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbd0f76e066e64fdc5631e3bb46381254deab9ef1158292f27c8c57e3bf3fe59" - [[package]] name = "codespan-reporting" version = "0.11.1" @@ -630,39 +271,6 @@ dependencies = [ "unicode-width", ] -[[package]] -name = "color-print" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ee543c60ff3888934877a5671f45494dd27ed4ba25c6670b9a7576b7ed7a8c0" -dependencies = [ - "color-print-proc-macro", -] - -[[package]] -name = "color-print-proc-macro" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77ff1a80c5f3cb1ca7c06ffdd71b6a6dd6d8f896c42141fbd43f50ed28dcdb93" -dependencies = [ - "nom", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "colorchoice" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0" - -[[package]] -name = "const-oid" -version = "0.9.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" - [[package]] name = "core-foundation" version = "0.9.4" @@ -680,376 +288,84 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] -name = "cpufeatures" -version = "0.2.13" +name = "cxx" +version = "1.0.128" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51e852e6dc9a5bed1fae92dd2375037bf2b768725bf3be87811edee3249d09ad" +checksum = "54ccead7d199d584d139148b04b4a368d1ec7556a1d9ea2548febb1b9d49f9a4" dependencies = [ - "libc", + "cc", + "cxxbridge-flags", + "cxxbridge-macro", + "link-cplusplus", ] [[package]] -name = "crates-io" -version = "0.40.3" +name = "cxx-build" +version = "1.0.128" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b7837d3d2ea5d21a399489029609840d95608bfdf1dc5fd8604392df4b219b3" +checksum = "c77953e99f01508f89f55c494bfa867171ef3a6c8cea03d26975368f2121a5c1" dependencies = [ - "curl", - "percent-encoding", - "serde", - "serde_json", - "thiserror", - "url", + "cc", + "codespan-reporting", + "once_cell", + "proc-macro2", + "quote", + "scratch", + "syn", ] [[package]] -name = "crc32fast" -version = "1.4.2" +name = "cxxbridge-flags" +version = "1.0.128" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" -dependencies = [ - "cfg-if", -] +checksum = "65777e06cc48f0cb0152024c77d6cf9e4bdb4408e7b48bea993d42fa0f5b02b6" [[package]] -name = "crossbeam-channel" -version = "0.5.13" +name = "cxxbridge-macro" +version = "1.0.128" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" +checksum = "98532a60dedaebc4848cb2cba5023337cc9ea3af16a5b062633fabfd9f18fb60" dependencies = [ - "crossbeam-utils", + "proc-macro2", + "quote", + "syn", ] [[package]] -name = "crossbeam-deque" -version = "0.8.5" +name = "either" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" -dependencies = [ - "crossbeam-epoch", - "crossbeam-utils", -] +checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" [[package]] -name = "crossbeam-epoch" -version = "0.9.18" +name = "encoding_rs" +version = "0.8.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" +checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" dependencies = [ - "crossbeam-utils", + "cfg-if", ] [[package]] -name = "crossbeam-utils" -version = "0.8.20" +name = "equivalent" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] -name = "crypto-bigint" -version = "0.5.5" +name = "errno" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" +checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" dependencies = [ - "generic-array", - "rand_core", - "subtle", - "zeroize", -] - -[[package]] -name = "crypto-common" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" -dependencies = [ - "generic-array", - "typenum", -] - -[[package]] -name = "ct-codecs" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3b7eb4404b8195a9abb6356f4ac07d8ba267045c8d6d220ac4dc992e6cc75df" - -[[package]] -name = "curl" -version = "0.4.46" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e2161dd6eba090ff1594084e95fd67aeccf04382ffea77999ea94ed42ec67b6" -dependencies = [ - "curl-sys", - "libc", - "openssl-probe", - "openssl-sys", - "schannel", - "socket2", - "windows-sys 0.52.0", -] - -[[package]] -name = "curl-sys" -version = "0.4.74+curl-8.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8af10b986114528fcdc4b63b6f5f021b7057618411046a4de2ba0f0149a097bf" -dependencies = [ - "cc", - "libc", - "libnghttp2-sys", - "libz-sys", - "openssl-sys", - "pkg-config", - "vcpkg", - "windows-sys 0.52.0", -] - -[[package]] -name = "cxx" -version = "1.0.126" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c4eae4b7fc8dcb0032eb3b1beee46b38d371cdeaf2d0c64b9944f6f69ad7755" -dependencies = [ - "cc", - "cxxbridge-flags", - "cxxbridge-macro", - "link-cplusplus", -] - -[[package]] -name = "cxx-build" -version = "1.0.126" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c822bf7fb755d97328d6c337120b6f843678178751cba33c9da25cf522272e0" -dependencies = [ - "cc", - "codespan-reporting", - "once_cell", - "proc-macro2", - "quote", - "scratch", - "syn", -] - -[[package]] -name = "cxxbridge-flags" -version = "1.0.126" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "719d6197dc016c88744aff3c0d0340a01ecce12e8939fc282e7c8f583ee64bc6" - -[[package]] -name = "cxxbridge-macro" -version = "1.0.126" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35de3b547387863c8f82013c4f79f1c2162edee956383e4089e1d04c18c4f16c" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "dbus" -version = "0.9.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bb21987b9fb1613058ba3843121dd18b163b254d8a6e797e144cbac14d96d1b" -dependencies = [ - "libc", - "libdbus-sys", - "winapi", -] - -[[package]] -name = "der" -version = "0.7.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" -dependencies = [ - "const-oid", - "pem-rfc7468", - "zeroize", -] - -[[package]] -name = "deranged" -version = "0.3.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" -dependencies = [ - "powerfmt", - "serde", -] - -[[package]] -name = "digest" -version = "0.10.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" -dependencies = [ - "block-buffer", - "const-oid", - "crypto-common", - "subtle", -] - -[[package]] -name = "dunce" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" - -[[package]] -name = "ecdsa" -version = "0.16.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" -dependencies = [ - "der", - "digest", - "elliptic-curve", - "rfc6979", - "signature", - "spki", -] - -[[package]] -name = "ed25519-compact" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9b3460f44bea8cd47f45a0c70892f1eff856d97cd55358b2f73f663789f6190" -dependencies = [ - "getrandom", -] - -[[package]] -name = "either" -version = "1.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" - -[[package]] -name = "elliptic-curve" -version = "0.13.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" -dependencies = [ - "base16ct", - "crypto-bigint", - "digest", - "ff", - "generic-array", - "group", - "hkdf", - "pem-rfc7468", - "pkcs8", - "rand_core", - "sec1", - "subtle", - "zeroize", -] - -[[package]] -name = "encoding_rs" -version = "0.8.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "equivalent" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" - -[[package]] -name = "erased-serde" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24e2389d65ab4fab27dc2a5de7b191e1f6617d1f1c8855c0dc569c94a4cbb18d" -dependencies = [ - "serde", - "typeid", -] - -[[package]] -name = "errno" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" -dependencies = [ - "libc", - "windows-sys 0.52.0", + "libc", + "windows-sys 0.52.0", ] [[package]] name = "faiss" version = "0.1.0" -[[package]] -name = "fallible-iterator" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649" - -[[package]] -name = "fallible-streaming-iterator" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a" - -[[package]] -name = "faster-hex" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2a2b11eda1d40935b26cf18f6833c526845ae8c41e58d09af6adeb6f0269183" - -[[package]] -name = "fastrand" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6" - -[[package]] -name = "ff" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" -dependencies = [ - "rand_core", - "subtle", -] - -[[package]] -name = "fiat-crypto" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" - -[[package]] -name = "filetime" -version = "0.2.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586" -dependencies = [ - "cfg-if", - "libc", - "libredox", - "windows-sys 0.59.0", -] - -[[package]] -name = "flate2" -version = "1.0.33" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "324a1be68054ef05ad64b861cc9eaf1d623d2d8cb25b4bf2cb9cdd902b4bf253" -dependencies = [ - "crc32fast", - "libz-sys", - "miniz_oxide 0.8.0", -] - [[package]] name = "fnv" version = "1.0.7" @@ -1077,897 +393,82 @@ dependencies = [ [[package]] name = "futures-core" version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" - -[[package]] -name = "futures-executor" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" -dependencies = [ - "futures-core", - "futures-task", - "futures-util", -] - -[[package]] -name = "futures-io" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" - -[[package]] -name = "futures-macro" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "futures-sink" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" - -[[package]] -name = "futures-task" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" - -[[package]] -name = "futures-util" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" -dependencies = [ - "futures-core", - "futures-io", - "futures-macro", - "futures-sink", - "futures-task", - "memchr", - "pin-project-lite", - "pin-utils", - "slab", -] - -[[package]] -name = "generic-array" -version = "0.14.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" -dependencies = [ - "typenum", - "version_check", - "zeroize", -] - -[[package]] -name = "getrandom" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" -dependencies = [ - "cfg-if", - "js-sys", - "libc", - "wasi", - "wasm-bindgen", -] - -[[package]] -name = "gimli" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" - -[[package]] -name = "git2" -version = "0.18.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "232e6a7bfe35766bf715e55a88b39a700596c0ccfd88cd3680b4cdb40d66ef70" -dependencies = [ - "bitflags 2.6.0", - "libc", - "libgit2-sys", - "log", - "openssl-probe", - "openssl-sys", - "url", -] - -[[package]] -name = "git2-curl" -version = "0.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78e26b61608c573ffd26fc79061a823aa5147449a1afe1f61679a21e2031f7c3" -dependencies = [ - "curl", - "git2", - "log", - "url", -] - -[[package]] -name = "gix" -version = "0.63.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "984c5018adfa7a4536ade67990b3ebc6e11ab57b3d6cd9968de0947ca99b4b06" -dependencies = [ - "gix-actor", - "gix-attributes", - "gix-command", - "gix-commitgraph", - "gix-config", - "gix-credentials", - "gix-date 0.8.7", - "gix-diff", - "gix-dir", - "gix-discover", - "gix-features", - "gix-filter", - "gix-fs", - "gix-glob", - "gix-hash", - "gix-hashtable", - "gix-ignore", - "gix-index", - "gix-lock", - "gix-macros", - "gix-negotiate", - "gix-object", - "gix-odb", - "gix-pack", - "gix-path", - "gix-pathspec", - "gix-prompt", - "gix-protocol", - "gix-ref", - "gix-refspec", - "gix-revision", - "gix-revwalk", - "gix-sec", - "gix-submodule", - "gix-tempfile", - "gix-trace", - "gix-transport", - "gix-traverse", - "gix-url", - "gix-utils", - "gix-validate", - "gix-worktree", - "once_cell", - "parking_lot", - "prodash", - "smallvec", - "thiserror", -] - -[[package]] -name = "gix-actor" -version = "0.31.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0e454357e34b833cc3a00b6efbbd3dd4d18b24b9fb0c023876ec2645e8aa3f2" -dependencies = [ - "bstr", - "gix-date 0.8.7", - "gix-utils", - "itoa", - "thiserror", - "winnow", -] - -[[package]] -name = "gix-attributes" -version = "0.22.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebccbf25aa4a973dd352564a9000af69edca90623e8a16dad9cbc03713131311" -dependencies = [ - "bstr", - "gix-glob", - "gix-path", - "gix-quote", - "gix-trace", - "kstring", - "smallvec", - "thiserror", - "unicode-bom", -] - -[[package]] -name = "gix-bitmap" -version = "0.2.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a371db66cbd4e13f0ed9dc4c0fea712d7276805fccc877f77e96374d317e87ae" -dependencies = [ - "thiserror", -] - -[[package]] -name = "gix-chunk" -version = "0.4.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45c8751169961ba7640b513c3b24af61aa962c967aaf04116734975cd5af0c52" -dependencies = [ - "thiserror", -] - -[[package]] -name = "gix-command" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dff2e692b36bbcf09286c70803006ca3fd56551a311de450be317a0ab8ea92e7" -dependencies = [ - "bstr", - "gix-path", - "gix-trace", - "shell-words", -] - -[[package]] -name = "gix-commitgraph" -version = "0.24.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "133b06f67f565836ec0c473e2116a60fb74f80b6435e21d88013ac0e3c60fc78" -dependencies = [ - "bstr", - "gix-chunk", - "gix-features", - "gix-hash", - "memmap2", - "thiserror", -] - -[[package]] -name = "gix-config" -version = "0.37.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53fafe42957e11d98e354a66b6bd70aeea00faf2f62dd11164188224a507c840" -dependencies = [ - "bstr", - "gix-config-value", - "gix-features", - "gix-glob", - "gix-path", - "gix-ref", - "gix-sec", - "memchr", - "once_cell", - "smallvec", - "thiserror", - "unicode-bom", - "winnow", -] - -[[package]] -name = "gix-config-value" -version = "0.14.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03f76169faa0dec598eac60f83d7fcdd739ec16596eca8fb144c88973dbe6f8c" -dependencies = [ - "bitflags 2.6.0", - "bstr", - "gix-path", - "libc", - "thiserror", -] - -[[package]] -name = "gix-credentials" -version = "0.24.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ce391d305968782f1ae301c4a3d42c5701df7ff1d8bc03740300f6fd12bce78" -dependencies = [ - "bstr", - "gix-command", - "gix-config-value", - "gix-path", - "gix-prompt", - "gix-sec", - "gix-trace", - "gix-url", - "thiserror", -] - -[[package]] -name = "gix-date" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9eed6931f21491ee0aeb922751bd7ec97b4b2fe8fbfedcb678e2a2dce5f3b8c0" -dependencies = [ - "bstr", - "itoa", - "thiserror", - "time", -] - -[[package]] -name = "gix-date" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35c84b7af01e68daf7a6bb8bb909c1ff5edb3ce4326f1f43063a5a96d3c3c8a5" -dependencies = [ - "bstr", - "itoa", - "jiff", - "thiserror", -] - -[[package]] -name = "gix-diff" -version = "0.44.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1996d5c8a305b59709467d80617c9fde48d9d75fd1f4179ea970912630886c9d" -dependencies = [ - "bstr", - "gix-hash", - "gix-object", - "thiserror", -] - -[[package]] -name = "gix-dir" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60c99f8c545abd63abe541d20ab6cda347de406c0a3f1c80aadc12d9b0e94974" -dependencies = [ - "bstr", - "gix-discover", - "gix-fs", - "gix-ignore", - "gix-index", - "gix-object", - "gix-path", - "gix-pathspec", - "gix-trace", - "gix-utils", - "gix-worktree", - "thiserror", -] - -[[package]] -name = "gix-discover" -version = "0.32.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc27c699b63da66b50d50c00668bc0b7e90c3a382ef302865e891559935f3dbf" -dependencies = [ - "bstr", - "dunce", - "gix-fs", - "gix-hash", - "gix-path", - "gix-ref", - "gix-sec", - "thiserror", -] - -[[package]] -name = "gix-features" -version = "0.38.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac7045ac9fe5f9c727f38799d002a7ed3583cd777e3322a7c4b43e3cf437dc69" -dependencies = [ - "bytes", - "crc32fast", - "crossbeam-channel", - "flate2", - "gix-hash", - "gix-trace", - "gix-utils", - "libc", - "once_cell", - "parking_lot", - "prodash", - "sha1_smol", - "thiserror", - "walkdir", -] - -[[package]] -name = "gix-filter" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6547738da28275f4dff4e9f3a0f28509f53f94dd6bd822733c91cb306bca61a" -dependencies = [ - "bstr", - "encoding_rs", - "gix-attributes", - "gix-command", - "gix-hash", - "gix-object", - "gix-packetline-blocking", - "gix-path", - "gix-quote", - "gix-trace", - "gix-utils", - "smallvec", - "thiserror", -] - -[[package]] -name = "gix-fs" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2bfe6249cfea6d0c0e0990d5226a4cb36f030444ba9e35e0639275db8f98575" -dependencies = [ - "fastrand", - "gix-features", - "gix-utils", -] - -[[package]] -name = "gix-glob" -version = "0.16.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74908b4bbc0a0a40852737e5d7889f676f081e340d5451a16e5b4c50d592f111" -dependencies = [ - "bitflags 2.6.0", - "bstr", - "gix-features", - "gix-path", -] - -[[package]] -name = "gix-hash" -version = "0.14.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f93d7df7366121b5018f947a04d37f034717e113dcf9ccd85c34b58e57a74d5e" -dependencies = [ - "faster-hex", - "thiserror", -] - -[[package]] -name = "gix-hashtable" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ddf80e16f3c19ac06ce415a38b8591993d3f73aede049cb561becb5b3a8e242" -dependencies = [ - "gix-hash", - "hashbrown 0.14.5", - "parking_lot", -] - -[[package]] -name = "gix-ignore" -version = "0.11.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e447cd96598460f5906a0f6c75e950a39f98c2705fc755ad2f2020c9e937fab7" -dependencies = [ - "bstr", - "gix-glob", - "gix-path", - "gix-trace", - "unicode-bom", -] - -[[package]] -name = "gix-index" -version = "0.33.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a9a44eb55bd84bb48f8a44980e951968ced21e171b22d115d1cdcef82a7d73f" -dependencies = [ - "bitflags 2.6.0", - "bstr", - "filetime", - "fnv", - "gix-bitmap", - "gix-features", - "gix-fs", - "gix-hash", - "gix-lock", - "gix-object", - "gix-traverse", - "gix-utils", - "gix-validate", - "hashbrown 0.14.5", - "itoa", - "libc", - "memmap2", - "rustix", - "smallvec", - "thiserror", -] - -[[package]] -name = "gix-lock" -version = "14.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3bc7fe297f1f4614774989c00ec8b1add59571dc9b024b4c00acb7dedd4e19d" -dependencies = [ - "gix-tempfile", - "gix-utils", - "thiserror", -] - -[[package]] -name = "gix-macros" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "999ce923619f88194171a67fb3e6d613653b8d4d6078b529b15a765da0edcc17" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "gix-negotiate" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ec879fb6307bb63519ba89be0024c6f61b4b9d61f1a91fd2ce572d89fe9c224" -dependencies = [ - "bitflags 2.6.0", - "gix-commitgraph", - "gix-date 0.8.7", - "gix-hash", - "gix-object", - "gix-revwalk", - "smallvec", - "thiserror", -] - -[[package]] -name = "gix-object" -version = "0.42.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25da2f46b4e7c2fa7b413ce4dffb87f69eaf89c2057e386491f4c55cadbfe386" -dependencies = [ - "bstr", - "gix-actor", - "gix-date 0.8.7", - "gix-features", - "gix-hash", - "gix-utils", - "gix-validate", - "itoa", - "smallvec", - "thiserror", - "winnow", -] - -[[package]] -name = "gix-odb" -version = "0.61.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20d384fe541d93d8a3bb7d5d5ef210780d6df4f50c4e684ccba32665a5e3bc9b" -dependencies = [ - "arc-swap", - "gix-date 0.8.7", - "gix-features", - "gix-fs", - "gix-hash", - "gix-object", - "gix-pack", - "gix-path", - "gix-quote", - "parking_lot", - "tempfile", - "thiserror", -] - -[[package]] -name = "gix-pack" -version = "0.51.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e0594491fffe55df94ba1c111a6566b7f56b3f8d2e1efc750e77d572f5f5229" -dependencies = [ - "clru", - "gix-chunk", - "gix-features", - "gix-hash", - "gix-hashtable", - "gix-object", - "gix-path", - "gix-tempfile", - "memmap2", - "parking_lot", - "smallvec", - "thiserror", -] - -[[package]] -name = "gix-packetline" -version = "0.17.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c43ef4d5fe2fa222c606731c8bdbf4481413ee4ef46d61340ec39e4df4c5e49" -dependencies = [ - "bstr", - "faster-hex", - "gix-trace", - "thiserror", -] - -[[package]] -name = "gix-packetline-blocking" -version = "0.17.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9802304baa798dd6f5ff8008a2b6516d54b74a69ca2d3a2b9e2d6c3b5556b40" -dependencies = [ - "bstr", - "faster-hex", - "gix-trace", - "thiserror", -] - -[[package]] -name = "gix-path" -version = "0.10.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38d5b8722112fa2fa87135298780bc833b0e9f6c56cc82795d209804b3a03484" -dependencies = [ - "bstr", - "gix-trace", - "home", - "once_cell", - "thiserror", -] - -[[package]] -name = "gix-pathspec" -version = "0.7.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d23bf239532b4414d0e63b8ab3a65481881f7237ed9647bb10c1e3cc54c5ceb" -dependencies = [ - "bitflags 2.6.0", - "bstr", - "gix-attributes", - "gix-config-value", - "gix-glob", - "gix-path", - "thiserror", -] - -[[package]] -name = "gix-prompt" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74fde865cdb46b30d8dad1293385d9bcf998d3a39cbf41bee67d0dab026fe6b1" -dependencies = [ - "gix-command", - "gix-config-value", - "parking_lot", - "rustix", - "thiserror", -] - -[[package]] -name = "gix-protocol" -version = "0.45.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc43a1006f01b5efee22a003928c9eb83dde2f52779ded9d4c0732ad93164e3e" -dependencies = [ - "bstr", - "gix-credentials", - "gix-date 0.9.0", - "gix-features", - "gix-hash", - "gix-transport", - "gix-utils", - "maybe-async", - "thiserror", - "winnow", -] - -[[package]] -name = "gix-quote" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbff4f9b9ea3fa7a25a70ee62f545143abef624ac6aa5884344e70c8b0a1d9ff" -dependencies = [ - "bstr", - "gix-utils", - "thiserror", -] - -[[package]] -name = "gix-ref" -version = "0.44.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3394a2997e5bc6b22ebc1e1a87b41eeefbcfcff3dbfa7c4bd73cb0ac8f1f3e2e" -dependencies = [ - "gix-actor", - "gix-date 0.8.7", - "gix-features", - "gix-fs", - "gix-hash", - "gix-lock", - "gix-object", - "gix-path", - "gix-tempfile", - "gix-utils", - "gix-validate", - "memmap2", - "thiserror", - "winnow", -] - -[[package]] -name = "gix-refspec" -version = "0.23.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6868f8cd2e62555d1f7c78b784bece43ace40dd2a462daf3b588d5416e603f37" -dependencies = [ - "bstr", - "gix-hash", - "gix-revision", - "gix-validate", - "smallvec", - "thiserror", -] - -[[package]] -name = "gix-revision" -version = "0.27.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01b13e43c2118c4b0537ddac7d0821ae0dfa90b7b8dbf20c711e153fb749adce" -dependencies = [ - "bstr", - "gix-date 0.8.7", - "gix-hash", - "gix-hashtable", - "gix-object", - "gix-revwalk", - "gix-trace", - "thiserror", -] - -[[package]] -name = "gix-revwalk" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b030ccaab71af141f537e0225f19b9e74f25fefdba0372246b844491cab43e0" -dependencies = [ - "gix-commitgraph", - "gix-date 0.8.7", - "gix-hash", - "gix-hashtable", - "gix-object", - "smallvec", - "thiserror", -] - -[[package]] -name = "gix-sec" -version = "0.10.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fe4d52f30a737bbece5276fab5d3a8b276dc2650df963e293d0673be34e7a5f" -dependencies = [ - "bitflags 2.6.0", - "gix-path", - "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "gix-submodule" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "921cd49924ac14b6611b22e5fb7bbba74d8780dc7ad26153304b64d1272460ac" -dependencies = [ - "bstr", - "gix-config", - "gix-path", - "gix-pathspec", - "gix-refspec", - "gix-url", - "thiserror", -] +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" [[package]] -name = "gix-tempfile" -version = "14.0.2" +name = "futures-executor" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "046b4927969fa816a150a0cda2e62c80016fe11fb3c3184e4dddf4e542f108aa" +checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" dependencies = [ - "gix-fs", - "libc", - "once_cell", - "parking_lot", - "tempfile", + "futures-core", + "futures-task", + "futures-util", ] [[package]] -name = "gix-trace" -version = "0.1.9" +name = "futures-io" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f924267408915fddcd558e3f37295cc7d6a3e50f8bd8b606cee0808c3915157e" +checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" [[package]] -name = "gix-transport" -version = "0.42.3" +name = "futures-macro" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "421dcccab01b41a15d97b226ad97a8f9262295044e34fbd37b10e493b0a6481f" +checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ - "base64 0.22.1", - "bstr", - "curl", - "gix-command", - "gix-credentials", - "gix-features", - "gix-packetline", - "gix-quote", - "gix-sec", - "gix-url", - "thiserror", + "proc-macro2", + "quote", + "syn", ] [[package]] -name = "gix-traverse" -version = "0.39.2" +name = "futures-sink" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e499a18c511e71cf4a20413b743b9f5bcf64b3d9e81e9c3c6cd399eae55a8840" -dependencies = [ - "bitflags 2.6.0", - "gix-commitgraph", - "gix-date 0.8.7", - "gix-hash", - "gix-hashtable", - "gix-object", - "gix-revwalk", - "smallvec", - "thiserror", -] +checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" [[package]] -name = "gix-url" -version = "0.27.5" +name = "futures-task" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd280c5e84fb22e128ed2a053a0daeacb6379469be6a85e3d518a0636e160c89" -dependencies = [ - "bstr", - "gix-features", - "gix-path", - "home", - "thiserror", - "url", -] +checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" [[package]] -name = "gix-utils" -version = "0.1.12" +name = "futures-util" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35192df7fd0fa112263bad8021e2df7167df4cc2a6e6d15892e1e55621d3d4dc" +checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" dependencies = [ - "bstr", - "fastrand", - "unicode-normalization", + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", ] [[package]] -name = "gix-validate" -version = "0.8.5" +name = "getrandom" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82c27dd34a49b1addf193c92070bcbf3beaf6e10f16a78544de6372e146a0acf" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ - "bstr", - "thiserror", + "cfg-if", + "libc", + "wasi", ] [[package]] -name = "gix-worktree" -version = "0.34.1" +name = "gimli" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26f7326ebe0b9172220694ea69d344c536009a9b98fb0f9de092c440f3efe7a6" -dependencies = [ - "bstr", - "gix-attributes", - "gix-features", - "gix-fs", - "gix-glob", - "gix-hash", - "gix-ignore", - "gix-index", - "gix-object", - "gix-path", - "gix-validate", -] +checksum = "32085ea23f3234fc7846555e85283ba4de91e21016dc0455a16286d87a292d64" [[package]] name = "glob" @@ -1975,30 +476,6 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" -[[package]] -name = "globset" -version = "0.4.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57da3b9b5b85bd66f31093f8c408b90a74431672542466497dcbdfdc02034be1" -dependencies = [ - "aho-corasick", - "bstr", - "log", - "regex-automata 0.4.7", - "regex-syntax 0.8.4", -] - -[[package]] -name = "group" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" -dependencies = [ - "ff", - "rand_core", - "subtle", -] - [[package]] name = "h2" version = "0.3.26" @@ -2011,7 +488,7 @@ dependencies = [ "futures-sink", "futures-util", "http 0.2.12", - "indexmap 2.4.0", + "indexmap 2.5.0", "slab", "tokio", "tokio-util", @@ -2030,7 +507,7 @@ dependencies = [ "futures-core", "futures-sink", "http 1.1.0", - "indexmap 2.4.0", + "indexmap 2.5.0", "slab", "tokio", "tokio-util", @@ -2048,19 +525,6 @@ name = "hashbrown" version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" -dependencies = [ - "ahash", - "allocator-api2", -] - -[[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 = "hermit-abi" @@ -2068,39 +532,6 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" -[[package]] -name = "hex" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" - -[[package]] -name = "hkdf" -version = "0.12.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" -dependencies = [ - "hmac", -] - -[[package]] -name = "hmac" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" -dependencies = [ - "digest", -] - -[[package]] -name = "home" -version = "0.5.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" -dependencies = [ - "windows-sys 0.52.0", -] - [[package]] name = "http" version = "0.2.12" @@ -2123,15 +554,6 @@ dependencies = [ "itoa", ] -[[package]] -name = "http-auth" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "643c9bbf6a4ea8a656d6b4cd53d34f79e3f841ad5203c1a55fb7d761923bc255" -dependencies = [ - "memchr", -] - [[package]] name = "http-body" version = "0.4.6" @@ -2178,12 +600,6 @@ version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" -[[package]] -name = "humantime" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" - [[package]] name = "hyper" version = "0.14.30" @@ -2256,9 +672,9 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.7" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cde7055719c54e36e95e8719f95883f22072a48ede39db7fc17a4e1d5281e9b9" +checksum = "da62f120a8a37763efb0cf8fdf264b884c7b8b9ac8660b900c8661030c00e6ba" dependencies = [ "bytes", "futures-channel", @@ -2284,36 +700,6 @@ dependencies = [ "unicode-normalization", ] -[[package]] -name = "ignore" -version = "0.4.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b46810df39e66e925525d6e38ce1e7f6e1d208f72dc39757880fcb66e2c58af1" -dependencies = [ - "crossbeam-deque", - "globset", - "log", - "memchr", - "regex-automata 0.4.7", - "same-file", - "walkdir", - "winapi-util", -] - -[[package]] -name = "im-rc" -version = "15.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af1955a75fa080c677d3972822ec4bad316169ab1cfc6c257a942c2265dbe5fe" -dependencies = [ - "bitmaps", - "rand_core", - "rand_xoshiro", - "sized-chunks", - "typenum", - "version_check", -] - [[package]] name = "indexmap" version = "1.9.3" @@ -2326,9 +712,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.4.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93ead53efc7ea8ed3cfb0c79fc8023fbb782a5432b52830b6518941cebe6505c" +checksum = "68b900aa2f7301e21c36462b170ee99994de34dff39a4a6a528e80e7376d07e5" dependencies = [ "equivalent", "hashbrown 0.14.5", @@ -2336,9 +722,9 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.9.0" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" +checksum = "187674a687eed5fe42285b40c6291f9a01517d415fad1c3cbc6a9f778af7fcd4" [[package]] name = "is_ci" @@ -2346,12 +732,6 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7655c9839580ee829dfacba1d1278c2b7883e50a277ff7541299489d6bdfdc45" -[[package]] -name = "is_terminal_polyfill" -version = "1.70.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" - [[package]] name = "itertools" version = "0.12.1" @@ -2376,40 +756,6 @@ version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" -[[package]] -name = "jiff" -version = "0.1.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "362be9c702bada57298130d0565e9c389e6d4024a541692f01819e21abc3e26a" -dependencies = [ - "jiff-tzdb-platform", - "windows-sys 0.59.0", -] - -[[package]] -name = "jiff-tzdb" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05fac328b3df1c0f18a3c2ab6cb7e06e4e549f366017d796e3e66b6d6889abe6" - -[[package]] -name = "jiff-tzdb-platform" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8da387d5feaf355954c2c122c194d6df9c57d865125a67984bb453db5336940" -dependencies = [ - "jiff-tzdb", -] - -[[package]] -name = "jobserver" -version = "0.1.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" -dependencies = [ - "libc", -] - [[package]] name = "js-sys" version = "0.3.70" @@ -2419,125 +765,18 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "kstring" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "558bf9508a558512042d3095138b1f7b8fe90c5467d94f9f1da28b3731c5dbd1" -dependencies = [ - "static_assertions", -] - [[package]] name = "lazy_static" version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" -[[package]] -name = "lazycell" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" - [[package]] name = "libc" version = "0.2.158" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439" -[[package]] -name = "libdbus-sys" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06085512b750d640299b79be4bad3d2fa90a9c00b1fd9e1b46364f66f0485c72" -dependencies = [ - "cc", - "pkg-config", -] - -[[package]] -name = "libgit2-sys" -version = "0.16.2+1.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee4126d8b4ee5c9d9ea891dd875cfdc1e9d0950437179104b183d7d8a74d24e8" -dependencies = [ - "cc", - "libc", - "libssh2-sys", - "libz-sys", - "openssl-sys", - "pkg-config", -] - -[[package]] -name = "libloading" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4" -dependencies = [ - "cfg-if", - "windows-targets 0.52.6", -] - -[[package]] -name = "libnghttp2-sys" -version = "0.1.10+1.61.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "959c25552127d2e1fa72f0e52548ec04fc386e827ba71a7bd01db46a447dc135" -dependencies = [ - "cc", - "libc", -] - -[[package]] -name = "libredox" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" -dependencies = [ - "bitflags 2.6.0", - "libc", - "redox_syscall", -] - -[[package]] -name = "libsqlite3-sys" -version = "0.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c10584274047cb335c23d3e61bcef8e323adae7c5c8c760540f73610177fc3f" -dependencies = [ - "cc", - "pkg-config", - "vcpkg", -] - -[[package]] -name = "libssh2-sys" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dc8a030b787e2119a731f1951d6a773e2280c660f8ec4b0f5e1505a386e71ee" -dependencies = [ - "cc", - "libc", - "libz-sys", - "openssl-sys", - "pkg-config", - "vcpkg", -] - -[[package]] -name = "libz-sys" -version = "1.1.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2d16453e800a8cf6dd2fc3eb4bc99b786a9b90c663b8559a5b1a041bf89e472" -dependencies = [ - "cc", - "libc", - "pkg-config", - "vcpkg", -] - [[package]] name = "link-cplusplus" version = "1.0.9" @@ -2569,55 +808,17 @@ version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" -[[package]] -name = "matchers" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" -dependencies = [ - "regex-automata 0.1.10", -] - [[package]] name = "matchit" version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" - -[[package]] -name = "maybe-async" -version = "0.2.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cf92c10c7e361d6b99666ec1c6f9805b0bea2c3bd8c78dc6fe98ac5bd78db11" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "memchr" -version = "2.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" - -[[package]] -name = "memmap2" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe751422e4a8caa417e13c3ea66452215d7d63e19e604f4980461212f3ae1322" -dependencies = [ - "libc", -] +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" [[package]] -name = "meta" -version = "0.1.0" -dependencies = [ - "proto", - "tokio", - "tonic 0.12.2", -] +name = "memchr" +version = "2.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" [[package]] name = "miette" @@ -2656,21 +857,6 @@ version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" -[[package]] -name = "minimal-lexical" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" - -[[package]] -name = "miniz_oxide" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08" -dependencies = [ - "adler", -] - [[package]] name = "miniz_oxide" version = "0.8.0" @@ -2692,15 +878,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "miow" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "359f76430b20a79f9e20e115b3428614e654f04fab314482fc0fda0ebd3c6044" -dependencies = [ - "windows-sys 0.48.0", -] - [[package]] name = "ngt" version = "0.1.0" @@ -2712,41 +889,6 @@ dependencies = [ "rand", ] -[[package]] -name = "nom" -version = "7.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" -dependencies = [ - "memchr", - "minimal-lexical", -] - -[[package]] -name = "normpath" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8911957c4b1549ac0dc74e30db9c8b0e66ddcd6d7acc33098f4c63a64a6d7ed" -dependencies = [ - "windows-sys 0.59.0", -] - -[[package]] -name = "nu-ansi-term" -version = "0.46.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" -dependencies = [ - "overload", - "winapi", -] - -[[package]] -name = "num-conv" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" - [[package]] name = "num-traits" version = "0.2.19" @@ -2756,20 +898,11 @@ dependencies = [ "autocfg", ] -[[package]] -name = "num_threads" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9" -dependencies = [ - "libc", -] - [[package]] name = "object" -version = "0.36.3" +version = "0.36.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27b64972346851a39438c60b341ebc01bba47464ae329e55cf343eb93964efd9" +checksum = "084f1a5821ac4c651660a94a7153d27ac9d8a53736203f58b31945ded098070a" dependencies = [ "memchr", ] @@ -2796,36 +929,6 @@ version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" -[[package]] -name = "opener" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0812e5e4df08da354c851a3376fead46db31c2214f849d3de356d774d057681" -dependencies = [ - "bstr", - "dbus", - "normpath", - "windows-sys 0.59.0", -] - -[[package]] -name = "openssl-probe" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" - -[[package]] -name = "openssl-sys" -version = "0.9.103" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f9e8deee91df40a943c71b917e5874b951d32a802526c85721ce3b776c929d6" -dependencies = [ - "cc", - "libc", - "pkg-config", - "vcpkg", -] - [[package]] name = "opentelemetry" version = "0.23.0" @@ -2905,7 +1008,7 @@ dependencies = [ "lazy_static", "once_cell", "opentelemetry", - "ordered-float 4.2.2", + "ordered-float", "percent-encoding", "rand", "serde_json", @@ -2914,15 +1017,6 @@ dependencies = [ "tokio-stream", ] -[[package]] -name = "ordered-float" -version = "2.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68f19d67e5a2795c94e73e0bb1cc1a7edeb2e28efd39e2e1c9b7a40c1108b11c" -dependencies = [ - "num-traits", -] - [[package]] name = "ordered-float" version = "4.2.2" @@ -2932,51 +1026,12 @@ dependencies = [ "num-traits", ] -[[package]] -name = "orion" -version = "0.17.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7abdb10181903c8c4b016ba45d6d6d5af1a1e2a461aa4763a83b87f5df4695e5" -dependencies = [ - "fiat-crypto", - "subtle", - "zeroize", -] - -[[package]] -name = "os_info" -version = "3.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae99c7fa6dd38c7cafe1ec085e804f8f555a2f8659b0dbe03f1f9963a9b51092" -dependencies = [ - "log", - "windows-sys 0.52.0", -] - -[[package]] -name = "overload" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" - [[package]] name = "owo-colors" version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "caff54706df99d2a78a5a4e3455ff45448d81ef1bb63c22cd14052ca0e993a3f" -[[package]] -name = "p384" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70786f51bcc69f6a4c0360e063a4cac5419ef7c5cd5b3c99ad70f3be5ba79209" -dependencies = [ - "ecdsa", - "elliptic-curve", - "primeorder", - "sha2", -] - [[package]] name = "parking_lot" version = "0.12.3" @@ -3000,48 +1055,12 @@ dependencies = [ "windows-targets 0.52.6", ] -[[package]] -name = "pasetors" -version = "0.6.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b36d47c66f2230dd1b7143d9afb2b4891879020210eddf2ccb624e529b96dba" -dependencies = [ - "ct-codecs", - "ed25519-compact", - "getrandom", - "orion", - "p384", - "rand_core", - "regex", - "serde", - "serde_json", - "sha2", - "subtle", - "time", - "zeroize", -] - [[package]] name = "paste" version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" -[[package]] -name = "pathdiff" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd" - -[[package]] -name = "pem-rfc7468" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" -dependencies = [ - "base64ct", -] - [[package]] name = "percent-encoding" version = "2.3.1" @@ -3080,28 +1099,6 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" -[[package]] -name = "pkcs8" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" -dependencies = [ - "der", - "spki", -] - -[[package]] -name = "pkg-config" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" - -[[package]] -name = "powerfmt" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" - [[package]] name = "ppv-lite86" version = "0.2.20" @@ -3111,15 +1108,6 @@ dependencies = [ "zerocopy", ] -[[package]] -name = "primeorder" -version = "0.13.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6" -dependencies = [ - "elliptic-curve", -] - [[package]] name = "proc-macro2" version = "1.0.86" @@ -3129,15 +1117,6 @@ dependencies = [ "unicode-ident", ] -[[package]] -name = "prodash" -version = "28.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "744a264d26b88a6a7e37cbad97953fa233b94d585236310bcbc88474b4092d79" -dependencies = [ - "parking_lot", -] - [[package]] name = "prost" version = "0.12.6" @@ -3150,12 +1129,12 @@ dependencies = [ [[package]] name = "prost" -version = "0.13.1" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13db3d3fde688c61e2446b4d843bc27a7e8af269a69440c0308021dc92333cc" +checksum = "3b2ecbe40f08db5c006b5764a2645f7f3f141ce756412ac9e1dd6087e6d32995" dependencies = [ "bytes", - "prost-derive 0.13.1", + "prost-derive 0.13.2", ] [[package]] @@ -3173,9 +1152,9 @@ dependencies = [ [[package]] name = "prost-derive" -version = "0.13.1" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18bec9b0adc4eba778b33684b7ba3e7137789434769ee3ce3930463ef904cfca" +checksum = "acf0c195eebb4af52c752bec4f52f645da98b6e92077a04110c7f349477ae5ac" dependencies = [ "anyhow", "itertools 0.13.0", @@ -3186,11 +1165,11 @@ dependencies = [ [[package]] name = "prost-types" -version = "0.13.1" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cee5168b05f49d4b0ca581206eb14a7b22fafd963efe729ac48eb03266e25cc2" +checksum = "60caa6738c7369b940c3d49246a8d1749323674c65cb13010134f5c9bad5b519" dependencies = [ - "prost 0.13.1", + "prost 0.13.2", ] [[package]] @@ -3198,8 +1177,7 @@ name = "proto" version = "0.1.0" dependencies = [ "futures-core", - "prost 0.13.1", - "prost-types", + "prost 0.13.2", "tonic 0.12.2", "tonic-types", ] @@ -3243,15 +1221,6 @@ dependencies = [ "getrandom", ] -[[package]] -name = "rand_xoshiro" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f97cdb2a36ed4183de61b2f824cc45c9f1037f28afe0a322e9fff4c108b5aaa" -dependencies = [ - "rand_core", -] - [[package]] name = "redox_syscall" version = "0.5.3" @@ -3261,50 +1230,6 @@ dependencies = [ "bitflags 2.6.0", ] -[[package]] -name = "regex" -version = "1.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619" -dependencies = [ - "aho-corasick", - "memchr", - "regex-automata 0.4.7", - "regex-syntax 0.8.4", -] - -[[package]] -name = "regex-automata" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" -dependencies = [ - "regex-syntax 0.6.29", -] - -[[package]] -name = "regex-automata" -version = "0.4.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" -dependencies = [ - "aho-corasick", - "memchr", - "regex-syntax 0.8.4", -] - -[[package]] -name = "regex-syntax" -version = "0.6.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" - -[[package]] -name = "regex-syntax" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" - [[package]] name = "reqwest" version = "0.11.27" @@ -3338,207 +1263,77 @@ dependencies = [ "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "winreg", -] - -[[package]] -name = "rfc6979" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" -dependencies = [ - "hmac", - "subtle", -] - -[[package]] -name = "rusqlite" -version = "0.31.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b838eba278d213a8beaf485bd313fd580ca4505a00d5871caeb1457c55322cae" -dependencies = [ - "bitflags 2.6.0", - "fallible-iterator", - "fallible-streaming-iterator", - "hashlink", - "libsqlite3-sys", - "smallvec", -] - -[[package]] -name = "rustc-demangle" -version = "0.1.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" - -[[package]] -name = "rustfix" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cef0c817217c330b3ef879e06455d726c1cffc800eaf7734d3b4ac63213636b" -dependencies = [ - "serde", - "serde_json", - "thiserror", - "tracing", -] - -[[package]] -name = "rustix" -version = "0.38.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a85d50532239da68e9addb745ba38ff4612a242c1c7ceea689c4bc7c2f43c36f" -dependencies = [ - "bitflags 2.6.0", - "errno", - "libc", - "linux-raw-sys", - "windows-sys 0.52.0", -] - -[[package]] -name = "rustversion" -version = "1.0.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" - -[[package]] -name = "ryu" -version = "1.0.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" - -[[package]] -name = "same-file" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" -dependencies = [ - "winapi-util", -] - -[[package]] -name = "schannel" -version = "0.1.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" -dependencies = [ - "windows-sys 0.52.0", -] - -[[package]] -name = "scopeguard" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" - -[[package]] -name = "scratch" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3cf7c11c38cb994f3d40e8a8cde3bbd1f72a435e4c49e85d6553d8312306152" + "winreg", +] [[package]] -name = "sec1" -version = "0.7.3" +name = "rustc-demangle" +version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" -dependencies = [ - "base16ct", - "der", - "generic-array", - "pkcs8", - "subtle", - "zeroize", -] +checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" [[package]] -name = "security-framework" -version = "2.11.1" +name = "rustix" +version = "0.38.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" +checksum = "3f55e80d50763938498dd5ebb18647174e0c76dc38c5505294bb224624f30f36" dependencies = [ "bitflags 2.6.0", - "core-foundation", - "core-foundation-sys", + "errno", "libc", - "security-framework-sys", + "linux-raw-sys", + "windows-sys 0.52.0", ] [[package]] -name = "security-framework-sys" -version = "2.11.1" +name = "rustversion" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75da29fe9b9b08fe9d6b22b5b4bcbc75d8db3aa31e639aa56bb62e9d46bfceaf" -dependencies = [ - "core-foundation-sys", - "libc", -] +checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" [[package]] -name = "semver" -version = "1.0.23" +name = "ryu" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" -dependencies = [ - "serde", -] +checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" [[package]] -name = "serde" -version = "1.0.209" +name = "scopeguard" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99fce0ffe7310761ca6bf9faf5115afbc19688edd00171d81b1bb1b116c63e09" -dependencies = [ - "serde_derive", -] +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] -name = "serde-untagged" -version = "0.1.6" +name = "scratch" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2676ba99bd82f75cae5cbd2c8eda6fa0b8760f18978ea840e980dd5567b5c5b6" -dependencies = [ - "erased-serde", - "serde", - "typeid", -] +checksum = "a3cf7c11c38cb994f3d40e8a8cde3bbd1f72a435e4c49e85d6553d8312306152" [[package]] -name = "serde-value" -version = "0.7.0" +name = "serde" +version = "1.0.210" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3a1a3341211875ef120e117ea7fd5228530ae7e7036a779fdc9117be6b3282c" +checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a" dependencies = [ - "ordered-float 2.10.1", - "serde", + "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.209" +version = "1.0.210" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5831b979fd7b5439637af1752d535ff49f4860c0f341d1baeb6faf0f4242170" +checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" dependencies = [ "proc-macro2", "quote", "syn", ] -[[package]] -name = "serde_ignored" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8e319a36d1b52126a0d608f24e93b2d81297091818cd70625fcf50a15d84ddf" -dependencies = [ - "serde", -] - [[package]] name = "serde_json" -version = "1.0.127" +version = "1.0.128" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8043c06d9f82bd7271361ed64f415fe5e12a77fdb52e573e7f06a516dea329ad" +checksum = "6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8" dependencies = [ "itoa", "memchr", @@ -3546,15 +1341,6 @@ dependencies = [ "serde", ] -[[package]] -name = "serde_spanned" -version = "0.6.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb5b1b31579f3811bf615c144393417496f152e12ac8b7663bf664f4a815306d" -dependencies = [ - "serde", -] - [[package]] name = "serde_urlencoded" version = "0.7.1" @@ -3567,55 +1353,6 @@ dependencies = [ "serde", ] -[[package]] -name = "sha1" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest", -] - -[[package]] -name = "sha1_smol" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbfa15b3dddfee50a0fff136974b3e1bde555604ba463834a7eb7deb6417705d" - -[[package]] -name = "sha2" -version = "0.10.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest", -] - -[[package]] -name = "sharded-slab" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" -dependencies = [ - "lazy_static", -] - -[[package]] -name = "shell-escape" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45bb67a18fa91266cc7807181f62f9178a6873bfad7dc788c42e6430db40184f" - -[[package]] -name = "shell-words" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde" - [[package]] name = "shlex" version = "1.3.0" @@ -3631,26 +1368,6 @@ dependencies = [ "libc", ] -[[package]] -name = "signature" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" -dependencies = [ - "digest", - "rand_core", -] - -[[package]] -name = "sized-chunks" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16d69225bde7a69b235da73377861095455d298f2b970996eec25ddbb42b3d1e" -dependencies = [ - "bitmaps", - "typenum", -] - [[package]] name = "slab" version = "0.4.9" @@ -3682,39 +1399,11 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "spki" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" -dependencies = [ - "base64ct", - "der", -] - -[[package]] -name = "static_assertions" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" - -[[package]] -name = "strsim" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" - -[[package]] -name = "subtle" -version = "2.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" - [[package]] name = "supports-color" -version = "3.0.0" +version = "3.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9829b314621dfc575df4e409e79f9d6a66a3bd707ab73f23cb4aa3a854ac854f" +checksum = "8775305acf21c96926c900ad056abeef436701108518cf890020387236ac5a77" dependencies = [ "is_ci", ] @@ -3733,9 +1422,9 @@ checksum = "b7401a30af6cb5818bb64852270bb722533397edcfc7344954a38f420819ece2" [[package]] name = "syn" -version = "2.0.76" +version = "2.0.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578e081a14e0cefc3279b0472138c513f37b41a08d5a3cca9b6e4e8ceb6cd525" +checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" dependencies = [ "proc-macro2", "quote", @@ -3775,29 +1464,6 @@ dependencies = [ "libc", ] -[[package]] -name = "tar" -version = "0.4.41" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb797dad5fb5b76fcf519e702f4a589483b5ef06567f160c392832c1f5e44909" -dependencies = [ - "filetime", - "libc", -] - -[[package]] -name = "tempfile" -version = "3.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04cbcdd0c794ebb0d4cf35e88edd2f7d2c4c3e9a5a6dab322839b321c6a87a64" -dependencies = [ - "cfg-if", - "fastrand", - "once_cell", - "rustix", - "windows-sys 0.59.0", -] - [[package]] name = "termcolor" version = "1.4.1" @@ -3848,49 +1514,6 @@ dependencies = [ "syn", ] -[[package]] -name = "thread_local" -version = "1.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" -dependencies = [ - "cfg-if", - "once_cell", -] - -[[package]] -name = "time" -version = "0.3.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" -dependencies = [ - "deranged", - "itoa", - "libc", - "num-conv", - "num_threads", - "powerfmt", - "serde", - "time-core", - "time-macros", -] - -[[package]] -name = "time-core" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" - -[[package]] -name = "time-macros" -version = "0.2.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" -dependencies = [ - "num-conv", - "time-core", -] - [[package]] name = "tinyvec" version = "1.8.0" @@ -3947,9 +1570,9 @@ dependencies = [ [[package]] name = "tokio-stream" -version = "0.1.15" +version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af" +checksum = "4f4e6ce100d0eb49a2734f8c0812bcd324cf357d21810932c5df6b96ef2b86f1" dependencies = [ "futures-core", "pin-project-lite", @@ -3959,9 +1582,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.11" +version = "0.7.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" +checksum = "61e7c3654c13bcd040d4a03abee2c75b1d14a37b423cf5a813ceae1cc903ec6a" dependencies = [ "bytes", "futures-core", @@ -3970,40 +1593,6 @@ dependencies = [ "tokio", ] -[[package]] -name = "toml" -version = "0.8.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e" -dependencies = [ - "serde", - "serde_spanned", - "toml_datetime", - "toml_edit", -] - -[[package]] -name = "toml_datetime" -version = "0.6.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" -dependencies = [ - "serde", -] - -[[package]] -name = "toml_edit" -version = "0.22.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "583c44c02ad26b0c3f3066fe629275e50627026c51ac2e595cca4c230ce1ce1d" -dependencies = [ - "indexmap 2.4.0", - "serde", - "serde_spanned", - "toml_datetime", - "winnow", -] - [[package]] name = "tonic" version = "0.11.0" @@ -4051,7 +1640,7 @@ dependencies = [ "hyper-util", "percent-encoding", "pin-project", - "prost 0.13.1", + "prost 0.13.2", "socket2", "tokio", "tokio-stream", @@ -4067,7 +1656,7 @@ version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d967793411bc1a5392accf4731114295f0fd122865d22cde46a8584b03402b2" dependencies = [ - "prost 0.13.1", + "prost 0.13.2", "prost-types", "tonic 0.12.2", ] @@ -4126,17 +1715,6 @@ dependencies = [ "syn", ] -[[package]] -name = "tracing-chrome" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf0a738ed5d6450a9fb96e86a23ad808de2b727fd1394585da5cdd6788ffe724" -dependencies = [ - "serde_json", - "tracing-core", - "tracing-subscriber", -] - [[package]] name = "tracing-core" version = "0.1.32" @@ -4144,36 +1722,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" dependencies = [ "once_cell", - "valuable", -] - -[[package]] -name = "tracing-log" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" -dependencies = [ - "log", - "once_cell", - "tracing-core", -] - -[[package]] -name = "tracing-subscriber" -version = "0.3.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" -dependencies = [ - "matchers", - "nu-ansi-term", - "once_cell", - "regex", - "sharded-slab", - "smallvec", - "thread_local", - "tracing", - "tracing-core", - "tracing-log", ] [[package]] @@ -4182,39 +1730,12 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" -[[package]] -name = "typeid" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e13db2e0ccd5e14a544e8a246ba2312cd25223f616442d7f2cb0e3db614236e" - -[[package]] -name = "typenum" -version = "1.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" - -[[package]] -name = "unicase" -version = "2.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89" -dependencies = [ - "version_check", -] - [[package]] name = "unicode-bidi" version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" -[[package]] -name = "unicode-bom" -version = "2.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7eec5d1121208364f6793f7d2e222bf75a915c19557537745b195b253dd64217" - [[package]] name = "unicode-ident" version = "1.0.12" @@ -4242,12 +1763,6 @@ version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" -[[package]] -name = "unicode-xid" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "229730647fbc343e3a80e463c1db7f78f3855d3f3739bee0dda773c9a037c90a" - [[package]] name = "url" version = "2.5.2" @@ -4259,40 +1774,6 @@ dependencies = [ "percent-encoding", ] -[[package]] -name = "utf8parse" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" - -[[package]] -name = "valuable" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" - -[[package]] -name = "vcpkg" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" - -[[package]] -name = "version_check" -version = "0.9.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" - -[[package]] -name = "walkdir" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" -dependencies = [ - "same-file", - "winapi-util", -] - [[package]] name = "want" version = "0.3.1" @@ -4385,22 +1866,6 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - [[package]] name = "winapi-util" version = "0.1.9" @@ -4410,12 +1875,6 @@ dependencies = [ "windows-sys 0.59.0", ] -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" - [[package]] name = "windows-sys" version = "0.48.0" @@ -4564,15 +2023,6 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" -[[package]] -name = "winnow" -version = "0.6.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68a9bda4691f099d435ad181000724da8e5899daa10713c2d432552b9ccd3a6f" -dependencies = [ - "memchr", -] - [[package]] name = "winreg" version = "0.50.0" @@ -4603,9 +2053,3 @@ dependencies = [ "quote", "syn", ] - -[[package]] -name = "zeroize" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" diff --git a/rust/libs/proto/src/filter.egress.v1.tonic.rs b/rust/libs/proto/src/filter.egress.v1.tonic.rs index 74102173ce..9627dbcf2c 100644 --- a/rust/libs/proto/src/filter.egress.v1.tonic.rs +++ b/rust/libs/proto/src/filter.egress.v1.tonic.rs @@ -17,6 +17,8 @@ pub mod filter_client { #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] use tonic::codegen::*; use tonic::codegen::http::Uri; + /** Represent the egress filter service. +*/ #[derive(Debug, Clone)] pub struct FilterClient { inner: tonic::client::Grpc, @@ -187,6 +189,8 @@ pub mod filter_server { tonic::Status, >; } + /** Represent the egress filter service. +*/ #[derive(Debug)] pub struct FilterServer { inner: Arc, diff --git a/rust/libs/proto/src/filter.ingress.v1.tonic.rs b/rust/libs/proto/src/filter.ingress.v1.tonic.rs index d8b462caa1..76f377386b 100644 --- a/rust/libs/proto/src/filter.ingress.v1.tonic.rs +++ b/rust/libs/proto/src/filter.ingress.v1.tonic.rs @@ -17,6 +17,8 @@ pub mod filter_client { #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] use tonic::codegen::*; use tonic::codegen::http::Uri; + /** Represent the ingress filter service. +*/ #[derive(Debug, Clone)] pub struct FilterClient { inner: tonic::client::Grpc, @@ -187,6 +189,8 @@ pub mod filter_server { tonic::Status, >; } + /** Represent the ingress filter service. +*/ #[derive(Debug)] pub struct FilterServer { inner: Arc, diff --git a/rust/libs/proto/src/payload.v1.rs b/rust/libs/proto/src/payload.v1.rs index 555cfb59d8..8d82a30417 100644 --- a/rust/libs/proto/src/payload.v1.rs +++ b/rust/libs/proto/src/payload.v1.rs @@ -30,10 +30,6 @@ pub mod search { #[prost(message, optional, tag="2")] pub config: ::core::option::Option, } -impl ::prost::Name for Request { -const NAME: &'static str = "Request"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Search.Request".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Search.Request".into() }} /// Represent the multiple search request. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -42,10 +38,6 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Search.Request".i #[prost(message, repeated, tag="1")] pub requests: ::prost::alloc::vec::Vec, } -impl ::prost::Name for MultiRequest { -const NAME: &'static str = "MultiRequest"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Search.MultiRequest".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Search.MultiRequest".into() }} /// Represent a search by ID request. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -57,10 +49,6 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Search.MultiReque #[prost(message, optional, tag="2")] pub config: ::core::option::Option, } -impl ::prost::Name for IdRequest { -const NAME: &'static str = "IDRequest"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Search.IDRequest".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Search.IDRequest".into() }} /// Represent the multiple search by ID request. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -69,10 +57,6 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Search.IDRequest" #[prost(message, repeated, tag="1")] pub requests: ::prost::alloc::vec::Vec, } -impl ::prost::Name for MultiIdRequest { -const NAME: &'static str = "MultiIDRequest"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Search.MultiIDRequest".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Search.MultiIDRequest".into() }} /// Represent a search by binary object request. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -87,10 +71,6 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Search.MultiIDReq #[prost(message, optional, tag="3")] pub vectorizer: ::core::option::Option, } -impl ::prost::Name for ObjectRequest { -const NAME: &'static str = "ObjectRequest"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Search.ObjectRequest".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Search.ObjectRequest".into() }} /// Represent the multiple search by binary object request. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -99,10 +79,6 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Search.ObjectRequ #[prost(message, repeated, tag="1")] pub requests: ::prost::alloc::vec::Vec, } -impl ::prost::Name for MultiObjectRequest { -const NAME: &'static str = "MultiObjectRequest"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Search.MultiObjectRequest".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Search.MultiObjectRequest".into() }} /// Represent search configuration. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -141,10 +117,6 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Search.MultiObjec #[prost(uint32, tag="11")] pub nprobe: u32, } -impl ::prost::Name for Config { -const NAME: &'static str = "Config"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Search.Config".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Search.Config".into() }} /// Represent a search response. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -156,10 +128,6 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Search.Config".in #[prost(message, repeated, tag="2")] pub results: ::prost::alloc::vec::Vec, } -impl ::prost::Name for Response { -const NAME: &'static str = "Response"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Search.Response".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Search.Response".into() }} /// Represent multiple search responses. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -168,10 +136,6 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Search.Response". #[prost(message, repeated, tag="1")] pub responses: ::prost::alloc::vec::Vec, } -impl ::prost::Name for Responses { -const NAME: &'static str = "Responses"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Search.Responses".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Search.Responses".into() }} /// Represent stream search response. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -192,10 +156,6 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Search.Responses" Status(super::super::super::super::google::rpc::Status), } } -impl ::prost::Name for StreamResponse { -const NAME: &'static str = "StreamResponse"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Search.StreamResponse".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Search.StreamResponse".into() }} /// AggregationAlgorithm is enum of each aggregation algorithms #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] #[repr(i32)] @@ -233,10 +193,6 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Search.StreamResp } } } -impl ::prost::Name for Search { -const NAME: &'static str = "Search"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Search".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Search".into() }} /// Filter related messages. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, Copy, PartialEq, ::prost::Message)] @@ -255,10 +211,6 @@ pub mod filter { #[prost(uint32, tag="2")] pub port: u32, } -impl ::prost::Name for Target { -const NAME: &'static str = "Target"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Filter.Target".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Filter.Target".into() }} /// Represent filter configuration. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -267,15 +219,7 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Filter.Target".in #[prost(message, repeated, tag="1")] pub targets: ::prost::alloc::vec::Vec, } -impl ::prost::Name for Config { -const NAME: &'static str = "Config"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Filter.Config".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Filter.Config".into() }} } -impl ::prost::Name for Filter { -const NAME: &'static str = "Filter"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Filter".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Filter".into() }} /// Insert related messages. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, Copy, PartialEq, ::prost::Message)] @@ -294,10 +238,6 @@ pub mod insert { #[prost(message, optional, tag="2")] pub config: ::core::option::Option, } -impl ::prost::Name for Request { -const NAME: &'static str = "Request"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Insert.Request".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Insert.Request".into() }} /// Represent the multiple insert request. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -306,10 +246,6 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Insert.Request".i #[prost(message, repeated, tag="1")] pub requests: ::prost::alloc::vec::Vec, } -impl ::prost::Name for MultiRequest { -const NAME: &'static str = "MultiRequest"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Insert.MultiRequest".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Insert.MultiRequest".into() }} /// Represent the insert by binary object request. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -324,10 +260,6 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Insert.MultiReque #[prost(message, optional, tag="3")] pub vectorizer: ::core::option::Option, } -impl ::prost::Name for ObjectRequest { -const NAME: &'static str = "ObjectRequest"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Insert.ObjectRequest".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Insert.ObjectRequest".into() }} /// Represent the multiple insert by binary object request. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -336,10 +268,6 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Insert.ObjectRequ #[prost(message, repeated, tag="1")] pub requests: ::prost::alloc::vec::Vec, } -impl ::prost::Name for MultiObjectRequest { -const NAME: &'static str = "MultiObjectRequest"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Insert.MultiObjectRequest".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Insert.MultiObjectRequest".into() }} /// Represent insert configurations. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -354,15 +282,7 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Insert.MultiObjec #[prost(int64, tag="3")] pub timestamp: i64, } -impl ::prost::Name for Config { -const NAME: &'static str = "Config"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Insert.Config".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Insert.Config".into() }} } -impl ::prost::Name for Insert { -const NAME: &'static str = "Insert"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Insert".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Insert".into() }} /// Update related messages #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, Copy, PartialEq, ::prost::Message)] @@ -381,10 +301,6 @@ pub mod update { #[prost(message, optional, tag="2")] pub config: ::core::option::Option, } -impl ::prost::Name for Request { -const NAME: &'static str = "Request"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Update.Request".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Update.Request".into() }} /// Represent the multiple update request. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -393,10 +309,6 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Update.Request".i #[prost(message, repeated, tag="1")] pub requests: ::prost::alloc::vec::Vec, } -impl ::prost::Name for MultiRequest { -const NAME: &'static str = "MultiRequest"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Update.MultiRequest".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Update.MultiRequest".into() }} /// Represent the update binary object request. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -411,10 +323,6 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Update.MultiReque #[prost(message, optional, tag="3")] pub vectorizer: ::core::option::Option, } -impl ::prost::Name for ObjectRequest { -const NAME: &'static str = "ObjectRequest"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Update.ObjectRequest".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Update.ObjectRequest".into() }} /// Represent the multiple update binary object request. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -423,10 +331,20 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Update.ObjectRequ #[prost(message, repeated, tag="1")] pub requests: ::prost::alloc::vec::Vec, } -impl ::prost::Name for MultiObjectRequest { -const NAME: &'static str = "MultiObjectRequest"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Update.MultiObjectRequest".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Update.MultiObjectRequest".into() }} + /// Represent a vector meta data. + #[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] + pub struct TimestampRequest { + /// The vector ID. + #[prost(string, tag="1")] + pub id: ::prost::alloc::string::String, + /// timestamp represents when this vector inserted. + #[prost(int64, tag="2")] + pub timestamp: i64, + /// force represents forcefully update the timestamp. + #[prost(bool, tag="3")] + pub force: bool, + } /// Represent the update configuration. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -445,15 +363,7 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Update.MultiObjec #[prost(bool, tag="4")] pub disable_balanced_update: bool, } -impl ::prost::Name for Config { -const NAME: &'static str = "Config"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Update.Config".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Update.Config".into() }} } -impl ::prost::Name for Update { -const NAME: &'static str = "Update"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Update".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Update".into() }} /// Upsert related messages. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, Copy, PartialEq, ::prost::Message)] @@ -472,10 +382,6 @@ pub mod upsert { #[prost(message, optional, tag="2")] pub config: ::core::option::Option, } -impl ::prost::Name for Request { -const NAME: &'static str = "Request"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Upsert.Request".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Upsert.Request".into() }} /// Represent mthe ultiple upsert request. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -484,10 +390,6 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Upsert.Request".i #[prost(message, repeated, tag="1")] pub requests: ::prost::alloc::vec::Vec, } -impl ::prost::Name for MultiRequest { -const NAME: &'static str = "MultiRequest"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Upsert.MultiRequest".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Upsert.MultiRequest".into() }} /// Represent the upsert binary object request. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -502,10 +404,6 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Upsert.MultiReque #[prost(message, optional, tag="3")] pub vectorizer: ::core::option::Option, } -impl ::prost::Name for ObjectRequest { -const NAME: &'static str = "ObjectRequest"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Upsert.ObjectRequest".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Upsert.ObjectRequest".into() }} /// Represent the multiple upsert binary object request. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -514,10 +412,6 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Upsert.ObjectRequ #[prost(message, repeated, tag="1")] pub requests: ::prost::alloc::vec::Vec, } -impl ::prost::Name for MultiObjectRequest { -const NAME: &'static str = "MultiObjectRequest"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Upsert.MultiObjectRequest".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Upsert.MultiObjectRequest".into() }} /// Represent the upsert configuration. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -536,15 +430,7 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Upsert.MultiObjec #[prost(bool, tag="4")] pub disable_balanced_update: bool, } -impl ::prost::Name for Config { -const NAME: &'static str = "Config"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Upsert.Config".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Upsert.Config".into() }} } -impl ::prost::Name for Upsert { -const NAME: &'static str = "Upsert"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Upsert".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Upsert".into() }} /// Remove related messages. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, Copy, PartialEq, ::prost::Message)] @@ -563,10 +449,6 @@ pub mod remove { #[prost(message, optional, tag="2")] pub config: ::core::option::Option, } -impl ::prost::Name for Request { -const NAME: &'static str = "Request"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Remove.Request".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Remove.Request".into() }} /// Represent the multiple remove request. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -575,10 +457,6 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Remove.Request".i #[prost(message, repeated, tag="1")] pub requests: ::prost::alloc::vec::Vec, } -impl ::prost::Name for MultiRequest { -const NAME: &'static str = "MultiRequest"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Remove.MultiRequest".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Remove.MultiRequest".into() }} /// Represent the remove request based on timestamp. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -588,10 +466,6 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Remove.MultiReque #[prost(message, repeated, tag="1")] pub timestamps: ::prost::alloc::vec::Vec, } -impl ::prost::Name for TimestampRequest { -const NAME: &'static str = "TimestampRequest"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Remove.TimestampRequest".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Remove.TimestampRequest".into() }} /// Represent the timestamp comparison. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, Copy, PartialEq, ::prost::Message)] @@ -653,10 +527,6 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Remove.TimestampR } } } -impl ::prost::Name for Timestamp { -const NAME: &'static str = "Timestamp"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Remove.Timestamp".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Remove.Timestamp".into() }} /// Represent the remove configuration. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, Copy, PartialEq, ::prost::Message)] @@ -668,15 +538,7 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Remove.Timestamp" #[prost(int64, tag="3")] pub timestamp: i64, } -impl ::prost::Name for Config { -const NAME: &'static str = "Config"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Remove.Config".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Remove.Config".into() }} } -impl ::prost::Name for Remove { -const NAME: &'static str = "Remove"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Remove".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Remove".into() }} /// Flush related messages. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, Copy, PartialEq, ::prost::Message)] @@ -688,15 +550,7 @@ pub mod flush { #[derive(Clone, Copy, PartialEq, ::prost::Message)] pub struct Request { } -impl ::prost::Name for Request { -const NAME: &'static str = "Request"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Flush.Request".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Flush.Request".into() }} } -impl ::prost::Name for Flush { -const NAME: &'static str = "Flush"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Flush".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Flush".into() }} /// Common messages. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, Copy, PartialEq, ::prost::Message)] @@ -715,10 +569,6 @@ pub mod object { #[prost(message, optional, tag="2")] pub filters: ::core::option::Option, } -impl ::prost::Name for VectorRequest { -const NAME: &'static str = "VectorRequest"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.VectorRequest".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object.VectorRequest".into() }} /// Represent the ID and distance pair. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -730,10 +580,6 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.VectorRequ #[prost(float, tag="2")] pub distance: f32, } -impl ::prost::Name for Distance { -const NAME: &'static str = "Distance"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.Distance".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object.Distance".into() }} /// Represent stream response of distances. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -754,10 +600,6 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.Distance". Status(super::super::super::super::google::rpc::Status), } } -impl ::prost::Name for StreamDistance { -const NAME: &'static str = "StreamDistance"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.StreamDistance".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object.StreamDistance".into() }} /// Represent the vector ID. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -765,10 +607,6 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.StreamDist #[prost(string, tag="1")] pub id: ::prost::alloc::string::String, } -impl ::prost::Name for Id { -const NAME: &'static str = "ID"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.ID".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object.ID".into() }} /// Represent multiple vector IDs. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -776,10 +614,6 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.ID".into() #[prost(string, repeated, tag="1")] pub ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } -impl ::prost::Name for IDs { -const NAME: &'static str = "IDs"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.IDs".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object.IDs".into() }} /// Represent a vector. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -794,10 +628,6 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.IDs".into( #[prost(int64, tag="3")] pub timestamp: i64, } -impl ::prost::Name for Vector { -const NAME: &'static str = "Vector"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.Vector".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object.Vector".into() }} /// Represent a request to fetch vector meta data. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -806,10 +636,6 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.Vector".in #[prost(message, optional, tag="1")] pub id: ::core::option::Option, } -impl ::prost::Name for TimestampRequest { -const NAME: &'static str = "TimestampRequest"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.TimestampRequest".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object.TimestampRequest".into() }} /// Represent a vector meta data. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -821,10 +647,6 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.TimestampR #[prost(int64, tag="2")] pub timestamp: i64, } -impl ::prost::Name for Timestamp { -const NAME: &'static str = "Timestamp"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.Timestamp".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object.Timestamp".into() }} /// Represent multiple vectors. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -832,10 +654,6 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.Timestamp" #[prost(message, repeated, tag="1")] pub vectors: ::prost::alloc::vec::Vec, } -impl ::prost::Name for Vectors { -const NAME: &'static str = "Vectors"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.Vectors".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object.Vectors".into() }} /// Represent stream response of the vector. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -856,10 +674,6 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.Vectors".i Status(super::super::super::super::google::rpc::Status), } } -impl ::prost::Name for StreamVector { -const NAME: &'static str = "StreamVector"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.StreamVector".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object.StreamVector".into() }} /// Represent reshape vector. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -871,10 +685,6 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.StreamVect #[prost(int32, repeated, tag="2")] pub shape: ::prost::alloc::vec::Vec, } -impl ::prost::Name for ReshapeVector { -const NAME: &'static str = "ReshapeVector"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.ReshapeVector".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object.ReshapeVector".into() }} /// Represent the binary object. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -886,10 +696,6 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.ReshapeVec #[prost(bytes="vec", tag="2")] pub object: ::prost::alloc::vec::Vec, } -impl ::prost::Name for Blob { -const NAME: &'static str = "Blob"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.Blob".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object.Blob".into() }} /// Represent stream response of binary objects. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -910,10 +716,6 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.Blob".into Status(super::super::super::super::google::rpc::Status), } } -impl ::prost::Name for StreamBlob { -const NAME: &'static str = "StreamBlob"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.StreamBlob".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object.StreamBlob".into() }} /// Represent the vector location. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -928,10 +730,6 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.StreamBlob #[prost(string, repeated, tag="3")] pub ips: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } -impl ::prost::Name for Location { -const NAME: &'static str = "Location"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.Location".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object.Location".into() }} /// Represent the stream response of the vector location. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -952,10 +750,6 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.Location". Status(super::super::super::super::google::rpc::Status), } } -impl ::prost::Name for StreamLocation { -const NAME: &'static str = "StreamLocation"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.StreamLocation".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object.StreamLocation".into() }} /// Represent multiple vector locations. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -963,10 +757,6 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.StreamLoca #[prost(message, repeated, tag="1")] pub locations: ::prost::alloc::vec::Vec, } -impl ::prost::Name for Locations { -const NAME: &'static str = "Locations"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.Locations".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object.Locations".into() }} /// Represent the list object vector stream request and response. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, Copy, PartialEq, ::prost::Message)] @@ -978,10 +768,6 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.Locations" #[derive(Clone, Copy, PartialEq, ::prost::Message)] pub struct Request { } -impl ::prost::Name for Request { -const NAME: &'static str = "Request"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.List.Request".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object.List.Request".into() }} #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct Response { @@ -1001,20 +787,8 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.List.Reque Status(super::super::super::super::super::google::rpc::Status), } } -impl ::prost::Name for Response { -const NAME: &'static str = "Response"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.List.Response".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object.List.Response".into() }} - } -impl ::prost::Name for List { -const NAME: &'static str = "List"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.List".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object.List".into() }} + } } -impl ::prost::Name for Object { -const NAME: &'static str = "Object"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object".into() }} /// Control related messages. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, Copy, PartialEq, ::prost::Message)] @@ -1030,15 +804,7 @@ pub mod control { #[prost(uint32, tag="1")] pub pool_size: u32, } -impl ::prost::Name for CreateIndexRequest { -const NAME: &'static str = "CreateIndexRequest"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Control.CreateIndexRequest".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Control.CreateIndexRequest".into() }} } -impl ::prost::Name for Control { -const NAME: &'static str = "Control"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Control".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Control".into() }} /// Discoverer related messages. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, Copy, PartialEq, ::prost::Message)] @@ -1060,15 +826,7 @@ pub mod discoverer { #[prost(string, tag="3")] pub node: ::prost::alloc::string::String, } -impl ::prost::Name for Request { -const NAME: &'static str = "Request"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Discoverer.Request".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Discoverer.Request".into() }} } -impl ::prost::Name for Discoverer { -const NAME: &'static str = "Discoverer"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Discoverer".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Discoverer".into() }} /// Info related messages. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, Copy, PartialEq, ::prost::Message)] @@ -1100,10 +858,6 @@ pub mod info { #[prost(bool, tag="4")] pub saving: bool, } -impl ::prost::Name for Count { -const NAME: &'static str = "Count"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Index.Count".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.Index.Count".into() }} /// Represent the index count for each Agents message. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -1118,10 +872,6 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Index.Count" #[prost(uint32, tag="3")] pub live_agents: u32, } -impl ::prost::Name for Detail { -const NAME: &'static str = "Detail"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Index.Detail".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.Index.Detail".into() }} /// Represent the UUID message. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, Copy, PartialEq, ::prost::Message)] @@ -1136,10 +886,6 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Index.Detail #[prost(string, tag="1")] pub uuid: ::prost::alloc::string::String, } -impl ::prost::Name for Committed { -const NAME: &'static str = "Committed"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Index.UUID.Committed".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.Index.UUID.Committed".into() }} /// The uncommitted UUID. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -1147,15 +893,7 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Index.UUID.C #[prost(string, tag="1")] pub uuid: ::prost::alloc::string::String, } -impl ::prost::Name for Uncommitted { -const NAME: &'static str = "Uncommitted"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Index.UUID.Uncommitted".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.Index.UUID.Uncommitted".into() }} } -impl ::prost::Name for Uuid { -const NAME: &'static str = "UUID"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Index.UUID".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.Index.UUID".into() }} /// Represents index Statistics #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -1227,10 +965,6 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Index.UUID". #[prost(uint64, repeated, tag="33")] pub indegree_histogram: ::prost::alloc::vec::Vec, } -impl ::prost::Name for Statistics { -const NAME: &'static str = "Statistics"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Index.Statistics".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.Index.Statistics".into() }} /// Represents index Statistics for each Agents #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -1239,10 +973,6 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Index.Statis #[prost(map="string, message", tag="1")] pub details: ::std::collections::HashMap<::prost::alloc::string::String, Statistics>, } -impl ::prost::Name for StatisticsDetail { -const NAME: &'static str = "StatisticsDetail"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Index.StatisticsDetail".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.Index.StatisticsDetail".into() }} /// Represents index Property #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -1316,10 +1046,6 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Index.Statis #[prost(int32, tag="34")] pub incoming_edge: i32, } -impl ::prost::Name for Property { -const NAME: &'static str = "Property"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Index.Property".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.Index.Property".into() }} /// Represents index Properties for each Agents #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -1327,15 +1053,7 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Index.Proper #[prost(map="string, message", tag="1")] pub details: ::std::collections::HashMap<::prost::alloc::string::String, Property>, } -impl ::prost::Name for PropertyDetail { -const NAME: &'static str = "PropertyDetail"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Index.PropertyDetail".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.Index.PropertyDetail".into() }} - } -impl ::prost::Name for Index { -const NAME: &'static str = "Index"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Index".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.Index".into() }} + } /// Represent the pod information message. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -1362,10 +1080,6 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Index".into( #[prost(message, optional, tag="7")] pub node: ::core::option::Option, } -impl ::prost::Name for Pod { -const NAME: &'static str = "Pod"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Pod".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.Pod".into() }} /// Represent the node information message. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -1389,10 +1103,6 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Pod".into() #[prost(message, optional, tag="6")] pub pods: ::core::option::Option, } -impl ::prost::Name for Node { -const NAME: &'static str = "Node"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Node".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.Node".into() }} /// Represent the service information message. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -1416,10 +1126,6 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Node".into() #[prost(message, optional, tag="6")] pub annotations: ::core::option::Option, } -impl ::prost::Name for Service { -const NAME: &'static str = "Service"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Service".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.Service".into() }} /// Represets the service port information message. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -1431,10 +1137,6 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Service".int #[prost(int32, tag="2")] pub port: i32, } -impl ::prost::Name for ServicePort { -const NAME: &'static str = "ServicePort"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.ServicePort".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.ServicePort".into() }} /// Represent the kubernetes labels. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -1442,10 +1144,6 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.ServicePort" #[prost(map="string, string", tag="1")] pub labels: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>, } -impl ::prost::Name for Labels { -const NAME: &'static str = "Labels"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Labels".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.Labels".into() }} /// Represent the kubernetes annotations. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -1453,10 +1151,6 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Labels".into #[prost(map="string, string", tag="1")] pub annotations: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>, } -impl ::prost::Name for Annotations { -const NAME: &'static str = "Annotations"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Annotations".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.Annotations".into() }} /// Represent the CPU information message. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, Copy, PartialEq, ::prost::Message)] @@ -1471,10 +1165,6 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Annotations" #[prost(double, tag="3")] pub usage: f64, } -impl ::prost::Name for Cpu { -const NAME: &'static str = "CPU"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.CPU".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.CPU".into() }} /// Represent the memory information message. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, Copy, PartialEq, ::prost::Message)] @@ -1489,10 +1179,6 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.CPU".into() #[prost(double, tag="3")] pub usage: f64, } -impl ::prost::Name for Memory { -const NAME: &'static str = "Memory"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Memory".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.Memory".into() }} /// Represent the multiple pod information message. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -1501,10 +1187,6 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Memory".into #[prost(message, repeated, tag="1")] pub pods: ::prost::alloc::vec::Vec, } -impl ::prost::Name for Pods { -const NAME: &'static str = "Pods"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Pods".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.Pods".into() }} /// Represent the multiple node information message. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -1513,10 +1195,6 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Pods".into() #[prost(message, repeated, tag="1")] pub nodes: ::prost::alloc::vec::Vec, } -impl ::prost::Name for Nodes { -const NAME: &'static str = "Nodes"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Nodes".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.Nodes".into() }} /// Represent the multiple service information message. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -1525,10 +1203,6 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Nodes".into( #[prost(message, repeated, tag="1")] pub services: ::prost::alloc::vec::Vec, } -impl ::prost::Name for Services { -const NAME: &'static str = "Services"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Services".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.Services".into() }} /// Represent the multiple IP message. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -1536,15 +1210,7 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Services".in #[prost(string, repeated, tag="1")] pub ip: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } -impl ::prost::Name for IPs { -const NAME: &'static str = "IPs"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.IPs".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.IPs".into() }} } -impl ::prost::Name for Info { -const NAME: &'static str = "Info"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info".into() }} /// Mirror related messages. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, Copy, PartialEq, ::prost::Message)] @@ -1563,10 +1229,6 @@ pub mod mirror { #[prost(uint32, tag="2")] pub port: u32, } -impl ::prost::Name for Target { -const NAME: &'static str = "Target"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Mirror.Target".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Mirror.Target".into() }} /// Represent the multiple Target message. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -1575,22 +1237,10 @@ fn full_name() -> ::prost::alloc::string::String { "payload.v1.Mirror.Target".in #[prost(message, repeated, tag="1")] pub targets: ::prost::alloc::vec::Vec, } -impl ::prost::Name for Targets { -const NAME: &'static str = "Targets"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Mirror.Targets".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Mirror.Targets".into() }} } -impl ::prost::Name for Mirror { -const NAME: &'static str = "Mirror"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Mirror".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Mirror".into() }} /// Represent an empty message. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, Copy, PartialEq, ::prost::Message)] pub struct Empty { } -impl ::prost::Name for Empty { -const NAME: &'static str = "Empty"; -const PACKAGE: &'static str = "payload.v1"; -fn full_name() -> ::prost::alloc::string::String { "payload.v1.Empty".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Empty".into() }} // @@protoc_insertion_point(module) diff --git a/rust/libs/proto/src/vald.v1.tonic.rs b/rust/libs/proto/src/vald.v1.tonic.rs index 7cc2207e61..29843a4d93 100644 --- a/rust/libs/proto/src/vald.v1.tonic.rs +++ b/rust/libs/proto/src/vald.v1.tonic.rs @@ -124,6 +124,8 @@ pub mod filter_client { .insert(GrpcMethod::new("vald.v1.Filter", "SearchObject")); self.inner.unary(req, path, codec).await } + /** A method to search multiple objects. +*/ pub async fn multi_search_object( &mut self, request: impl tonic::IntoRequest< @@ -475,6 +477,8 @@ pub mod filter_server { tonic::Response, tonic::Status, >; + /** A method to search multiple objects. +*/ async fn multi_search_object( &self, request: tonic::Request< @@ -4042,6 +4046,8 @@ pub mod search_client { req.extensions_mut().insert(GrpcMethod::new("vald.v1.Search", "Search")); self.inner.unary(req, path, codec).await } + /** A method to search indexed vectors by ID. +*/ pub async fn search_by_id( &mut self, request: impl tonic::IntoRequest< @@ -4392,6 +4398,8 @@ pub mod search_server { tonic::Response, tonic::Status, >; + /** A method to search indexed vectors by ID. +*/ async fn search_by_id( &self, request: tonic::Request, diff --git a/versions/HELM_VERSION b/versions/HELM_VERSION index 3490df664c..0af36fd743 100644 --- a/versions/HELM_VERSION +++ b/versions/HELM_VERSION @@ -1 +1 @@ -v3.16.0 +v3.15.4 diff --git a/versions/PROTOBUF_VERSION b/versions/PROTOBUF_VERSION index ed15377162..ba70ecb3bf 100644 --- a/versions/PROTOBUF_VERSION +++ b/versions/PROTOBUF_VERSION @@ -1 +1 @@ -28.1 +28.0 diff --git a/versions/actions/GITHUB_CODEQL_ACTION_ANALYZE b/versions/actions/GITHUB_CODEQL_ACTION_ANALYZE index 086b153eb6..26452813e0 100644 --- a/versions/actions/GITHUB_CODEQL_ACTION_ANALYZE +++ b/versions/actions/GITHUB_CODEQL_ACTION_ANALYZE @@ -1 +1 @@ -2.18.4 +2.18.3 diff --git a/versions/actions/GITHUB_CODEQL_ACTION_AUTOBUILD b/versions/actions/GITHUB_CODEQL_ACTION_AUTOBUILD index 086b153eb6..26452813e0 100644 --- a/versions/actions/GITHUB_CODEQL_ACTION_AUTOBUILD +++ b/versions/actions/GITHUB_CODEQL_ACTION_AUTOBUILD @@ -1 +1 @@ -2.18.4 +2.18.3 diff --git a/versions/actions/GITHUB_CODEQL_ACTION_INIT b/versions/actions/GITHUB_CODEQL_ACTION_INIT index 086b153eb6..26452813e0 100644 --- a/versions/actions/GITHUB_CODEQL_ACTION_INIT +++ b/versions/actions/GITHUB_CODEQL_ACTION_INIT @@ -1 +1 @@ -2.18.4 +2.18.3 diff --git a/versions/actions/GITHUB_CODEQL_ACTION_UPLOAD_SARIF b/versions/actions/GITHUB_CODEQL_ACTION_UPLOAD_SARIF index 086b153eb6..26452813e0 100644 --- a/versions/actions/GITHUB_CODEQL_ACTION_UPLOAD_SARIF +++ b/versions/actions/GITHUB_CODEQL_ACTION_UPLOAD_SARIF @@ -1 +1 @@ -2.18.4 +2.18.3 diff --git a/versions/actions/PETER_EVANS_CREATE_PULL_REQUEST b/versions/actions/PETER_EVANS_CREATE_PULL_REQUEST index a8907c025d..9fe9ff9d99 100644 --- a/versions/actions/PETER_EVANS_CREATE_PULL_REQUEST +++ b/versions/actions/PETER_EVANS_CREATE_PULL_REQUEST @@ -1 +1 @@ -7.0.2 +7.0.1 From a502fd489b04dd3793f168f74fc5931e8033b26c Mon Sep 17 00:00:00 2001 From: Yusuke Kato Date: Fri, 13 Sep 2024 09:42:25 +0900 Subject: [PATCH 08/14] [Bugfix] agent service test (#2620) Signed-off-by: kpango --- .github/ISSUE_TEMPLATE/bug_report.md | 2 +- .../ISSUE_TEMPLATE/security_issue_report.md | 2 +- .github/PULL_REQUEST_TEMPLATE.md | 2 +- .../workflows/dockers-agent-faiss-image.yaml | 2 + .github/workflows/dockers-agent-image.yaml | 2 + .../workflows/dockers-agent-ngt-image.yaml | 2 + .../dockers-agent-sidecar-image.yaml | 2 + .../dockers-benchmark-job-image.yaml | 2 + .../dockers-benchmark-operator-image.yaml | 2 + .github/workflows/dockers-binfmt-image.yaml | 2 + .../workflows/dockers-buildbase-image.yaml | 2 + .github/workflows/dockers-buildkit-image.yaml | 2 + .../dockers-buildkit-syft-scanner-image.yaml | 2 + .../workflows/dockers-ci-container-image.yaml | 2 + .../dockers-dev-container-image.yaml | 2 + .../dockers-discoverer-k8s-image.yaml | 2 + .../dockers-gateway-filter-image.yaml | 2 + .../workflows/dockers-gateway-lb-image.yaml | 2 + .../dockers-gateway-mirror-image.yaml | 2 + .../dockers-helm-operator-image.yaml | 2 + .../dockers-index-correction-image.yaml | 2 + .../dockers-index-creation-image.yaml | 2 + .../dockers-index-operator-image.yaml | 2 + .../workflows/dockers-index-save-image.yaml | 2 + .github/workflows/dockers-loadtest-image.yaml | 2 + .../dockers-manager-index-image.yaml | 2 + .../dockers-readreplica-rotate-image.yaml | 2 + example/client/go.mod | 2 +- example/client/go.sum | 4 +- go.mod | 50 +++++++------- go.sum | 65 ++++++++++--------- pkg/agent/core/ngt/service/ngt_test.go | 1 - rust/Cargo.lock | 20 +++--- rust/libs/proto/src/filter.egress.v1.tonic.rs | 4 -- .../libs/proto/src/filter.ingress.v1.tonic.rs | 4 -- rust/libs/proto/src/vald.v1.tonic.rs | 8 --- versions/HELM_VERSION | 2 +- versions/PROTOBUF_VERSION | 2 +- 38 files changed, 124 insertions(+), 92 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index d476e3a8dc..58d750ba12 100755 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -27,6 +27,6 @@ assignees: "" - Rust Version: v1.81.0 - Docker Version: v27.2.1 - Kubernetes Version: v1.31.0 -- Helm Version: v3.15.4 +- Helm Version: v3.16.0 - NGT Version: v2.2.4 - Faiss Version: v1.8.0 diff --git a/.github/ISSUE_TEMPLATE/security_issue_report.md b/.github/ISSUE_TEMPLATE/security_issue_report.md index f05a46ee13..94536a7445 100644 --- a/.github/ISSUE_TEMPLATE/security_issue_report.md +++ b/.github/ISSUE_TEMPLATE/security_issue_report.md @@ -21,6 +21,6 @@ assignees: "" - Rust Version: v1.81.0 - Docker Version: v27.2.1 - Kubernetes Version: v1.31.0 -- Helm Version: v3.15.4 +- Helm Version: v3.16.0 - NGT Version: v2.2.4 - Faiss Version: v1.8.0 diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 4c7e257cf7..cc053c521a 100755 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -20,7 +20,7 @@ - Rust Version: v1.81.0 - Docker Version: v27.2.1 - Kubernetes Version: v1.31.0 -- Helm Version: v3.15.4 +- Helm Version: v3.16.0 - NGT Version: v2.2.4 - Faiss Version: v1.8.0 diff --git a/.github/workflows/dockers-agent-faiss-image.yaml b/.github/workflows/dockers-agent-faiss-image.yaml index 691dce26c6..400b178876 100644 --- a/.github/workflows/dockers-agent-faiss-image.yaml +++ b/.github/workflows/dockers-agent-faiss-image.yaml @@ -13,7 +13,9 @@ # See the License for the specific language governing permissions and # limitations under the License. # + # DO_NOT_EDIT this workflow file is generated by https://github.com/vdaas/vald/blob/main/hack/actions/gen/main.go + name: "Build docker image: agent-faiss" on: push: diff --git a/.github/workflows/dockers-agent-image.yaml b/.github/workflows/dockers-agent-image.yaml index f73b44f46d..f78c8de3fc 100644 --- a/.github/workflows/dockers-agent-image.yaml +++ b/.github/workflows/dockers-agent-image.yaml @@ -13,7 +13,9 @@ # See the License for the specific language governing permissions and # limitations under the License. # + # DO_NOT_EDIT this workflow file is generated by https://github.com/vdaas/vald/blob/main/hack/actions/gen/main.go + name: "Build docker image: agent" on: push: diff --git a/.github/workflows/dockers-agent-ngt-image.yaml b/.github/workflows/dockers-agent-ngt-image.yaml index 84c3b8f862..257ba191bb 100644 --- a/.github/workflows/dockers-agent-ngt-image.yaml +++ b/.github/workflows/dockers-agent-ngt-image.yaml @@ -13,7 +13,9 @@ # See the License for the specific language governing permissions and # limitations under the License. # + # DO_NOT_EDIT this workflow file is generated by https://github.com/vdaas/vald/blob/main/hack/actions/gen/main.go + name: "Build docker image: agent-ngt" on: push: diff --git a/.github/workflows/dockers-agent-sidecar-image.yaml b/.github/workflows/dockers-agent-sidecar-image.yaml index 497151aee0..768c4665c6 100644 --- a/.github/workflows/dockers-agent-sidecar-image.yaml +++ b/.github/workflows/dockers-agent-sidecar-image.yaml @@ -13,7 +13,9 @@ # See the License for the specific language governing permissions and # limitations under the License. # + # DO_NOT_EDIT this workflow file is generated by https://github.com/vdaas/vald/blob/main/hack/actions/gen/main.go + name: "Build docker image: agent-sidecar" on: push: diff --git a/.github/workflows/dockers-benchmark-job-image.yaml b/.github/workflows/dockers-benchmark-job-image.yaml index 23028c31bf..7d8c7e6103 100644 --- a/.github/workflows/dockers-benchmark-job-image.yaml +++ b/.github/workflows/dockers-benchmark-job-image.yaml @@ -13,7 +13,9 @@ # See the License for the specific language governing permissions and # limitations under the License. # + # DO_NOT_EDIT this workflow file is generated by https://github.com/vdaas/vald/blob/main/hack/actions/gen/main.go + name: "Build docker image: benchmark-job" on: push: diff --git a/.github/workflows/dockers-benchmark-operator-image.yaml b/.github/workflows/dockers-benchmark-operator-image.yaml index 764f505d76..f5cba306cc 100644 --- a/.github/workflows/dockers-benchmark-operator-image.yaml +++ b/.github/workflows/dockers-benchmark-operator-image.yaml @@ -13,7 +13,9 @@ # See the License for the specific language governing permissions and # limitations under the License. # + # DO_NOT_EDIT this workflow file is generated by https://github.com/vdaas/vald/blob/main/hack/actions/gen/main.go + name: "Build docker image: benchmark-operator" on: push: diff --git a/.github/workflows/dockers-binfmt-image.yaml b/.github/workflows/dockers-binfmt-image.yaml index 497a188926..1df8ccba23 100644 --- a/.github/workflows/dockers-binfmt-image.yaml +++ b/.github/workflows/dockers-binfmt-image.yaml @@ -13,7 +13,9 @@ # See the License for the specific language governing permissions and # limitations under the License. # + # DO_NOT_EDIT this workflow file is generated by https://github.com/vdaas/vald/blob/main/hack/actions/gen/main.go + name: "Build docker image: binfmt" on: schedule: diff --git a/.github/workflows/dockers-buildbase-image.yaml b/.github/workflows/dockers-buildbase-image.yaml index 58b0a1ef83..149ca6d1de 100644 --- a/.github/workflows/dockers-buildbase-image.yaml +++ b/.github/workflows/dockers-buildbase-image.yaml @@ -13,7 +13,9 @@ # See the License for the specific language governing permissions and # limitations under the License. # + # DO_NOT_EDIT this workflow file is generated by https://github.com/vdaas/vald/blob/main/hack/actions/gen/main.go + name: "Build docker image: buildbase" on: schedule: diff --git a/.github/workflows/dockers-buildkit-image.yaml b/.github/workflows/dockers-buildkit-image.yaml index 1d6ceea7c4..aaa476761c 100644 --- a/.github/workflows/dockers-buildkit-image.yaml +++ b/.github/workflows/dockers-buildkit-image.yaml @@ -13,7 +13,9 @@ # See the License for the specific language governing permissions and # limitations under the License. # + # DO_NOT_EDIT this workflow file is generated by https://github.com/vdaas/vald/blob/main/hack/actions/gen/main.go + name: "Build docker image: buildkit" on: schedule: diff --git a/.github/workflows/dockers-buildkit-syft-scanner-image.yaml b/.github/workflows/dockers-buildkit-syft-scanner-image.yaml index b475416305..1fb737e04e 100644 --- a/.github/workflows/dockers-buildkit-syft-scanner-image.yaml +++ b/.github/workflows/dockers-buildkit-syft-scanner-image.yaml @@ -13,7 +13,9 @@ # See the License for the specific language governing permissions and # limitations under the License. # + # DO_NOT_EDIT this workflow file is generated by https://github.com/vdaas/vald/blob/main/hack/actions/gen/main.go + name: "Build docker image: buildkit-syft-scanner" on: schedule: diff --git a/.github/workflows/dockers-ci-container-image.yaml b/.github/workflows/dockers-ci-container-image.yaml index 1e3e501f7a..446351f961 100644 --- a/.github/workflows/dockers-ci-container-image.yaml +++ b/.github/workflows/dockers-ci-container-image.yaml @@ -13,7 +13,9 @@ # See the License for the specific language governing permissions and # limitations under the License. # + # DO_NOT_EDIT this workflow file is generated by https://github.com/vdaas/vald/blob/main/hack/actions/gen/main.go + name: "Build docker image: ci-container" on: push: diff --git a/.github/workflows/dockers-dev-container-image.yaml b/.github/workflows/dockers-dev-container-image.yaml index 163134d95e..e9e7c4cbbe 100644 --- a/.github/workflows/dockers-dev-container-image.yaml +++ b/.github/workflows/dockers-dev-container-image.yaml @@ -13,7 +13,9 @@ # See the License for the specific language governing permissions and # limitations under the License. # + # DO_NOT_EDIT this workflow file is generated by https://github.com/vdaas/vald/blob/main/hack/actions/gen/main.go + name: "Build docker image: dev-container" on: push: diff --git a/.github/workflows/dockers-discoverer-k8s-image.yaml b/.github/workflows/dockers-discoverer-k8s-image.yaml index a840e36cfd..6453281b0e 100644 --- a/.github/workflows/dockers-discoverer-k8s-image.yaml +++ b/.github/workflows/dockers-discoverer-k8s-image.yaml @@ -13,7 +13,9 @@ # See the License for the specific language governing permissions and # limitations under the License. # + # DO_NOT_EDIT this workflow file is generated by https://github.com/vdaas/vald/blob/main/hack/actions/gen/main.go + name: "Build docker image: discoverer-k8s" on: push: diff --git a/.github/workflows/dockers-gateway-filter-image.yaml b/.github/workflows/dockers-gateway-filter-image.yaml index 6d649d3c4a..837c9b82fc 100644 --- a/.github/workflows/dockers-gateway-filter-image.yaml +++ b/.github/workflows/dockers-gateway-filter-image.yaml @@ -13,7 +13,9 @@ # See the License for the specific language governing permissions and # limitations under the License. # + # DO_NOT_EDIT this workflow file is generated by https://github.com/vdaas/vald/blob/main/hack/actions/gen/main.go + name: "Build docker image: gateway-filter" on: push: diff --git a/.github/workflows/dockers-gateway-lb-image.yaml b/.github/workflows/dockers-gateway-lb-image.yaml index f61792f67a..831efb3280 100644 --- a/.github/workflows/dockers-gateway-lb-image.yaml +++ b/.github/workflows/dockers-gateway-lb-image.yaml @@ -13,7 +13,9 @@ # See the License for the specific language governing permissions and # limitations under the License. # + # DO_NOT_EDIT this workflow file is generated by https://github.com/vdaas/vald/blob/main/hack/actions/gen/main.go + name: "Build docker image: gateway-lb" on: push: diff --git a/.github/workflows/dockers-gateway-mirror-image.yaml b/.github/workflows/dockers-gateway-mirror-image.yaml index e31d0dcd98..8a0e713af0 100644 --- a/.github/workflows/dockers-gateway-mirror-image.yaml +++ b/.github/workflows/dockers-gateway-mirror-image.yaml @@ -13,7 +13,9 @@ # See the License for the specific language governing permissions and # limitations under the License. # + # DO_NOT_EDIT this workflow file is generated by https://github.com/vdaas/vald/blob/main/hack/actions/gen/main.go + name: "Build docker image: gateway-mirror" on: push: diff --git a/.github/workflows/dockers-helm-operator-image.yaml b/.github/workflows/dockers-helm-operator-image.yaml index d721fe37f5..28eed9d34d 100644 --- a/.github/workflows/dockers-helm-operator-image.yaml +++ b/.github/workflows/dockers-helm-operator-image.yaml @@ -13,7 +13,9 @@ # See the License for the specific language governing permissions and # limitations under the License. # + # DO_NOT_EDIT this workflow file is generated by https://github.com/vdaas/vald/blob/main/hack/actions/gen/main.go + name: "Build docker image: helm-operator" on: push: diff --git a/.github/workflows/dockers-index-correction-image.yaml b/.github/workflows/dockers-index-correction-image.yaml index 6c9306740c..c5675f0280 100644 --- a/.github/workflows/dockers-index-correction-image.yaml +++ b/.github/workflows/dockers-index-correction-image.yaml @@ -13,7 +13,9 @@ # See the License for the specific language governing permissions and # limitations under the License. # + # DO_NOT_EDIT this workflow file is generated by https://github.com/vdaas/vald/blob/main/hack/actions/gen/main.go + name: "Build docker image: index-correction" on: push: diff --git a/.github/workflows/dockers-index-creation-image.yaml b/.github/workflows/dockers-index-creation-image.yaml index b79aaa9e87..d6d1449636 100644 --- a/.github/workflows/dockers-index-creation-image.yaml +++ b/.github/workflows/dockers-index-creation-image.yaml @@ -13,7 +13,9 @@ # See the License for the specific language governing permissions and # limitations under the License. # + # DO_NOT_EDIT this workflow file is generated by https://github.com/vdaas/vald/blob/main/hack/actions/gen/main.go + name: "Build docker image: index-creation" on: push: diff --git a/.github/workflows/dockers-index-operator-image.yaml b/.github/workflows/dockers-index-operator-image.yaml index 1287ac02d8..e482aa62e7 100644 --- a/.github/workflows/dockers-index-operator-image.yaml +++ b/.github/workflows/dockers-index-operator-image.yaml @@ -13,7 +13,9 @@ # See the License for the specific language governing permissions and # limitations under the License. # + # DO_NOT_EDIT this workflow file is generated by https://github.com/vdaas/vald/blob/main/hack/actions/gen/main.go + name: "Build docker image: index-operator" on: push: diff --git a/.github/workflows/dockers-index-save-image.yaml b/.github/workflows/dockers-index-save-image.yaml index c1b6c838f3..9616d1342e 100644 --- a/.github/workflows/dockers-index-save-image.yaml +++ b/.github/workflows/dockers-index-save-image.yaml @@ -13,7 +13,9 @@ # See the License for the specific language governing permissions and # limitations under the License. # + # DO_NOT_EDIT this workflow file is generated by https://github.com/vdaas/vald/blob/main/hack/actions/gen/main.go + name: "Build docker image: index-save" on: push: diff --git a/.github/workflows/dockers-loadtest-image.yaml b/.github/workflows/dockers-loadtest-image.yaml index 6bb824e9c0..3c9026b9ca 100644 --- a/.github/workflows/dockers-loadtest-image.yaml +++ b/.github/workflows/dockers-loadtest-image.yaml @@ -13,7 +13,9 @@ # See the License for the specific language governing permissions and # limitations under the License. # + # DO_NOT_EDIT this workflow file is generated by https://github.com/vdaas/vald/blob/main/hack/actions/gen/main.go + name: "Build docker image: loadtest" on: push: diff --git a/.github/workflows/dockers-manager-index-image.yaml b/.github/workflows/dockers-manager-index-image.yaml index 71cde3006c..c1f1f7dff7 100644 --- a/.github/workflows/dockers-manager-index-image.yaml +++ b/.github/workflows/dockers-manager-index-image.yaml @@ -13,7 +13,9 @@ # See the License for the specific language governing permissions and # limitations under the License. # + # DO_NOT_EDIT this workflow file is generated by https://github.com/vdaas/vald/blob/main/hack/actions/gen/main.go + name: "Build docker image: manager-index" on: push: diff --git a/.github/workflows/dockers-readreplica-rotate-image.yaml b/.github/workflows/dockers-readreplica-rotate-image.yaml index 8d1b815991..be5bbdbee5 100644 --- a/.github/workflows/dockers-readreplica-rotate-image.yaml +++ b/.github/workflows/dockers-readreplica-rotate-image.yaml @@ -13,7 +13,9 @@ # See the License for the specific language governing permissions and # limitations under the License. # + # DO_NOT_EDIT this workflow file is generated by https://github.com/vdaas/vald/blob/main/hack/actions/gen/main.go + name: "Build docker image: readreplica-rotate" on: push: diff --git a/example/client/go.mod b/example/client/go.mod index 91b9c6fe62..198e984084 100644 --- a/example/client/go.mod +++ b/example/client/go.mod @@ -14,7 +14,7 @@ replace ( google.golang.org/genproto => google.golang.org/genproto v0.0.0-20240903143218-8af14fe29dc1 google.golang.org/genproto/googleapis/api => google.golang.org/genproto/googleapis/api v0.0.0-20240903143218-8af14fe29dc1 google.golang.org/genproto/googleapis/rpc => google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 - google.golang.org/grpc => google.golang.org/grpc v1.66.1 + google.golang.org/grpc => google.golang.org/grpc v1.66.2 google.golang.org/protobuf => google.golang.org/protobuf v1.34.2 gopkg.in/yaml.v2 => gopkg.in/yaml.v2 v2.4.0 gopkg.in/yaml.v3 => gopkg.in/yaml.v3 v3.0.1 diff --git a/example/client/go.sum b/example/client/go.sum index 90e30cb0d1..8fd1e3660a 100644 --- a/example/client/go.sum +++ b/example/client/go.sum @@ -34,7 +34,7 @@ google.golang.org/genproto/googleapis/api v0.0.0-20240903143218-8af14fe29dc1 h1: google.golang.org/genproto/googleapis/api v0.0.0-20240903143218-8af14fe29dc1/go.mod h1:qpvKtACPCQhAdu3PyQgV4l3LMXZEtft7y8QcarRsp9I= google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 h1:pPJltXNxVzT4pK9yD8vR9X75DaWYYmLGMsEvBfFQZzQ= google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.1 h1:hO5qAXR19+/Z44hmvIM4dQFMSYX9XcWsByfoxutBpAM= -google.golang.org/grpc v1.66.1/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= +google.golang.org/grpc v1.66.2 h1:3QdXkuq3Bkh7w+ywLdLvM56cmGvQHUMZpiCzt6Rqaoo= +google.golang.org/grpc v1.66.2/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= diff --git a/go.mod b/go.mod index 99c1667e39..1821334bac 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,7 @@ replace ( cloud.google.com/go/bigquery => cloud.google.com/go/bigquery v1.62.0 cloud.google.com/go/compute => cloud.google.com/go/compute v1.28.0 cloud.google.com/go/datastore => cloud.google.com/go/datastore v1.19.0 - cloud.google.com/go/firestore => cloud.google.com/go/firestore v1.16.0 + cloud.google.com/go/firestore => cloud.google.com/go/firestore v1.17.0 cloud.google.com/go/iam => cloud.google.com/go/iam v1.2.0 cloud.google.com/go/kms => cloud.google.com/go/kms v1.19.0 cloud.google.com/go/monitoring => cloud.google.com/go/monitoring v1.21.0 @@ -15,7 +15,7 @@ replace ( cloud.google.com/go/secretmanager => cloud.google.com/go/secretmanager v1.14.0 cloud.google.com/go/storage => cloud.google.com/go/storage v1.43.0 cloud.google.com/go/trace => cloud.google.com/go/trace v1.11.0 - code.cloudfoundry.org/bytefmt => code.cloudfoundry.org/bytefmt v0.9.0 + code.cloudfoundry.org/bytefmt => code.cloudfoundry.org/bytefmt v0.10.0 contrib.go.opencensus.io/exporter/aws => contrib.go.opencensus.io/exporter/aws v0.0.0-20230502192102-15967c811cec contrib.go.opencensus.io/exporter/prometheus => contrib.go.opencensus.io/exporter/prometheus v0.4.2 contrib.go.opencensus.io/integrations/ocsql => contrib.go.opencensus.io/integrations/ocsql v0.1.7 @@ -154,7 +154,7 @@ replace ( github.com/google/gofuzz => github.com/google/gofuzz v1.2.0 github.com/google/martian => github.com/google/martian v2.1.0+incompatible github.com/google/martian/v3 => github.com/google/martian/v3 v3.3.3 - github.com/google/pprof => github.com/google/pprof v0.0.0-20240903155634-a8630aee4ab9 + github.com/google/pprof => github.com/google/pprof v0.0.0-20240910150728-a0b0bb1d4134 github.com/google/shlex => github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 github.com/google/subcommands => github.com/google/subcommands v1.2.0 github.com/google/uuid => github.com/google/uuid v1.6.0 @@ -192,11 +192,11 @@ replace ( github.com/jstemmer/go-junit-report => github.com/jstemmer/go-junit-report v1.0.0 github.com/kisielk/errcheck => github.com/kisielk/errcheck v1.7.0 github.com/kisielk/gotool => github.com/kisielk/gotool v1.0.0 - github.com/klauspost/compress => github.com/klauspost/compress v1.17.10-0.20240903161129-13c124496702 + github.com/klauspost/compress => github.com/klauspost/compress v1.17.10-0.20240911134657-51aa0ecb46a9 github.com/klauspost/cpuid/v2 => github.com/klauspost/cpuid/v2 v2.2.8 github.com/kpango/fastime => github.com/kpango/fastime v1.1.9 github.com/kpango/fuid => github.com/kpango/fuid v0.0.0-20221203053508-503b5ad89aa1 - github.com/kpango/gache/v2 => github.com/kpango/gache/v2 v2.0.9 + github.com/kpango/gache/v2 => github.com/kpango/gache/v2 v2.0.10 github.com/kpango/glg => github.com/kpango/glg v1.6.15 github.com/kr/fs => github.com/kr/fs v0.1.0 github.com/kr/pretty => github.com/kr/pretty v0.3.1 @@ -275,17 +275,17 @@ replace ( github.com/zeebo/xxh3 => github.com/zeebo/xxh3 v1.0.2 go.etcd.io/bbolt => go.etcd.io/bbolt v1.3.11 go.opencensus.io => go.opencensus.io v0.24.0 - go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc => go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 - go.opentelemetry.io/otel => go.opentelemetry.io/otel v1.29.0 + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc => go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.55.0 + go.opentelemetry.io/otel => go.opentelemetry.io/otel v1.30.0 go.opentelemetry.io/otel/exporters/otlp/internal/retry => go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.17.0 go.opentelemetry.io/otel/exporters/otlp/otlpmetric => go.opentelemetry.io/otel/exporters/otlp/otlpmetric v0.43.0 - go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc => go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.29.0 - go.opentelemetry.io/otel/exporters/otlp/otlptrace => go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0 - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc => go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.29.0 - go.opentelemetry.io/otel/metric => go.opentelemetry.io/otel/metric v1.29.0 - go.opentelemetry.io/otel/sdk => go.opentelemetry.io/otel/sdk v1.29.0 - go.opentelemetry.io/otel/sdk/metric => go.opentelemetry.io/otel/sdk/metric v1.29.0 - go.opentelemetry.io/otel/trace => go.opentelemetry.io/otel/trace v1.29.0 + go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc => go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.30.0 + go.opentelemetry.io/otel/exporters/otlp/otlptrace => go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.30.0 + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc => go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.30.0 + go.opentelemetry.io/otel/metric => go.opentelemetry.io/otel/metric v1.30.0 + go.opentelemetry.io/otel/sdk => go.opentelemetry.io/otel/sdk v1.30.0 + go.opentelemetry.io/otel/sdk/metric => go.opentelemetry.io/otel/sdk/metric v1.30.0 + go.opentelemetry.io/otel/trace => go.opentelemetry.io/otel/trace v1.30.0 go.opentelemetry.io/proto/otlp => go.opentelemetry.io/proto/otlp v1.3.1 go.starlark.net => go.starlark.net v0.0.0-20240725214946-42030a7cedce go.uber.org/atomic => go.uber.org/atomic v1.11.0 @@ -314,12 +314,12 @@ replace ( gonum.org/v1/gonum => gonum.org/v1/gonum v0.15.1 gonum.org/v1/hdf5 => gonum.org/v1/hdf5 v0.0.0-20210714002203-8c5d23bc6946 gonum.org/v1/plot => gonum.org/v1/plot v0.14.0 - google.golang.org/api => google.golang.org/api v0.196.0 + google.golang.org/api => google.golang.org/api v0.197.0 google.golang.org/appengine => google.golang.org/appengine v1.6.8 google.golang.org/genproto => google.golang.org/genproto v0.0.0-20240903143218-8af14fe29dc1 google.golang.org/genproto/googleapis/api => google.golang.org/genproto/googleapis/api v0.0.0-20240903143218-8af14fe29dc1 google.golang.org/genproto/googleapis/rpc => google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 - google.golang.org/grpc => google.golang.org/grpc v1.66.1 + google.golang.org/grpc => google.golang.org/grpc v1.66.2 google.golang.org/grpc/cmd/protoc-gen-go-grpc => google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.5.1 google.golang.org/protobuf => google.golang.org/protobuf v1.34.2 gopkg.in/check.v1 => gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c @@ -384,14 +384,14 @@ require ( github.com/zeebo/xxh3 v1.0.2 go.etcd.io/bbolt v1.3.8 go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 - go.opentelemetry.io/otel v1.29.0 + go.opentelemetry.io/otel v1.30.0 go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v0.0.0-00010101000000-000000000000 - go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0 + go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.30.0 go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.19.0 - go.opentelemetry.io/otel/metric v1.29.0 - go.opentelemetry.io/otel/sdk v1.29.0 - go.opentelemetry.io/otel/sdk/metric v1.29.0 - go.opentelemetry.io/otel/trace v1.29.0 + go.opentelemetry.io/otel/metric v1.30.0 + go.opentelemetry.io/otel/sdk v1.30.0 + go.opentelemetry.io/otel/sdk/metric v1.30.0 + go.opentelemetry.io/otel/trace v1.30.0 go.uber.org/automaxprocs v0.0.0-00010101000000-000000000000 go.uber.org/goleak v1.3.0 go.uber.org/ratelimit v0.3.1 @@ -408,7 +408,7 @@ require ( gonum.org/v1/plot v0.14.0 google.golang.org/genproto/googleapis/api v0.0.0-20240903143218-8af14fe29dc1 google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 - google.golang.org/grpc v1.66.0 + google.golang.org/grpc v1.66.1 google.golang.org/protobuf v1.34.2 gopkg.in/yaml.v2 v2.4.0 k8s.io/api v0.30.3 @@ -462,11 +462,11 @@ require ( github.com/google/btree v1.1.3 // indirect github.com/google/gnostic-models v0.6.8 // indirect github.com/google/gofuzz v1.2.0 // indirect - github.com/google/pprof v0.0.0-20240903155634-a8630aee4ab9 // indirect + github.com/google/pprof v0.0.0-20240910150728-a0b0bb1d4134 // indirect github.com/google/s2a-go v0.1.8 // indirect github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect github.com/google/wire v0.6.0 // indirect - github.com/googleapis/enterprise-certificate-proxy v0.3.3 // indirect + github.com/googleapis/enterprise-certificate-proxy v0.3.4 // indirect github.com/googleapis/gax-go/v2 v2.13.0 // indirect github.com/gorilla/websocket v1.5.0 // indirect github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7 // indirect diff --git a/go.sum b/go.sum index 3397c36bfb..85b80572f0 100644 --- a/go.sum +++ b/go.sum @@ -81,7 +81,7 @@ cloud.google.com/go/errorreporting v0.3.1/go.mod h1:6xVQXU1UuntfAf+bVkFk6nld41+C cloud.google.com/go/essentialcontacts v1.7.0/go.mod h1:0JEcNuyjyg43H/RJynZzv2eo6MkmnvRPUouBpOh6akY= cloud.google.com/go/eventarc v1.14.0/go.mod h1:60ZzZfOekvsc/keHc7uGHcoEOMVa+p+ZgRmTjpdamnA= cloud.google.com/go/filestore v1.9.0/go.mod h1:GlQK+VBaAGb19HqprnOMqYYpn7Gev5ZA9SSHpxFKD7Q= -cloud.google.com/go/firestore v1.16.0/go.mod h1:+22v/7p+WNBSQwdSwP57vz47aZiY+HrDkrOsJNhk7rg= +cloud.google.com/go/firestore v1.17.0/go.mod h1:69uPx1papBsY8ZETooc71fOhoKkD70Q1DwMrtKuOT/Y= cloud.google.com/go/functions v1.19.0/go.mod h1:WDreEDZoUVoOkXKDejFWGnprrGYn2cY2KHx73UQERC0= cloud.google.com/go/gkebackup v1.6.0/go.mod h1:1rskt7NgawoMDHTdLASX8caXXYG3MvDsoZ7qF4RMamQ= cloud.google.com/go/gkeconnect v0.11.0/go.mod h1:l3iPZl1OfT+DUQ+QkmH1PC5RTLqxKQSVnboLiQGAcCA= @@ -165,8 +165,8 @@ cloud.google.com/go/vpcaccess v1.8.0/go.mod h1:7fz79sxE9DbGm9dbbIdir3tsJhwCxiNAs cloud.google.com/go/webrisk v1.10.0/go.mod h1:ztRr0MCLtksoeSOQCEERZXdzwJGoH+RGYQ2qodGOy2U= cloud.google.com/go/websecurityscanner v1.7.0/go.mod h1:d5OGdHnbky9MAZ8SGzdWIm3/c9p0r7t+5BerY5JYdZc= cloud.google.com/go/workflows v1.13.0/go.mod h1:StCuY3jhBj1HYMjCPqZs7J0deQLHPhF6hDtzWJaVF+Y= -code.cloudfoundry.org/bytefmt v0.9.0 h1:PmZlKwcjR2KqjhDCPcWDMyZYaspXCshkeQ+bfHAg+nM= -code.cloudfoundry.org/bytefmt v0.9.0/go.mod h1:WEpQg+9NS7k9tV66pocDKhliJWLTXwB8C5rL5isF8nc= +code.cloudfoundry.org/bytefmt v0.10.0 h1:q/n3VEyTHSYIr+MTRIYxNMRutBilgv0gbFWZbXqWI60= +code.cloudfoundry.org/bytefmt v0.10.0/go.mod h1:FQhPpsF//guTvK6ZnAC2JkVRZjl6s5ee0H90K2r3zxI= dmitri.shuralyov.com/gpu/mtl v0.0.0-20201218220906-28db891af037/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= dmitri.shuralyov.com/gpu/mtl v0.0.0-20221208032759-85de2813cf6b/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= eliasnaur.com/font v0.0.0-20230308162249-dd43949cb42d/go.mod h1:OYVuxibdk9OSLX8vAqydtRPP87PyTFcT9uH3MlEGBQA= @@ -417,8 +417,8 @@ github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian/v3 v3.3.3 h1:DIhPTQrbPkgs2yJYdXU/eNACCG5DVQjySNRNlflZ9Fc= github.com/google/martian/v3 v3.3.3/go.mod h1:iEPrYcgCF7jA9OtScMFQyAlZZ4YXTKEtJ1E6RWzmBA0= -github.com/google/pprof v0.0.0-20240903155634-a8630aee4ab9 h1:q5g0N9eal4bmJwXHC5z0QCKs8qhS35hFfq0BAYsIwZI= -github.com/google/pprof v0.0.0-20240903155634-a8630aee4ab9/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144= +github.com/google/pprof v0.0.0-20240910150728-a0b0bb1d4134 h1:c5FlPPgxOn7kJz3VoPLkQYQXGBS3EklQ4Zfi57uOuqQ= +github.com/google/pprof v0.0.0-20240910150728-a0b0bb1d4134/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144= github.com/google/s2a-go v0.1.3/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A= github.com/google/s2a-go v0.1.4/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A= github.com/google/s2a-go v0.1.7/go.mod h1:50CgR4k1jNlWBu4UfS4AcfhVe1r6pdZPygJ3R8F0Qdw= @@ -439,8 +439,9 @@ github.com/googleapis/enterprise-certificate-proxy v0.2.3/go.mod h1:AwSRAtLfXpU5 github.com/googleapis/enterprise-certificate-proxy v0.2.4/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= github.com/googleapis/enterprise-certificate-proxy v0.3.1/go.mod h1:VLSiSSBs/ksPL8kq3OBOQ6WRI2QnaFynd1DCjZ62+V0= github.com/googleapis/enterprise-certificate-proxy v0.3.2/go.mod h1:VLSiSSBs/ksPL8kq3OBOQ6WRI2QnaFynd1DCjZ62+V0= -github.com/googleapis/enterprise-certificate-proxy v0.3.3 h1:QRje2j5GZimBzlbhGA2V2QlGNgL8G6e+wGo/+/2bWI0= github.com/googleapis/enterprise-certificate-proxy v0.3.3/go.mod h1:YKe7cfqYXjKGpGvmSg28/fFvhNzinZQm8DGnaburhGA= +github.com/googleapis/enterprise-certificate-proxy v0.3.4 h1:XYIDZApgAnrN1c855gTgghdIA6Stxb52D5RnLI1SLyw= +github.com/googleapis/enterprise-certificate-proxy v0.3.4/go.mod h1:YKe7cfqYXjKGpGvmSg28/fFvhNzinZQm8DGnaburhGA= github.com/googleapis/gax-go/v2 v2.13.0 h1:yitjD5f7jQHhyDsnhKEBU52NdvvdSeGzlAnDPT0hH1s= github.com/googleapis/gax-go/v2 v2.13.0/go.mod h1:Z/fvTZXF8/uw7Xu5GuslPw+bplx6SS338j1Is2S+B7A= github.com/googleapis/google-cloud-go-testing v0.0.0-20210719221736-1c9a4c676720/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= @@ -492,16 +493,16 @@ github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:C github.com/kisielk/errcheck v1.7.0/go.mod h1:1kLL+jV4e+CFfueBmI1dSK2ADDyQnlrnrY/FqKluHJQ= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/klauspost/asmfmt v1.3.2/go.mod h1:AG8TuvYojzulgDAMCnYn50l/5QV3Bs/tp6j0HLHbNSE= -github.com/klauspost/compress v1.17.10-0.20240903161129-13c124496702 h1:q44xybtNinH6elZBfsrq3nMeepSAxGG0vHf2dupILU4= -github.com/klauspost/compress v1.17.10-0.20240903161129-13c124496702/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= +github.com/klauspost/compress v1.17.10-0.20240911134657-51aa0ecb46a9 h1:LCVgxJhF5Dlzgea9oMdWiqNlRQV0srnLp6sKm1aj6sU= +github.com/klauspost/compress v1.17.10-0.20240911134657-51aa0ecb46a9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/klauspost/cpuid/v2 v2.2.8 h1:+StwCXwm9PdpiEkPyzBXIy+M9KUb4ODm0Zarf1kS5BM= github.com/klauspost/cpuid/v2 v2.2.8/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= github.com/kpango/fastime v1.1.9 h1:xVQHcqyPt5M69DyFH7g1EPRns1YQNap9d5eLhl/Jy84= github.com/kpango/fastime v1.1.9/go.mod h1:vyD7FnUn08zxY4b/QFBZVG+9EWMYsNl+QF0uE46urD4= github.com/kpango/fuid v0.0.0-20221203053508-503b5ad89aa1 h1:rxyM+7uaZQ35P9fbixdnld/h4AgEhODoubuy6A4nDdk= github.com/kpango/fuid v0.0.0-20221203053508-503b5ad89aa1/go.mod h1:CAYeq6us9NfnRkSz67/xKVIR6/vaY5ZQZRe6IVcaIKg= -github.com/kpango/gache/v2 v2.0.9 h1:iov+hbPaKXDVjAFxmJ52Oso2VZyhcMiUkNlkq+OwylM= -github.com/kpango/gache/v2 v2.0.9/go.mod h1:5AWVWlHau1dwI9Hzf+NZc4rPTwxM3SVwJQgob/OyAjQ= +github.com/kpango/gache/v2 v2.0.10 h1:GgbG57FFYljnPOcWIgquP4+Fsp9kccTZ/5tsu+zHMyU= +github.com/kpango/gache/v2 v2.0.10/go.mod h1:0YTbg//JH4Zylm/8LNHRaSbiXphcFStdVhiftgVpPds= github.com/kpango/glg v1.6.15 h1:nw0xSxpSyrDIWHeb3dvnE08PW+SCbK+aYFETT75IeLA= github.com/kpango/glg v1.6.15/go.mod h1:cmsc7Yeu8AS3wHLmN7bhwENXOpxfq+QoqxCIk2FneRk= github.com/kpango/go-hostpool v0.0.0-20210303030322-aab80263dcd0 h1:orIEVdc68woWO1ZyYWEVOl5Kl33eDjP+kbxgbdpMwi4= @@ -655,28 +656,28 @@ go.etcd.io/bbolt v1.3.11 h1:yGEzV1wPz2yVCLsD8ZAiGHhHVlczyC9d1rP43/VCRJ0= go.etcd.io/bbolt v1.3.11/go.mod h1:dksAq7YMXoljX0xu6VF5DMZGbhYYoLUalEiSySYAS4I= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 h1:r6I7RJCN86bpD/FQwedZ0vSixDpwuWREjW9oRMsmqDc= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0/go.mod h1:B9yO6b04uB80CzjedvewuqDhxJxi11s7/GtiGa8bAjI= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.55.0 h1:hCq2hNMwsegUvPzI7sPOvtO9cqyy5GbWt/Ybp2xrx8Q= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.55.0/go.mod h1:LqaApwGx/oUmzsbqxkzuBvyoPpkxk3JQWnqfVrJ3wCA= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0/go.mod h1:p8pYQP+m5XfbZm9fxtSKAbM6oIllS7s2AfxrChvc7iw= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.53.0/go.mod h1:jjdQuTGVsXV4vSs+CJ2qYDeDPf9yIJV23qlIzBm73Vg= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 h1:TT4fX+nBOA/+LUkobKGW1ydGcn+G3vRw9+g5HwCphpk= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0/go.mod h1:L7UH0GbB0p47T4Rri3uHjbpCFYrVrwc1I25QhNPiGK8= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.29.0 h1:k6fQVDQexDE+3jG2SfCQjnHS7OamcP73YMoxEVq5B6k= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.29.0/go.mod h1:t4BrYLHU450Zo9fnydWlIuswB1bm7rM8havDpWOJeDo= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0 h1:dIIDULZJpgdiHz5tXrTgKIMLkus6jEFa7x5SOKcyR7E= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0/go.mod h1:jlRVBe7+Z1wyxFSUs48L6OBQZ5JwH2Hg/Vbl+t9rAgI= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.29.0 h1:nSiV3s7wiCam610XcLbYOmMfJxB9gO4uK3Xgv5gmTgg= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.29.0/go.mod h1:hKn/e/Nmd19/x1gvIHwtOwVWM+VhuITSWip3JUDghj0= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/otel v1.30.0 h1:F2t8sK4qf1fAmY9ua4ohFS/K+FUuOPemHUIXHtktrts= +go.opentelemetry.io/otel v1.30.0/go.mod h1:tFw4Br9b7fOS+uEao81PJjVMjW/5fvNCbpsDIXqP0pc= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.30.0 h1:WypxHH02KX2poqqbaadmkMYalGyy/vil4HE4PM4nRJc= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.30.0/go.mod h1:U79SV99vtvGSEBeeHnpgGJfTsnsdkWLpPN/CcHAzBSI= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.30.0 h1:lsInsfvhVIfOI6qHVyysXMNDnjO9Npvl7tlDPJFBVd4= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.30.0/go.mod h1:KQsVNh4OjgjTG0G6EiNi1jVpnaeeKsKMRwbLN+f1+8M= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.30.0 h1:m0yTiGDLUvVYaTFbAvCkVYIYcvwKt3G7OLoN77NUs/8= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.30.0/go.mod h1:wBQbT4UekBfegL2nx0Xk1vBcnzyBPsIVm9hRG4fYcr4= +go.opentelemetry.io/otel/metric v1.30.0 h1:4xNulvn9gjzo4hjg+wzIKG7iNFEaBMX00Qd4QIZs7+w= +go.opentelemetry.io/otel/metric v1.30.0/go.mod h1:aXTfST94tswhWEb+5QjlSqG+cZlmyXy/u8jFpor3WqQ= +go.opentelemetry.io/otel/sdk v1.30.0 h1:cHdik6irO49R5IysVhdn8oaiR9m8XluDaJAs4DfOrYE= +go.opentelemetry.io/otel/sdk v1.30.0/go.mod h1:p14X4Ok8S+sygzblytT1nqG98QG2KYKv++HE0LY/mhg= +go.opentelemetry.io/otel/sdk/metric v1.30.0 h1:QJLT8Pe11jyHBHfSAgYH7kEmT24eX792jZO1bo4BXkM= +go.opentelemetry.io/otel/sdk/metric v1.30.0/go.mod h1:waS6P3YqFNzeP01kuo/MBBYqaoBJl7efRQHOaydhy1Y= +go.opentelemetry.io/otel/trace v1.30.0 h1:7UBkkYzeg3C7kQX8VAidWh2biiQbtAKjyIML8dQ9wmc= +go.opentelemetry.io/otel/trace v1.30.0/go.mod h1:5EyKqTzzmyqB9bwtCCq6pDLktPK6fmGf/Dph+8VI02o= go.opentelemetry.io/proto/otlp v1.3.1 h1:TrMUixzpM0yuc/znrFTP9MMRh8trP93mkCiDVeXrui0= go.opentelemetry.io/proto/otlp v1.3.1/go.mod h1:0X1WI4de4ZsLrrJNLAQbFeLCm3T7yBkR0XqQ7niQU+8= go.starlark.net v0.0.0-20240725214946-42030a7cedce h1:YyGqCjZtGZJ+mRPaenEiB87afEO2MFRzLiJNZ0Z0bPw= @@ -738,8 +739,8 @@ gonum.org/v1/hdf5 v0.0.0-20210714002203-8c5d23bc6946 h1:vJpL69PeUullhJyKtTjHjENE gonum.org/v1/hdf5 v0.0.0-20210714002203-8c5d23bc6946/go.mod h1:BQUWDHIAygjdt1HnUPQ0eWqLN2n5FwJycrpYUVUOx2I= gonum.org/v1/plot v0.14.0 h1:+LBDVFYwFe4LHhdP8coW6296MBEY4nQ+Y4vuUpJopcE= gonum.org/v1/plot v0.14.0/go.mod h1:MLdR9424SJed+5VqC6MsouEpig9pZX2VZ57H9ko2bXU= -google.golang.org/api v0.196.0 h1:k/RafYqebaIJBO3+SMnfEGtFVlvp5vSgqTUF54UN/zg= -google.golang.org/api v0.196.0/go.mod h1:g9IL21uGkYgvQ5BZg6BAtoGJQIm8r6EgaAbpNey5wBE= +google.golang.org/api v0.197.0 h1:x6CwqQLsFiA5JKAiGyGBjc2bNtHtLddhJCE2IKuhhcQ= +google.golang.org/api v0.197.0/go.mod h1:AuOuo20GoQ331nq7DquGHlU6d+2wN2fZ8O0ta60nRNw= google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds= google.golang.org/genproto v0.0.0-20240903143218-8af14fe29dc1 h1:BulPr26Jqjnd4eYDVe+YvyR7Yc2vJGkO5/0UxD0/jZU= google.golang.org/genproto v0.0.0-20240903143218-8af14fe29dc1/go.mod h1:hL97c3SYopEHblzpxRL4lSs523++l8DYxGM1FQiYmb4= @@ -748,8 +749,8 @@ google.golang.org/genproto/googleapis/api v0.0.0-20240903143218-8af14fe29dc1/go. google.golang.org/genproto/googleapis/bytestream v0.0.0-20240903143218-8af14fe29dc1/go.mod h1:q0eWNnCW04EJlyrmLT+ZHsjuoUiZ36/eAEdCCezZoco= google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 h1:pPJltXNxVzT4pK9yD8vR9X75DaWYYmLGMsEvBfFQZzQ= google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.1 h1:hO5qAXR19+/Z44hmvIM4dQFMSYX9XcWsByfoxutBpAM= -google.golang.org/grpc v1.66.1/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= +google.golang.org/grpc v1.66.2 h1:3QdXkuq3Bkh7w+ywLdLvM56cmGvQHUMZpiCzt6Rqaoo= +google.golang.org/grpc v1.66.2/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= diff --git a/pkg/agent/core/ngt/service/ngt_test.go b/pkg/agent/core/ngt/service/ngt_test.go index 8b2b1cbf79..e85c19993f 100644 --- a/pkg/agent/core/ngt/service/ngt_test.go +++ b/pkg/agent/core/ngt/service/ngt_test.go @@ -36,7 +36,6 @@ import ( core "github.com/vdaas/vald/internal/core/algorithm/ngt" "github.com/vdaas/vald/internal/errors" "github.com/vdaas/vald/internal/file" - "github.com/vdaas/vald/internal/k8s/vald" kvald "github.com/vdaas/vald/internal/k8s/vald" "github.com/vdaas/vald/internal/log" "github.com/vdaas/vald/internal/net/grpc" diff --git a/rust/Cargo.lock b/rust/Cargo.lock index f48cfd2328..d39a528ee1 100644 --- a/rust/Cargo.lock +++ b/rust/Cargo.lock @@ -39,9 +39,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.87" +version = "1.0.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10f00e1f6e58a40e807377c75c6a7f97bf9044fab57816f2414e6f5f4499d7b8" +checksum = "4e1496f8fb1fbf272686b8d37f523dab3e4a7443300055e74cdaa449f3114356" [[package]] name = "async-stream" @@ -1028,9 +1028,9 @@ dependencies = [ [[package]] name = "owo-colors" -version = "4.0.0" +version = "4.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "caff54706df99d2a78a5a4e3455ff45448d81ef1bb63c22cd14052ca0e993a3f" +checksum = "fb37767f6569cd834a413442455e0f066d0d522de8630436e2a1761d9726ba56" [[package]] name = "parking_lot" @@ -1223,9 +1223,9 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.3" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a908a6e00f1fdd0dfd9c0eb08ce85126f6d8bbda50017e74bc4a4b7d4a926a4" +checksum = "0884ad60e090bf1345b93da0a5de8923c93884cd03f40dfcfddd3b4bee661853" dependencies = [ "bitflags 2.6.0", ] @@ -1274,9 +1274,9 @@ checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" [[package]] name = "rustix" -version = "0.38.36" +version = "0.38.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f55e80d50763938498dd5ebb18647174e0c76dc38c5505294bb224624f30f36" +checksum = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811" dependencies = [ "bitflags 2.6.0", "errno", @@ -1738,9 +1738,9 @@ checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" [[package]] name = "unicode-ident" -version = "1.0.12" +version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" [[package]] name = "unicode-linebreak" diff --git a/rust/libs/proto/src/filter.egress.v1.tonic.rs b/rust/libs/proto/src/filter.egress.v1.tonic.rs index 9627dbcf2c..74102173ce 100644 --- a/rust/libs/proto/src/filter.egress.v1.tonic.rs +++ b/rust/libs/proto/src/filter.egress.v1.tonic.rs @@ -17,8 +17,6 @@ pub mod filter_client { #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] use tonic::codegen::*; use tonic::codegen::http::Uri; - /** Represent the egress filter service. -*/ #[derive(Debug, Clone)] pub struct FilterClient { inner: tonic::client::Grpc, @@ -189,8 +187,6 @@ pub mod filter_server { tonic::Status, >; } - /** Represent the egress filter service. -*/ #[derive(Debug)] pub struct FilterServer { inner: Arc, diff --git a/rust/libs/proto/src/filter.ingress.v1.tonic.rs b/rust/libs/proto/src/filter.ingress.v1.tonic.rs index 76f377386b..d8b462caa1 100644 --- a/rust/libs/proto/src/filter.ingress.v1.tonic.rs +++ b/rust/libs/proto/src/filter.ingress.v1.tonic.rs @@ -17,8 +17,6 @@ pub mod filter_client { #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] use tonic::codegen::*; use tonic::codegen::http::Uri; - /** Represent the ingress filter service. -*/ #[derive(Debug, Clone)] pub struct FilterClient { inner: tonic::client::Grpc, @@ -189,8 +187,6 @@ pub mod filter_server { tonic::Status, >; } - /** Represent the ingress filter service. -*/ #[derive(Debug)] pub struct FilterServer { inner: Arc, diff --git a/rust/libs/proto/src/vald.v1.tonic.rs b/rust/libs/proto/src/vald.v1.tonic.rs index 29843a4d93..7cc2207e61 100644 --- a/rust/libs/proto/src/vald.v1.tonic.rs +++ b/rust/libs/proto/src/vald.v1.tonic.rs @@ -124,8 +124,6 @@ pub mod filter_client { .insert(GrpcMethod::new("vald.v1.Filter", "SearchObject")); self.inner.unary(req, path, codec).await } - /** A method to search multiple objects. -*/ pub async fn multi_search_object( &mut self, request: impl tonic::IntoRequest< @@ -477,8 +475,6 @@ pub mod filter_server { tonic::Response, tonic::Status, >; - /** A method to search multiple objects. -*/ async fn multi_search_object( &self, request: tonic::Request< @@ -4046,8 +4042,6 @@ pub mod search_client { req.extensions_mut().insert(GrpcMethod::new("vald.v1.Search", "Search")); self.inner.unary(req, path, codec).await } - /** A method to search indexed vectors by ID. -*/ pub async fn search_by_id( &mut self, request: impl tonic::IntoRequest< @@ -4398,8 +4392,6 @@ pub mod search_server { tonic::Response, tonic::Status, >; - /** A method to search indexed vectors by ID. -*/ async fn search_by_id( &self, request: tonic::Request, diff --git a/versions/HELM_VERSION b/versions/HELM_VERSION index 0af36fd743..3490df664c 100644 --- a/versions/HELM_VERSION +++ b/versions/HELM_VERSION @@ -1 +1 @@ -v3.15.4 +v3.16.0 diff --git a/versions/PROTOBUF_VERSION b/versions/PROTOBUF_VERSION index ba70ecb3bf..ed15377162 100644 --- a/versions/PROTOBUF_VERSION +++ b/versions/PROTOBUF_VERSION @@ -1 +1 @@ -28.0 +28.1 From ea3f25c054af671e839a3316f92e9c802d40eeb9 Mon Sep 17 00:00:00 2001 From: Kosuke Morimoto Date: Mon, 26 Aug 2024 11:52:28 +0900 Subject: [PATCH 09/14] implement richer error model Signed-off-by: Kosuke Morimoto --- rust/Cargo.lock | 2776 ++++++++++++++++++++++++-- rust/bin/agent/Cargo.toml | 4 +- rust/bin/agent/src/handler.rs | 11 +- rust/bin/agent/src/handler/search.rs | 116 +- rust/bin/agent/src/main.rs | 41 +- rust/libs/algorithm/Cargo.toml | 2 +- rust/libs/algorithm/src/lib.rs | 28 +- 7 files changed, 2765 insertions(+), 213 deletions(-) diff --git a/rust/Cargo.lock b/rust/Cargo.lock index d39a528ee1..6acfc8e80c 100644 --- a/rust/Cargo.lock +++ b/rust/Cargo.lock @@ -22,19 +22,112 @@ name = "agent" version = "0.1.0" dependencies = [ "algorithm", + "anyhow", + "cargo", "prost 0.13.2", + "prost-types", "proto", "tokio", "tokio-stream", "tonic 0.12.2", + "tonic-types", +] + +[[package]] +name = "ahash" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" +dependencies = [ + "cfg-if", + "once_cell", + "version_check", + "zerocopy", +] + +[[package]] +name = "aho-corasick" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +dependencies = [ + "memchr", ] [[package]] name = "algorithm" version = "0.1.0" dependencies = [ + "anyhow", "faiss", "ngt", + "proto", + "tonic 0.12.2", +] + +[[package]] +name = "allocator-api2" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" + +[[package]] +name = "annotate-snippets" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24e35ed54e5ea7997c14ed4c70ba043478db1112e98263b3b035907aa197d991" +dependencies = [ + "anstyle", + "unicode-width", +] + +[[package]] +name = "anstream" +version = "0.6.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526" +dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "is_terminal_polyfill", + "utf8parse", +] + +[[package]] +name = "anstyle" +version = "1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1" + +[[package]] +name = "anstyle-parse" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb" +dependencies = [ + "utf8parse", +] + +[[package]] +name = "anstyle-query" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a" +dependencies = [ + "windows-sys 0.52.0", +] + +[[package]] +name = "anstyle-wincon" +version = "3.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8" +dependencies = [ + "anstyle", + "windows-sys 0.52.0", ] [[package]] @@ -43,6 +136,12 @@ version = "1.0.88" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4e1496f8fb1fbf272686b8d37f523dab3e4a7443300055e74cdaa449f3114356" +[[package]] +name = "arc-swap" +version = "1.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457" + [[package]] name = "async-stream" version = "0.3.5" @@ -204,6 +303,12 @@ dependencies = [ "backtrace", ] +[[package]] +name = "base16ct" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" + [[package]] name = "base64" version = "0.21.7" @@ -216,6 +321,12 @@ version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" +[[package]] +name = "base64ct" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" + [[package]] name = "bitflags" version = "1.3.2" @@ -228,6 +339,35 @@ version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" +[[package]] +name = "bitmaps" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "031043d04099746d8db04daf1fa424b2bc8bd69d92b25962dcde24da39ab64a2" +dependencies = [ + "typenum", +] + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "bstr" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40723b8fb387abc38f4f4a37c09073622e41dd12327033091ef8950659e6dc0c" +dependencies = [ + "memchr", + "regex-automata 0.4.7", + "serde", +] + [[package]] name = "bumpalo" version = "3.16.0" @@ -246,12 +386,191 @@ version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8318a53db07bb3f8dca91a600466bdb3f2eaadeedfdbcf02e1accbad9271ba50" +[[package]] +name = "bytesize" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3e368af43e418a04d52505cf3dbc23dda4e3407ae2fa99fd0e4f308ce546acc" + +[[package]] +name = "cargo" +version = "0.81.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f24c9dcadcdad2f6fa2553b63d5e9c9700fa6932b75d53f3b11b8aea35ebab99" +dependencies = [ + "annotate-snippets", + "anstream", + "anstyle", + "anyhow", + "base64 0.22.1", + "bytesize", + "cargo-credential", + "cargo-credential-libsecret", + "cargo-credential-macos-keychain", + "cargo-credential-wincred", + "cargo-platform", + "cargo-util", + "cargo-util-schemas", + "clap", + "color-print", + "crates-io", + "curl", + "curl-sys", + "filetime", + "flate2", + "git2", + "git2-curl", + "gix", + "glob", + "hex", + "hmac", + "home", + "http-auth", + "humantime", + "ignore", + "im-rc", + "indexmap 2.5.0", + "itertools 0.12.1", + "jobserver", + "lazycell", + "libc", + "libgit2-sys", + "memchr", + "opener", + "os_info", + "pasetors", + "pathdiff", + "rand", + "regex", + "rusqlite", + "rustfix", + "same-file", + "semver", + "serde", + "serde-untagged", + "serde_ignored", + "serde_json", + "sha1", + "shell-escape", + "supports-hyperlinks", + "supports-unicode", + "tar", + "tempfile", + "time", + "toml", + "toml_edit", + "tracing", + "tracing-chrome", + "tracing-subscriber", + "unicase", + "unicode-width", + "url", + "walkdir", + "windows-sys 0.52.0", +] + +[[package]] +name = "cargo-credential" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a3e7c625670eacbefd48f552588c491eccc79a85a96898af13af7b312d1c4cd" +dependencies = [ + "anyhow", + "libc", + "serde", + "serde_json", + "thiserror", + "time", + "windows-sys 0.52.0", +] + +[[package]] +name = "cargo-credential-libsecret" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "508a82e6202bdb857bed8fabd67a29cdb2e5c3dd3eeb283da3e225da5a5c700d" +dependencies = [ + "anyhow", + "cargo-credential", + "libloading", +] + +[[package]] +name = "cargo-credential-macos-keychain" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4635f2c8a02d08a16f8649672df1999f796c68bcd75784213a6495d8c190cddd" +dependencies = [ + "cargo-credential", + "security-framework", +] + +[[package]] +name = "cargo-credential-wincred" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a86ccaf9c6f49354e832c0eeb44b310ab953871fa2417d2e01ee3d153b310051" +dependencies = [ + "cargo-credential", + "windows-sys 0.52.0", +] + +[[package]] +name = "cargo-platform" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" +dependencies = [ + "serde", +] + +[[package]] +name = "cargo-util" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc680c90073156fb5280c0c0127b779eef1f6292e41f7d6621acba3041e81c7d" +dependencies = [ + "anyhow", + "core-foundation", + "filetime", + "hex", + "ignore", + "jobserver", + "libc", + "miow", + "same-file", + "sha2", + "shell-escape", + "tempfile", + "tracing", + "walkdir", + "windows-sys 0.52.0", +] + +[[package]] +name = "cargo-util-schemas" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34ddc7fc157e3dbbd88f05ef8be7c3ed3ecb05925a3f51f716d6103a607fb7c4" +dependencies = [ + "semver", + "serde", + "serde-untagged", + "serde-value", + "thiserror", + "toml", + "unicode-xid", + "url", +] + [[package]] name = "cc" version = "1.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b62ac837cdb5cb22e10a256099b4fc502b1dfe560cb282963a974d7abd80e476" dependencies = [ + "jobserver", + "libc", "shlex", ] @@ -261,6 +580,40 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "clap" +version = "4.5.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e5a21b8495e732f1b3c364c9949b201ca7bae518c502c80256c96ad79eaf6ac" +dependencies = [ + "clap_builder", +] + +[[package]] +name = "clap_builder" +version = "4.5.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8cf2dd12af7a047ad9d6da2b6b249759a22a7abc0f474c1dae1777afa4b21a73" +dependencies = [ + "anstream", + "anstyle", + "clap_lex", + "strsim", + "terminal_size", +] + +[[package]] +name = "clap_lex" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97" + +[[package]] +name = "clru" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cbd0f76e066e64fdc5631e3bb46381254deab9ef1158292f27c8c57e3bf3fe59" + [[package]] name = "codespan-reporting" version = "0.11.1" @@ -271,6 +624,39 @@ dependencies = [ "unicode-width", ] +[[package]] +name = "color-print" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ee543c60ff3888934877a5671f45494dd27ed4ba25c6670b9a7576b7ed7a8c0" +dependencies = [ + "color-print-proc-macro", +] + +[[package]] +name = "color-print-proc-macro" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77ff1a80c5f3cb1ca7c06ffdd71b6a6dd6d8f896c42141fbd43f50ed28dcdb93" +dependencies = [ + "nom", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "colorchoice" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0" + +[[package]] +name = "const-oid" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" + [[package]] name = "core-foundation" version = "0.9.4" @@ -288,187 +674,1294 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] -name = "cxx" -version = "1.0.128" +name = "cpufeatures" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54ccead7d199d584d139148b04b4a368d1ec7556a1d9ea2548febb1b9d49f9a4" +checksum = "608697df725056feaccfa42cffdaeeec3fccc4ffc38358ecd19b243e716a78e0" dependencies = [ - "cc", - "cxxbridge-flags", - "cxxbridge-macro", - "link-cplusplus", + "libc", ] [[package]] -name = "cxx-build" -version = "1.0.128" +name = "crates-io" +version = "0.40.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c77953e99f01508f89f55c494bfa867171ef3a6c8cea03d26975368f2121a5c1" +checksum = "f0f4884a8a380811c8ef088e7caeb68caeb665ffdb91f7276069e3c7828f168a" dependencies = [ - "cc", - "codespan-reporting", - "once_cell", - "proc-macro2", - "quote", - "scratch", - "syn", + "curl", + "percent-encoding", + "serde", + "serde_json", + "thiserror", + "url", ] [[package]] -name = "cxxbridge-flags" -version = "1.0.128" +name = "crc32fast" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65777e06cc48f0cb0152024c77d6cf9e4bdb4408e7b48bea993d42fa0f5b02b6" +checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" +dependencies = [ + "cfg-if", +] [[package]] -name = "cxxbridge-macro" -version = "1.0.128" +name = "crossbeam-channel" +version = "0.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98532a60dedaebc4848cb2cba5023337cc9ea3af16a5b062633fabfd9f18fb60" +checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" dependencies = [ - "proc-macro2", - "quote", - "syn", + "crossbeam-utils", ] [[package]] -name = "either" -version = "1.13.0" +name = "crossbeam-deque" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" +checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" +dependencies = [ + "crossbeam-epoch", + "crossbeam-utils", +] [[package]] -name = "encoding_rs" -version = "0.8.34" +name = "crossbeam-epoch" +version = "0.9.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" dependencies = [ - "cfg-if", + "crossbeam-utils", ] [[package]] -name = "equivalent" -version = "1.0.1" +name = "crossbeam-utils" +version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" +checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" [[package]] -name = "errno" -version = "0.3.9" +name = "crypto-bigint" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" +checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" +dependencies = [ + "generic-array", + "rand_core", + "subtle", + "zeroize", +] + +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "ct-codecs" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "026ac6ceace6298d2c557ef5ed798894962296469ec7842288ea64674201a2d1" + +[[package]] +name = "curl" +version = "0.4.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e2161dd6eba090ff1594084e95fd67aeccf04382ffea77999ea94ed42ec67b6" +dependencies = [ + "curl-sys", + "libc", + "openssl-probe", + "openssl-sys", + "schannel", + "socket2", + "windows-sys 0.52.0", +] + +[[package]] +name = "curl-sys" +version = "0.4.75+curl-8.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a4fd752d337342e4314717c0d9b6586b059a120c80029ebe4d49b11fec7875e" +dependencies = [ + "cc", + "libc", + "libnghttp2-sys", + "libz-sys", + "openssl-sys", + "pkg-config", + "vcpkg", + "windows-sys 0.52.0", +] + +[[package]] +name = "cxx" +version = "1.0.128" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54ccead7d199d584d139148b04b4a368d1ec7556a1d9ea2548febb1b9d49f9a4" +dependencies = [ + "cc", + "cxxbridge-flags", + "cxxbridge-macro", + "link-cplusplus", +] + +[[package]] +name = "cxx-build" +version = "1.0.128" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c77953e99f01508f89f55c494bfa867171ef3a6c8cea03d26975368f2121a5c1" +dependencies = [ + "cc", + "codespan-reporting", + "once_cell", + "proc-macro2", + "quote", + "scratch", + "syn", +] + +[[package]] +name = "cxxbridge-flags" +version = "1.0.128" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65777e06cc48f0cb0152024c77d6cf9e4bdb4408e7b48bea993d42fa0f5b02b6" + +[[package]] +name = "cxxbridge-macro" +version = "1.0.128" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98532a60dedaebc4848cb2cba5023337cc9ea3af16a5b062633fabfd9f18fb60" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "dbus" +version = "0.9.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bb21987b9fb1613058ba3843121dd18b163b254d8a6e797e144cbac14d96d1b" +dependencies = [ + "libc", + "libdbus-sys", + "winapi", +] + +[[package]] +name = "der" +version = "0.7.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" +dependencies = [ + "const-oid", + "pem-rfc7468", + "zeroize", +] + +[[package]] +name = "deranged" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +dependencies = [ + "powerfmt", + "serde", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer", + "const-oid", + "crypto-common", + "subtle", +] + +[[package]] +name = "dunce" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" + +[[package]] +name = "ecdsa" +version = "0.16.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" +dependencies = [ + "der", + "digest", + "elliptic-curve", + "rfc6979", + "signature", + "spki", +] + +[[package]] +name = "ed25519-compact" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9b3460f44bea8cd47f45a0c70892f1eff856d97cd55358b2f73f663789f6190" +dependencies = [ + "getrandom", +] + +[[package]] +name = "either" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" + +[[package]] +name = "elliptic-curve" +version = "0.13.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" +dependencies = [ + "base16ct", + "crypto-bigint", + "digest", + "ff", + "generic-array", + "group", + "hkdf", + "pem-rfc7468", + "pkcs8", + "rand_core", + "sec1", + "subtle", + "zeroize", +] + +[[package]] +name = "encoding_rs" +version = "0.8.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + +[[package]] +name = "erased-serde" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24e2389d65ab4fab27dc2a5de7b191e1f6617d1f1c8855c0dc569c94a4cbb18d" +dependencies = [ + "serde", + "typeid", +] + +[[package]] +name = "errno" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "faiss" +version = "0.1.0" + +[[package]] +name = "fallible-iterator" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649" + +[[package]] +name = "fallible-streaming-iterator" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a" + +[[package]] +name = "faster-hex" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2a2b11eda1d40935b26cf18f6833c526845ae8c41e58d09af6adeb6f0269183" + +[[package]] +name = "fastrand" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6" + +[[package]] +name = "ff" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" +dependencies = [ + "rand_core", + "subtle", +] + +[[package]] +name = "fiat-crypto" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" + +[[package]] +name = "filetime" +version = "0.2.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586" +dependencies = [ + "cfg-if", + "libc", + "libredox", + "windows-sys 0.59.0", +] + +[[package]] +name = "flate2" +version = "1.0.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "324a1be68054ef05ad64b861cc9eaf1d623d2d8cb25b4bf2cb9cdd902b4bf253" +dependencies = [ + "crc32fast", + "libz-sys", + "miniz_oxide", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "form_urlencoded" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "futures-channel" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" +dependencies = [ + "futures-core", +] + +[[package]] +name = "futures-core" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" + +[[package]] +name = "futures-executor" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-io" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" + +[[package]] +name = "futures-macro" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "futures-sink" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" + +[[package]] +name = "futures-task" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" + +[[package]] +name = "futures-util" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" +dependencies = [ + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", + "zeroize", +] + +[[package]] +name = "getrandom" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" +dependencies = [ + "cfg-if", + "js-sys", + "libc", + "wasi", + "wasm-bindgen", +] + +[[package]] +name = "gimli" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32085ea23f3234fc7846555e85283ba4de91e21016dc0455a16286d87a292d64" + +[[package]] +name = "git2" +version = "0.18.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "232e6a7bfe35766bf715e55a88b39a700596c0ccfd88cd3680b4cdb40d66ef70" +dependencies = [ + "bitflags 2.6.0", + "libc", + "libgit2-sys", + "log", + "openssl-probe", + "openssl-sys", + "url", +] + +[[package]] +name = "git2-curl" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78e26b61608c573ffd26fc79061a823aa5147449a1afe1f61679a21e2031f7c3" +dependencies = [ + "curl", + "git2", + "log", + "url", +] + +[[package]] +name = "gix" +version = "0.63.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "984c5018adfa7a4536ade67990b3ebc6e11ab57b3d6cd9968de0947ca99b4b06" +dependencies = [ + "gix-actor", + "gix-attributes", + "gix-command", + "gix-commitgraph", + "gix-config", + "gix-credentials", + "gix-date 0.8.7", + "gix-diff", + "gix-dir", + "gix-discover", + "gix-features", + "gix-filter", + "gix-fs", + "gix-glob", + "gix-hash", + "gix-hashtable", + "gix-ignore", + "gix-index", + "gix-lock", + "gix-macros", + "gix-negotiate", + "gix-object", + "gix-odb", + "gix-pack", + "gix-path", + "gix-pathspec", + "gix-prompt", + "gix-protocol", + "gix-ref", + "gix-refspec", + "gix-revision", + "gix-revwalk", + "gix-sec", + "gix-submodule", + "gix-tempfile", + "gix-trace", + "gix-transport", + "gix-traverse", + "gix-url", + "gix-utils", + "gix-validate", + "gix-worktree", + "once_cell", + "parking_lot", + "prodash", + "smallvec", + "thiserror", +] + +[[package]] +name = "gix-actor" +version = "0.31.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0e454357e34b833cc3a00b6efbbd3dd4d18b24b9fb0c023876ec2645e8aa3f2" +dependencies = [ + "bstr", + "gix-date 0.8.7", + "gix-utils", + "itoa", + "thiserror", + "winnow", +] + +[[package]] +name = "gix-attributes" +version = "0.22.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebccbf25aa4a973dd352564a9000af69edca90623e8a16dad9cbc03713131311" +dependencies = [ + "bstr", + "gix-glob", + "gix-path", + "gix-quote", + "gix-trace", + "kstring", + "smallvec", + "thiserror", + "unicode-bom", +] + +[[package]] +name = "gix-bitmap" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a371db66cbd4e13f0ed9dc4c0fea712d7276805fccc877f77e96374d317e87ae" +dependencies = [ + "thiserror", +] + +[[package]] +name = "gix-chunk" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45c8751169961ba7640b513c3b24af61aa962c967aaf04116734975cd5af0c52" +dependencies = [ + "thiserror", +] + +[[package]] +name = "gix-command" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dff2e692b36bbcf09286c70803006ca3fd56551a311de450be317a0ab8ea92e7" +dependencies = [ + "bstr", + "gix-path", + "gix-trace", + "shell-words", +] + +[[package]] +name = "gix-commitgraph" +version = "0.24.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "133b06f67f565836ec0c473e2116a60fb74f80b6435e21d88013ac0e3c60fc78" +dependencies = [ + "bstr", + "gix-chunk", + "gix-features", + "gix-hash", + "memmap2", + "thiserror", +] + +[[package]] +name = "gix-config" +version = "0.37.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53fafe42957e11d98e354a66b6bd70aeea00faf2f62dd11164188224a507c840" +dependencies = [ + "bstr", + "gix-config-value", + "gix-features", + "gix-glob", + "gix-path", + "gix-ref", + "gix-sec", + "memchr", + "once_cell", + "smallvec", + "thiserror", + "unicode-bom", + "winnow", +] + +[[package]] +name = "gix-config-value" +version = "0.14.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03f76169faa0dec598eac60f83d7fcdd739ec16596eca8fb144c88973dbe6f8c" +dependencies = [ + "bitflags 2.6.0", + "bstr", + "gix-path", + "libc", + "thiserror", +] + +[[package]] +name = "gix-credentials" +version = "0.24.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ce391d305968782f1ae301c4a3d42c5701df7ff1d8bc03740300f6fd12bce78" +dependencies = [ + "bstr", + "gix-command", + "gix-config-value", + "gix-path", + "gix-prompt", + "gix-sec", + "gix-trace", + "gix-url", + "thiserror", +] + +[[package]] +name = "gix-date" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9eed6931f21491ee0aeb922751bd7ec97b4b2fe8fbfedcb678e2a2dce5f3b8c0" +dependencies = [ + "bstr", + "itoa", + "thiserror", + "time", +] + +[[package]] +name = "gix-date" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35c84b7af01e68daf7a6bb8bb909c1ff5edb3ce4326f1f43063a5a96d3c3c8a5" +dependencies = [ + "bstr", + "itoa", + "jiff", + "thiserror", +] + +[[package]] +name = "gix-diff" +version = "0.44.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1996d5c8a305b59709467d80617c9fde48d9d75fd1f4179ea970912630886c9d" +dependencies = [ + "bstr", + "gix-hash", + "gix-object", + "thiserror", +] + +[[package]] +name = "gix-dir" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60c99f8c545abd63abe541d20ab6cda347de406c0a3f1c80aadc12d9b0e94974" +dependencies = [ + "bstr", + "gix-discover", + "gix-fs", + "gix-ignore", + "gix-index", + "gix-object", + "gix-path", + "gix-pathspec", + "gix-trace", + "gix-utils", + "gix-worktree", + "thiserror", +] + +[[package]] +name = "gix-discover" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc27c699b63da66b50d50c00668bc0b7e90c3a382ef302865e891559935f3dbf" +dependencies = [ + "bstr", + "dunce", + "gix-fs", + "gix-hash", + "gix-path", + "gix-ref", + "gix-sec", + "thiserror", +] + +[[package]] +name = "gix-features" +version = "0.38.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac7045ac9fe5f9c727f38799d002a7ed3583cd777e3322a7c4b43e3cf437dc69" +dependencies = [ + "bytes", + "crc32fast", + "crossbeam-channel", + "flate2", + "gix-hash", + "gix-trace", + "gix-utils", + "libc", + "once_cell", + "parking_lot", + "prodash", + "sha1_smol", + "thiserror", + "walkdir", +] + +[[package]] +name = "gix-filter" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6547738da28275f4dff4e9f3a0f28509f53f94dd6bd822733c91cb306bca61a" +dependencies = [ + "bstr", + "encoding_rs", + "gix-attributes", + "gix-command", + "gix-hash", + "gix-object", + "gix-packetline-blocking", + "gix-path", + "gix-quote", + "gix-trace", + "gix-utils", + "smallvec", + "thiserror", +] + +[[package]] +name = "gix-fs" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2bfe6249cfea6d0c0e0990d5226a4cb36f030444ba9e35e0639275db8f98575" +dependencies = [ + "fastrand", + "gix-features", + "gix-utils", +] + +[[package]] +name = "gix-glob" +version = "0.16.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74908b4bbc0a0a40852737e5d7889f676f081e340d5451a16e5b4c50d592f111" +dependencies = [ + "bitflags 2.6.0", + "bstr", + "gix-features", + "gix-path", +] + +[[package]] +name = "gix-hash" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f93d7df7366121b5018f947a04d37f034717e113dcf9ccd85c34b58e57a74d5e" +dependencies = [ + "faster-hex", + "thiserror", +] + +[[package]] +name = "gix-hashtable" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ddf80e16f3c19ac06ce415a38b8591993d3f73aede049cb561becb5b3a8e242" +dependencies = [ + "gix-hash", + "hashbrown 0.14.5", + "parking_lot", +] + +[[package]] +name = "gix-ignore" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e447cd96598460f5906a0f6c75e950a39f98c2705fc755ad2f2020c9e937fab7" +dependencies = [ + "bstr", + "gix-glob", + "gix-path", + "gix-trace", + "unicode-bom", +] + +[[package]] +name = "gix-index" +version = "0.33.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a9a44eb55bd84bb48f8a44980e951968ced21e171b22d115d1cdcef82a7d73f" +dependencies = [ + "bitflags 2.6.0", + "bstr", + "filetime", + "fnv", + "gix-bitmap", + "gix-features", + "gix-fs", + "gix-hash", + "gix-lock", + "gix-object", + "gix-traverse", + "gix-utils", + "gix-validate", + "hashbrown 0.14.5", + "itoa", + "libc", + "memmap2", + "rustix", + "smallvec", + "thiserror", +] + +[[package]] +name = "gix-lock" +version = "14.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3bc7fe297f1f4614774989c00ec8b1add59571dc9b024b4c00acb7dedd4e19d" +dependencies = [ + "gix-tempfile", + "gix-utils", + "thiserror", +] + +[[package]] +name = "gix-macros" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "999ce923619f88194171a67fb3e6d613653b8d4d6078b529b15a765da0edcc17" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "gix-negotiate" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ec879fb6307bb63519ba89be0024c6f61b4b9d61f1a91fd2ce572d89fe9c224" +dependencies = [ + "bitflags 2.6.0", + "gix-commitgraph", + "gix-date 0.8.7", + "gix-hash", + "gix-object", + "gix-revwalk", + "smallvec", + "thiserror", +] + +[[package]] +name = "gix-object" +version = "0.42.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25da2f46b4e7c2fa7b413ce4dffb87f69eaf89c2057e386491f4c55cadbfe386" +dependencies = [ + "bstr", + "gix-actor", + "gix-date 0.8.7", + "gix-features", + "gix-hash", + "gix-utils", + "gix-validate", + "itoa", + "smallvec", + "thiserror", + "winnow", +] + +[[package]] +name = "gix-odb" +version = "0.61.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20d384fe541d93d8a3bb7d5d5ef210780d6df4f50c4e684ccba32665a5e3bc9b" +dependencies = [ + "arc-swap", + "gix-date 0.8.7", + "gix-features", + "gix-fs", + "gix-hash", + "gix-object", + "gix-pack", + "gix-path", + "gix-quote", + "parking_lot", + "tempfile", + "thiserror", +] + +[[package]] +name = "gix-pack" +version = "0.51.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e0594491fffe55df94ba1c111a6566b7f56b3f8d2e1efc750e77d572f5f5229" +dependencies = [ + "clru", + "gix-chunk", + "gix-features", + "gix-hash", + "gix-hashtable", + "gix-object", + "gix-path", + "gix-tempfile", + "memmap2", + "parking_lot", + "smallvec", + "thiserror", +] + +[[package]] +name = "gix-packetline" +version = "0.17.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c43ef4d5fe2fa222c606731c8bdbf4481413ee4ef46d61340ec39e4df4c5e49" +dependencies = [ + "bstr", + "faster-hex", + "gix-trace", + "thiserror", +] + +[[package]] +name = "gix-packetline-blocking" +version = "0.17.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9802304baa798dd6f5ff8008a2b6516d54b74a69ca2d3a2b9e2d6c3b5556b40" +dependencies = [ + "bstr", + "faster-hex", + "gix-trace", + "thiserror", +] + +[[package]] +name = "gix-path" +version = "0.10.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebfc4febd088abdcbc9f1246896e57e37b7a34f6909840045a1767c6dafac7af" +dependencies = [ + "bstr", + "gix-trace", + "home", + "once_cell", + "thiserror", +] + +[[package]] +name = "gix-pathspec" +version = "0.7.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d23bf239532b4414d0e63b8ab3a65481881f7237ed9647bb10c1e3cc54c5ceb" +dependencies = [ + "bitflags 2.6.0", + "bstr", + "gix-attributes", + "gix-config-value", + "gix-glob", + "gix-path", + "thiserror", +] + +[[package]] +name = "gix-prompt" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74fde865cdb46b30d8dad1293385d9bcf998d3a39cbf41bee67d0dab026fe6b1" +dependencies = [ + "gix-command", + "gix-config-value", + "parking_lot", + "rustix", + "thiserror", +] + +[[package]] +name = "gix-protocol" +version = "0.45.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc43a1006f01b5efee22a003928c9eb83dde2f52779ded9d4c0732ad93164e3e" +dependencies = [ + "bstr", + "gix-credentials", + "gix-date 0.9.0", + "gix-features", + "gix-hash", + "gix-transport", + "gix-utils", + "maybe-async", + "thiserror", + "winnow", +] + +[[package]] +name = "gix-quote" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cbff4f9b9ea3fa7a25a70ee62f545143abef624ac6aa5884344e70c8b0a1d9ff" +dependencies = [ + "bstr", + "gix-utils", + "thiserror", +] + +[[package]] +name = "gix-ref" +version = "0.44.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3394a2997e5bc6b22ebc1e1a87b41eeefbcfcff3dbfa7c4bd73cb0ac8f1f3e2e" dependencies = [ - "libc", - "windows-sys 0.52.0", + "gix-actor", + "gix-date 0.8.7", + "gix-features", + "gix-fs", + "gix-hash", + "gix-lock", + "gix-object", + "gix-path", + "gix-tempfile", + "gix-utils", + "gix-validate", + "memmap2", + "thiserror", + "winnow", ] [[package]] -name = "faiss" -version = "0.1.0" +name = "gix-refspec" +version = "0.23.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6868f8cd2e62555d1f7c78b784bece43ace40dd2a462daf3b588d5416e603f37" +dependencies = [ + "bstr", + "gix-hash", + "gix-revision", + "gix-validate", + "smallvec", + "thiserror", +] [[package]] -name = "fnv" -version = "1.0.7" +name = "gix-revision" +version = "0.27.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +checksum = "01b13e43c2118c4b0537ddac7d0821ae0dfa90b7b8dbf20c711e153fb749adce" +dependencies = [ + "bstr", + "gix-date 0.8.7", + "gix-hash", + "gix-hashtable", + "gix-object", + "gix-revwalk", + "gix-trace", + "thiserror", +] [[package]] -name = "form_urlencoded" -version = "1.2.1" +name = "gix-revwalk" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +checksum = "1b030ccaab71af141f537e0225f19b9e74f25fefdba0372246b844491cab43e0" dependencies = [ - "percent-encoding", + "gix-commitgraph", + "gix-date 0.8.7", + "gix-hash", + "gix-hashtable", + "gix-object", + "smallvec", + "thiserror", ] [[package]] -name = "futures-channel" -version = "0.3.30" +name = "gix-sec" +version = "0.10.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" +checksum = "0fe4d52f30a737bbece5276fab5d3a8b276dc2650df963e293d0673be34e7a5f" dependencies = [ - "futures-core", + "bitflags 2.6.0", + "gix-path", + "libc", + "windows-sys 0.52.0", ] [[package]] -name = "futures-core" -version = "0.3.30" +name = "gix-submodule" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" +checksum = "921cd49924ac14b6611b22e5fb7bbba74d8780dc7ad26153304b64d1272460ac" +dependencies = [ + "bstr", + "gix-config", + "gix-path", + "gix-pathspec", + "gix-refspec", + "gix-url", + "thiserror", +] [[package]] -name = "futures-executor" -version = "0.3.30" +name = "gix-tempfile" +version = "14.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" +checksum = "046b4927969fa816a150a0cda2e62c80016fe11fb3c3184e4dddf4e542f108aa" dependencies = [ - "futures-core", - "futures-task", - "futures-util", + "gix-fs", + "libc", + "once_cell", + "parking_lot", + "tempfile", ] [[package]] -name = "futures-io" -version = "0.3.30" +name = "gix-trace" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" +checksum = "6cae0e8661c3ff92688ce1c8b8058b3efb312aba9492bbe93661a21705ab431b" [[package]] -name = "futures-macro" -version = "0.3.30" +name = "gix-transport" +version = "0.42.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" +checksum = "421dcccab01b41a15d97b226ad97a8f9262295044e34fbd37b10e493b0a6481f" dependencies = [ - "proc-macro2", - "quote", - "syn", + "base64 0.22.1", + "bstr", + "curl", + "gix-command", + "gix-credentials", + "gix-features", + "gix-packetline", + "gix-quote", + "gix-sec", + "gix-url", + "thiserror", ] [[package]] -name = "futures-sink" -version = "0.3.30" +name = "gix-traverse" +version = "0.39.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" +checksum = "e499a18c511e71cf4a20413b743b9f5bcf64b3d9e81e9c3c6cd399eae55a8840" +dependencies = [ + "bitflags 2.6.0", + "gix-commitgraph", + "gix-date 0.8.7", + "gix-hash", + "gix-hashtable", + "gix-object", + "gix-revwalk", + "smallvec", + "thiserror", +] [[package]] -name = "futures-task" -version = "0.3.30" +name = "gix-url" +version = "0.27.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" +checksum = "fd280c5e84fb22e128ed2a053a0daeacb6379469be6a85e3d518a0636e160c89" +dependencies = [ + "bstr", + "gix-features", + "gix-path", + "home", + "thiserror", + "url", +] [[package]] -name = "futures-util" -version = "0.3.30" +name = "gix-utils" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" +checksum = "35192df7fd0fa112263bad8021e2df7167df4cc2a6e6d15892e1e55621d3d4dc" dependencies = [ - "futures-core", - "futures-io", - "futures-macro", - "futures-sink", - "futures-task", - "memchr", - "pin-project-lite", - "pin-utils", - "slab", + "bstr", + "fastrand", + "unicode-normalization", ] [[package]] -name = "getrandom" -version = "0.2.15" +name = "gix-validate" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" +checksum = "82c27dd34a49b1addf193c92070bcbf3beaf6e10f16a78544de6372e146a0acf" dependencies = [ - "cfg-if", - "libc", - "wasi", + "bstr", + "thiserror", ] [[package]] -name = "gimli" -version = "0.31.0" +name = "gix-worktree" +version = "0.34.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32085ea23f3234fc7846555e85283ba4de91e21016dc0455a16286d87a292d64" +checksum = "26f7326ebe0b9172220694ea69d344c536009a9b98fb0f9de092c440f3efe7a6" +dependencies = [ + "bstr", + "gix-attributes", + "gix-features", + "gix-fs", + "gix-glob", + "gix-hash", + "gix-ignore", + "gix-index", + "gix-object", + "gix-path", + "gix-validate", +] [[package]] name = "glob" @@ -476,6 +1969,30 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" +[[package]] +name = "globset" +version = "0.4.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15f1ce686646e7f1e19bf7d5533fe443a45dbfb990e00629110797578b42fb19" +dependencies = [ + "aho-corasick", + "bstr", + "log", + "regex-automata 0.4.7", + "regex-syntax 0.8.4", +] + +[[package]] +name = "group" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" +dependencies = [ + "ff", + "rand_core", + "subtle", +] + [[package]] name = "h2" version = "0.3.26" @@ -525,6 +2042,19 @@ name = "hashbrown" version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" +dependencies = [ + "ahash", + "allocator-api2", +] + +[[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 = "hermit-abi" @@ -532,6 +2062,39 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "hkdf" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" +dependencies = [ + "hmac", +] + +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest", +] + +[[package]] +name = "home" +version = "0.5.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" +dependencies = [ + "windows-sys 0.52.0", +] + [[package]] name = "http" version = "0.2.12" @@ -554,6 +2117,15 @@ dependencies = [ "itoa", ] +[[package]] +name = "http-auth" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "150fa4a9462ef926824cf4519c84ed652ca8f4fbae34cb8af045b5cbcaf98822" +dependencies = [ + "memchr", +] + [[package]] name = "http-body" version = "0.4.6" @@ -600,6 +2172,12 @@ version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" +[[package]] +name = "humantime" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" + [[package]] name = "hyper" version = "0.14.30" @@ -700,6 +2278,36 @@ dependencies = [ "unicode-normalization", ] +[[package]] +name = "ignore" +version = "0.4.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d89fd380afde86567dfba715db065673989d6253f42b88179abd3eae47bda4b" +dependencies = [ + "crossbeam-deque", + "globset", + "log", + "memchr", + "regex-automata 0.4.7", + "same-file", + "walkdir", + "winapi-util", +] + +[[package]] +name = "im-rc" +version = "15.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af1955a75fa080c677d3972822ec4bad316169ab1cfc6c257a942c2265dbe5fe" +dependencies = [ + "bitmaps", + "rand_core", + "rand_xoshiro", + "sized-chunks", + "typenum", + "version_check", +] + [[package]] name = "indexmap" version = "1.9.3" @@ -732,6 +2340,12 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7655c9839580ee829dfacba1d1278c2b7883e50a277ff7541299489d6bdfdc45" +[[package]] +name = "is_terminal_polyfill" +version = "1.70.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" + [[package]] name = "itertools" version = "0.12.1" @@ -756,6 +2370,40 @@ version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" +[[package]] +name = "jiff" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a45489186a6123c128fdf6016183fcfab7113e1820eb813127e036e287233fb" +dependencies = [ + "jiff-tzdb-platform", + "windows-sys 0.59.0", +] + +[[package]] +name = "jiff-tzdb" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91335e575850c5c4c673b9bd467b0e025f164ca59d0564f69d0c2ee0ffad4653" + +[[package]] +name = "jiff-tzdb-platform" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9835f0060a626fe59f160437bc725491a6af23133ea906500027d1bd2f8f4329" +dependencies = [ + "jiff-tzdb", +] + +[[package]] +name = "jobserver" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" +dependencies = [ + "libc", +] + [[package]] name = "js-sys" version = "0.3.70" @@ -765,18 +2413,125 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "kstring" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "558bf9508a558512042d3095138b1f7b8fe90c5467d94f9f1da28b3731c5dbd1" +dependencies = [ + "static_assertions", +] + [[package]] name = "lazy_static" version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" +[[package]] +name = "lazycell" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" + [[package]] name = "libc" version = "0.2.158" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439" +[[package]] +name = "libdbus-sys" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06085512b750d640299b79be4bad3d2fa90a9c00b1fd9e1b46364f66f0485c72" +dependencies = [ + "cc", + "pkg-config", +] + +[[package]] +name = "libgit2-sys" +version = "0.16.2+1.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee4126d8b4ee5c9d9ea891dd875cfdc1e9d0950437179104b183d7d8a74d24e8" +dependencies = [ + "cc", + "libc", + "libssh2-sys", + "libz-sys", + "openssl-sys", + "pkg-config", +] + +[[package]] +name = "libloading" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4" +dependencies = [ + "cfg-if", + "windows-targets 0.52.6", +] + +[[package]] +name = "libnghttp2-sys" +version = "0.1.10+1.61.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "959c25552127d2e1fa72f0e52548ec04fc386e827ba71a7bd01db46a447dc135" +dependencies = [ + "cc", + "libc", +] + +[[package]] +name = "libredox" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" +dependencies = [ + "bitflags 2.6.0", + "libc", + "redox_syscall", +] + +[[package]] +name = "libsqlite3-sys" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c10584274047cb335c23d3e61bcef8e323adae7c5c8c760540f73610177fc3f" +dependencies = [ + "cc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "libssh2-sys" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dc8a030b787e2119a731f1951d6a773e2280c660f8ec4b0f5e1505a386e71ee" +dependencies = [ + "cc", + "libc", + "libz-sys", + "openssl-sys", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "libz-sys" +version = "1.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2d16453e800a8cf6dd2fc3eb4bc99b786a9b90c663b8559a5b1a041bf89e472" +dependencies = [ + "cc", + "libc", + "pkg-config", + "vcpkg", +] + [[package]] name = "link-cplusplus" version = "1.0.9" @@ -808,18 +2563,47 @@ version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" +[[package]] +name = "matchers" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" +dependencies = [ + "regex-automata 0.1.10", +] + [[package]] name = "matchit" version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" +[[package]] +name = "maybe-async" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5cf92c10c7e361d6b99666ec1c6f9805b0bea2c3bd8c78dc6fe98ac5bd78db11" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "memchr" version = "2.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" +[[package]] +name = "memmap2" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe751422e4a8caa417e13c3ea66452215d7d63e19e604f4980461212f3ae1322" +dependencies = [ + "libc", +] + [[package]] name = "miette" version = "7.2.0" @@ -857,6 +2641,12 @@ version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" +[[package]] +name = "minimal-lexical" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" + [[package]] name = "miniz_oxide" version = "0.8.0" @@ -878,6 +2668,15 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "miow" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "359f76430b20a79f9e20e115b3428614e654f04fab314482fc0fda0ebd3c6044" +dependencies = [ + "windows-sys 0.48.0", +] + [[package]] name = "ngt" version = "0.1.0" @@ -889,6 +2688,41 @@ dependencies = [ "rand", ] +[[package]] +name = "nom" +version = "7.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" +dependencies = [ + "memchr", + "minimal-lexical", +] + +[[package]] +name = "normpath" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8911957c4b1549ac0dc74e30db9c8b0e66ddcd6d7acc33098f4c63a64a6d7ed" +dependencies = [ + "windows-sys 0.59.0", +] + +[[package]] +name = "nu-ansi-term" +version = "0.46.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" +dependencies = [ + "overload", + "winapi", +] + +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + [[package]] name = "num-traits" version = "0.2.19" @@ -898,6 +2732,15 @@ dependencies = [ "autocfg", ] +[[package]] +name = "num_threads" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9" +dependencies = [ + "libc", +] + [[package]] name = "object" version = "0.36.4" @@ -929,6 +2772,36 @@ version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" +[[package]] +name = "opener" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0812e5e4df08da354c851a3376fead46db31c2214f849d3de356d774d057681" +dependencies = [ + "bstr", + "dbus", + "normpath", + "windows-sys 0.59.0", +] + +[[package]] +name = "openssl-probe" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" + +[[package]] +name = "openssl-sys" +version = "0.9.103" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f9e8deee91df40a943c71b917e5874b951d32a802526c85721ce3b776c929d6" +dependencies = [ + "cc", + "libc", + "pkg-config", + "vcpkg", +] + [[package]] name = "opentelemetry" version = "0.23.0" @@ -1008,7 +2881,7 @@ dependencies = [ "lazy_static", "once_cell", "opentelemetry", - "ordered-float", + "ordered-float 4.2.2", "percent-encoding", "rand", "serde_json", @@ -1017,6 +2890,15 @@ dependencies = [ "tokio-stream", ] +[[package]] +name = "ordered-float" +version = "2.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68f19d67e5a2795c94e73e0bb1cc1a7edeb2e28efd39e2e1c9b7a40c1108b11c" +dependencies = [ + "num-traits", +] + [[package]] name = "ordered-float" version = "4.2.2" @@ -1026,12 +2908,51 @@ dependencies = [ "num-traits", ] +[[package]] +name = "orion" +version = "0.17.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97ab5415cf60cd271259e576f2ddee7a5f9fed42659035224c01af766943fad3" +dependencies = [ + "fiat-crypto", + "subtle", + "zeroize", +] + +[[package]] +name = "os_info" +version = "3.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae99c7fa6dd38c7cafe1ec085e804f8f555a2f8659b0dbe03f1f9963a9b51092" +dependencies = [ + "log", + "windows-sys 0.52.0", +] + +[[package]] +name = "overload" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" + [[package]] name = "owo-colors" version = "4.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fb37767f6569cd834a413442455e0f066d0d522de8630436e2a1761d9726ba56" +[[package]] +name = "p384" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70786f51bcc69f6a4c0360e063a4cac5419ef7c5cd5b3c99ad70f3be5ba79209" +dependencies = [ + "ecdsa", + "elliptic-curve", + "primeorder", + "sha2", +] + [[package]] name = "parking_lot" version = "0.12.3" @@ -1055,12 +2976,48 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "pasetors" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b36d47c66f2230dd1b7143d9afb2b4891879020210eddf2ccb624e529b96dba" +dependencies = [ + "ct-codecs", + "ed25519-compact", + "getrandom", + "orion", + "p384", + "rand_core", + "regex", + "serde", + "serde_json", + "sha2", + "subtle", + "time", + "zeroize", +] + [[package]] name = "paste" version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" +[[package]] +name = "pathdiff" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd" + +[[package]] +name = "pem-rfc7468" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" +dependencies = [ + "base64ct", +] + [[package]] name = "percent-encoding" version = "2.3.1" @@ -1099,6 +3056,28 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" +[[package]] +name = "pkcs8" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" +dependencies = [ + "der", + "spki", +] + +[[package]] +name = "pkg-config" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" + +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + [[package]] name = "ppv-lite86" version = "0.2.20" @@ -1108,6 +3087,15 @@ dependencies = [ "zerocopy", ] +[[package]] +name = "primeorder" +version = "0.13.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6" +dependencies = [ + "elliptic-curve", +] + [[package]] name = "proc-macro2" version = "1.0.86" @@ -1117,6 +3105,15 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "prodash" +version = "28.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "744a264d26b88a6a7e37cbad97953fa233b94d585236310bcbc88474b4092d79" +dependencies = [ + "parking_lot", +] + [[package]] name = "prost" version = "0.12.6" @@ -1178,6 +3175,7 @@ version = "0.1.0" dependencies = [ "futures-core", "prost 0.13.2", + "prost-types", "tonic 0.12.2", "tonic-types", ] @@ -1221,6 +3219,15 @@ dependencies = [ "getrandom", ] +[[package]] +name = "rand_xoshiro" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f97cdb2a36ed4183de61b2f824cc45c9f1037f28afe0a322e9fff4c108b5aaa" +dependencies = [ + "rand_core", +] + [[package]] name = "redox_syscall" version = "0.5.4" @@ -1230,6 +3237,50 @@ dependencies = [ "bitflags 2.6.0", ] +[[package]] +name = "regex" +version = "1.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata 0.4.7", + "regex-syntax 0.8.4", +] + +[[package]] +name = "regex-automata" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" +dependencies = [ + "regex-syntax 0.6.29", +] + +[[package]] +name = "regex-automata" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax 0.8.4", +] + +[[package]] +name = "regex-syntax" +version = "0.6.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" + +[[package]] +name = "regex-syntax" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" + [[package]] name = "reqwest" version = "0.11.27" @@ -1266,6 +3317,30 @@ dependencies = [ "winreg", ] +[[package]] +name = "rfc6979" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" +dependencies = [ + "hmac", + "subtle", +] + +[[package]] +name = "rusqlite" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b838eba278d213a8beaf485bd313fd580ca4505a00d5871caeb1457c55322cae" +dependencies = [ + "bitflags 2.6.0", + "fallible-iterator", + "fallible-streaming-iterator", + "hashlink", + "libsqlite3-sys", + "smallvec", +] + [[package]] name = "rustc-demangle" version = "0.1.24" @@ -1273,49 +3348,146 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" [[package]] -name = "rustix" -version = "0.38.37" +name = "rustfix" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70f5b7fc8060f4f8373f9381a630304b42e1183535d9beb1d3f596b236c9106a" +dependencies = [ + "serde", + "serde_json", + "thiserror", + "tracing", +] + +[[package]] +name = "rustix" +version = "0.38.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811" +dependencies = [ + "bitflags 2.6.0", + "errno", + "libc", + "linux-raw-sys", + "windows-sys 0.52.0", +] + +[[package]] +name = "rustversion" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" + +[[package]] +name = "ryu" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "schannel" +version = "0.1.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9aaafd5a2b6e3d657ff009d82fbd630b6bd54dd4eb06f21693925cdf80f9b8b" +dependencies = [ + "windows-sys 0.59.0", +] + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "scratch" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3cf7c11c38cb994f3d40e8a8cde3bbd1f72a435e4c49e85d6553d8312306152" + +[[package]] +name = "sec1" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" +dependencies = [ + "base16ct", + "der", + "generic-array", + "pkcs8", + "subtle", + "zeroize", +] + +[[package]] +name = "security-framework" +version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811" +checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ "bitflags 2.6.0", - "errno", + "core-foundation", + "core-foundation-sys", "libc", - "linux-raw-sys", - "windows-sys 0.52.0", + "security-framework-sys", ] [[package]] -name = "rustversion" -version = "1.0.17" +name = "security-framework-sys" +version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" +checksum = "75da29fe9b9b08fe9d6b22b5b4bcbc75d8db3aa31e639aa56bb62e9d46bfceaf" +dependencies = [ + "core-foundation-sys", + "libc", +] [[package]] -name = "ryu" -version = "1.0.18" +name = "semver" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" +checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" +dependencies = [ + "serde", +] [[package]] -name = "scopeguard" -version = "1.2.0" +name = "serde" +version = "1.0.210" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" +checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a" +dependencies = [ + "serde_derive", +] [[package]] -name = "scratch" -version = "1.0.7" +name = "serde-untagged" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3cf7c11c38cb994f3d40e8a8cde3bbd1f72a435e4c49e85d6553d8312306152" +checksum = "2676ba99bd82f75cae5cbd2c8eda6fa0b8760f18978ea840e980dd5567b5c5b6" +dependencies = [ + "erased-serde", + "serde", + "typeid", +] [[package]] -name = "serde" -version = "1.0.210" +name = "serde-value" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a" +checksum = "f3a1a3341211875ef120e117ea7fd5228530ae7e7036a779fdc9117be6b3282c" dependencies = [ - "serde_derive", + "ordered-float 2.10.1", + "serde", ] [[package]] @@ -1329,6 +3501,15 @@ dependencies = [ "syn", ] +[[package]] +name = "serde_ignored" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8e319a36d1b52126a0d608f24e93b2d81297091818cd70625fcf50a15d84ddf" +dependencies = [ + "serde", +] + [[package]] name = "serde_json" version = "1.0.128" @@ -1341,6 +3522,15 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_spanned" +version = "0.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb5b1b31579f3811bf615c144393417496f152e12ac8b7663bf664f4a815306d" +dependencies = [ + "serde", +] + [[package]] name = "serde_urlencoded" version = "0.7.1" @@ -1353,6 +3543,55 @@ dependencies = [ "serde", ] +[[package]] +name = "sha1" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "sha1_smol" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbfa15b3dddfee50a0fff136974b3e1bde555604ba463834a7eb7deb6417705d" + +[[package]] +name = "sha2" +version = "0.10.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "sharded-slab" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" +dependencies = [ + "lazy_static", +] + +[[package]] +name = "shell-escape" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45bb67a18fa91266cc7807181f62f9178a6873bfad7dc788c42e6430db40184f" + +[[package]] +name = "shell-words" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde" + [[package]] name = "shlex" version = "1.3.0" @@ -1368,6 +3607,26 @@ dependencies = [ "libc", ] +[[package]] +name = "signature" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" +dependencies = [ + "digest", + "rand_core", +] + +[[package]] +name = "sized-chunks" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16d69225bde7a69b235da73377861095455d298f2b970996eec25ddbb42b3d1e" +dependencies = [ + "bitmaps", + "typenum", +] + [[package]] name = "slab" version = "0.4.9" @@ -1399,6 +3658,34 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "spki" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" +dependencies = [ + "base64ct", + "der", +] + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + +[[package]] +name = "subtle" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" + [[package]] name = "supports-color" version = "3.0.1" @@ -1464,6 +3751,29 @@ dependencies = [ "libc", ] +[[package]] +name = "tar" +version = "0.4.41" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb797dad5fb5b76fcf519e702f4a589483b5ef06567f160c392832c1f5e44909" +dependencies = [ + "filetime", + "libc", +] + +[[package]] +name = "tempfile" +version = "3.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04cbcdd0c794ebb0d4cf35e88edd2f7d2c4c3e9a5a6dab322839b321c6a87a64" +dependencies = [ + "cfg-if", + "fastrand", + "once_cell", + "rustix", + "windows-sys 0.59.0", +] + [[package]] name = "termcolor" version = "1.4.1" @@ -1514,6 +3824,49 @@ dependencies = [ "syn", ] +[[package]] +name = "thread_local" +version = "1.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" +dependencies = [ + "cfg-if", + "once_cell", +] + +[[package]] +name = "time" +version = "0.3.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" +dependencies = [ + "deranged", + "itoa", + "libc", + "num-conv", + "num_threads", + "powerfmt", + "serde", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" + +[[package]] +name = "time-macros" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" +dependencies = [ + "num-conv", + "time-core", +] + [[package]] name = "tinyvec" version = "1.8.0" @@ -1593,6 +3946,40 @@ dependencies = [ "tokio", ] +[[package]] +name = "toml" +version = "0.8.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit", +] + +[[package]] +name = "toml_datetime" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_edit" +version = "0.22.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "583c44c02ad26b0c3f3066fe629275e50627026c51ac2e595cca4c230ce1ce1d" +dependencies = [ + "indexmap 2.5.0", + "serde", + "serde_spanned", + "toml_datetime", + "winnow", +] + [[package]] name = "tonic" version = "0.11.0" @@ -1715,6 +4102,17 @@ dependencies = [ "syn", ] +[[package]] +name = "tracing-chrome" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf0a738ed5d6450a9fb96e86a23ad808de2b727fd1394585da5cdd6788ffe724" +dependencies = [ + "serde_json", + "tracing-core", + "tracing-subscriber", +] + [[package]] name = "tracing-core" version = "0.1.32" @@ -1722,6 +4120,36 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" dependencies = [ "once_cell", + "valuable", +] + +[[package]] +name = "tracing-log" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" +dependencies = [ + "log", + "once_cell", + "tracing-core", +] + +[[package]] +name = "tracing-subscriber" +version = "0.3.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" +dependencies = [ + "matchers", + "nu-ansi-term", + "once_cell", + "regex", + "sharded-slab", + "smallvec", + "thread_local", + "tracing", + "tracing-core", + "tracing-log", ] [[package]] @@ -1730,12 +4158,39 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" +[[package]] +name = "typeid" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e13db2e0ccd5e14a544e8a246ba2312cd25223f616442d7f2cb0e3db614236e" + +[[package]] +name = "typenum" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" + +[[package]] +name = "unicase" +version = "2.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89" +dependencies = [ + "version_check", +] + [[package]] name = "unicode-bidi" version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" +[[package]] +name = "unicode-bom" +version = "2.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7eec5d1121208364f6793f7d2e222bf75a915c19557537745b195b253dd64217" + [[package]] name = "unicode-ident" version = "1.0.13" @@ -1763,6 +4218,12 @@ version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" +[[package]] +name = "unicode-xid" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "229730647fbc343e3a80e463c1db7f78f3855d3f3739bee0dda773c9a037c90a" + [[package]] name = "url" version = "2.5.2" @@ -1774,6 +4235,40 @@ dependencies = [ "percent-encoding", ] +[[package]] +name = "utf8parse" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" + +[[package]] +name = "valuable" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" + +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + +[[package]] +name = "version_check" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + [[package]] name = "want" version = "0.3.1" @@ -1866,6 +4361,22 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + [[package]] name = "winapi-util" version = "0.1.9" @@ -1875,6 +4386,12 @@ dependencies = [ "windows-sys 0.59.0", ] +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + [[package]] name = "windows-sys" version = "0.48.0" @@ -2023,6 +4540,15 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" +[[package]] +name = "winnow" +version = "0.6.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68a9bda4691f099d435ad181000724da8e5899daa10713c2d432552b9ccd3a6f" +dependencies = [ + "memchr", +] + [[package]] name = "winreg" version = "0.50.0" @@ -2053,3 +4579,9 @@ dependencies = [ "quote", "syn", ] + +[[package]] +name = "zeroize" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" diff --git a/rust/bin/agent/Cargo.toml b/rust/bin/agent/Cargo.toml index f20fdef23d..9a428bda11 100644 --- a/rust/bin/agent/Cargo.toml +++ b/rust/bin/agent/Cargo.toml @@ -29,5 +29,5 @@ prost-types = "0.13.1" proto = { version = "0.1.0", path = "../../libs/proto" } tokio = { version = "1.39.3", features = ["full"] } tokio-stream = { version = "0.1.15", features = ["full"] } -tonic = "0.12.2" -tonic-types = "0.12.2" +tonic = "0.12.1" +tonic-types = "0.12.1" diff --git a/rust/bin/agent/src/handler.rs b/rust/bin/agent/src/handler.rs index 1165799dd4..d57a0e4908 100644 --- a/rust/bin/agent/src/handler.rs +++ b/rust/bin/agent/src/handler.rs @@ -21,8 +21,9 @@ pub mod search; pub mod update; pub mod upsert; +#[derive(Debug)] pub struct Agent { - s: Box, + s: &dyn algorithm::ANN, name: String, ip: String, resource_type: String, @@ -30,13 +31,13 @@ pub struct Agent { } impl Agent { - pub fn new(s: impl algorithm::ANN + 'static, name: &str, ip: &str, resource_type: &str, api_name: &str) -> Self { - Self { - s: Box::new(s), + pub fn new(s: impl algorithm::ANN, name: &str, ip: &str, resource_type: &str, api_name: &str) -> Agent { + Agent { + s: s, name: name.to_string(), ip: ip.to_string(), resource_type: resource_type.to_string(), api_name: api_name.to_string(), } } -} +} \ No newline at end of file diff --git a/rust/bin/agent/src/handler/search.rs b/rust/bin/agent/src/handler/search.rs index 06e072f0bf..3970913f7d 100644 --- a/rust/bin/agent/src/handler/search.rs +++ b/rust/bin/agent/src/handler/search.rs @@ -13,15 +13,81 @@ // See the License for the specific language governing permissions and // limitations under the License. // -use std::{collections::HashMap, string::String}; - -use algorithm::Error; use anyhow::Result; +use std::{collections::HashMap, error, fmt}; + use proto::{payload::v1::search, vald::v1::search_server}; -use prost::Message; use tonic::{Code, Status}; use tonic_types::{ErrorDetails, FieldViolation, StatusExt}; +#[derive(Debug, Clone)] +pub struct CreateIndexingIsInProgress {} +#[derive(Debug, Clone)] +pub struct FlushingIsInProgress {} +#[derive(Debug, Clone)] +pub struct EmptySearchResult {} +#[derive(Debug, Clone)] +pub struct IncompatibleDimensionSize { + got: usize, + want: usize, +} + +impl fmt::Display for CreateIndexingIsInProgress { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + write!(f, "create indexing is in progress") + } +} + +impl error::Error for CreateIndexingIsInProgress { + fn source(&self) -> Option<&(dyn error::Error + 'static)> { + None + } +} + +impl fmt::Display for FlushingIsInProgress { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + write!(f, "flush is in progress") + } +} + +impl error::Error for FlushingIsInProgress { + fn source(&self) -> Option<&(dyn error::Error + 'static)> { + None + } +} + +impl fmt::Display for EmptySearchResult { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + write!(f, "search result is empty") + } +} + +impl error::Error for EmptySearchResult { + fn source(&self) -> Option<&(dyn error::Error + 'static)> { + None + } +} +impl IncompatibleDimensionSize { + pub fn new(got: usize, want: usize) -> IncompatibleDimensionSize { + IncompatibleDimensionSize { + got: got, + want: want, + } + } +} + +impl fmt::Display for IncompatibleDimensionSize { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + write!(f, "incompatible dimension size detected\trequested: {},\tconfigured: {}", self.got, self.want) + } +} + +impl error::Error for IncompatibleDimensionSize { + fn source(&self) -> Option<&(dyn error::Error + 'static)> { + None + } +} + #[tonic::async_trait] impl search_server::Search for super::Agent { async fn search( @@ -29,54 +95,52 @@ impl search_server::Search for super::Agent { request: tonic::Request, ) -> Result, Status> { let req = request.get_ref(); - let config = req.config.clone().unwrap(); - let hostname = cargo::util::hostname()?; - let domain = hostname.to_str().unwrap(); + let config = req.config.unwrap(); + let domain = cargo::util::hostname().unwrap_or("".into()).to_str().unwrap_or(""); if req.vector.len() != self.s.get_dimension_size() { - let err = Error::IncompatibleDimensionSize{ got: req.vector.len(), want: self.s.get_dimension_size()}; + let err = IncompatibleDimensionSize::new(req.vector.len(), self.s.get_dimension_size()); + let msg = err.to_string(); let mut err_details = ErrorDetails::new(); - err_details.set_error_info(err.to_string(), domain, HashMap::new()); - let serving_data = ""; - err_details.set_request_info(config.request_id, serving_data.to_string()); - err_details.set_bad_request(vec![FieldViolation::new("vector dimension size", err.to_string())]); - err_details.set_resource_info(self.resource_type.clone() + "/ngt.Search", "", "", ""); + err_details.set_error_info(msg, domain, HashMap::new()); + err_details.set_request_info(config.request_id, req.into()); + err_details.set_bad_request(vec![FieldViolation::new("vector dimension size", msg)]); + err_details.set_resource_info(self.resource_type + "/ngt.Search", "", "", ""); let status = Status::with_error_details(Code::InvalidArgument, "Search API Incombatible Dimension Size detedted", err_details); return Err(status); } - let result = self.s.search(req.vector.clone(), config.num, config.epsilon, config.radius); + let result = self.s.search(req.vector, config.num, config.epsilon, config.radius); match result { Err(err) => { let metadata = HashMap::new(); - let resource_type = self.resource_type.clone() + "/ngt.Search"; + let resource_type = self.resource_type + "/ngt.Search"; let resource_name = format!("{}: {}({})", self.api_name, self.name, self.ip); let status = match err { - Error::CreateIndexingIsInProgress{} => { + CreateIndexingIsInProgress => { let mut err_details = ErrorDetails::new(); err_details.set_error_info(err.to_string(), domain, metadata); - err_details.set_request_info(config.request_id, String::from_utf8(req.encode_to_vec()).unwrap()); + err_details.set_request_info(config.request_id, req.into()); err_details.set_resource_info(resource_type, resource_name, "", ""); Status::with_error_details(Code::Aborted, "Search API aborted to process search request due to creating indices is in progress", err_details) } - Error::FlushingIsInProgress{} => { + FlushingIsInProgress => { let mut err_details = ErrorDetails::new(); err_details.set_error_info(err.to_string(), domain, metadata); - err_details.set_request_info(config.request_id, String::from_utf8(req.encode_to_vec()).unwrap()); + err_details.set_request_info(config.request_id, req.into()); err_details.set_resource_info(resource_type, resource_name, "", ""); Status::with_error_details(Code::Aborted, "Search API aborted to process search request due to flushing indices is in progress", err_details) } - Error::EmptySearchResult{} => { - let request_id = config.request_id; + EmptySearchResult => { let mut err_details = ErrorDetails::new(); err_details.set_error_info(err.to_string(), domain, metadata); - err_details.set_request_info(&request_id, String::from_utf8(req.encode_to_vec()).unwrap()); + err_details.set_request_info(config.request_id, req.into()); err_details.set_resource_info(resource_type, resource_name, "", ""); - Status::with_error_details(Code::NotFound, format!("Search API requestID {}'s search result not found", &request_id), err_details) + Status::with_error_details(Code::NotFound, format!("Search API requestID {}'s search result not found", config.request_id), err_details) } - Error::IncompatibleDimensionSize{ got: _, want: _ } => { + IncompatibleDimensionSize => { let mut err_details = ErrorDetails::new(); err_details.set_error_info(err.to_string(), domain, metadata); - err_details.set_request_info(config.request_id, String::from_utf8(req.encode_to_vec()).unwrap()); + err_details.set_request_info(config.request_id, req.into()); err_details.set_resource_info(resource_type, resource_name, "", ""); err_details.set_bad_request(vec![FieldViolation::new("vector dimension size", err.to_string())]); Status::with_error_details(Code::InvalidArgument, "Search API Incompatible Dimension Size detected", err_details) @@ -84,7 +148,7 @@ impl search_server::Search for super::Agent { _ => { let mut err_details = ErrorDetails::new(); err_details.set_error_info(err.to_string(), domain, metadata); - err_details.set_request_info(config.request_id, String::from_utf8(req.encode_to_vec()).unwrap()); + err_details.set_request_info(config.request_id, req.into()); err_details.set_resource_info(resource_type, resource_name, "", ""); Status::with_error_details(Code::Internal, "Search API failed to process search request", err_details) } diff --git a/rust/bin/agent/src/main.rs b/rust/bin/agent/src/main.rs index 78a679e2b6..5f5a788877 100644 --- a/rust/bin/agent/src/main.rs +++ b/rust/bin/agent/src/main.rs @@ -13,54 +13,35 @@ // See the License for the specific language governing permissions and // limitations under the License. // -use std::{thread::sleep, time::Duration}; -use algorithm::Error; use anyhow::Result; -use proto::{payload::v1::search, vald::v1::{search_client::SearchClient, search_server::SearchServer}}; -use tonic::transport::Server; +use proto::payload::v1::search; mod handler; #[derive(Debug)] -struct MockService { - dim: usize -} +struct MockService {} impl algorithm::ANN for MockService { fn get_dimension_size(&self) -> usize { - self.dim + 42 } - fn search(&self, _vector: Vec, dim: u32, _epsilon: f32, _radius: f32) -> Result, Error> { - Err(Error::IncompatibleDimensionSize{got: dim as usize, want: self.dim}.into()) + fn search(&self, vector: Vec, dim: usize, epsilon: f64, radius: f64) -> Result> { + Err(handler::search::IncompatibleDimensionSize::new(dim, 42)) } } #[tokio::main] async fn main() -> Result<(), Box> { - let addr = "[::1]:8081".parse().unwrap(); - - let service = MockService{ dim: 42 }; + let addr = "[::1]:8081".parse()?; + let service = MockService{}; let agent = handler::Agent::new(service, "agent-ngt", "127.0.0.1", "vald/internal/core/algorithm", "vald-agent"); - tokio::spawn(async move { - Server::builder() - .add_service(SearchServer::new(agent)) - .serve(addr) - .await - }); - - sleep(Duration::from_secs(3)); - - let mut client = SearchClient::connect("http://[::1]:8081").await?; - - let cfg = search::Config::default(); - let request = tonic::Request::new(search::Request { vector: vec![0.0], config: Some(cfg) }); - - let response = client.search(request).await?; - - println!("RESPONSE={:?}", response); + tonic::transport::Server::builder() + .add_service(proto::core::v1::agent_server::AgentServer::new(agent)) + .serve(addr) + .await?; Ok(()) } diff --git a/rust/libs/algorithm/Cargo.toml b/rust/libs/algorithm/Cargo.toml index d3d6481518..3352760c29 100644 --- a/rust/libs/algorithm/Cargo.toml +++ b/rust/libs/algorithm/Cargo.toml @@ -23,4 +23,4 @@ anyhow = "1.0.86" faiss = { version = "0.1.0", path = "../algorithms/faiss" } ngt = { version = "0.1.0", path = "../algorithms/ngt" } proto = { version = "0.1.0", path = "../proto" } -tonic = "0.12.2" +tonic = "0.12.1" diff --git a/rust/libs/algorithm/src/lib.rs b/rust/libs/algorithm/src/lib.rs index d83e45e5bd..bd2f604475 100644 --- a/rust/libs/algorithm/src/lib.rs +++ b/rust/libs/algorithm/src/lib.rs @@ -13,36 +13,10 @@ // See the License for the specific language governing permissions and // limitations under the License. // -use std::{error, fmt}; - use anyhow::Result; use proto::payload::v1::search; -#[derive(Debug)] -pub enum Error { - CreateIndexingIsInProgress{}, - FlushingIsInProgress{}, - EmptySearchResult{}, - IncompatibleDimensionSize{got: usize, want: usize}, - - Unknown{}, -} - -impl error::Error for Error {} - -impl fmt::Display for Error { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - match self { - Error::CreateIndexingIsInProgress{} => write!(f, "create indexing is in progress"), - Error::FlushingIsInProgress{} => write!(f, "flush is in progress"), - Error::EmptySearchResult{} => write!(f, "search result is empty"), - Error::IncompatibleDimensionSize { got, want } => write!(f, "incompatible dimension size detected\trequested: {},\tconfigured: {}", got, want), - Error::Unknown { } => write!(f, "unknown error") - } - } -} - pub trait ANN: Send + Sync { fn get_dimension_size(&self) -> usize; - fn search(&self, vector: Vec, dim: u32, epsilon: f32, radius: f32) -> Result, Error>; + fn search(&self, vector: Vec, dim: usize, epsilon: f64, radius: f64) -> Result>; } From b47b84a0691cee7aefffd77f5a32433c31069df8 Mon Sep 17 00:00:00 2001 From: Kosuke Morimoto Date: Fri, 30 Aug 2024 23:49:08 +0900 Subject: [PATCH 10/14] fix Signed-off-by: Kosuke Morimoto --- rust/bin/agent/Cargo.toml | 4 +- rust/bin/agent/src/handler.rs | 9 +- rust/bin/agent/src/handler/search.rs | 116 ++++-------------- rust/bin/agent/src/main.rs | 15 ++- rust/libs/algorithm/Cargo.toml | 2 +- rust/libs/algorithm/src/lib.rs | 28 ++++- rust/libs/proto/src/core.v1.tonic.rs | 17 +-- rust/libs/proto/src/discoverer.v1.tonic.rs | 17 +-- rust/libs/proto/src/filter.egress.v1.tonic.rs | 17 +-- .../libs/proto/src/filter.ingress.v1.tonic.rs | 17 +-- rust/libs/proto/src/lib.rs | 1 + rust/libs/proto/src/mirror.v1.tonic.rs | 17 +-- rust/libs/proto/src/rpc.v1.rs | 41 ++++--- rust/libs/proto/src/sidecar.v1.tonic.rs | 17 +-- rust/libs/proto/src/vald.v1.tonic.rs | 17 +-- 15 files changed, 110 insertions(+), 225 deletions(-) diff --git a/rust/bin/agent/Cargo.toml b/rust/bin/agent/Cargo.toml index 9a428bda11..f20fdef23d 100644 --- a/rust/bin/agent/Cargo.toml +++ b/rust/bin/agent/Cargo.toml @@ -29,5 +29,5 @@ prost-types = "0.13.1" proto = { version = "0.1.0", path = "../../libs/proto" } tokio = { version = "1.39.3", features = ["full"] } tokio-stream = { version = "0.1.15", features = ["full"] } -tonic = "0.12.1" -tonic-types = "0.12.1" +tonic = "0.12.2" +tonic-types = "0.12.2" diff --git a/rust/bin/agent/src/handler.rs b/rust/bin/agent/src/handler.rs index d57a0e4908..74d15d9af1 100644 --- a/rust/bin/agent/src/handler.rs +++ b/rust/bin/agent/src/handler.rs @@ -21,9 +21,8 @@ pub mod search; pub mod update; pub mod upsert; -#[derive(Debug)] pub struct Agent { - s: &dyn algorithm::ANN, + s: Box, name: String, ip: String, resource_type: String, @@ -31,9 +30,9 @@ pub struct Agent { } impl Agent { - pub fn new(s: impl algorithm::ANN, name: &str, ip: &str, resource_type: &str, api_name: &str) -> Agent { - Agent { - s: s, + pub fn new(s: impl algorithm::ANN + 'static, name: &str, ip: &str, resource_type: &str, api_name: &str) -> Self { + Self { + s: Box::new(s), name: name.to_string(), ip: ip.to_string(), resource_type: resource_type.to_string(), diff --git a/rust/bin/agent/src/handler/search.rs b/rust/bin/agent/src/handler/search.rs index 3970913f7d..8824a00ac6 100644 --- a/rust/bin/agent/src/handler/search.rs +++ b/rust/bin/agent/src/handler/search.rs @@ -13,134 +13,70 @@ // See the License for the specific language governing permissions and // limitations under the License. // -use anyhow::Result; -use std::{collections::HashMap, error, fmt}; +use std::{collections::HashMap, string::String}; +use algorithm::Error; +use anyhow::Result; use proto::{payload::v1::search, vald::v1::search_server}; +use prost::Message; use tonic::{Code, Status}; use tonic_types::{ErrorDetails, FieldViolation, StatusExt}; -#[derive(Debug, Clone)] -pub struct CreateIndexingIsInProgress {} -#[derive(Debug, Clone)] -pub struct FlushingIsInProgress {} -#[derive(Debug, Clone)] -pub struct EmptySearchResult {} -#[derive(Debug, Clone)] -pub struct IncompatibleDimensionSize { - got: usize, - want: usize, -} - -impl fmt::Display for CreateIndexingIsInProgress { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - write!(f, "create indexing is in progress") - } -} - -impl error::Error for CreateIndexingIsInProgress { - fn source(&self) -> Option<&(dyn error::Error + 'static)> { - None - } -} - -impl fmt::Display for FlushingIsInProgress { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - write!(f, "flush is in progress") - } -} - -impl error::Error for FlushingIsInProgress { - fn source(&self) -> Option<&(dyn error::Error + 'static)> { - None - } -} - -impl fmt::Display for EmptySearchResult { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - write!(f, "search result is empty") - } -} - -impl error::Error for EmptySearchResult { - fn source(&self) -> Option<&(dyn error::Error + 'static)> { - None - } -} -impl IncompatibleDimensionSize { - pub fn new(got: usize, want: usize) -> IncompatibleDimensionSize { - IncompatibleDimensionSize { - got: got, - want: want, - } - } -} - -impl fmt::Display for IncompatibleDimensionSize { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - write!(f, "incompatible dimension size detected\trequested: {},\tconfigured: {}", self.got, self.want) - } -} - -impl error::Error for IncompatibleDimensionSize { - fn source(&self) -> Option<&(dyn error::Error + 'static)> { - None - } -} - #[tonic::async_trait] impl search_server::Search for super::Agent { async fn search( &self, request: tonic::Request, ) -> Result, Status> { + println!("Recieved a request from {:?}", request.remote_addr()); let req = request.get_ref(); - let config = req.config.unwrap(); - let domain = cargo::util::hostname().unwrap_or("".into()).to_str().unwrap_or(""); + let config = req.config.clone().unwrap(); + let hostname = cargo::util::hostname()?; + let domain = hostname.to_str().unwrap(); if req.vector.len() != self.s.get_dimension_size() { - let err = IncompatibleDimensionSize::new(req.vector.len(), self.s.get_dimension_size()); - let msg = err.to_string(); + let err = Error::IncompatibleDimensionSize{ got: req.vector.len(), want: self.s.get_dimension_size()}; let mut err_details = ErrorDetails::new(); - err_details.set_error_info(msg, domain, HashMap::new()); - err_details.set_request_info(config.request_id, req.into()); - err_details.set_bad_request(vec![FieldViolation::new("vector dimension size", msg)]); - err_details.set_resource_info(self.resource_type + "/ngt.Search", "", "", ""); + err_details.set_error_info(err.to_string(), domain, HashMap::new()); + err_details.set_request_info(config.request_id, String::from_utf8(req.encode_to_vec()).unwrap()); + err_details.set_bad_request(vec![FieldViolation::new("vector dimension size", err.to_string())]); + err_details.set_resource_info(self.resource_type.clone() + "/ngt.Search", "", "", ""); let status = Status::with_error_details(Code::InvalidArgument, "Search API Incombatible Dimension Size detedted", err_details); return Err(status); } - let result = self.s.search(req.vector, config.num, config.epsilon, config.radius); + let result = self.s.search(req.vector.clone(), config.num, config.epsilon, config.radius); match result { Err(err) => { let metadata = HashMap::new(); - let resource_type = self.resource_type + "/ngt.Search"; + let resource_type = self.resource_type.clone() + "/ngt.Search"; let resource_name = format!("{}: {}({})", self.api_name, self.name, self.ip); let status = match err { - CreateIndexingIsInProgress => { + Error::CreateIndexingIsInProgress{} => { let mut err_details = ErrorDetails::new(); err_details.set_error_info(err.to_string(), domain, metadata); - err_details.set_request_info(config.request_id, req.into()); + err_details.set_request_info(config.request_id, String::from_utf8(req.encode_to_vec()).unwrap()); err_details.set_resource_info(resource_type, resource_name, "", ""); Status::with_error_details(Code::Aborted, "Search API aborted to process search request due to creating indices is in progress", err_details) } - FlushingIsInProgress => { + Error::FlushingIsInProgress{} => { let mut err_details = ErrorDetails::new(); err_details.set_error_info(err.to_string(), domain, metadata); - err_details.set_request_info(config.request_id, req.into()); + err_details.set_request_info(config.request_id, String::from_utf8(req.encode_to_vec()).unwrap()); err_details.set_resource_info(resource_type, resource_name, "", ""); Status::with_error_details(Code::Aborted, "Search API aborted to process search request due to flushing indices is in progress", err_details) } - EmptySearchResult => { + Error::EmptySearchResult{} => { + let request_id = config.request_id; let mut err_details = ErrorDetails::new(); err_details.set_error_info(err.to_string(), domain, metadata); - err_details.set_request_info(config.request_id, req.into()); + err_details.set_request_info(&request_id, String::from_utf8(req.encode_to_vec()).unwrap()); err_details.set_resource_info(resource_type, resource_name, "", ""); - Status::with_error_details(Code::NotFound, format!("Search API requestID {}'s search result not found", config.request_id), err_details) + Status::with_error_details(Code::NotFound, format!("Search API requestID {}'s search result not found", &request_id), err_details) } - IncompatibleDimensionSize => { + Error::IncompatibleDimensionSize{ got: _, want: _ } => { let mut err_details = ErrorDetails::new(); err_details.set_error_info(err.to_string(), domain, metadata); - err_details.set_request_info(config.request_id, req.into()); + err_details.set_request_info(config.request_id, String::from_utf8(req.encode_to_vec()).unwrap()); err_details.set_resource_info(resource_type, resource_name, "", ""); err_details.set_bad_request(vec![FieldViolation::new("vector dimension size", err.to_string())]); Status::with_error_details(Code::InvalidArgument, "Search API Incompatible Dimension Size detected", err_details) @@ -148,7 +84,7 @@ impl search_server::Search for super::Agent { _ => { let mut err_details = ErrorDetails::new(); err_details.set_error_info(err.to_string(), domain, metadata); - err_details.set_request_info(config.request_id, req.into()); + err_details.set_request_info(config.request_id, String::from_utf8(req.encode_to_vec()).unwrap()); err_details.set_resource_info(resource_type, resource_name, "", ""); Status::with_error_details(Code::Internal, "Search API failed to process search request", err_details) } diff --git a/rust/bin/agent/src/main.rs b/rust/bin/agent/src/main.rs index 5f5a788877..d8755fc343 100644 --- a/rust/bin/agent/src/main.rs +++ b/rust/bin/agent/src/main.rs @@ -14,28 +14,31 @@ // limitations under the License. // +use algorithm::Error; use anyhow::Result; use proto::payload::v1::search; mod handler; #[derive(Debug)] -struct MockService {} +struct MockService { + dim: usize +} impl algorithm::ANN for MockService { fn get_dimension_size(&self) -> usize { - 42 + self.dim } - fn search(&self, vector: Vec, dim: usize, epsilon: f64, radius: f64) -> Result> { - Err(handler::search::IncompatibleDimensionSize::new(dim, 42)) + fn search(&self, _vector: Vec, dim: u32, _epsilon: f32, _radius: f32) -> Result, Error> { + Err(Error::IncompatibleDimensionSize{got: dim as usize, want: self.dim}.into()) } } #[tokio::main] async fn main() -> Result<(), Box> { - let addr = "[::1]:8081".parse()?; - let service = MockService{}; + let addr = "0.0.0.0:8081".parse()?; + let service = MockService{ dim: 42 }; let agent = handler::Agent::new(service, "agent-ngt", "127.0.0.1", "vald/internal/core/algorithm", "vald-agent"); tonic::transport::Server::builder() diff --git a/rust/libs/algorithm/Cargo.toml b/rust/libs/algorithm/Cargo.toml index 3352760c29..d3d6481518 100644 --- a/rust/libs/algorithm/Cargo.toml +++ b/rust/libs/algorithm/Cargo.toml @@ -23,4 +23,4 @@ anyhow = "1.0.86" faiss = { version = "0.1.0", path = "../algorithms/faiss" } ngt = { version = "0.1.0", path = "../algorithms/ngt" } proto = { version = "0.1.0", path = "../proto" } -tonic = "0.12.1" +tonic = "0.12.2" diff --git a/rust/libs/algorithm/src/lib.rs b/rust/libs/algorithm/src/lib.rs index bd2f604475..d83e45e5bd 100644 --- a/rust/libs/algorithm/src/lib.rs +++ b/rust/libs/algorithm/src/lib.rs @@ -13,10 +13,36 @@ // See the License for the specific language governing permissions and // limitations under the License. // +use std::{error, fmt}; + use anyhow::Result; use proto::payload::v1::search; +#[derive(Debug)] +pub enum Error { + CreateIndexingIsInProgress{}, + FlushingIsInProgress{}, + EmptySearchResult{}, + IncompatibleDimensionSize{got: usize, want: usize}, + + Unknown{}, +} + +impl error::Error for Error {} + +impl fmt::Display for Error { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + match self { + Error::CreateIndexingIsInProgress{} => write!(f, "create indexing is in progress"), + Error::FlushingIsInProgress{} => write!(f, "flush is in progress"), + Error::EmptySearchResult{} => write!(f, "search result is empty"), + Error::IncompatibleDimensionSize { got, want } => write!(f, "incompatible dimension size detected\trequested: {},\tconfigured: {}", got, want), + Error::Unknown { } => write!(f, "unknown error") + } + } +} + pub trait ANN: Send + Sync { fn get_dimension_size(&self) -> usize; - fn search(&self, vector: Vec, dim: usize, epsilon: f64, radius: f64) -> Result>; + fn search(&self, vector: Vec, dim: u32, epsilon: f32, radius: f32) -> Result, Error>; } diff --git a/rust/libs/proto/src/core.v1.tonic.rs b/rust/libs/proto/src/core.v1.tonic.rs index f19cd43034..7a6ad21416 100644 --- a/rust/libs/proto/src/core.v1.tonic.rs +++ b/rust/libs/proto/src/core.v1.tonic.rs @@ -1,18 +1,5 @@ -// -// Copyright (C) 2019-2024 vdaas.org vald team -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// You may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// +// @generated +/// Generated client implementations. pub mod agent_client { #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] use tonic::codegen::*; diff --git a/rust/libs/proto/src/discoverer.v1.tonic.rs b/rust/libs/proto/src/discoverer.v1.tonic.rs index e1ca78c88a..b1f9c26343 100644 --- a/rust/libs/proto/src/discoverer.v1.tonic.rs +++ b/rust/libs/proto/src/discoverer.v1.tonic.rs @@ -1,18 +1,5 @@ -// -// Copyright (C) 2019-2024 vdaas.org vald team -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// You may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// +// @generated +/// Generated client implementations. pub mod discoverer_client { #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] use tonic::codegen::*; diff --git a/rust/libs/proto/src/filter.egress.v1.tonic.rs b/rust/libs/proto/src/filter.egress.v1.tonic.rs index 74102173ce..49398de256 100644 --- a/rust/libs/proto/src/filter.egress.v1.tonic.rs +++ b/rust/libs/proto/src/filter.egress.v1.tonic.rs @@ -1,18 +1,5 @@ -// -// Copyright (C) 2019-2024 vdaas.org vald team -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// You may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// +// @generated +/// Generated client implementations. pub mod filter_client { #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] use tonic::codegen::*; diff --git a/rust/libs/proto/src/filter.ingress.v1.tonic.rs b/rust/libs/proto/src/filter.ingress.v1.tonic.rs index d8b462caa1..6bd4325471 100644 --- a/rust/libs/proto/src/filter.ingress.v1.tonic.rs +++ b/rust/libs/proto/src/filter.ingress.v1.tonic.rs @@ -1,18 +1,5 @@ -// -// Copyright (C) 2019-2024 vdaas.org vald team -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// You may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// +// @generated +/// Generated client implementations. pub mod filter_client { #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] use tonic::codegen::*; diff --git a/rust/libs/proto/src/lib.rs b/rust/libs/proto/src/lib.rs index 7155b32bc7..b4685950c9 100644 --- a/rust/libs/proto/src/lib.rs +++ b/rust/libs/proto/src/lib.rs @@ -16,6 +16,7 @@ pub mod google { pub mod rpc { pub type Status = tonic_types::Status; +// include!("rpc.v1.rs"); } } diff --git a/rust/libs/proto/src/mirror.v1.tonic.rs b/rust/libs/proto/src/mirror.v1.tonic.rs index fb55727a62..07596240d8 100644 --- a/rust/libs/proto/src/mirror.v1.tonic.rs +++ b/rust/libs/proto/src/mirror.v1.tonic.rs @@ -1,18 +1,5 @@ -// -// Copyright (C) 2019-2024 vdaas.org vald team -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// You may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// +// @generated +/// Generated client implementations. pub mod mirror_client { #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] use tonic::codegen::*; diff --git a/rust/libs/proto/src/rpc.v1.rs b/rust/libs/proto/src/rpc.v1.rs index d41601b08d..dd94760a06 100644 --- a/rust/libs/proto/src/rpc.v1.rs +++ b/rust/libs/proto/src/rpc.v1.rs @@ -1,18 +1,29 @@ -// -// Copyright (C) 2019-2024 vdaas.org vald team -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// You may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// +// @generated +// This file is @generated by prost-build. +/// Describes the cause of the error with structured details. +/// +/// Example of an error when contacting the "pubsub.googleapis.com" API when it +/// is not enabled: +/// +/// { "reason": "API_DISABLED" +/// "domain": "googleapis.com" +/// "metadata": { +/// "resource": "projects/123", +/// "service": "pubsub.googleapis.com" +/// } +/// } +/// +/// This response indicates that the pubsub.googleapis.com API is not enabled. +/// +/// Example of an error that is returned when attempting to create a Spanner +/// instance in a region that is out of stock: +/// +/// { "reason": "STOCKOUT" +/// "domain": "spanner.googleapis.com", +/// "metadata": { +/// "availableRegions": "us-central1,us-east2" +/// } +/// } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ErrorInfo { diff --git a/rust/libs/proto/src/sidecar.v1.tonic.rs b/rust/libs/proto/src/sidecar.v1.tonic.rs index ad7acdee15..200569c28e 100644 --- a/rust/libs/proto/src/sidecar.v1.tonic.rs +++ b/rust/libs/proto/src/sidecar.v1.tonic.rs @@ -1,18 +1,5 @@ -// -// Copyright (C) 2019-2024 vdaas.org vald team -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// You may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// +// @generated +/// Generated client implementations. pub mod sidecar_client { #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] use tonic::codegen::*; diff --git a/rust/libs/proto/src/vald.v1.tonic.rs b/rust/libs/proto/src/vald.v1.tonic.rs index 7cc2207e61..a47bf062e2 100644 --- a/rust/libs/proto/src/vald.v1.tonic.rs +++ b/rust/libs/proto/src/vald.v1.tonic.rs @@ -1,18 +1,5 @@ -// -// Copyright (C) 2019-2024 vdaas.org vald team -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// You may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// +// @generated +/// Generated client implementations. pub mod filter_client { #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] use tonic::codegen::*; From f22c1a398828cb06b5fc1938436073b75b86ee1b Mon Sep 17 00:00:00 2001 From: Kosuke Morimoto Date: Tue, 3 Sep 2024 15:52:19 +0900 Subject: [PATCH 11/14] format Signed-off-by: Kosuke Morimoto --- rust/bin/agent/src/handler.rs | 2 +- rust/libs/proto/src/core.v1.tonic.rs | 17 +++++++- rust/libs/proto/src/discoverer.v1.tonic.rs | 17 +++++++- rust/libs/proto/src/filter.egress.v1.tonic.rs | 17 +++++++- .../libs/proto/src/filter.ingress.v1.tonic.rs | 17 +++++++- rust/libs/proto/src/mirror.v1.tonic.rs | 17 +++++++- rust/libs/proto/src/rpc.v1.rs | 41 +++++++------------ rust/libs/proto/src/sidecar.v1.tonic.rs | 17 +++++++- rust/libs/proto/src/vald.v1.tonic.rs | 17 +++++++- 9 files changed, 121 insertions(+), 41 deletions(-) diff --git a/rust/bin/agent/src/handler.rs b/rust/bin/agent/src/handler.rs index 74d15d9af1..1165799dd4 100644 --- a/rust/bin/agent/src/handler.rs +++ b/rust/bin/agent/src/handler.rs @@ -39,4 +39,4 @@ impl Agent { api_name: api_name.to_string(), } } -} \ No newline at end of file +} diff --git a/rust/libs/proto/src/core.v1.tonic.rs b/rust/libs/proto/src/core.v1.tonic.rs index 7a6ad21416..f19cd43034 100644 --- a/rust/libs/proto/src/core.v1.tonic.rs +++ b/rust/libs/proto/src/core.v1.tonic.rs @@ -1,5 +1,18 @@ -// @generated -/// Generated client implementations. +// +// Copyright (C) 2019-2024 vdaas.org vald team +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// You may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// pub mod agent_client { #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] use tonic::codegen::*; diff --git a/rust/libs/proto/src/discoverer.v1.tonic.rs b/rust/libs/proto/src/discoverer.v1.tonic.rs index b1f9c26343..e1ca78c88a 100644 --- a/rust/libs/proto/src/discoverer.v1.tonic.rs +++ b/rust/libs/proto/src/discoverer.v1.tonic.rs @@ -1,5 +1,18 @@ -// @generated -/// Generated client implementations. +// +// Copyright (C) 2019-2024 vdaas.org vald team +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// You may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// pub mod discoverer_client { #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] use tonic::codegen::*; diff --git a/rust/libs/proto/src/filter.egress.v1.tonic.rs b/rust/libs/proto/src/filter.egress.v1.tonic.rs index 49398de256..74102173ce 100644 --- a/rust/libs/proto/src/filter.egress.v1.tonic.rs +++ b/rust/libs/proto/src/filter.egress.v1.tonic.rs @@ -1,5 +1,18 @@ -// @generated -/// Generated client implementations. +// +// Copyright (C) 2019-2024 vdaas.org vald team +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// You may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// pub mod filter_client { #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] use tonic::codegen::*; diff --git a/rust/libs/proto/src/filter.ingress.v1.tonic.rs b/rust/libs/proto/src/filter.ingress.v1.tonic.rs index 6bd4325471..d8b462caa1 100644 --- a/rust/libs/proto/src/filter.ingress.v1.tonic.rs +++ b/rust/libs/proto/src/filter.ingress.v1.tonic.rs @@ -1,5 +1,18 @@ -// @generated -/// Generated client implementations. +// +// Copyright (C) 2019-2024 vdaas.org vald team +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// You may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// pub mod filter_client { #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] use tonic::codegen::*; diff --git a/rust/libs/proto/src/mirror.v1.tonic.rs b/rust/libs/proto/src/mirror.v1.tonic.rs index 07596240d8..fb55727a62 100644 --- a/rust/libs/proto/src/mirror.v1.tonic.rs +++ b/rust/libs/proto/src/mirror.v1.tonic.rs @@ -1,5 +1,18 @@ -// @generated -/// Generated client implementations. +// +// Copyright (C) 2019-2024 vdaas.org vald team +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// You may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// pub mod mirror_client { #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] use tonic::codegen::*; diff --git a/rust/libs/proto/src/rpc.v1.rs b/rust/libs/proto/src/rpc.v1.rs index dd94760a06..d41601b08d 100644 --- a/rust/libs/proto/src/rpc.v1.rs +++ b/rust/libs/proto/src/rpc.v1.rs @@ -1,29 +1,18 @@ -// @generated -// This file is @generated by prost-build. -/// Describes the cause of the error with structured details. -/// -/// Example of an error when contacting the "pubsub.googleapis.com" API when it -/// is not enabled: -/// -/// { "reason": "API_DISABLED" -/// "domain": "googleapis.com" -/// "metadata": { -/// "resource": "projects/123", -/// "service": "pubsub.googleapis.com" -/// } -/// } -/// -/// This response indicates that the pubsub.googleapis.com API is not enabled. -/// -/// Example of an error that is returned when attempting to create a Spanner -/// instance in a region that is out of stock: -/// -/// { "reason": "STOCKOUT" -/// "domain": "spanner.googleapis.com", -/// "metadata": { -/// "availableRegions": "us-central1,us-east2" -/// } -/// } +// +// Copyright (C) 2019-2024 vdaas.org vald team +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// You may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ErrorInfo { diff --git a/rust/libs/proto/src/sidecar.v1.tonic.rs b/rust/libs/proto/src/sidecar.v1.tonic.rs index 200569c28e..ad7acdee15 100644 --- a/rust/libs/proto/src/sidecar.v1.tonic.rs +++ b/rust/libs/proto/src/sidecar.v1.tonic.rs @@ -1,5 +1,18 @@ -// @generated -/// Generated client implementations. +// +// Copyright (C) 2019-2024 vdaas.org vald team +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// You may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// pub mod sidecar_client { #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] use tonic::codegen::*; diff --git a/rust/libs/proto/src/vald.v1.tonic.rs b/rust/libs/proto/src/vald.v1.tonic.rs index a47bf062e2..7cc2207e61 100644 --- a/rust/libs/proto/src/vald.v1.tonic.rs +++ b/rust/libs/proto/src/vald.v1.tonic.rs @@ -1,5 +1,18 @@ -// @generated -/// Generated client implementations. +// +// Copyright (C) 2019-2024 vdaas.org vald team +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// You may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// pub mod filter_client { #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] use tonic::codegen::*; From 355b42bd99f4187bb056bc7aaf74a601a237a6fc Mon Sep 17 00:00:00 2001 From: Kosuke Morimoto Date: Fri, 13 Sep 2024 11:02:40 +0900 Subject: [PATCH 12/14] resolve conflict Signed-off-by: Kosuke Morimoto --- rust/libs/proto/src/payload.v1.rs | 372 +++++++++++++++++++++++++++++- 1 file changed, 370 insertions(+), 2 deletions(-) diff --git a/rust/libs/proto/src/payload.v1.rs b/rust/libs/proto/src/payload.v1.rs index 8d82a30417..81498fb4f4 100644 --- a/rust/libs/proto/src/payload.v1.rs +++ b/rust/libs/proto/src/payload.v1.rs @@ -30,6 +30,10 @@ pub mod search { #[prost(message, optional, tag="2")] pub config: ::core::option::Option, } +impl ::prost::Name for Request { +const NAME: &'static str = "Request"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Search.Request".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Search.Request".into() }} /// Represent the multiple search request. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -38,6 +42,10 @@ pub mod search { #[prost(message, repeated, tag="1")] pub requests: ::prost::alloc::vec::Vec, } +impl ::prost::Name for MultiRequest { +const NAME: &'static str = "MultiRequest"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Search.MultiRequest".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Search.MultiRequest".into() }} /// Represent a search by ID request. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -49,6 +57,10 @@ pub mod search { #[prost(message, optional, tag="2")] pub config: ::core::option::Option, } +impl ::prost::Name for IdRequest { +const NAME: &'static str = "IDRequest"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Search.IDRequest".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Search.IDRequest".into() }} /// Represent the multiple search by ID request. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -57,6 +69,10 @@ pub mod search { #[prost(message, repeated, tag="1")] pub requests: ::prost::alloc::vec::Vec, } +impl ::prost::Name for MultiIdRequest { +const NAME: &'static str = "MultiIDRequest"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Search.MultiIDRequest".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Search.MultiIDRequest".into() }} /// Represent a search by binary object request. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -71,6 +87,10 @@ pub mod search { #[prost(message, optional, tag="3")] pub vectorizer: ::core::option::Option, } +impl ::prost::Name for ObjectRequest { +const NAME: &'static str = "ObjectRequest"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Search.ObjectRequest".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Search.ObjectRequest".into() }} /// Represent the multiple search by binary object request. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -79,6 +99,10 @@ pub mod search { #[prost(message, repeated, tag="1")] pub requests: ::prost::alloc::vec::Vec, } +impl ::prost::Name for MultiObjectRequest { +const NAME: &'static str = "MultiObjectRequest"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Search.MultiObjectRequest".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Search.MultiObjectRequest".into() }} /// Represent search configuration. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -117,6 +141,10 @@ pub mod search { #[prost(uint32, tag="11")] pub nprobe: u32, } +impl ::prost::Name for Config { +const NAME: &'static str = "Config"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Search.Config".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Search.Config".into() }} /// Represent a search response. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -128,6 +156,10 @@ pub mod search { #[prost(message, repeated, tag="2")] pub results: ::prost::alloc::vec::Vec, } +impl ::prost::Name for Response { +const NAME: &'static str = "Response"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Search.Response".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Search.Response".into() }} /// Represent multiple search responses. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -136,6 +168,10 @@ pub mod search { #[prost(message, repeated, tag="1")] pub responses: ::prost::alloc::vec::Vec, } +impl ::prost::Name for Responses { +const NAME: &'static str = "Responses"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Search.Responses".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Search.Responses".into() }} /// Represent stream search response. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -156,6 +192,10 @@ pub mod search { Status(super::super::super::super::google::rpc::Status), } } +impl ::prost::Name for StreamResponse { +const NAME: &'static str = "StreamResponse"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Search.StreamResponse".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Search.StreamResponse".into() }} /// AggregationAlgorithm is enum of each aggregation algorithms #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] #[repr(i32)] @@ -193,6 +233,10 @@ pub mod search { } } } +impl ::prost::Name for Search { +const NAME: &'static str = "Search"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Search".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Search".into() }} /// Filter related messages. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, Copy, PartialEq, ::prost::Message)] @@ -211,6 +255,10 @@ pub mod filter { #[prost(uint32, tag="2")] pub port: u32, } +impl ::prost::Name for Target { +const NAME: &'static str = "Target"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Filter.Target".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Filter.Target".into() }} /// Represent filter configuration. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -219,7 +267,15 @@ pub mod filter { #[prost(message, repeated, tag="1")] pub targets: ::prost::alloc::vec::Vec, } +impl ::prost::Name for Config { +const NAME: &'static str = "Config"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Filter.Config".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Filter.Config".into() }} } +impl ::prost::Name for Filter { +const NAME: &'static str = "Filter"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Filter".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Filter".into() }} /// Insert related messages. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, Copy, PartialEq, ::prost::Message)] @@ -238,6 +294,10 @@ pub mod insert { #[prost(message, optional, tag="2")] pub config: ::core::option::Option, } +impl ::prost::Name for Request { +const NAME: &'static str = "Request"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Insert.Request".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Insert.Request".into() }} /// Represent the multiple insert request. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -246,6 +306,10 @@ pub mod insert { #[prost(message, repeated, tag="1")] pub requests: ::prost::alloc::vec::Vec, } +impl ::prost::Name for MultiRequest { +const NAME: &'static str = "MultiRequest"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Insert.MultiRequest".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Insert.MultiRequest".into() }} /// Represent the insert by binary object request. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -260,6 +324,10 @@ pub mod insert { #[prost(message, optional, tag="3")] pub vectorizer: ::core::option::Option, } +impl ::prost::Name for ObjectRequest { +const NAME: &'static str = "ObjectRequest"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Insert.ObjectRequest".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Insert.ObjectRequest".into() }} /// Represent the multiple insert by binary object request. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -268,6 +336,10 @@ pub mod insert { #[prost(message, repeated, tag="1")] pub requests: ::prost::alloc::vec::Vec, } +impl ::prost::Name for MultiObjectRequest { +const NAME: &'static str = "MultiObjectRequest"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Insert.MultiObjectRequest".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Insert.MultiObjectRequest".into() }} /// Represent insert configurations. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -282,7 +354,15 @@ pub mod insert { #[prost(int64, tag="3")] pub timestamp: i64, } +impl ::prost::Name for Config { +const NAME: &'static str = "Config"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Insert.Config".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Insert.Config".into() }} } +impl ::prost::Name for Insert { +const NAME: &'static str = "Insert"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Insert".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Insert".into() }} /// Update related messages #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, Copy, PartialEq, ::prost::Message)] @@ -301,6 +381,10 @@ pub mod update { #[prost(message, optional, tag="2")] pub config: ::core::option::Option, } +impl ::prost::Name for Request { +const NAME: &'static str = "Request"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Update.Request".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Update.Request".into() }} /// Represent the multiple update request. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -309,6 +393,10 @@ pub mod update { #[prost(message, repeated, tag="1")] pub requests: ::prost::alloc::vec::Vec, } +impl ::prost::Name for MultiRequest { +const NAME: &'static str = "MultiRequest"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Update.MultiRequest".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Update.MultiRequest".into() }} /// Represent the update binary object request. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -323,6 +411,10 @@ pub mod update { #[prost(message, optional, tag="3")] pub vectorizer: ::core::option::Option, } +impl ::prost::Name for ObjectRequest { +const NAME: &'static str = "ObjectRequest"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Update.ObjectRequest".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Update.ObjectRequest".into() }} /// Represent the multiple update binary object request. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -331,6 +423,10 @@ pub mod update { #[prost(message, repeated, tag="1")] pub requests: ::prost::alloc::vec::Vec, } +impl ::prost::Name for MultiObjectRequest { +const NAME: &'static str = "MultiObjectRequest"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Update.MultiObjectRequest".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Update.MultiObjectRequest".into() }} /// Represent a vector meta data. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -345,6 +441,10 @@ pub mod update { #[prost(bool, tag="3")] pub force: bool, } +impl ::prost::Name for TimestampRequest { +const NAME: &'static str = "TimestampRequest"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Update.TimestampRequest".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Update.TimestampRequest".into() }} /// Represent the update configuration. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -363,7 +463,15 @@ pub mod update { #[prost(bool, tag="4")] pub disable_balanced_update: bool, } +impl ::prost::Name for Config { +const NAME: &'static str = "Config"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Update.Config".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Update.Config".into() }} } +impl ::prost::Name for Update { +const NAME: &'static str = "Update"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Update".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Update".into() }} /// Upsert related messages. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, Copy, PartialEq, ::prost::Message)] @@ -382,6 +490,10 @@ pub mod upsert { #[prost(message, optional, tag="2")] pub config: ::core::option::Option, } +impl ::prost::Name for Request { +const NAME: &'static str = "Request"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Upsert.Request".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Upsert.Request".into() }} /// Represent mthe ultiple upsert request. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -390,6 +502,10 @@ pub mod upsert { #[prost(message, repeated, tag="1")] pub requests: ::prost::alloc::vec::Vec, } +impl ::prost::Name for MultiRequest { +const NAME: &'static str = "MultiRequest"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Upsert.MultiRequest".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Upsert.MultiRequest".into() }} /// Represent the upsert binary object request. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -404,6 +520,10 @@ pub mod upsert { #[prost(message, optional, tag="3")] pub vectorizer: ::core::option::Option, } +impl ::prost::Name for ObjectRequest { +const NAME: &'static str = "ObjectRequest"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Upsert.ObjectRequest".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Upsert.ObjectRequest".into() }} /// Represent the multiple upsert binary object request. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -412,6 +532,10 @@ pub mod upsert { #[prost(message, repeated, tag="1")] pub requests: ::prost::alloc::vec::Vec, } +impl ::prost::Name for MultiObjectRequest { +const NAME: &'static str = "MultiObjectRequest"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Upsert.MultiObjectRequest".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Upsert.MultiObjectRequest".into() }} /// Represent the upsert configuration. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -430,7 +554,15 @@ pub mod upsert { #[prost(bool, tag="4")] pub disable_balanced_update: bool, } +impl ::prost::Name for Config { +const NAME: &'static str = "Config"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Upsert.Config".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Upsert.Config".into() }} } +impl ::prost::Name for Upsert { +const NAME: &'static str = "Upsert"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Upsert".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Upsert".into() }} /// Remove related messages. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, Copy, PartialEq, ::prost::Message)] @@ -449,6 +581,10 @@ pub mod remove { #[prost(message, optional, tag="2")] pub config: ::core::option::Option, } +impl ::prost::Name for Request { +const NAME: &'static str = "Request"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Remove.Request".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Remove.Request".into() }} /// Represent the multiple remove request. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -457,6 +593,10 @@ pub mod remove { #[prost(message, repeated, tag="1")] pub requests: ::prost::alloc::vec::Vec, } +impl ::prost::Name for MultiRequest { +const NAME: &'static str = "MultiRequest"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Remove.MultiRequest".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Remove.MultiRequest".into() }} /// Represent the remove request based on timestamp. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -466,6 +606,10 @@ pub mod remove { #[prost(message, repeated, tag="1")] pub timestamps: ::prost::alloc::vec::Vec, } +impl ::prost::Name for TimestampRequest { +const NAME: &'static str = "TimestampRequest"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Remove.TimestampRequest".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Remove.TimestampRequest".into() }} /// Represent the timestamp comparison. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, Copy, PartialEq, ::prost::Message)] @@ -527,6 +671,10 @@ pub mod remove { } } } +impl ::prost::Name for Timestamp { +const NAME: &'static str = "Timestamp"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Remove.Timestamp".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Remove.Timestamp".into() }} /// Represent the remove configuration. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, Copy, PartialEq, ::prost::Message)] @@ -538,7 +686,15 @@ pub mod remove { #[prost(int64, tag="3")] pub timestamp: i64, } +impl ::prost::Name for Config { +const NAME: &'static str = "Config"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Remove.Config".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Remove.Config".into() }} } +impl ::prost::Name for Remove { +const NAME: &'static str = "Remove"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Remove".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Remove".into() }} /// Flush related messages. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, Copy, PartialEq, ::prost::Message)] @@ -550,7 +706,15 @@ pub mod flush { #[derive(Clone, Copy, PartialEq, ::prost::Message)] pub struct Request { } +impl ::prost::Name for Request { +const NAME: &'static str = "Request"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Flush.Request".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Flush.Request".into() }} } +impl ::prost::Name for Flush { +const NAME: &'static str = "Flush"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Flush".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Flush".into() }} /// Common messages. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, Copy, PartialEq, ::prost::Message)] @@ -569,6 +733,10 @@ pub mod object { #[prost(message, optional, tag="2")] pub filters: ::core::option::Option, } +impl ::prost::Name for VectorRequest { +const NAME: &'static str = "VectorRequest"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.VectorRequest".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object.VectorRequest".into() }} /// Represent the ID and distance pair. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -580,6 +748,10 @@ pub mod object { #[prost(float, tag="2")] pub distance: f32, } +impl ::prost::Name for Distance { +const NAME: &'static str = "Distance"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.Distance".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object.Distance".into() }} /// Represent stream response of distances. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -600,6 +772,10 @@ pub mod object { Status(super::super::super::super::google::rpc::Status), } } +impl ::prost::Name for StreamDistance { +const NAME: &'static str = "StreamDistance"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.StreamDistance".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object.StreamDistance".into() }} /// Represent the vector ID. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -607,6 +783,10 @@ pub mod object { #[prost(string, tag="1")] pub id: ::prost::alloc::string::String, } +impl ::prost::Name for Id { +const NAME: &'static str = "ID"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.ID".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object.ID".into() }} /// Represent multiple vector IDs. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -614,6 +794,10 @@ pub mod object { #[prost(string, repeated, tag="1")] pub ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } +impl ::prost::Name for IDs { +const NAME: &'static str = "IDs"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.IDs".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object.IDs".into() }} /// Represent a vector. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -628,6 +812,10 @@ pub mod object { #[prost(int64, tag="3")] pub timestamp: i64, } +impl ::prost::Name for Vector { +const NAME: &'static str = "Vector"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.Vector".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object.Vector".into() }} /// Represent a request to fetch vector meta data. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -636,6 +824,10 @@ pub mod object { #[prost(message, optional, tag="1")] pub id: ::core::option::Option, } +impl ::prost::Name for TimestampRequest { +const NAME: &'static str = "TimestampRequest"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.TimestampRequest".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object.TimestampRequest".into() }} /// Represent a vector meta data. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -647,6 +839,10 @@ pub mod object { #[prost(int64, tag="2")] pub timestamp: i64, } +impl ::prost::Name for Timestamp { +const NAME: &'static str = "Timestamp"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.Timestamp".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object.Timestamp".into() }} /// Represent multiple vectors. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -654,6 +850,10 @@ pub mod object { #[prost(message, repeated, tag="1")] pub vectors: ::prost::alloc::vec::Vec, } +impl ::prost::Name for Vectors { +const NAME: &'static str = "Vectors"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.Vectors".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object.Vectors".into() }} /// Represent stream response of the vector. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -674,6 +874,10 @@ pub mod object { Status(super::super::super::super::google::rpc::Status), } } +impl ::prost::Name for StreamVector { +const NAME: &'static str = "StreamVector"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.StreamVector".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object.StreamVector".into() }} /// Represent reshape vector. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -685,6 +889,10 @@ pub mod object { #[prost(int32, repeated, tag="2")] pub shape: ::prost::alloc::vec::Vec, } +impl ::prost::Name for ReshapeVector { +const NAME: &'static str = "ReshapeVector"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.ReshapeVector".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object.ReshapeVector".into() }} /// Represent the binary object. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -696,6 +904,10 @@ pub mod object { #[prost(bytes="vec", tag="2")] pub object: ::prost::alloc::vec::Vec, } +impl ::prost::Name for Blob { +const NAME: &'static str = "Blob"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.Blob".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object.Blob".into() }} /// Represent stream response of binary objects. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -716,6 +928,10 @@ pub mod object { Status(super::super::super::super::google::rpc::Status), } } +impl ::prost::Name for StreamBlob { +const NAME: &'static str = "StreamBlob"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.StreamBlob".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object.StreamBlob".into() }} /// Represent the vector location. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -730,6 +946,10 @@ pub mod object { #[prost(string, repeated, tag="3")] pub ips: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } +impl ::prost::Name for Location { +const NAME: &'static str = "Location"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.Location".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object.Location".into() }} /// Represent the stream response of the vector location. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -750,6 +970,10 @@ pub mod object { Status(super::super::super::super::google::rpc::Status), } } +impl ::prost::Name for StreamLocation { +const NAME: &'static str = "StreamLocation"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.StreamLocation".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object.StreamLocation".into() }} /// Represent multiple vector locations. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -757,6 +981,10 @@ pub mod object { #[prost(message, repeated, tag="1")] pub locations: ::prost::alloc::vec::Vec, } +impl ::prost::Name for Locations { +const NAME: &'static str = "Locations"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.Locations".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object.Locations".into() }} /// Represent the list object vector stream request and response. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, Copy, PartialEq, ::prost::Message)] @@ -768,6 +996,10 @@ pub mod object { #[derive(Clone, Copy, PartialEq, ::prost::Message)] pub struct Request { } +impl ::prost::Name for Request { +const NAME: &'static str = "Request"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.List.Request".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object.List.Request".into() }} #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct Response { @@ -787,8 +1019,20 @@ pub mod object { Status(super::super::super::super::super::google::rpc::Status), } } - } +impl ::prost::Name for Response { +const NAME: &'static str = "Response"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.List.Response".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object.List.Response".into() }} + } +impl ::prost::Name for List { +const NAME: &'static str = "List"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object.List".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object.List".into() }} } +impl ::prost::Name for Object { +const NAME: &'static str = "Object"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Object".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Object".into() }} /// Control related messages. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, Copy, PartialEq, ::prost::Message)] @@ -804,7 +1048,15 @@ pub mod control { #[prost(uint32, tag="1")] pub pool_size: u32, } +impl ::prost::Name for CreateIndexRequest { +const NAME: &'static str = "CreateIndexRequest"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Control.CreateIndexRequest".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Control.CreateIndexRequest".into() }} } +impl ::prost::Name for Control { +const NAME: &'static str = "Control"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Control".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Control".into() }} /// Discoverer related messages. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, Copy, PartialEq, ::prost::Message)] @@ -826,7 +1078,15 @@ pub mod discoverer { #[prost(string, tag="3")] pub node: ::prost::alloc::string::String, } +impl ::prost::Name for Request { +const NAME: &'static str = "Request"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Discoverer.Request".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Discoverer.Request".into() }} } +impl ::prost::Name for Discoverer { +const NAME: &'static str = "Discoverer"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Discoverer".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Discoverer".into() }} /// Info related messages. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, Copy, PartialEq, ::prost::Message)] @@ -858,6 +1118,10 @@ pub mod info { #[prost(bool, tag="4")] pub saving: bool, } +impl ::prost::Name for Count { +const NAME: &'static str = "Count"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Index.Count".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.Index.Count".into() }} /// Represent the index count for each Agents message. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -872,6 +1136,10 @@ pub mod info { #[prost(uint32, tag="3")] pub live_agents: u32, } +impl ::prost::Name for Detail { +const NAME: &'static str = "Detail"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Index.Detail".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.Index.Detail".into() }} /// Represent the UUID message. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, Copy, PartialEq, ::prost::Message)] @@ -886,6 +1154,10 @@ pub mod info { #[prost(string, tag="1")] pub uuid: ::prost::alloc::string::String, } +impl ::prost::Name for Committed { +const NAME: &'static str = "Committed"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Index.UUID.Committed".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.Index.UUID.Committed".into() }} /// The uncommitted UUID. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -893,7 +1165,15 @@ pub mod info { #[prost(string, tag="1")] pub uuid: ::prost::alloc::string::String, } +impl ::prost::Name for Uncommitted { +const NAME: &'static str = "Uncommitted"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Index.UUID.Uncommitted".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.Index.UUID.Uncommitted".into() }} } +impl ::prost::Name for Uuid { +const NAME: &'static str = "UUID"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Index.UUID".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.Index.UUID".into() }} /// Represents index Statistics #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -965,6 +1245,10 @@ pub mod info { #[prost(uint64, repeated, tag="33")] pub indegree_histogram: ::prost::alloc::vec::Vec, } +impl ::prost::Name for Statistics { +const NAME: &'static str = "Statistics"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Index.Statistics".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.Index.Statistics".into() }} /// Represents index Statistics for each Agents #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -973,6 +1257,10 @@ pub mod info { #[prost(map="string, message", tag="1")] pub details: ::std::collections::HashMap<::prost::alloc::string::String, Statistics>, } +impl ::prost::Name for StatisticsDetail { +const NAME: &'static str = "StatisticsDetail"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Index.StatisticsDetail".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.Index.StatisticsDetail".into() }} /// Represents index Property #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -1046,6 +1334,10 @@ pub mod info { #[prost(int32, tag="34")] pub incoming_edge: i32, } +impl ::prost::Name for Property { +const NAME: &'static str = "Property"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Index.Property".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.Index.Property".into() }} /// Represents index Properties for each Agents #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -1053,7 +1345,15 @@ pub mod info { #[prost(map="string, message", tag="1")] pub details: ::std::collections::HashMap<::prost::alloc::string::String, Property>, } - } +impl ::prost::Name for PropertyDetail { +const NAME: &'static str = "PropertyDetail"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Index.PropertyDetail".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.Index.PropertyDetail".into() }} + } +impl ::prost::Name for Index { +const NAME: &'static str = "Index"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Index".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.Index".into() }} /// Represent the pod information message. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -1080,6 +1380,10 @@ pub mod info { #[prost(message, optional, tag="7")] pub node: ::core::option::Option, } +impl ::prost::Name for Pod { +const NAME: &'static str = "Pod"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Pod".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.Pod".into() }} /// Represent the node information message. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -1103,6 +1407,10 @@ pub mod info { #[prost(message, optional, tag="6")] pub pods: ::core::option::Option, } +impl ::prost::Name for Node { +const NAME: &'static str = "Node"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Node".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.Node".into() }} /// Represent the service information message. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -1126,6 +1434,10 @@ pub mod info { #[prost(message, optional, tag="6")] pub annotations: ::core::option::Option, } +impl ::prost::Name for Service { +const NAME: &'static str = "Service"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Service".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.Service".into() }} /// Represets the service port information message. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -1137,6 +1449,10 @@ pub mod info { #[prost(int32, tag="2")] pub port: i32, } +impl ::prost::Name for ServicePort { +const NAME: &'static str = "ServicePort"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.ServicePort".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.ServicePort".into() }} /// Represent the kubernetes labels. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -1144,6 +1460,10 @@ pub mod info { #[prost(map="string, string", tag="1")] pub labels: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>, } +impl ::prost::Name for Labels { +const NAME: &'static str = "Labels"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Labels".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.Labels".into() }} /// Represent the kubernetes annotations. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -1151,6 +1471,10 @@ pub mod info { #[prost(map="string, string", tag="1")] pub annotations: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>, } +impl ::prost::Name for Annotations { +const NAME: &'static str = "Annotations"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Annotations".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.Annotations".into() }} /// Represent the CPU information message. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, Copy, PartialEq, ::prost::Message)] @@ -1165,6 +1489,10 @@ pub mod info { #[prost(double, tag="3")] pub usage: f64, } +impl ::prost::Name for Cpu { +const NAME: &'static str = "CPU"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.CPU".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.CPU".into() }} /// Represent the memory information message. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, Copy, PartialEq, ::prost::Message)] @@ -1179,6 +1507,10 @@ pub mod info { #[prost(double, tag="3")] pub usage: f64, } +impl ::prost::Name for Memory { +const NAME: &'static str = "Memory"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Memory".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.Memory".into() }} /// Represent the multiple pod information message. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -1187,6 +1519,10 @@ pub mod info { #[prost(message, repeated, tag="1")] pub pods: ::prost::alloc::vec::Vec, } +impl ::prost::Name for Pods { +const NAME: &'static str = "Pods"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Pods".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.Pods".into() }} /// Represent the multiple node information message. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -1195,6 +1531,10 @@ pub mod info { #[prost(message, repeated, tag="1")] pub nodes: ::prost::alloc::vec::Vec, } +impl ::prost::Name for Nodes { +const NAME: &'static str = "Nodes"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Nodes".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.Nodes".into() }} /// Represent the multiple service information message. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -1203,6 +1543,10 @@ pub mod info { #[prost(message, repeated, tag="1")] pub services: ::prost::alloc::vec::Vec, } +impl ::prost::Name for Services { +const NAME: &'static str = "Services"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.Services".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.Services".into() }} /// Represent the multiple IP message. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -1210,7 +1554,15 @@ pub mod info { #[prost(string, repeated, tag="1")] pub ip: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } +impl ::prost::Name for IPs { +const NAME: &'static str = "IPs"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info.IPs".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info.IPs".into() }} } +impl ::prost::Name for Info { +const NAME: &'static str = "Info"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Info".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Info".into() }} /// Mirror related messages. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, Copy, PartialEq, ::prost::Message)] @@ -1229,6 +1581,10 @@ pub mod mirror { #[prost(uint32, tag="2")] pub port: u32, } +impl ::prost::Name for Target { +const NAME: &'static str = "Target"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Mirror.Target".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Mirror.Target".into() }} /// Represent the multiple Target message. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -1237,10 +1593,22 @@ pub mod mirror { #[prost(message, repeated, tag="1")] pub targets: ::prost::alloc::vec::Vec, } +impl ::prost::Name for Targets { +const NAME: &'static str = "Targets"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Mirror.Targets".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Mirror.Targets".into() }} } +impl ::prost::Name for Mirror { +const NAME: &'static str = "Mirror"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Mirror".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Mirror".into() }} /// Represent an empty message. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, Copy, PartialEq, ::prost::Message)] pub struct Empty { } +impl ::prost::Name for Empty { +const NAME: &'static str = "Empty"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Empty".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Empty".into() }} // @@protoc_insertion_point(module) From 74a0280a8d657acf2aad68da052612c7aed4b61a Mon Sep 17 00:00:00 2001 From: Kosuke Morimoto Date: Fri, 13 Sep 2024 13:42:25 +0900 Subject: [PATCH 13/14] resolve conflict Signed-off-by: Kosuke Morimoto --- dockers/dev/Dockerfile | 1 + rust/Cargo.lock | 9 ++++ rust/bin/agent/Cargo.toml | 10 ++--- rust/libs/algorithm/Cargo.toml | 2 +- rust/libs/algorithms/ngt/Cargo.toml | 6 +-- rust/libs/observability/Cargo.toml | 6 +-- rust/libs/proto/Cargo.toml | 4 +- rust/libs/proto/src/filter.egress.v1.tonic.rs | 4 ++ .../libs/proto/src/filter.ingress.v1.tonic.rs | 4 ++ rust/libs/proto/src/meta.v1.tonic.rs | 2 + rust/libs/proto/src/payload.v1.rs | 43 +++++++++++++++++++ rust/libs/proto/src/vald.v1.tonic.rs | 8 ++++ 12 files changed, 85 insertions(+), 14 deletions(-) diff --git a/dockers/dev/Dockerfile b/dockers/dev/Dockerfile index a45fcbbe0f..8ac6845f43 100644 --- a/dockers/dev/Dockerfile +++ b/dockers/dev/Dockerfile @@ -142,6 +142,7 @@ RUN --mount=type=bind,target=.,rw \ && make telepresence/install \ && make ngt/install \ && make faiss/install \ + && make usearch/install \ && rm -rf ${GOPATH}/src/github.com/${ORG}/${REPO}/* # skipcq: DOK-DL3002 USER root:root diff --git a/rust/Cargo.lock b/rust/Cargo.lock index 6acfc8e80c..9be8b49b26 100644 --- a/rust/Cargo.lock +++ b/rust/Cargo.lock @@ -2604,6 +2604,15 @@ dependencies = [ "libc", ] +[[package]] +name = "meta" +version = "0.1.0" +dependencies = [ + "proto", + "tokio", + "tonic 0.12.2", +] + [[package]] name = "miette" version = "7.2.0" diff --git a/rust/bin/agent/Cargo.toml b/rust/bin/agent/Cargo.toml index f20fdef23d..42359f5209 100644 --- a/rust/bin/agent/Cargo.toml +++ b/rust/bin/agent/Cargo.toml @@ -22,12 +22,12 @@ edition = "2021" [dependencies] algorithm = { version = "0.1.0", path = "../../libs/algorithm" } -anyhow = "1.0.86" +anyhow = "1.0.88" cargo = "0.81.0" -prost = "0.13.1" -prost-types = "0.13.1" +prost = "0.13.2" +prost-types = "0.13.2" proto = { version = "0.1.0", path = "../../libs/proto" } -tokio = { version = "1.39.3", features = ["full"] } -tokio-stream = { version = "0.1.15", features = ["full"] } +tokio = { version = "1.40.0", features = ["full"] } +tokio-stream = { version = "0.1.16", features = ["full"] } tonic = "0.12.2" tonic-types = "0.12.2" diff --git a/rust/libs/algorithm/Cargo.toml b/rust/libs/algorithm/Cargo.toml index d3d6481518..7af0713ebf 100644 --- a/rust/libs/algorithm/Cargo.toml +++ b/rust/libs/algorithm/Cargo.toml @@ -19,7 +19,7 @@ version = "0.1.0" edition = "2021" [dependencies] -anyhow = "1.0.86" +anyhow = "1.0.88" faiss = { version = "0.1.0", path = "../algorithms/faiss" } ngt = { version = "0.1.0", path = "../algorithms/ngt" } proto = { version = "0.1.0", path = "../proto" } diff --git a/rust/libs/algorithms/ngt/Cargo.toml b/rust/libs/algorithms/ngt/Cargo.toml index 64517bf474..7e376d65be 100644 --- a/rust/libs/algorithms/ngt/Cargo.toml +++ b/rust/libs/algorithms/ngt/Cargo.toml @@ -19,11 +19,11 @@ version = "0.1.0" edition = "2021" [dependencies] -anyhow = "1.0.86" -cxx = { version = "1.0.126", features = ["c++20"] } +anyhow = "1.0.88" +cxx = { version = "1.0.128", features = ["c++20"] } [build-dependencies] -cxx-build = "1.0.126" +cxx-build = "1.0.128" miette = { version = "7.2.0", features = ["fancy"] } [dev-dependencies] diff --git a/rust/libs/observability/Cargo.toml b/rust/libs/observability/Cargo.toml index d6d947b92b..5f3e63e97b 100644 --- a/rust/libs/observability/Cargo.toml +++ b/rust/libs/observability/Cargo.toml @@ -24,10 +24,10 @@ edition = "2021" opentelemetry = { version = "0.23" } opentelemetry_sdk = { version = "0.23", features = ["rt-tokio"] } opentelemetry-otlp = { version = "0.16.0", features = ["http-proto", "reqwest-client", "logs"] } -tokio = { version = "1.39.3", features = ["full"] } -serde_json = { version="1.0.127" } +tokio = { version = "1.40.0", features = ["full"] } +serde_json = { version="1.0.128" } opentelemetry-semantic-conventions = { version = "0.16.0"} scopeguard = { version = "1.2.0"} paste = {version = "1.0.15"} -anyhow = { version = "1.0.86"} +anyhow = { version = "1.0.88"} url = { version = "2.5.2"} diff --git a/rust/libs/proto/Cargo.toml b/rust/libs/proto/Cargo.toml index 3fb9fcc5ef..9489c412d4 100644 --- a/rust/libs/proto/Cargo.toml +++ b/rust/libs/proto/Cargo.toml @@ -22,7 +22,7 @@ edition = "2021" [dependencies] futures-core = "0.3.30" -prost = "0.13.1" -prost-types = "0.13.1" +prost = "0.13.2" +prost-types = "0.13.2" tonic = "0.12.2" tonic-types = "0.12.2" diff --git a/rust/libs/proto/src/filter.egress.v1.tonic.rs b/rust/libs/proto/src/filter.egress.v1.tonic.rs index 74102173ce..9627dbcf2c 100644 --- a/rust/libs/proto/src/filter.egress.v1.tonic.rs +++ b/rust/libs/proto/src/filter.egress.v1.tonic.rs @@ -17,6 +17,8 @@ pub mod filter_client { #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] use tonic::codegen::*; use tonic::codegen::http::Uri; + /** Represent the egress filter service. +*/ #[derive(Debug, Clone)] pub struct FilterClient { inner: tonic::client::Grpc, @@ -187,6 +189,8 @@ pub mod filter_server { tonic::Status, >; } + /** Represent the egress filter service. +*/ #[derive(Debug)] pub struct FilterServer { inner: Arc, diff --git a/rust/libs/proto/src/filter.ingress.v1.tonic.rs b/rust/libs/proto/src/filter.ingress.v1.tonic.rs index d8b462caa1..76f377386b 100644 --- a/rust/libs/proto/src/filter.ingress.v1.tonic.rs +++ b/rust/libs/proto/src/filter.ingress.v1.tonic.rs @@ -17,6 +17,8 @@ pub mod filter_client { #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] use tonic::codegen::*; use tonic::codegen::http::Uri; + /** Represent the ingress filter service. +*/ #[derive(Debug, Clone)] pub struct FilterClient { inner: tonic::client::Grpc, @@ -187,6 +189,8 @@ pub mod filter_server { tonic::Status, >; } + /** Represent the ingress filter service. +*/ #[derive(Debug)] pub struct FilterServer { inner: Arc, diff --git a/rust/libs/proto/src/meta.v1.tonic.rs b/rust/libs/proto/src/meta.v1.tonic.rs index b683ff6440..7f106ee0ca 100644 --- a/rust/libs/proto/src/meta.v1.tonic.rs +++ b/rust/libs/proto/src/meta.v1.tonic.rs @@ -97,6 +97,7 @@ pub mod meta_client { self.inner = self.inner.max_encoding_message_size(limit); self } + /// pub async fn get( &mut self, request: impl tonic::IntoRequest, @@ -176,6 +177,7 @@ pub mod meta_server { /// Generated trait containing gRPC methods that should be implemented for use with MetaServer. #[async_trait] pub trait Meta: Send + Sync + 'static { + /// async fn get( &self, request: tonic::Request, diff --git a/rust/libs/proto/src/payload.v1.rs b/rust/libs/proto/src/payload.v1.rs index 81498fb4f4..ee11217a6f 100644 --- a/rust/libs/proto/src/payload.v1.rs +++ b/rust/libs/proto/src/payload.v1.rs @@ -1602,6 +1602,49 @@ impl ::prost::Name for Mirror { const NAME: &'static str = "Mirror"; const PACKAGE: &'static str = "payload.v1"; fn full_name() -> ::prost::alloc::string::String { "payload.v1.Mirror".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Mirror".into() }} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Meta { +} +/// Nested message and enum types in `Meta`. +pub mod meta { + #[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] + pub struct Key { + #[prost(string, tag="1")] + pub key: ::prost::alloc::string::String, + } +impl ::prost::Name for Key { +const NAME: &'static str = "Key"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Meta.Key".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Meta.Key".into() }} + #[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] + pub struct Value { + #[prost(message, optional, tag="1")] + pub value: ::core::option::Option<::prost_types::Any>, + } +impl ::prost::Name for Value { +const NAME: &'static str = "Value"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Meta.Value".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Meta.Value".into() }} + #[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] + pub struct KeyValue { + #[prost(message, optional, tag="1")] + pub key: ::core::option::Option, + #[prost(message, optional, tag="2")] + pub value: ::core::option::Option, + } +impl ::prost::Name for KeyValue { +const NAME: &'static str = "KeyValue"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Meta.KeyValue".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Meta.KeyValue".into() }} +} +impl ::prost::Name for Meta { +const NAME: &'static str = "Meta"; +const PACKAGE: &'static str = "payload.v1"; +fn full_name() -> ::prost::alloc::string::String { "payload.v1.Meta".into() }fn type_url() -> ::prost::alloc::string::String { "/payload.v1.Meta".into() }} /// Represent an empty message. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, Copy, PartialEq, ::prost::Message)] diff --git a/rust/libs/proto/src/vald.v1.tonic.rs b/rust/libs/proto/src/vald.v1.tonic.rs index 7cc2207e61..29843a4d93 100644 --- a/rust/libs/proto/src/vald.v1.tonic.rs +++ b/rust/libs/proto/src/vald.v1.tonic.rs @@ -124,6 +124,8 @@ pub mod filter_client { .insert(GrpcMethod::new("vald.v1.Filter", "SearchObject")); self.inner.unary(req, path, codec).await } + /** A method to search multiple objects. +*/ pub async fn multi_search_object( &mut self, request: impl tonic::IntoRequest< @@ -475,6 +477,8 @@ pub mod filter_server { tonic::Response, tonic::Status, >; + /** A method to search multiple objects. +*/ async fn multi_search_object( &self, request: tonic::Request< @@ -4042,6 +4046,8 @@ pub mod search_client { req.extensions_mut().insert(GrpcMethod::new("vald.v1.Search", "Search")); self.inner.unary(req, path, codec).await } + /** A method to search indexed vectors by ID. +*/ pub async fn search_by_id( &mut self, request: impl tonic::IntoRequest< @@ -4392,6 +4398,8 @@ pub mod search_server { tonic::Response, tonic::Status, >; + /** A method to search indexed vectors by ID. +*/ async fn search_by_id( &self, request: tonic::Request, From ac6931c79b6299a183fa104f7e31b660e6129504 Mon Sep 17 00:00:00 2001 From: Kosuke Morimoto Date: Fri, 13 Sep 2024 14:19:25 +0900 Subject: [PATCH 14/14] revert Signed-off-by: Kosuke Morimoto --- versions/actions/GITHUB_CODEQL_ACTION_ANALYZE | 2 +- versions/actions/GITHUB_CODEQL_ACTION_AUTOBUILD | 2 +- versions/actions/GITHUB_CODEQL_ACTION_INIT | 2 +- versions/actions/GITHUB_CODEQL_ACTION_UPLOAD_SARIF | 2 +- versions/actions/PETER_EVANS_CREATE_PULL_REQUEST | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/versions/actions/GITHUB_CODEQL_ACTION_ANALYZE b/versions/actions/GITHUB_CODEQL_ACTION_ANALYZE index 26452813e0..086b153eb6 100644 --- a/versions/actions/GITHUB_CODEQL_ACTION_ANALYZE +++ b/versions/actions/GITHUB_CODEQL_ACTION_ANALYZE @@ -1 +1 @@ -2.18.3 +2.18.4 diff --git a/versions/actions/GITHUB_CODEQL_ACTION_AUTOBUILD b/versions/actions/GITHUB_CODEQL_ACTION_AUTOBUILD index 26452813e0..086b153eb6 100644 --- a/versions/actions/GITHUB_CODEQL_ACTION_AUTOBUILD +++ b/versions/actions/GITHUB_CODEQL_ACTION_AUTOBUILD @@ -1 +1 @@ -2.18.3 +2.18.4 diff --git a/versions/actions/GITHUB_CODEQL_ACTION_INIT b/versions/actions/GITHUB_CODEQL_ACTION_INIT index 26452813e0..086b153eb6 100644 --- a/versions/actions/GITHUB_CODEQL_ACTION_INIT +++ b/versions/actions/GITHUB_CODEQL_ACTION_INIT @@ -1 +1 @@ -2.18.3 +2.18.4 diff --git a/versions/actions/GITHUB_CODEQL_ACTION_UPLOAD_SARIF b/versions/actions/GITHUB_CODEQL_ACTION_UPLOAD_SARIF index 26452813e0..086b153eb6 100644 --- a/versions/actions/GITHUB_CODEQL_ACTION_UPLOAD_SARIF +++ b/versions/actions/GITHUB_CODEQL_ACTION_UPLOAD_SARIF @@ -1 +1 @@ -2.18.3 +2.18.4 diff --git a/versions/actions/PETER_EVANS_CREATE_PULL_REQUEST b/versions/actions/PETER_EVANS_CREATE_PULL_REQUEST index 9fe9ff9d99..a8907c025d 100644 --- a/versions/actions/PETER_EVANS_CREATE_PULL_REQUEST +++ b/versions/actions/PETER_EVANS_CREATE_PULL_REQUEST @@ -1 +1 @@ -7.0.1 +7.0.2