diff --git a/rust/Cargo.lock b/rust/Cargo.lock index 6620e9c..79ba88e 100644 --- a/rust/Cargo.lock +++ b/rust/Cargo.lock @@ -79,7 +79,7 @@ version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" dependencies = [ - "windows-sys 0.61.2", + "windows-sys 0.60.2", ] [[package]] @@ -90,7 +90,7 @@ checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" dependencies = [ "anstyle", "once_cell_polyfill", - "windows-sys 0.61.2", + "windows-sys 0.60.2", ] [[package]] @@ -99,15 +99,6 @@ version = "1.0.104" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "330a5ed07fa54e4702c9d6c4174f74427fc0ef6e214bbd677ae50a5099946470" -[[package]] -name = "ascii-canvas" -version = "3.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8824ecca2e851cec16968d54a01dd372ef8f95b244fb84b84e70128be347c3c6" -dependencies = [ - "term", -] - [[package]] name = "assert-json-diff" version = "2.0.2" @@ -118,39 +109,18 @@ dependencies = [ "serde_json", ] -[[package]] -name = "async-attributes" -version = "1.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3203e79f4dd9bdda415ed03cf14dae5a2bf775c683a00f94e9cd1faf0f596e5" -dependencies = [ - "quote", - "syn 1.0.109", -] - [[package]] name = "async-broadcast" version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "435a87a52755b8f27fcf321ac4f04b2802e337c8c4872923137471ec39c37532" dependencies = [ - "event-listener 5.4.2", + "event-listener", "event-listener-strategy", "futures-core", "pin-project-lite", ] -[[package]] -name = "async-channel" -version = "1.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35" -dependencies = [ - "concurrent-queue", - "event-listener 2.5.3", - "futures-core", -] - [[package]] name = "async-channel" version = "2.5.0" @@ -188,21 +158,6 @@ dependencies = [ "futures-lite", ] -[[package]] -name = "async-global-executor" -version = "2.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05b1b633a2115cd122d73b955eadd9916c18c8f510ec9cd1686404c60ad1c29c" -dependencies = [ - "async-channel 2.5.0", - "async-executor", - "async-io", - "async-lock", - "blocking", - "futures-lite", - "once_cell", -] - [[package]] name = "async-io" version = "2.6.0" @@ -227,18 +182,19 @@ version = "3.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "290f7f2596bd5b78a9fec8088ccd89180d7f9f55b94b0576823bbbdc72ee8311" dependencies = [ - "event-listener 5.4.2", + "event-listener", "event-listener-strategy", "pin-project-lite", ] [[package]] name = "async-object-pool" -version = "0.1.5" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "333c456b97c3f2d50604e8b2624253b7f787208cb72eb75e64b0ad11b221652c" +checksum = "e1ac0219111eb7bb7cb76d4cf2cb50c598e7ae549091d3616f9e95442c18486f" dependencies = [ - "async-std", + "async-lock", + "event-listener", ] [[package]] @@ -247,14 +203,14 @@ version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc50921ec0055cdd8a16de48773bfeec5c972598674347252c0399676be7da75" dependencies = [ - "async-channel 2.5.0", + "async-channel", "async-io", "async-lock", "async-signal", "async-task", "blocking", "cfg-if", - "event-listener 5.4.2", + "event-listener", "futures-lite", "rustix", ] @@ -288,34 +244,6 @@ dependencies = [ "windows-sys 0.61.2", ] -[[package]] -name = "async-std" -version = "1.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c8e079a4ab67ae52b7403632e4618815d6db36d2a010cfe41b02c1b1578f93b" -dependencies = [ - "async-attributes", - "async-channel 1.9.0", - "async-global-executor", - "async-io", - "async-lock", - "async-process", - "crossbeam-utils", - "futures-channel", - "futures-core", - "futures-io", - "futures-lite", - "gloo-timers", - "kv-log-macro", - "log", - "memchr", - "once_cell", - "pin-project-lite", - "pin-utils", - "slab", - "wasm-bindgen-futures", -] - [[package]] name = "async-task" version = "4.7.1" @@ -354,53 +282,21 @@ version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" -[[package]] -name = "base64" -version = "0.21.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" - [[package]] name = "base64" version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" -[[package]] -name = "basic-cookies" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67bd8fd42c16bdb08688243dc5f0cc117a3ca9efeeaba3a345a18a6159ad96f7" -dependencies = [ - "lalrpop", - "lalrpop-util", - "regex", -] - -[[package]] -name = "bit-set" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" -dependencies = [ - "bit-vec 0.6.3", -] - [[package]] name = "bit-set" version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3" dependencies = [ - "bit-vec 0.8.0", + "bit-vec", ] -[[package]] -name = "bit-vec" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" - [[package]] name = "bit-vec" version = "0.8.0" @@ -437,7 +333,7 @@ version = "1.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e83f8d02be6967315521be875afa792a316e28d57b5a2d401897e2a7921b7f21" dependencies = [ - "async-channel 2.5.0", + "async-channel", "async-task", "futures-io", "futures-lite", @@ -461,6 +357,9 @@ name = "bytes" version = "1.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc652a48c352aef3ea3aed32080501cf3ef6ed5da78602a020c991775b0aff04" +dependencies = [ + "serde", +] [[package]] name = "cbc" @@ -582,7 +481,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8fa5880fd7247438c612efbed95ec3e41b6e148e41769761115fd4488d578cfa" dependencies = [ "async-trait", - "base64 0.22.1", + "base64", "bytes", "chrono", "clap", @@ -839,12 +738,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "crunchy" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" - [[package]] name = "crypto-common" version = "0.1.7" @@ -932,16 +825,6 @@ dependencies = [ "dirs-sys", ] -[[package]] -name = "dirs-next" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1" -dependencies = [ - "cfg-if", - "dirs-sys-next", -] - [[package]] name = "dirs-sys" version = "0.5.0" @@ -950,19 +833,8 @@ checksum = "e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab" dependencies = [ "libc", "option-ext", - "redox_users 0.5.2", - "windows-sys 0.61.2", -] - -[[package]] -name = "dirs-sys-next" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" -dependencies = [ - "libc", - "redox_users 0.4.6", - "winapi", + "redox_users", + "windows-sys 0.59.0", ] [[package]] @@ -1029,15 +901,6 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "edd0f118536f44f5ccd48bcb8b111bdc3de888b58c74639dfb034a357d0f206d" -[[package]] -name = "ena" -version = "0.14.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eabffdaee24bd1bf95c5ef7cec31260444317e72ea56c4c91750e8b7ee58d5f1" -dependencies = [ - "log", -] - [[package]] name = "endi" version = "1.1.1" @@ -1078,15 +941,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.61.2", + "windows-sys 0.52.0", ] -[[package]] -name = "event-listener" -version = "2.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" - [[package]] name = "event-listener" version = "5.4.2" @@ -1103,7 +960,7 @@ version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93" dependencies = [ - "event-listener 5.4.2", + "event-listener", "pin-project-lite", ] @@ -1113,7 +970,7 @@ version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e24cb5a94bcae1e5408b0effca5cd7172ea3c5755049c5f3af4cd283a165298" dependencies = [ - "bit-set 0.8.0", + "bit-set", "regex-automata", "regex-syntax 0.8.11", ] @@ -1140,12 +997,6 @@ version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" -[[package]] -name = "fixedbitset" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" - [[package]] name = "flate2" version = "1.1.9" @@ -1261,6 +1112,12 @@ version = "0.3.33" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b231ed28831efb4a61a08580c4bc233ec56bc009f4cd8f52da2c3cb97df0c109" +[[package]] +name = "futures-timer" +version = "3.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af43fadb8a98512d547e37b4e92e0ced13e205c061b87b4623eff01d918d6968" + [[package]] name = "futures-util" version = "0.3.33" @@ -1283,7 +1140,7 @@ name = "generate-api-catalog" version = "0.2.2" dependencies = [ "anyhow", - "base64 0.22.1", + "base64", "chrono", "graphql-parser", "indexmap", @@ -1343,18 +1200,6 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "gloo-timers" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbb143cf96099802033e0d4f4963b19fd2e0b728bcf076cd9cf7f6634f092994" -dependencies = [ - "futures-channel", - "futures-core", - "js-sys", - "wasm-bindgen", -] - [[package]] name = "godaddy-cli" version = "0.2.2" @@ -1401,6 +1246,25 @@ dependencies = [ "thiserror 1.0.69", ] +[[package]] +name = "h2" +version = "0.4.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6cb093c84e8bd9b188d4c4a8cb6579fc016968d14c99882163cd3ff402a4f155" +dependencies = [ + "atomic-waker", + "bytes", + "fnv", + "futures-core", + "futures-sink", + "http", + "indexmap", + "slab", + "tokio", + "tokio-util", + "tracing", +] + [[package]] name = "hash32" version = "0.2.1" @@ -1427,6 +1291,30 @@ version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a" +[[package]] +name = "headers" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3314d5adb5d94bcdf56771f2e50dbbc80bb4bdf88967526706205ac9eff24eb" +dependencies = [ + "base64", + "bytes", + "headers-core", + "http", + "httpdate", + "mime", + "sha1", +] + +[[package]] +name = "headers-core" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54b4a22553d4242c49fddb9ba998a99962b5cc6f22cb5a3482bec22522403ce4" +dependencies = [ + "http", +] + [[package]] name = "heapless" version = "0.7.17" @@ -1477,17 +1365,6 @@ dependencies = [ "digest", ] -[[package]] -name = "http" -version = "0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" -dependencies = [ - "bytes", - "fnv", - "itoa", -] - [[package]] name = "http" version = "1.5.0" @@ -1498,17 +1375,6 @@ dependencies = [ "itoa", ] -[[package]] -name = "http-body" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" -dependencies = [ - "bytes", - "http 0.2.12", - "pin-project-lite", -] - [[package]] name = "http-body" version = "1.1.0" @@ -1516,7 +1382,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ca2a8f2913ee65f60facd6a5905613afaa448497a0230cc41ce022d93290bc2c" dependencies = [ "bytes", - "http 1.5.0", + "http", ] [[package]] @@ -1527,8 +1393,8 @@ checksum = "e9f41fd6a08e4d4ec69df65976da761afd5ad5e58a9d4acb46bd1c953a9e3ff2" dependencies = [ "bytes", "futures-core", - "http 1.5.0", - "http-body 1.1.0", + "http", + "http-body", "pin-project-lite", ] @@ -1546,53 +1412,36 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "httpmock" -version = "0.7.0" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08ec9586ee0910472dec1a1f0f8acf52f0fdde93aea74d70d4a3107b4be0fd5b" +checksum = "bf4888a4d02d8e1f92ffb6b4965cf5ff56dda36ef41975f41c6fa0f6bde78c4e" dependencies = [ "assert-json-diff", "async-object-pool", - "async-std", "async-trait", - "base64 0.21.7", - "basic-cookies", + "base64", + "bytes", "crossbeam-utils", "form_urlencoded", + "futures-timer", "futures-util", - "hyper 0.14.32", - "lazy_static", - "levenshtein", - "log", + "headers", + "http", + "http-body-util", + "hyper", + "hyper-util", + "path-tree", "regex", "serde", "serde_json", "serde_regex", "similar", + "stringmetrics", + "tabwriter", + "thiserror 2.0.19", "tokio", - "url", -] - -[[package]] -name = "hyper" -version = "0.14.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41dfc780fdec9373c01bae43289ea34c972e40ee3c9f6b3c8801a35f35586ce7" -dependencies = [ - "bytes", - "futures-channel", - "futures-core", - "futures-util", - "http 0.2.12", - "http-body 0.4.6", - "httparse", - "httpdate", - "itoa", - "pin-project-lite", - "socket2 0.5.10", - "tokio", - "tower-service", "tracing", - "want", + "url", ] [[package]] @@ -1605,9 +1454,11 @@ dependencies = [ "bytes", "futures-channel", "futures-core", - "http 1.5.0", - "http-body 1.1.0", + "h2", + "http", + "http-body", "httparse", + "httpdate", "itoa", "pin-project-lite", "smallvec", @@ -1621,8 +1472,8 @@ version = "0.27.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33ca68d021ef39cf6463ab54c1d0f5daf03377b70561305bb89a8f83aab66e0f" dependencies = [ - "http 1.5.0", - "hyper 1.11.0", + "http", + "hyper", "hyper-util", "rustls", "tokio", @@ -1637,18 +1488,18 @@ version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96547c2556ec9d12fb1578c4eaf448b04993e7fb79cbaad930a656880a6bdfa0" dependencies = [ - "base64 0.22.1", + "base64", "bytes", "futures-channel", "futures-util", - "http 1.5.0", - "http-body 1.1.0", - "hyper 1.11.0", + "http", + "http-body", + "hyper", "ipnet", "libc", "percent-encoding", "pin-project-lite", - "socket2 0.6.5", + "socket2", "tokio", "tower-service", "tracing", @@ -1854,15 +1705,6 @@ dependencies = [ "quote", ] -[[package]] -name = "itertools" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57" -dependencies = [ - "either", -] - [[package]] name = "itoa" version = "1.0.18" @@ -1908,46 +1750,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "kv-log-macro" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0de8b303297635ad57c9f5059fd9cee7a47f8e8daa09df0fcd07dd39fb22977f" -dependencies = [ - "log", -] - -[[package]] -name = "lalrpop" -version = "0.20.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55cb077ad656299f160924eb2912aa147d7339ea7d69e1b5517326fdcec3c1ca" -dependencies = [ - "ascii-canvas", - "bit-set 0.5.3", - "ena", - "itertools", - "lalrpop-util", - "petgraph", - "pico-args", - "regex", - "regex-syntax 0.8.11", - "string_cache", - "term", - "tiny-keccak", - "unicode-xid", - "walkdir", -] - -[[package]] -name = "lalrpop-util" -version = "0.20.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "507460a910eb7b32ee961886ff48539633b788a36b65692b95f225b844c82553" -dependencies = [ - "regex-automata", -] - [[package]] name = "lazy-regex" version = "3.6.1" @@ -1977,12 +1779,6 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" -[[package]] -name = "levenshtein" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db13adb97ab515a3691f56e4dbab09283d0b86cb45abd991d8634a9d6f501760" - [[package]] name = "libc" version = "0.2.189" @@ -2045,9 +1841,6 @@ name = "log" version = "0.4.33" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ceec5bc11778974d1bcb055b18002eba7f4b3518b6a0081b3af5f21666da9ad" -dependencies = [ - "value-bag", -] [[package]] name = "lru-cache" @@ -2141,12 +1934,6 @@ dependencies = [ "windows-sys 0.61.2", ] -[[package]] -name = "new_debug_unreachable" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" - [[package]] name = "nix" version = "0.29.0" @@ -2176,7 +1963,7 @@ version = "0.50.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" dependencies = [ - "windows-sys 0.61.2", + "windows-sys 0.59.0", ] [[package]] @@ -2336,29 +2123,19 @@ dependencies = [ ] [[package]] -name = "percent-encoding" -version = "2.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" - -[[package]] -name = "petgraph" -version = "0.6.5" +name = "path-tree" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" +checksum = "c2a97453bc21a968f722df730bfe11bd08745cb50d1300b0df2bda131dece136" dependencies = [ - "fixedbitset", - "indexmap", + "smallvec", ] [[package]] -name = "phf_shared" -version = "0.11.3" +name = "percent-encoding" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5" -dependencies = [ - "siphasher", -] +checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" [[package]] name = "phonenumber" @@ -2380,24 +2157,12 @@ dependencies = [ "thiserror 2.0.19", ] -[[package]] -name = "pico-args" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5be167a7af36ee22fe3115051bc51f6e6c7054c9348e28deb4f49bd6f705a315" - [[package]] name = "pin-project-lite" version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd" -[[package]] -name = "pin-utils" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" - [[package]] name = "piper" version = "0.2.5" @@ -2460,12 +2225,6 @@ dependencies = [ "zerocopy", ] -[[package]] -name = "precomputed-hash" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" - [[package]] name = "prettyplease" version = "0.2.37" @@ -2527,7 +2286,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "90f6d9109b04e005bbdec84cacec7e81cc15533f2b5dc505f0defc212d270c15" dependencies = [ "heck", - "http 1.5.0", + "http", "indexmap", "openapiv3", "proc-macro2", @@ -2582,7 +2341,7 @@ dependencies = [ "quinn-udp", "rustc-hash", "rustls", - "socket2 0.6.5", + "socket2", "thiserror 2.0.19", "tokio", "tracing", @@ -2620,9 +2379,9 @@ dependencies = [ "cfg_aliases", "libc", "once_cell", - "socket2 0.6.5", + "socket2", "tracing", - "windows-sys 0.61.2", + "windows-sys 0.52.0", ] [[package]] @@ -2740,17 +2499,6 @@ dependencies = [ "bitflags", ] -[[package]] -name = "redox_users" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" -dependencies = [ - "getrandom 0.2.17", - "libredox", - "thiserror 1.0.69", -] - [[package]] name = "redox_users" version = "0.5.2" @@ -2845,15 +2593,15 @@ version = "0.12.28" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eddd3ca559203180a307f12d114c268abf583f59b03cb906fd0b3ff8646c1147" dependencies = [ - "base64 0.22.1", + "base64", "bytes", "futures-channel", "futures-core", "futures-util", - "http 1.5.0", - "http-body 1.1.0", + "http", + "http-body", "http-body-util", - "hyper 1.11.0", + "hyper", "hyper-rustls", "hyper-util", "js-sys", @@ -2921,7 +2669,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys", - "windows-sys 0.61.2", + "windows-sys 0.52.0", ] [[package]] @@ -2971,15 +2719,6 @@ version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f" -[[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 = "schemars" version = "0.8.22" @@ -3334,12 +3073,6 @@ version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbbb5d9659141646ae647b42fe094daf6c6192d1620870b449d9557f748b2daa" -[[package]] -name = "siphasher" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ee5873ec9cce0195efcb7a4e9507a04cd49aec9c83d0389df45b1ef7ba2e649" - [[package]] name = "slab" version = "0.4.12" @@ -3362,16 +3095,6 @@ version = "1.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ed6a63f02c8539c91a8685a86f4099661ba3da017932f6ebbea6de3f0fa7c90" -[[package]] -name = "socket2" -version = "0.5.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678" -dependencies = [ - "libc", - "windows-sys 0.52.0", -] - [[package]] name = "socket2" version = "0.6.5" @@ -3379,7 +3102,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3d1e2c7f27f8d4cb10542a02c49005dbd6e93095799d6f3be745fae9f8fedd4" dependencies = [ "libc", - "windows-sys 0.61.2", + "windows-sys 0.60.2", ] [[package]] @@ -3410,16 +3133,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f42444fea5b87a39db4218d9422087e66a85d0e7a0963a439b07bcdf91804006" [[package]] -name = "string_cache" -version = "0.8.9" +name = "stringmetrics" +version = "2.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf776ba3fa74f83bf4b63c3dcbbf82173db2632ed8452cb2d891d33f459de70f" -dependencies = [ - "new_debug_unreachable", - "parking_lot", - "phf_shared", - "precomputed-hash", -] +checksum = "7b3c8667cd96245cbb600b8dec5680a7319edd719c5aa2b5d23c6bff94f39765" [[package]] name = "strsim" @@ -3454,17 +3171,6 @@ version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - [[package]] name = "syn" version = "2.0.119" @@ -3507,6 +3213,15 @@ dependencies = [ "syn 2.0.119", ] +[[package]] +name = "tabwriter" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fce91f2f0ec87dff7e6bcbbeb267439aa1188703003c6055193c821487400432" +dependencies = [ + "unicode-width 0.2.2", +] + [[package]] name = "tar" version = "0.4.46" @@ -3527,18 +3242,7 @@ dependencies = [ "getrandom 0.4.3", "once_cell", "rustix", - "windows-sys 0.61.2", -] - -[[package]] -name = "term" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c59df8ac95d96ff9bede18eb7300b0fda5e5d8d90960e76f8e14ae765eedbf1f" -dependencies = [ - "dirs-next", - "rustversion", - "winapi", + "windows-sys 0.52.0", ] [[package]] @@ -3554,7 +3258,7 @@ dependencies = [ "minimad", "serde", "thiserror 2.0.19", - "unicode-width", + "unicode-width 0.1.14", ] [[package]] @@ -3606,15 +3310,6 @@ dependencies = [ "cfg-if", ] -[[package]] -name = "tiny-keccak" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" -dependencies = [ - "crunchy", -] - [[package]] name = "tinystr" version = "0.8.3" @@ -3652,7 +3347,7 @@ dependencies = [ "parking_lot", "pin-project-lite", "signal-hook-registry", - "socket2 0.6.5", + "socket2", "tokio-macros", "tracing", "windows-sys 0.61.2", @@ -3688,6 +3383,7 @@ dependencies = [ "bytes", "futures-core", "futures-sink", + "libc", "pin-project-lite", "tokio", ] @@ -3805,8 +3501,8 @@ dependencies = [ "bitflags", "bytes", "futures-util", - "http 1.5.0", - "http-body 1.1.0", + "http", + "http-body", "pin-project-lite", "tower", "tower-layer", @@ -3832,6 +3528,7 @@ version = "0.1.44" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" dependencies = [ + "log", "pin-project-lite", "tracing-attributes", "tracing-core", @@ -3960,7 +3657,7 @@ checksum = "f2f6fb2847f6742cd76af783a2a2c49e9375d0a111c7bef6f71cd9e738c72d6e" dependencies = [ "memoffset", "tempfile", - "windows-sys 0.61.2", + "windows-sys 0.60.2", ] [[package]] @@ -3988,10 +3685,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" [[package]] -name = "unicode-xid" -version = "0.2.6" +name = "unicode-width" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" +checksum = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254" [[package]] name = "unsafe-libyaml" @@ -4046,28 +3743,12 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" -[[package]] -name = "value-bag" -version = "1.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "068e763e8279de7ab94b6afebded2cb701678af094feb1c12ccb061b4783c1be" - [[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" @@ -4205,15 +3886,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" -[[package]] -name = "winapi-util" -version = "0.1.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" -dependencies = [ - "windows-sys 0.61.2", -] - [[package]] name = "winapi-x86_64-pc-windows-gnu" version = "0.4.0" @@ -4524,7 +4196,7 @@ dependencies = [ "async-trait", "blocking", "enumflags2", - "event-listener 5.4.2", + "event-listener", "futures-core", "futures-sink", "futures-util", diff --git a/rust/Cargo.toml b/rust/Cargo.toml index 235d516..87881ba 100644 --- a/rust/Cargo.toml +++ b/rust/Cargo.toml @@ -46,7 +46,7 @@ zip = { version = "8.6.0", default-features = false, features = ["deflate-flate2 iso_currency = "0.5.3" [dev-dependencies] -httpmock = "0.7" +httpmock = "0.8" tempfile = "3" [lints.rust] diff --git a/rust/domains-client/Cargo.toml b/rust/domains-client/Cargo.toml index 1bfadf8..54c1ed5 100644 --- a/rust/domains-client/Cargo.toml +++ b/rust/domains-client/Cargo.toml @@ -30,5 +30,5 @@ prettyplease = "0.2" syn = "2" [dev-dependencies] -httpmock = "0.7" +httpmock = "0.8" tokio = { version = "1", features = ["macros", "rt-multi-thread", "sync"] } diff --git a/rust/src/api_explorer/mod.rs b/rust/src/api_explorer/mod.rs index 9e97779..3eb11ec 100644 --- a/rust/src/api_explorer/mod.rs +++ b/rust/src/api_explorer/mod.rs @@ -1555,7 +1555,11 @@ fn search_command() -> RuntimeCommandSpec { .with_tier(Tier::Read) .no_auth(true) .with_default_fields("domain,method,path,summary") - .with_output_schema::(), + .with_output_schema::() + .with_pagination(PaginationConfig { + max_limit: 100, + ..Default::default() + }), |_cred, args: SearchArgs| async move { let hits = search_endpoints(catalog(), &args.query); if hits.is_empty() { @@ -2174,14 +2178,25 @@ fn schema_get_command() -> RuntimeCommandSpec { #[cfg(test)] mod tests { - use cli_engine::{Cli, CliConfig}; + use cli_engine::{Cli, CliConfig, PaginationConfig}; - use super::{catalog, find_endpoint, merge_required_scopes}; + use super::{catalog, find_endpoint, merge_required_scopes, search_command}; fn v(items: &[&str]) -> Vec { items.iter().map(|s| (*s).to_owned()).collect() } + #[test] + fn search_command_opts_into_pagination_with_no_default_and_a_max_limit() { + assert_eq!( + search_command().spec.pagination, + Some(PaginationConfig { + max_limit: 100, + ..Default::default() + }) + ); + } + #[test] fn merge_flags_only_when_no_endpoint_scopes() { assert_eq!(merge_required_scopes(v(&["a", "b"]), &[]), v(&["a", "b"])); diff --git a/rust/src/application/client.rs b/rust/src/application/client.rs index ff042a9..8e9d7a7 100644 --- a/rust/src/application/client.rs +++ b/rust/src/application/client.rs @@ -418,16 +418,11 @@ mod tests { when.method(POST) .path("/v1/apps/app-registry-subgraph") .header("authorization", "Bearer test-token") - .matches(|req| { - req.body - .as_ref() - .map(|b| { - let body = String::from_utf8_lossy(b); - body.contains("activateRelease") - && body.contains("app-123") - && body.contains("rel-456") - }) - .unwrap_or(false) + .is_true(|req| { + let body = req.body_string(); + body.contains("activateRelease") + && body.contains("app-123") + && body.contains("rel-456") }); then.status(200).json_body(json!({ "data": { "activateRelease": { "id": "rel-456", "status": "ACTIVE" } } @@ -476,15 +471,9 @@ mod tests { .mock_async(|when, then| { when.method(POST) .path("/v1/apps/app-registry-subgraph") - .matches(|req| { - req.body - .as_ref() - .map(|b| { - let body = String::from_utf8_lossy(b); - body.contains("updateApplication") - && body.contains(r#""status":"ACTIVE""#) - }) - .unwrap_or(false) + .is_true(|req| { + let body = req.body_string(); + body.contains("updateApplication") && body.contains(r#""status":"ACTIVE""#) }); then.status(200).json_body(json!({ "data": { "updateApplication": { "id": "app-1", "status": "ACTIVE" } } @@ -533,7 +522,7 @@ mod tests { matches!(err, ClientError::TooLarge { .. }), "unexpected: {err}" ); - assert_eq!(mock.hits_async().await, 0); + assert_eq!(mock.calls_async().await, 0); } #[tokio::test] @@ -565,7 +554,7 @@ mod tests { matches!(err, ClientError::Http { status: 403, .. }), "unexpected: {err}" ); - assert_eq!(mock.hits_async().await, 1); + assert_eq!(mock.calls_async().await, 1); } #[tokio::test] @@ -597,7 +586,7 @@ mod tests { matches!(err, ClientError::Http { status: 503, .. }), "unexpected: {err}" ); - assert_eq!(mock.hits_async().await, 3); + assert_eq!(mock.calls_async().await, 3); } #[tokio::test] @@ -609,10 +598,9 @@ mod tests { .path("/upload") .header("x-amz-signature", "sig") // assert x-amz-meta-upload-id was stripped - .matches(|req| { - !req.headers + .is_true(|req| { + !req.headers_vec() .iter() - .flatten() .any(|(k, _)| k.eq_ignore_ascii_case("x-amz-meta-upload-id")) }); then.status(200).header("etag", "\"abc123\""); @@ -673,7 +661,7 @@ mod tests { matches!(err, ClientError::InvalidHeader(_)), "unexpected: {err}" ); - assert_eq!(mock.hits_async().await, 0); + assert_eq!(mock.calls_async().await, 0); } #[tokio::test] @@ -710,6 +698,6 @@ mod tests { .expect("upload shared payload"); } - mock.assert_hits_async(2).await; + mock.assert_calls_async(2).await; } } diff --git a/rust/src/application/commands/mod.rs b/rust/src/application/commands/mod.rs index 065ea95..a04c3d5 100644 --- a/rust/src/application/commands/mod.rs +++ b/rust/src/application/commands/mod.rs @@ -1,6 +1,6 @@ use cli_engine::{ - CommandResult, CommandSpec, GroupSpec, NextAction, NextActionParam, RuntimeCommandSpec, - RuntimeGroupSpec, StreamSender, TableColumn, Tier, + CommandResult, CommandSpec, GroupSpec, NextAction, NextActionParam, PaginationConfig, + RuntimeCommandSpec, RuntimeGroupSpec, StreamSender, TableColumn, Tier, }; use serde_json::{Value, json}; @@ -251,7 +251,11 @@ fn list_command() -> RuntimeCommandSpec { .with_system("applications") .with_tier(Tier::Read) .with_default_fields("name,label,status") - .with_output_schema::(), + .with_output_schema::() + .with_pagination(PaginationConfig { + max_limit: 200, + ..Default::default() + }), |ctx| async move { let client = make_client(&ctx).await?; let data = client.list_applications().await.map_err(client_err)?; @@ -1846,12 +1850,12 @@ pub fn add_extension_group() -> RuntimeGroupSpec { #[cfg(test)] mod tests { - use cli_engine::{Cli, CliConfig, Stage}; + use cli_engine::{Cli, CliConfig, PaginationConfig, Stage}; use serde_json::json; use super::{ - add_config_next_actions, deploy_next_actions, init_view_columns, update_command, - validate_command, validate_remote_application, + add_config_next_actions, deploy_next_actions, init_view_columns, list_command, + update_command, validate_command, validate_remote_application, }; #[test] @@ -1860,6 +1864,17 @@ mod tests { assert_eq!(deploy_next_actions("app").len(), 3); } + #[test] + fn list_command_opts_into_pagination_with_no_default_and_a_max_limit() { + assert_eq!( + list_command().spec.pagination, + Some(PaginationConfig { + max_limit: 200, + ..Default::default() + }) + ); + } + #[test] fn add_config_next_actions_skips_empty_name_prefill() { let actions = add_config_next_actions(""); diff --git a/rust/src/dns/list.rs b/rust/src/dns/list.rs index 49981b0..b480e62 100644 --- a/rust/src/dns/list.rs +++ b/rust/src/dns/list.rs @@ -1,6 +1,8 @@ //! `dns list` — list DNS records for a domain, with optional type/name filters. -use cli_engine::{CliCoreError, CommandResult, CommandSpec, RuntimeCommandSpec, Tier}; +use cli_engine::{ + CliCoreError, CommandResult, CommandSpec, PaginationConfig, RuntimeCommandSpec, Tier, +}; use serde_json::{Value, json}; use crate::domain::make_client; @@ -38,7 +40,11 @@ pub(super) fn command() -> RuntimeCommandSpec { .with_tier(Tier::Read) .with_default_fields("type,name,data,ttl") .with_json_schema::() - .with_scopes(&[DOMAINS_READ]), + .with_scopes(&[DOMAINS_READ]) + .with_pagination(PaginationConfig { + max_limit: 500, + ..Default::default() + }), |ctx, args: ListArgs| async move { let domain = args.domain; let type_opt = args.record_type; @@ -66,3 +72,20 @@ pub(super) fn command() -> RuntimeCommandSpec { }, ) } + +#[cfg(test)] +mod tests { + use super::command; + use cli_engine::PaginationConfig; + + #[test] + fn opts_into_pagination_with_no_default_and_a_max_limit() { + assert_eq!( + command().spec.pagination, + Some(PaginationConfig { + max_limit: 500, + ..Default::default() + }) + ); + } +} diff --git a/rust/src/dns/set.rs b/rust/src/dns/set.rs index ff46c6d..5ec3b99 100644 --- a/rust/src/dns/set.rs +++ b/rust/src/dns/set.rs @@ -1002,12 +1002,12 @@ mod tests { .await; assert_eq!( - create.hits_async().await, + create.calls_async().await, 0, "no create for a no-op replace" ); assert_eq!( - delete.hits_async().await, + delete.calls_async().await, 0, "no delete for a no-op replace" ); @@ -1047,7 +1047,7 @@ mod tests { .await; assert_eq!( - delete.hits_async().await, + delete.calls_async().await, 0, "the old record must not be touched when the create fails" ); diff --git a/rust/src/domain/list.rs b/rust/src/domain/list.rs index 5fec9f1..b4b35d0 100644 --- a/rust/src/domain/list.rs +++ b/rust/src/domain/list.rs @@ -1,7 +1,8 @@ //! `gddy domain list` — list the domains in the account (v1). use cli_engine::{ - CliCoreError, CommandResult, CommandSpec, NextActionParam, Result, RuntimeCommandSpec, Tier, + CliCoreError, CommandResult, CommandSpec, NextActionParam, PaginationConfig, Result, + RuntimeCommandSpec, Tier, }; use serde_json::json; @@ -48,14 +49,17 @@ pub(super) fn command() -> RuntimeCommandSpec { "List the domains registered to your account. Shows domain, status, \ expiry, and auto-renew by default; use --fields to pick columns. Hides \ domains that are cancelled or otherwise not visible unless --show-hidden \ - is passed; use --status to filter to specific status values (repeatable, \ - overrides the default filter).", + is passed; use --status to filter to specific status values (repeatable).", ) .with_system("domain") .with_tier(Tier::Read) .with_default_fields("domain,status,expires,renewAuto") .with_json_schema::() - .with_scopes(&[DOMAINS_READ]), + .with_scopes(&[DOMAINS_READ]) + .with_pagination(PaginationConfig { + max_limit: 500, + ..Default::default() + }), |ctx, args: ListArgs| async move { let debug = !ctx.middleware.debug.is_empty(); let statuses = parse_statuses(&args.status)?; @@ -89,9 +93,25 @@ pub(super) fn command() -> RuntimeCommandSpec { #[cfg(test)] mod tests { - use super::{parse_statuses, wants_visible_only}; + use super::{command, parse_statuses, wants_visible_only}; + use cli_engine::PaginationConfig; use domains_client::types; + /// Regression pin: `domain list` opts into pagination with no forced + /// `default_limit` (an unflagged invocation must keep returning every + /// domain, exactly like before this feature existed) but a `max_limit` + /// so `--limit` can't be pointed at an absurd value. + #[test] + fn opts_into_pagination_with_no_default_and_a_max_limit() { + assert_eq!( + command().spec.pagination, + Some(PaginationConfig { + max_limit: 500, + ..Default::default() + }) + ); + } + #[test] fn parse_statuses_is_case_insensitive_and_validates() { use types::ListStatusesItem; diff --git a/rust/src/hosting/nodejs/client.rs b/rust/src/hosting/nodejs/client.rs index 63ee76f..f86b8a6 100644 --- a/rust/src/hosting/nodejs/client.rs +++ b/rust/src/hosting/nodejs/client.rs @@ -415,12 +415,7 @@ mod tests { .mock_async(|when, then| { when.method(POST) .path("/v1/hosting/nodejs/apps/app-1/source") - .matches(|req| { - req.body - .as_ref() - .map(|b| String::from_utf8_lossy(b).contains("zipFile")) - .unwrap_or(false) - }); + .is_true(|req| req.body_string().contains("zipFile")); then.status(200).json_body(json!({ "jobId": "upload-1" })); }) .await; diff --git a/rust/src/onboarding/ensure.rs b/rust/src/onboarding/ensure.rs index 66cca40..24346b8 100644 --- a/rust/src/onboarding/ensure.rs +++ b/rust/src/onboarding/ensure.rs @@ -225,7 +225,7 @@ mod tests { ); assert!(stderr.is_empty()); status.assert_async().await; - assert_eq!(complete.hits_async().await, 0); + assert_eq!(complete.calls_async().await, 0); } #[tokio::test] @@ -262,7 +262,7 @@ mod tests { .expect_err("agreements required"); assert!(err.to_string().contains("agreements must be accepted")); - assert_eq!(complete.hits_async().await, 0); + assert_eq!(complete.calls_async().await, 0); } #[tokio::test] @@ -376,6 +376,6 @@ mod tests { .expect_err("prompt I/O error must be reported"); assert!(err.to_string().contains("writer unavailable")); - assert_eq!(complete.hits_async().await, 0); + assert_eq!(complete.calls_async().await, 0); } }