diff --git a/core/Cargo.lock b/core/Cargo.lock index c7eccf706..9a0eaf307 100644 --- a/core/Cargo.lock +++ b/core/Cargo.lock @@ -23,6 +23,12 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" +[[package]] +name = "adler2" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" + [[package]] name = "aes" version = "0.7.5" @@ -156,15 +162,15 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.86" +version = "1.0.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" +checksum = "86fdf8605db99b54d3cd748a44c6d04df638eb5dafb219b135d0149bd0db01f6" [[package]] name = "arrayref" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d151e35f61089500b617991b791fc8bfd237ae50cd5950803758a179b41e67a" +checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" [[package]] name = "arrayvec" @@ -174,9 +180,9 @@ checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" [[package]] name = "arrayvec" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "ascii-canvas" @@ -231,18 +237,18 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.77", ] [[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", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -268,9 +274,9 @@ checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" [[package]] name = "aws-lc-rs" -version = "1.8.1" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ae74d9bd0a7530e8afd1770739ad34b36838829d6ad61818f9230f683f5ad77" +checksum = "2f95446d919226d587817a7d21379e6eb099b97b45110a7f272a444ca5c54070" dependencies = [ "aws-lc-sys", "mirai-annotations", @@ -280,9 +286,9 @@ dependencies = [ [[package]] name = "aws-lc-sys" -version = "0.20.1" +version = "0.21.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f0e249228c6ad2d240c2dc94b714d711629d52bad946075d8e9b2f5391f0703" +checksum = "b3ddc4a5b231dd6958b140ff3151b6412b3f4321fab354f399eec8f14b06df62" dependencies = [ "bindgen", "cc", @@ -301,7 +307,7 @@ checksum = "3b829e4e32b91e643de6eafe82b1d90675f5874230191a4ffbc1b336dec4d6bf" dependencies = [ "async-trait", "axum-core 0.3.4", - "bitflags 1.3.2", + "bitflags 1.2.1", "bytes", "futures-util", "http 0.2.12", @@ -441,7 +447,7 @@ dependencies = [ "cc", "cfg-if", "libc", - "miniz_oxide", + "miniz_oxide 0.7.4", "object", "rustc-demangle", ] @@ -532,7 +538,7 @@ dependencies = [ "regex", "rustc-hash", "shlex", - "syn 2.0.74", + "syn 2.0.77", "which", ] @@ -553,9 +559,9 @@ checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" [[package]] name = "bitflags" -version = "1.3.2" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" [[package]] name = "bitflags" @@ -603,18 +609,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "23285ad32269793932e830392f2fe2f83e26488fd3ec778883a93c8323735780" dependencies = [ "arrayref", - "arrayvec 0.7.4", + "arrayvec 0.7.6", "constant_time_eq", ] [[package]] name = "blake3" -version = "1.5.3" +version = "1.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9ec96fe9a81b5e365f9db71fe00edc4fe4ca2cc7dcb7861f0603012a7caa210" +checksum = "d82033247fd8e890df8f740e407ad4d038debb9eb1f40533fffb32e7d17dc6f7" dependencies = [ "arrayref", - "arrayvec 0.7.4", + "arrayvec 0.7.6", "cc", "cfg-if", "constant_time_eq", @@ -687,9 +693,9 @@ checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495" [[package]] name = "bytes" -version = "1.7.1" +version = "1.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8318a53db07bb3f8dca91a600466bdb3f2eaadeedfdbcf02e1accbad9271ba50" +checksum = "428d9aa8fbc0670b7b8d6030a7fadd0f86151cae55e4dbbece15f3780a3dfaf3" [[package]] name = "cache-padded" @@ -699,9 +705,9 @@ checksum = "981520c98f422fcc584dc1a95c334e6953900b9106bc47a9839b81790009eb21" [[package]] name = "cc" -version = "1.1.12" +version = "1.1.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68064e60dbf1f17005c2fde4d07c16d8baa506fd7ffed8ccab702d93617975c7" +checksum = "07b1695e2c7e8fc85310cde85aeaab7e3097f593c91d209d3f9df76c928100f0" dependencies = [ "jobserver", "libc", @@ -812,9 +818,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.15" +version = "4.5.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11d8838454fda655dafd3accb2b6e2bea645b9e4078abe84a22ceb947235c5cc" +checksum = "3e5a21b8495e732f1b3c364c9949b201ca7bae518c502c80256c96ad79eaf6ac" dependencies = [ "clap_builder", "clap_derive", @@ -822,9 +828,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.15" +version = "4.5.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "216aec2b177652e3846684cbfe25c9964d18ec45234f0f5da5157b207ed1aab6" +checksum = "8cf2dd12af7a047ad9d6da2b6b249759a22a7abc0f474c1dae1777afa4b21a73" dependencies = [ "anstream", "anstyle", @@ -841,7 +847,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -989,9 +995,9 @@ dependencies = [ [[package]] name = "constant_time_eq" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" +checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" [[package]] name = "convert_case" @@ -1054,9 +1060,9 @@ checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "cpufeatures" -version = "0.2.13" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51e852e6dc9a5bed1fae92dd2375037bf2b768725bf3be87811edee3249d09ad" +checksum = "608697df725056feaccfa42cffdaeeec3fccc4ffc38358ecd19b243e716a78e0" dependencies = [ "libc", ] @@ -1249,7 +1255,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -1273,7 +1279,7 @@ dependencies = [ "proc-macro2", "quote", "strsim 0.11.1", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -1284,7 +1290,7 @@ checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ "darling_core", "quote", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -1315,7 +1321,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -1338,7 +1344,7 @@ checksum = "8034092389675178f570469e6c3b0465d3d30b4505c294a6550db47f3c17ad18" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -1361,7 +1367,7 @@ dependencies = [ "proc-macro2", "quote", "rustc_version", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -1576,14 +1582,14 @@ dependencies = [ [[package]] name = "enum-as-inner" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ffccbb6966c05b32ef8fbac435df276c4ae4d3dc55a8cd0eb9745e6c12f546a" +checksum = "a1e6a265c649f3f5979b601d26f1d05ada116434c87741c9493cb56218f76cbc" dependencies = [ - "heck 0.4.1", + "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -1670,9 +1676,9 @@ dependencies = [ [[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 = "fd-lock-rs" @@ -1701,9 +1707,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", @@ -1719,12 +1725,12 @@ checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" [[package]] name = "flate2" -version = "1.0.31" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f211bbe8e69bbd0cfdea405084f128ae8b4aaa6b0b522fc8f2b009084797920" +checksum = "324a1be68054ef05ad64b861cc9eaf1d623d2d8cb25b4bf2cb9cdd902b4bf253" dependencies = [ "crc32fast", - "miniz_oxide", + "miniz_oxide 0.8.0", ] [[package]] @@ -1862,7 +1868,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -1975,7 +1981,7 @@ dependencies = [ "futures-sink", "futures-util", "http 0.2.12", - "indexmap 2.4.0", + "indexmap 2.5.0", "slab", "tokio", "tokio-util", @@ -1984,9 +1990,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa82e28a107a8cc405f0839610bdc9b15f1e25ec7d696aa5cf173edbcb1486ab" +checksum = "524e8ac6999421f49a846c2d4411f337e53497d8ec55d67753beffa43c5d9205" dependencies = [ "atomic-waker", "bytes", @@ -1994,7 +2000,7 @@ dependencies = [ "futures-core", "futures-sink", "http 1.1.0", - "indexmap 2.4.0", + "indexmap 2.5.0", "slab", "tokio", "tokio-util", @@ -2254,7 +2260,7 @@ dependencies = [ "bytes", "futures-channel", "futures-util", - "h2 0.4.5", + "h2 0.4.6", "http 1.1.0", "http-body 1.0.1", "httparse", @@ -2268,15 +2274,15 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.27.2" +version = "0.27.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ee4be2c948921a1a5320b629c4193916ed787a7f7f293fd3f7f5a6c9de74155" +checksum = "08afdbb5c31130e3034af566421053ab03787c640246a446327f550d11bcb333" dependencies = [ "futures-util", "http 1.1.0", "hyper 1.4.1", "hyper-util", - "rustls 0.23.12", + "rustls 0.23.13", "rustls-pki-types", "tokio", "tokio-rustls", @@ -2313,9 +2319,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", @@ -2333,9 +2339,9 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.60" +version = "0.1.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" +checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220" dependencies = [ "android_system_properties", "core-foundation-sys", @@ -2483,9 +2489,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", @@ -2536,9 +2542,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" dependencies = [ "serde", ] @@ -2814,7 +2820,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6607c62aa161d23d17a9072cc5da0be67cdfc89d3afb1e8d9c842bebc2525ffe" dependencies = [ "arrayvec 0.5.2", - "bitflags 1.3.2", + "bitflags 1.2.1", "cfg-if", "ryu", "static_assertions", @@ -2822,9 +2828,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.155" +version = "0.2.158" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" +checksum = "d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439" [[package]] name = "libloading" @@ -2850,7 +2856,7 @@ checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ "bitflags 2.6.0", "libc", - "redox_syscall 0.5.3", + "redox_syscall 0.5.4", ] [[package]] @@ -2949,9 +2955,9 @@ checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" [[package]] name = "memmap2" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe751422e4a8caa417e13c3ea66452215d7d63e19e604f4980461212f3ae1322" +checksum = "fd3f7eed9d3848f8b98834af67102b720745c4ec028fcd0aa0239277e7de374f" dependencies = [ "libc", ] @@ -2995,6 +3001,15 @@ dependencies = [ "adler", ] +[[package]] +name = "miniz_oxide" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" +dependencies = [ + "adler2", +] + [[package]] name = "mio" version = "1.0.2" @@ -3084,7 +3099,7 @@ version = "0.24.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069" dependencies = [ - "bitflags 1.3.2", + "bitflags 1.2.1", "cfg-if", "libc", "memoffset 0.6.5", @@ -3096,7 +3111,7 @@ version = "0.26.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" dependencies = [ - "bitflags 1.3.2", + "bitflags 1.2.1", "cfg-if", "libc", "memoffset 0.7.1", @@ -3282,7 +3297,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -3348,7 +3363,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -3359,9 +3374,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-src" -version = "300.3.1+3.3.1" +version = "300.3.2+3.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7259953d42a81bf137fbbd73bd30a8e1914d6dce43c2b90ed575783a22608b91" +checksum = "a211a18d945ef7e648cc6e0058f4c548ee46aab922ea203e0d30e966ea23647b" dependencies = [ "cc", ] @@ -3447,7 +3462,7 @@ checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.5.3", + "redox_syscall 0.5.4", "smallvec", "windows-targets 0.52.6", ] @@ -3526,9 +3541,9 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.7.11" +version = "2.7.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd53dff83f26735fdc1ca837098ccf133605d794cdae66acfc2bfac3ec809d95" +checksum = "fdbef9d1d47087a895abd220ed25eb4ad973a5e26f6a4367b038c25e28dfc2d9" dependencies = [ "memchr", "thiserror", @@ -3537,9 +3552,9 @@ dependencies = [ [[package]] name = "pest_derive" -version = "2.7.11" +version = "2.7.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a548d2beca6773b1c244554d36fcf8548a8a58e74156968211567250e48e49a" +checksum = "4d3a6e3394ec80feb3b6393c725571754c6188490265c61aaf260810d6b95aa0" dependencies = [ "pest", "pest_generator", @@ -3547,22 +3562,22 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.7.11" +version = "2.7.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c93a82e8d145725dcbaf44e5ea887c8a869efdcc28706df2d08c69e17077183" +checksum = "94429506bde1ca69d1b5601962c73f4172ab4726571a59ea95931218cb0e930e" dependencies = [ "pest", "pest_meta", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] name = "pest_meta" -version = "2.7.11" +version = "2.7.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a941429fea7e08bedec25e4f6785b6ffaacc6b755da98df5ef3e7dcf4a124c4f" +checksum = "ac8a071862e93690b6e34e9a5fb8e33ff3734473ac0245b27232222c4906a33f" dependencies = [ "once_cell", "pest", @@ -3576,7 +3591,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" dependencies = [ "fixedbitset", - "indexmap 2.4.0", + "indexmap 2.5.0", ] [[package]] @@ -3611,7 +3626,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -3655,9 +3670,9 @@ checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" [[package]] name = "portable-atomic" -version = "1.7.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da544ee218f0d287a911e9c99a39a8c9bc8fcad3cb8db5959940044ecfc67265" +checksum = "d30538d42559de6b034bc76fd6dd4c38961b1ee5c6c56e3808c50128fdbc22ce" [[package]] name = "powerfmt" @@ -3682,12 +3697,12 @@ checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" [[package]] name = "prettyplease" -version = "0.2.20" +version = "0.2.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" +checksum = "479cf940fbbb3426c32c5d5176f62ad57549a0bb84773423ba8be9d089f5faba" dependencies = [ "proc-macro2", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -3715,11 +3730,11 @@ dependencies = [ [[package]] name = "proc-macro-crate" -version = "3.1.0" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" +checksum = "8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b" dependencies = [ - "toml_edit 0.21.1", + "toml_edit 0.22.21", ] [[package]] @@ -3785,7 +3800,7 @@ checksum = "6ff7ff745a347b87471d859a377a9a404361e7efc2a971d73424a6d183c0fc77" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -3808,7 +3823,7 @@ dependencies = [ "itertools 0.12.1", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -3853,9 +3868,9 @@ checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" [[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", ] @@ -3983,32 +3998,23 @@ version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" dependencies = [ - "bitflags 1.3.2", + "bitflags 1.2.1", ] [[package]] name = "redox_syscall" -version = "0.4.1" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" -dependencies = [ - "bitflags 1.3.2", -] - -[[package]] -name = "redox_syscall" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a908a6e00f1fdd0dfd9c0eb08ce85126f6d8bbda50017e74bc4a4b7d4a926a4" +checksum = "0884ad60e090bf1345b93da0a5de8923c93884cd03f40dfcfddd3b4bee661853" dependencies = [ "bitflags 2.6.0", ] [[package]] name = "redox_users" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" +checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ "getrandom 0.2.15", "libredox", @@ -4061,9 +4067,9 @@ checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" [[package]] name = "reqwest" -version = "0.12.5" +version = "0.12.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7d6d2a27d57148378eb5e111173f4276ad26340ecc5c49a4a2152167a2d6a37" +checksum = "f8f4955649ef5c38cc7f9e8aa41761d48fb9677197daea9984dc54f56aad5e63" dependencies = [ "base64 0.22.1", "bytes", @@ -4072,7 +4078,7 @@ dependencies = [ "encoding_rs", "futures-core", "futures-util", - "h2 0.4.5", + "h2 0.4.6", "http 1.1.0", "http-body 1.0.1", "http-body-util", @@ -4104,7 +4110,7 @@ dependencies = [ "wasm-bindgen-futures", "wasm-streams", "web-sys", - "winreg", + "windows-registry", ] [[package]] @@ -4158,7 +4164,7 @@ dependencies = [ [[package]] name = "rpc-toolkit" version = "0.2.3" -source = "git+https://github.com/Start9Labs/rpc-toolkit.git?branch=refactor/no-dyn-ctx#60a974a29c5e6380f7bbfbc1b4716f6d2b20b189" +source = "git+https://github.com/Start9Labs/rpc-toolkit.git?branch=refactor/no-dyn-ctx#39a872a1294c7d864faca63f072092ce300ffbe5" dependencies = [ "async-stream", "async-trait", @@ -4239,18 +4245,18 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" [[package]] name = "rustc_version" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" +checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" dependencies = [ "semver", ] [[package]] name = "rustix" -version = "0.38.34" +version = "0.38.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" +checksum = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811" dependencies = [ "bitflags 2.6.0", "errno 0.3.9", @@ -4272,15 +4278,15 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.12" +version = "0.23.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c58f8c84392efc0a126acce10fa59ff7b3d2ac06ab451a33f2741989b806b044" +checksum = "f2dabaac7466917e566adb06783a81ca48944c6898a1b08b9374106dd671f4c8" dependencies = [ "aws-lc-rs", "log", "once_cell", "rustls-pki-types", - "rustls-webpki 0.102.6", + "rustls-webpki 0.102.8", "subtle", "zeroize", ] @@ -4322,9 +4328,9 @@ dependencies = [ [[package]] name = "rustls-webpki" -version = "0.102.6" +version = "0.102.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e6b52d4fda176fd835fdc55a835d4a89b8499cad995885a21149d5ad62f852e" +checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" dependencies = [ "aws-lc-rs", "ring", @@ -4383,11 +4389,11 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.23" +version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" +checksum = "e9aaafd5a2b6e3d657ff009d82fbd630b6bd54dd4eb06f21693925cdf80f9b8b" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -4454,9 +4460,9 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.208" +version = "1.0.210" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cff085d2cb684faa248efb494c39b68e522822ac0de72ccf08109abde717cfb2" +checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a" dependencies = [ "serde_derive", ] @@ -4480,22 +4486,22 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.208" +version = "1.0.210" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24008e81ff7613ed8e5ba0cfaf24e2c2f1e5b8a0495711e44fcd4882fca62bcf" +checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] name = "serde_json" -version = "1.0.125" +version = "1.0.128" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83c8e735a073ccf5be70aa8066aa984eaf2fa000db6c8d0100ae605b366d31ed" +checksum = "6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8" dependencies = [ - "indexmap 2.4.0", + "indexmap 2.5.0", "itoa", "memchr", "ryu", @@ -4543,7 +4549,7 @@ dependencies = [ "chrono", "hex", "indexmap 1.9.3", - "indexmap 2.4.0", + "indexmap 2.5.0", "serde", "serde_derive", "serde_json", @@ -4560,7 +4566,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -4569,7 +4575,7 @@ version = "0.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78ce6afeda22f0b55dde2c34897bce76a629587348480384231205c14b59a01f" dependencies = [ - "indexmap 2.4.0", + "indexmap 2.5.0", "itoa", "libyml", "log", @@ -4761,9 +4767,9 @@ dependencies = [ [[package]] name = "sqlformat" -version = "0.2.4" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f895e3734318cc55f1fe66258926c9b910c124d47520339efecbb6c59cec7c1f" +checksum = "7bba3a93db0cc4f7bdece8bb09e77e2e785c20bfebf79eb8340ed80708048790" dependencies = [ "nom 7.1.3", "unicode_categories", @@ -4804,7 +4810,7 @@ dependencies = [ "futures-util", "hashlink", "hex", - "indexmap 2.4.0", + "indexmap 2.5.0", "log", "memchr", "once_cell", @@ -4993,7 +4999,7 @@ dependencies = [ "quote", "regex-syntax 0.6.29", "strsim 0.10.0", - "syn 2.0.74", + "syn 2.0.77", "unicode-width", ] @@ -5086,7 +5092,7 @@ dependencies = [ "imbl", "imbl-value", "include_dir", - "indexmap 2.4.0", + "indexmap 2.5.0", "indicatif", "integer-encoding", "ipnet", @@ -5235,9 +5241,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.74" +version = "2.0.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fceb41e3d546d0bd83421d3409b1460cc7444cd389341a4c880fe7a042cb3d7" +checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" dependencies = [ "proc-macro2", "quote", @@ -5255,23 +5261,26 @@ name = "sync_wrapper" version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" +dependencies = [ + "futures-core", +] [[package]] name = "system-configuration" -version = "0.5.1" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" +checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.6.0", "core-foundation", "system-configuration-sys", ] [[package]] name = "system-configuration-sys" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" +checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4" dependencies = [ "core-foundation-sys", "libc", @@ -5365,7 +5374,7 @@ checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -5446,9 +5455,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.39.2" +version = "1.40.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daa4fb1bc778bd6f04cbfc4bb2d06a7396a8f299dc33ea1900cedaa316f467b1" +checksum = "e2b070231665d27ad9ec9b8df639893f46727666c6767db40317fbe920a5d998" dependencies = [ "backtrace", "bytes", @@ -5481,7 +5490,7 @@ checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -5500,7 +5509,7 @@ version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" dependencies = [ - "rustls 0.23.12", + "rustls 0.23.13", "rustls-pki-types", "tokio", ] @@ -5519,9 +5528,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", @@ -5571,9 +5580,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", @@ -5603,7 +5612,7 @@ dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.22.20", + "toml_edit 0.22.21", ] [[package]] @@ -5621,7 +5630,7 @@ version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "indexmap 2.4.0", + "indexmap 2.5.0", "serde", "serde_spanned", "toml_datetime", @@ -5630,22 +5639,11 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.21.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" -dependencies = [ - "indexmap 2.4.0", - "toml_datetime", - "winnow 0.5.40", -] - -[[package]] -name = "toml_edit" -version = "0.22.20" +version = "0.22.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "583c44c02ad26b0c3f3066fe629275e50627026c51ac2e595cca4c230ce1ce1d" +checksum = "3b072cee73c449a636ffd6f32bd8de3a9f7119139aff882f44943ce2986dc5cf" dependencies = [ - "indexmap 2.4.0", + "indexmap 2.5.0", "serde", "serde_spanned", "toml_datetime", @@ -5750,7 +5748,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -5902,7 +5900,7 @@ dependencies = [ "Inflector", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.77", "termcolor", ] @@ -5973,7 +5971,7 @@ checksum = "1f718dfaf347dcb5b983bfc87608144b0bad87970aebcbea5ce44d2a30c08e63" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -6011,9 +6009,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" @@ -6023,24 +6021,24 @@ checksum = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f" [[package]] name = "unicode-normalization" -version = "0.1.23" +version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" +checksum = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956" dependencies = [ "tinyvec", ] [[package]] name = "unicode-properties" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4259d9d4425d9f0661581b804cb85fe66a4c631cadd8f490d1c13a35d5d9291" +checksum = "52ea75f83c0137a9b98608359a5f1af8144876eb67bcb1ce837368e906a9f524" [[package]] name = "unicode-segmentation" -version = "1.11.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" +checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" [[package]] name = "unicode-width" @@ -6050,9 +6048,9 @@ checksum = "68f5e5f3158ecfd4b8ff6fe086db7c8467a2dfdac97fe420f2b7c4aa97af66d6" [[package]] name = "unicode-xid" -version = "0.2.4" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" [[package]] name = "unicode_categories" @@ -6201,7 +6199,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.77", "wasm-bindgen-shared", ] @@ -6235,7 +6233,7 @@ checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.77", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -6289,11 +6287,11 @@ dependencies = [ [[package]] name = "whoami" -version = "1.5.1" +version = "1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44ab49fad634e88f55bf8f9bb3abd2f27d7204172a112c7c9987e01c1c94ea9" +checksum = "372d5b87f58ec45c384ba03563b03544dc5fadc3983e434b286913f5b4a9bb6d" dependencies = [ - "redox_syscall 0.4.1", + "redox_syscall 0.5.4", "wasite", ] @@ -6337,6 +6335,36 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-registry" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" +dependencies = [ + "windows-result", + "windows-strings", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-result" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-strings" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" +dependencies = [ + "windows-result", + "windows-targets 0.52.6", +] + [[package]] name = "windows-sys" version = "0.48.0" @@ -6503,16 +6531,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "winreg" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5" -dependencies = [ - "cfg-if", - "windows-sys 0.48.0", -] - [[package]] name = "wyz" version = "0.2.0" @@ -6599,7 +6617,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] @@ -6619,7 +6637,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.77", ] [[package]] diff --git a/core/startos/src/action.rs b/core/startos/src/action.rs index f7e17f564..a18173add 100644 --- a/core/startos/src/action.rs +++ b/core/startos/src/action.rs @@ -22,7 +22,8 @@ pub fn action_api() -> ParentHandler { "get-input", from_fn_async(get_action_input) .with_display_serializable() - .with_call_remote::(), + .with_about("Get action input spec") + .with_call_remote::() ) .subcommand( "run", @@ -34,7 +35,8 @@ pub fn action_api() -> ParentHandler { } Ok(()) }) - .with_call_remote::(), + .with_about("Run service action") + .with_call_remote::() ) } diff --git a/core/startos/src/auth.rs b/core/startos/src/auth.rs index 9a881d0e6..a6b624b70 100644 --- a/core/startos/src/auth.rs +++ b/core/startos/src/auth.rs @@ -91,28 +91,40 @@ pub fn auth() -> ParentHandler { .with_metadata("login", Value::Bool(true)) .no_cli(), ) - .subcommand("login", from_fn_async(cli_login).no_display()) + .subcommand( + "login", + from_fn_async(cli_login) + .no_display() + .with_about("Log in to StartOS server"), + ) .subcommand( "logout", from_fn_async(logout) .with_metadata("get_session", Value::Bool(true)) .no_display() + .with_about("Log out of StartOS server") .with_call_remote::(), ) - .subcommand("session", session::()) + .subcommand( + "session", + session::().with_about("List or kill StartOS sessions"), + ) .subcommand( "reset-password", from_fn_async(reset_password_impl).no_cli(), ) .subcommand( "reset-password", - from_fn_async(cli_reset_password).no_display(), + from_fn_async(cli_reset_password) + .no_display() + .with_about("Reset StartOS password"), ) .subcommand( "get-pubkey", from_fn_async(get_pubkey) .with_metadata("authenticated", Value::Bool(false)) .no_display() + .with_about("Get public key derived from server private key") .with_call_remote::(), ) } @@ -290,12 +302,14 @@ pub fn session() -> ParentHandler { .with_custom_display_fn(|handle, result| { Ok(display_sessions(handle.params, result)) }) + .with_about("Display all server sessions") .with_call_remote::(), ) .subcommand( "kill", from_fn_async(kill) .no_display() + .with_about("Terminate existing server session(s)") .with_call_remote::(), ) } diff --git a/core/startos/src/backup/mod.rs b/core/startos/src/backup/mod.rs index 8afafaa33..110a918b6 100644 --- a/core/startos/src/backup/mod.rs +++ b/core/startos/src/backup/mod.rs @@ -40,9 +40,13 @@ pub fn backup() -> ParentHandler { "create", from_fn_async(backup_bulk::backup_all) .no_display() + .with_about("Create backup for all packages") .with_call_remote::(), ) - .subcommand("target", target::target::()) + .subcommand( + "target", + target::target::().with_about("Commands related to a backup target"), + ) } pub fn package_backup() -> ParentHandler { @@ -50,6 +54,7 @@ pub fn package_backup() -> ParentHandler { "restore", from_fn_async(restore::restore_packages_rpc) .no_display() + .with_about("Restore package(s) from backup") .with_call_remote::(), ) } diff --git a/core/startos/src/backup/target/cifs.rs b/core/startos/src/backup/target/cifs.rs index e83f4e981..71cbe267e 100644 --- a/core/startos/src/backup/target/cifs.rs +++ b/core/startos/src/backup/target/cifs.rs @@ -52,18 +52,21 @@ pub fn cifs() -> ParentHandler { "add", from_fn_async(add) .no_display() + .with_about("Add a new backup target") .with_call_remote::(), ) .subcommand( "update", from_fn_async(update) .no_display() + .with_about("Update an existing backup target") .with_call_remote::(), ) .subcommand( "remove", from_fn_async(remove) .no_display() + .with_about("Remove an existing backup target") .with_call_remote::(), ) } diff --git a/core/startos/src/backup/target/mod.rs b/core/startos/src/backup/target/mod.rs index fcb291005..eb3fc29bc 100644 --- a/core/startos/src/backup/target/mod.rs +++ b/core/startos/src/backup/target/mod.rs @@ -141,11 +141,15 @@ impl FileSystem for BackupTargetFS { // #[command(subcommands(cifs::cifs, list, info, mount, umount))] pub fn target() -> ParentHandler { ParentHandler::new() - .subcommand("cifs", cifs::cifs::()) + .subcommand( + "cifs", + cifs::cifs::().with_about("Add, remove, or update a backup target"), + ) .subcommand( "list", from_fn_async(list) .with_display_serializable() + .with_about("List existing backup targets") .with_call_remote::(), ) .subcommand( @@ -155,16 +159,20 @@ pub fn target() -> ParentHandler { .with_custom_display_fn::(|params, info| { Ok(display_backup_info(params.params, info)) }) + .with_about("Display package backup information") .with_call_remote::(), ) .subcommand( "mount", - from_fn_async(mount).with_call_remote::(), + from_fn_async(mount) + .with_about("Mount backup target") + .with_call_remote::(), ) .subcommand( "umount", from_fn_async(umount) .no_display() + .with_about("Unmount backup target") .with_call_remote::(), ) } diff --git a/core/startos/src/db/mod.rs b/core/startos/src/db/mod.rs index ff42d6a5c..1ed7e9ab9 100644 --- a/core/startos/src/db/mod.rs +++ b/core/startos/src/db/mod.rs @@ -31,7 +31,12 @@ lazy_static::lazy_static! { pub fn db() -> ParentHandler { ParentHandler::new() - .subcommand("dump", from_fn_async(cli_dump).with_display_serializable()) + .subcommand( + "dump", + from_fn_async(cli_dump) + .with_display_serializable() + .with_about("Filter/query db to display tables and records"), + ) .subcommand("dump", from_fn_async(dump).no_cli()) .subcommand( "subscribe", @@ -39,8 +44,16 @@ pub fn db() -> ParentHandler { .with_metadata("get_session", Value::Bool(true)) .no_cli(), ) - .subcommand("put", put::()) - .subcommand("apply", from_fn_async(cli_apply).no_display()) + .subcommand( + "put", + put::().with_about("Command for adding UI record to db"), + ) + .subcommand( + "apply", + from_fn_async(cli_apply) + .no_display() + .with_about("Update a db record"), + ) .subcommand("apply", from_fn_async(apply).no_cli()) } @@ -299,6 +312,7 @@ pub fn put() -> ParentHandler { "ui", from_fn_async(ui) .with_display_serializable() + .with_about("Add path and value to db") .with_call_remote::(), ) } diff --git a/core/startos/src/diagnostic.rs b/core/startos/src/diagnostic.rs index 5e99580e9..3eab3b16b 100644 --- a/core/startos/src/diagnostic.rs +++ b/core/startos/src/diagnostic.rs @@ -13,31 +13,48 @@ use crate::Error; pub fn diagnostic() -> ParentHandler { ParentHandler::new() - .subcommand("error", from_fn(error).with_call_remote::()) - .subcommand("logs", crate::system::logs::()) + .subcommand( + "error", + from_fn(error) + .with_about("Display diagnostic error") + .with_call_remote::(), + ) + .subcommand( + "logs", + crate::system::logs::().with_about("Display OS logs"), + ) .subcommand( "logs", - from_fn_async(crate::logs::cli_logs::).no_display(), + from_fn_async(crate::logs::cli_logs::) + .no_display() + .with_about("Display OS logs"), ) .subcommand( "kernel-logs", - crate::system::kernel_logs::(), + crate::system::kernel_logs::().with_about("Display kernel logs"), ) .subcommand( "kernel-logs", - from_fn_async(crate::logs::cli_logs::).no_display(), + from_fn_async(crate::logs::cli_logs::) + .no_display() + .with_about("Display kernal logs"), ) .subcommand( "restart", from_fn(restart) .no_display() + .with_about("Restart the server") .with_call_remote::(), ) - .subcommand("disk", disk::()) + .subcommand( + "disk", + disk::().with_about("Command to remove disk from filesystem"), + ) .subcommand( "rebuild", from_fn_async(rebuild) .no_display() + .with_about("Teardown and rebuild service containers") .with_call_remote::(), ) } @@ -72,7 +89,8 @@ pub fn disk() -> ParentHandler { CallRemoteHandler::::new( from_fn_async(forget_disk::).no_display(), ) - .no_display(), + .no_display() + .with_about("Remove disk from filesystem"), ) } diff --git a/core/startos/src/disk/mod.rs b/core/startos/src/disk/mod.rs index c0a701fc9..d1fbe282f 100644 --- a/core/startos/src/disk/mod.rs +++ b/core/startos/src/disk/mod.rs @@ -51,13 +51,16 @@ pub fn disk() -> ParentHandler { .with_custom_display_fn(|handle, result| { Ok(display_disk_info(handle.params, result)) }) + .with_about("List disk info") .with_call_remote::(), ) .subcommand("repair", from_fn_async(|_: C| repair()).no_cli()) .subcommand( "repair", CallRemoteHandler::::new( - from_fn_async(|_: RpcContext| repair()).no_display(), + from_fn_async(|_: RpcContext| repair()) + .no_display() + .with_about("Repair disk in the event of corruption"), ), ) } diff --git a/core/startos/src/init.rs b/core/startos/src/init.rs index e6b7be598..7ca4576b1 100644 --- a/core/startos/src/init.rs +++ b/core/startos/src/init.rs @@ -549,18 +549,33 @@ pub async fn init( pub fn init_api() -> ParentHandler { ParentHandler::new() - .subcommand("logs", crate::system::logs::()) .subcommand( "logs", - from_fn_async(crate::logs::cli_logs::).no_display(), + crate::system::logs::().with_about("Disply OS logs"), + ) + .subcommand( + "logs", + from_fn_async(crate::logs::cli_logs::) + .no_display() + .with_about("Display OS logs"), + ) + .subcommand( + "kernel-logs", + crate::system::kernel_logs::().with_about("Display kernel logs"), ) - .subcommand("kernel-logs", crate::system::kernel_logs::()) .subcommand( "kernel-logs", - from_fn_async(crate::logs::cli_logs::).no_display(), + from_fn_async(crate::logs::cli_logs::) + .no_display() + .with_about("Display kernel logs"), ) .subcommand("subscribe", from_fn_async(init_progress).no_cli()) - .subcommand("subscribe", from_fn_async(cli_init_progress).no_display()) + .subcommand( + "subscribe", + from_fn_async(cli_init_progress) + .no_display() + .with_about("Get initialization progress"), + ) } #[derive(Debug, Deserialize, Serialize, TS)] diff --git a/core/startos/src/lib.rs b/core/startos/src/lib.rs index 997a7199f..754362bc9 100644 --- a/core/startos/src/lib.rs +++ b/core/startos/src/lib.rs @@ -114,29 +114,71 @@ impl std::fmt::Display for ApiState { pub fn main_api() -> ParentHandler { let api = ParentHandler::new() - .subcommand::("git-info", from_fn(version::git_info)) + .subcommand( + "git-info", + from_fn(|_: RpcContext| version::git_info()) + .with_about("Display the githash of StartOS CLI"), + ) .subcommand( "echo", from_fn(echo::) .with_metadata("authenticated", Value::Bool(false)) + .with_about("Echo a message") .with_call_remote::(), ) .subcommand( "state", from_fn(|_: RpcContext| Ok::<_, Error>(ApiState::Running)) .with_metadata("authenticated", Value::Bool(false)) + .with_about("Display the API that is currently serving") .with_call_remote::(), ) - .subcommand("server", server::()) - .subcommand("package", package::()) - .subcommand("net", net::net::()) - .subcommand("auth", auth::auth::()) - .subcommand("db", db::db::()) - .subcommand("ssh", ssh::ssh::()) - .subcommand("wifi", net::wifi::wifi::()) - .subcommand("disk", disk::disk::()) - .subcommand("notification", notifications::notification::()) - .subcommand("backup", backup::backup::()) + .subcommand( + "server", + server::() + .with_about("Commands related to the server i.e. restart, update, and shutdown"), + ) + .subcommand( + "package", + package::().with_about("Commands related to packages"), + ) + .subcommand( + "net", + net::net::().with_about("Network commands related to tor and dhcp"), + ) + .subcommand( + "auth", + auth::auth::().with_about( + "Commands related to Authentication i.e. login, logout, reset-password", + ), + ) + .subcommand( + "db", + db::db::().with_about("Commands to interact with the db i.e. dump, put, apply"), + ) + .subcommand( + "ssh", + ssh::ssh::() + .with_about("Commands for interacting with ssh keys i.e. add, delete, list"), + ) + .subcommand( + "wifi", + net::wifi::wifi::() + .with_about("Commands related to wifi networks i.e. add, connect, delete"), + ) + .subcommand( + "disk", + disk::disk::().with_about("Commands for listing disk info and repairing"), + ) + .subcommand( + "notification", + notifications::notification::().with_about("Create, delete, or list notifications"), + ) + .subcommand( + "backup", + backup::backup::() + .with_about("Commands related to backup creation and backup targets"), + ) .subcommand( "registry", CallRemoteHandler::::new( @@ -144,10 +186,20 @@ pub fn main_api() -> ParentHandler { ) .no_cli(), ) - .subcommand("s9pk", s9pk::rpc::s9pk()) - .subcommand("util", util::rpc::util::()); + .subcommand( + "s9pk", + s9pk::rpc::s9pk().with_about("Commands for interacting with s9pk files"), + ) + .subcommand( + "util", + util::rpc::util::().with_about("Command for calculating the blake3 hash of a file"), + ); #[cfg(feature = "dev")] - let api = api.subcommand("lxc", lxc::dev::lxc::()); + let api = api.subcommand( + "lxc", + lxc::dev::lxc::() + .with_about("Commands related to lxc containers i.e. create, list, remove, connect"), + ); api } @@ -160,42 +212,57 @@ pub fn server() -> ParentHandler { .with_custom_display_fn(|handle, result| { Ok(system::display_time(handle.params, result)) }) - .with_call_remote::(), + .with_about("Display current time and server uptime") + .with_call_remote::() + ) + .subcommand( + "experimental", + system::experimental::() + .with_about("Commands related to configuring experimental options such as zram and cpu governor"), ) - .subcommand("experimental", system::experimental::()) - .subcommand("logs", system::logs::()) .subcommand( "logs", - from_fn_async(logs::cli_logs::).no_display(), + system::logs::().with_about("Display OS logs"), + ) + .subcommand( + "logs", + from_fn_async(logs::cli_logs::).no_display().with_about("Display OS logs"), ) - .subcommand("kernel-logs", system::kernel_logs::()) .subcommand( "kernel-logs", - from_fn_async(logs::cli_logs::).no_display(), + system::kernel_logs::().with_about("Display Kernel logs"), + ) + .subcommand( + "kernel-logs", + from_fn_async(logs::cli_logs::).no_display().with_about("Display Kernel logs"), ) .subcommand( "metrics", from_fn_async(system::metrics) .with_display_serializable() - .with_call_remote::(), + .with_about("Display information about the server i.e. temperature, RAM, CPU, and disk usage") + .with_call_remote::() ) .subcommand( "shutdown", from_fn_async(shutdown::shutdown) .no_display() - .with_call_remote::(), + .with_about("Shutdown the server") + .with_call_remote::() ) .subcommand( "restart", from_fn_async(shutdown::restart) .no_display() - .with_call_remote::(), + .with_about("Restart the server") + .with_call_remote::() ) .subcommand( "rebuild", from_fn_async(shutdown::rebuild) .no_display() - .with_call_remote::(), + .with_about("Teardown and rebuild service containers") + .with_call_remote::() ) .subcommand( "update", @@ -205,7 +272,7 @@ pub fn server() -> ParentHandler { ) .subcommand( "update", - from_fn_async(update::cli_update_system).no_display(), + from_fn_async(update::cli_update_system).no_display().with_about("Check a given registry for StartOS updates and update if available"), ) .subcommand( "update-firmware", @@ -220,25 +287,31 @@ pub fn server() -> ParentHandler { .with_custom_display_fn(|_handle, result| { Ok(firmware::display_firmware_update_result(result)) }) - .with_call_remote::(), + .with_about("Update the mainboard's firmware to the latest firmware available in this version of StartOS if available. Note: This command does not reach out to the Internet") + .with_call_remote::() ) .subcommand( "set-smtp", from_fn_async(system::set_system_smtp) .no_display() - .with_call_remote::(), + .with_about("Set system smtp server and credentials") + .with_call_remote::() ) .subcommand( "clear-smtp", from_fn_async(system::clear_system_smtp) .no_display() - .with_call_remote::(), + .with_about("Remove system smtp server and credentials") + .with_call_remote::() ) } pub fn package() -> ParentHandler { ParentHandler::new() - .subcommand("action", action::action_api::()) + .subcommand( + "action", + action::action_api::().with_about("Commands to get action input or run an action"), + ) .subcommand( "install", from_fn_async(install::install) @@ -251,24 +324,32 @@ pub fn package() -> ParentHandler { .with_metadata("get_session", Value::Bool(true)) .no_cli(), ) - .subcommand("install", from_fn_async(install::cli_install).no_display()) + .subcommand( + "install", + from_fn_async(install::cli_install) + .no_display() + .with_about("Install a package from a marketplace or via sideloading"), + ) .subcommand( "uninstall", from_fn_async(install::uninstall) .with_metadata("sync_db", Value::Bool(true)) .no_display() + .with_about("Remove a package") .with_call_remote::(), ) .subcommand( "list", from_fn_async(install::list) .with_display_serializable() + .with_about("List installed packages") .with_call_remote::(), ) .subcommand( "installed-version", from_fn_async(install::installed_version) .with_display_serializable() + .with_about("Display installed version for a PackageId") .with_call_remote::(), ) .subcommand( @@ -276,6 +357,7 @@ pub fn package() -> ParentHandler { from_fn_async(control::start) .with_metadata("sync_db", Value::Bool(true)) .no_display() + .with_about("Start a package container") .with_call_remote::(), ) .subcommand( @@ -283,6 +365,7 @@ pub fn package() -> ParentHandler { from_fn_async(control::stop) .with_metadata("sync_db", Value::Bool(true)) .no_display() + .with_about("Stop a package container") .with_call_remote::(), ) .subcommand( @@ -290,6 +373,7 @@ pub fn package() -> ParentHandler { from_fn_async(control::restart) .with_metadata("sync_db", Value::Bool(true)) .no_display() + .with_about("Restart a package container") .with_call_remote::(), ) .subcommand( @@ -297,12 +381,19 @@ pub fn package() -> ParentHandler { from_fn_async(service::rebuild) .with_metadata("sync_db", Value::Bool(true)) .no_display() + .with_about("Rebuild service container") .with_call_remote::(), ) .subcommand("logs", logs::package_logs()) .subcommand( "logs", - from_fn_async(logs::cli_logs::).no_display(), + logs::package_logs().with_about("Display package logs"), + ) + .subcommand( + "logs", + from_fn_async(logs::cli_logs::) + .no_display() + .with_about("Display package logs"), ) .subcommand( "properties", @@ -310,13 +401,20 @@ pub fn package() -> ParentHandler { .with_custom_display_fn(|_handle, result| { Ok(properties::display_properties(result)) }) + .with_about("Display package Properties") .with_call_remote::(), ) - .subcommand("backup", backup::package_backup::()) + .subcommand( + "backup", + backup::package_backup::() + .with_about("Commands for restoring package(s) from backup"), + ) .subcommand("connect", from_fn_async(service::connect_rpc).no_cli()) .subcommand( "connect", - from_fn_async(service::connect_rpc_cli).no_display(), + from_fn_async(service::connect_rpc_cli) + .no_display() + .with_about("Connect to a LXC container"), ) .subcommand( "attach", @@ -329,74 +427,124 @@ pub fn package() -> ParentHandler { pub fn diagnostic_api() -> ParentHandler { ParentHandler::new() - .subcommand::( + .subcommand( "git-info", - from_fn(version::git_info).with_metadata("authenticated", Value::Bool(false)), + from_fn(|_: DiagnosticContext| version::git_info()) + .with_metadata("authenticated", Value::Bool(false)) + .with_about("Display the githash of StartOS CLI"), ) .subcommand( "echo", - from_fn(echo::).with_call_remote::(), + from_fn(echo::) + .with_about("Echo a message") + .with_call_remote::(), ) .subcommand( "state", from_fn(|_: DiagnosticContext| Ok::<_, Error>(ApiState::Error)) .with_metadata("authenticated", Value::Bool(false)) + .with_about("Display the API that is currently serving") .with_call_remote::(), ) - .subcommand("diagnostic", diagnostic::diagnostic::()) + .subcommand( + "diagnostic", + diagnostic::diagnostic::() + .with_about("Diagnostic commands i.e. logs, restart, rebuild"), + ) } pub fn init_api() -> ParentHandler { ParentHandler::new() - .subcommand::( + .subcommand( "git-info", - from_fn(version::git_info).with_metadata("authenticated", Value::Bool(false)), + from_fn(|_: InitContext| version::git_info()) + .with_metadata("authenticated", Value::Bool(false)) + .with_about("Display the githash of StartOS CLI"), ) .subcommand( "echo", - from_fn(echo::).with_call_remote::(), + from_fn(echo::) + .with_about("Echo a message") + .with_call_remote::(), ) .subcommand( "state", from_fn(|_: InitContext| Ok::<_, Error>(ApiState::Initializing)) .with_metadata("authenticated", Value::Bool(false)) + .with_about("Display the API that is currently serving") .with_call_remote::(), ) - .subcommand("init", init::init_api::()) + .subcommand( + "init", + init::init_api::() + .with_about("Commands to get logs or initialization progress"), + ) } pub fn setup_api() -> ParentHandler { ParentHandler::new() - .subcommand::( + .subcommand( "git-info", - from_fn(version::git_info).with_metadata("authenticated", Value::Bool(false)), + from_fn(|_: SetupContext| version::git_info()) + .with_metadata("authenticated", Value::Bool(false)) + .with_about("Display the githash of StartOS CLI"), ) .subcommand( "echo", - from_fn(echo::).with_call_remote::(), + from_fn(echo::) + .with_about("Echo a message") + .with_call_remote::(), ) .subcommand("setup", setup::setup::()) } pub fn install_api() -> ParentHandler { ParentHandler::new() - .subcommand::( + .subcommand( "git-info", - from_fn(version::git_info).with_metadata("authenticated", Value::Bool(false)), + from_fn(|_: InstallContext| version::git_info()) + .with_metadata("authenticated", Value::Bool(false)) + .with_about("Display the githash of StartOS CLI"), ) .subcommand( "echo", - from_fn(echo::).with_call_remote::(), + from_fn(echo::) + .with_about("Echo a message") + .with_call_remote::(), + ) + .subcommand( + "install", + os_install::install::() + .with_about("Commands to list disk info, install StartOS, and reboot"), ) - .subcommand("install", os_install::install::()) } pub fn expanded_api() -> ParentHandler { main_api() - .subcommand("init", from_fn_blocking(developer::init).no_display()) - .subcommand("pubkey", from_fn_blocking(developer::pubkey)) - .subcommand("diagnostic", diagnostic::diagnostic::()) + .subcommand( + "init", + from_fn_blocking(developer::init) + .no_display() + .with_about("Create developer key if it doesn't exist"), + ) + .subcommand( + "pubkey", + from_fn_blocking(developer::pubkey) + .with_about("Get public key for developer private key"), + ) + .subcommand( + "diagnostic", + diagnostic::diagnostic::() + .with_about("Commands to display logs, restart the server, etc"), + ) .subcommand("setup", setup::setup::()) - .subcommand("install", os_install::install::()) - .subcommand("registry", registry::registry_api::()) + .subcommand( + "install", + os_install::install::() + .with_about("Commands to list disk info, install StartOS, and reboot"), + ) + .subcommand( + "registry", + registry::registry_api::().with_about("Commands related to the registry"), + ) } diff --git a/core/startos/src/lxc/dev.rs b/core/startos/src/lxc/dev.rs index 61dd8e598..506cb2e9b 100644 --- a/core/startos/src/lxc/dev.rs +++ b/core/startos/src/lxc/dev.rs @@ -17,7 +17,9 @@ pub fn lxc() -> ParentHandler { ParentHandler::new() .subcommand( "create", - from_fn_async(create).with_call_remote::(), + from_fn_async(create) + .with_about("Create lxc container") + .with_call_remote::(), ) .subcommand( "list", @@ -31,16 +33,23 @@ pub fn lxc() -> ParentHandler { table.printstd(); Ok(()) }) + .with_about("List lxc containers") .with_call_remote::(), ) .subcommand( "remove", from_fn_async(remove) .no_display() + .with_about("Remove lxc container") .with_call_remote::(), ) .subcommand("connect", from_fn_async(connect_rpc).no_cli()) - .subcommand("connect", from_fn_async(connect_rpc_cli).no_display()) + .subcommand( + "connect", + from_fn_async(connect_rpc_cli) + .no_display() + .with_about("Connect to a lxc container"), + ) } pub async fn create(ctx: RpcContext) -> Result { diff --git a/core/startos/src/net/dhcp.rs b/core/startos/src/net/dhcp.rs index ffcb9774b..e323ba371 100644 --- a/core/startos/src/net/dhcp.rs +++ b/core/startos/src/net/dhcp.rs @@ -58,6 +58,7 @@ pub fn dhcp() -> ParentHandler { "update", from_fn_async::<_, _, (), Error, (RpcContext, UpdateParams)>(update) .no_display() + .with_about("Update IP assigned by dhcp") .with_call_remote::(), ) } diff --git a/core/startos/src/net/mod.rs b/core/startos/src/net/mod.rs index e55da4206..2735454e7 100644 --- a/core/startos/src/net/mod.rs +++ b/core/startos/src/net/mod.rs @@ -1,4 +1,4 @@ -use rpc_toolkit::{Context, ParentHandler}; +use rpc_toolkit::{Context, HandlerExt, ParentHandler}; pub mod dhcp; pub mod dns; @@ -20,6 +20,12 @@ pub const PACKAGE_CERT_PATH: &str = "/var/lib/embassy/ssl"; pub fn net() -> ParentHandler { ParentHandler::new() - .subcommand("tor", tor::tor::()) - .subcommand("dhcp", dhcp::dhcp::()) + .subcommand( + "tor", + tor::tor::().with_about("Tor commands such as list-services, logs, and reset"), + ) + .subcommand( + "dhcp", + dhcp::dhcp::().with_about("Command to update IP assigned from dhcp"), + ) } diff --git a/core/startos/src/net/tor.rs b/core/startos/src/net/tor.rs index 16705776f..d93ce9302 100644 --- a/core/startos/src/net/tor.rs +++ b/core/startos/src/net/tor.rs @@ -91,17 +91,21 @@ pub fn tor() -> ParentHandler { .with_custom_display_fn(|handle, result| { Ok(display_services(handle.params, result)) }) + .with_about("Display Tor V3 Onion Addresses") .with_call_remote::(), ) - .subcommand("logs", logs()) + .subcommand("logs", logs().with_about("Display Tor logs")) .subcommand( "logs", - from_fn_async(crate::logs::cli_logs::).no_display(), + from_fn_async(crate::logs::cli_logs::) + .no_display() + .with_about("Display Tor logs"), ) .subcommand( "reset", from_fn_async(reset) .no_display() + .with_about("Reset Tor daemon") .with_call_remote::(), ) } diff --git a/core/startos/src/net/wifi.rs b/core/startos/src/net/wifi.rs index 298fad71f..056a403de 100644 --- a/core/startos/src/net/wifi.rs +++ b/core/startos/src/net/wifi.rs @@ -43,18 +43,21 @@ pub fn wifi() -> ParentHandler { "add", from_fn_async(add) .no_display() + .with_about("Add wifi ssid and password") .with_call_remote::(), ) .subcommand( "connect", from_fn_async(connect) .no_display() + .with_about("Connect to wifi network") .with_call_remote::(), ) .subcommand( "delete", from_fn_async(delete) .no_display() + .with_about("Remove a wifi network") .with_call_remote::(), ) .subcommand( @@ -64,10 +67,17 @@ pub fn wifi() -> ParentHandler { .with_custom_display_fn(|handle, result| { Ok(display_wifi_info(handle.params, result)) }) + .with_about("List wifi info") .with_call_remote::(), ) - .subcommand("country", country::()) - .subcommand("available", available::()) + .subcommand( + "country", + country::().with_about("Command to set country"), + ) + .subcommand( + "available", + available::().with_about("Command to list available wifi networks"), + ) } pub fn available() -> ParentHandler { @@ -76,6 +86,7 @@ pub fn available() -> ParentHandler { from_fn_async(get_available) .with_display_serializable() .with_custom_display_fn(|handle, result| Ok(display_wifi_list(handle.params, result))) + .with_about("List available wifi networks") .with_call_remote::(), ) } @@ -85,6 +96,7 @@ pub fn country() -> ParentHandler { "set", from_fn_async(set_country) .no_display() + .with_about("Set Country") .with_call_remote::(), ) } diff --git a/core/startos/src/notifications.rs b/core/startos/src/notifications.rs index c8e1725f4..aff69ab23 100644 --- a/core/startos/src/notifications.rs +++ b/core/startos/src/notifications.rs @@ -26,24 +26,28 @@ pub fn notification() -> ParentHandler { "list", from_fn_async(list) .with_display_serializable() + .with_about("List notifications") .with_call_remote::(), ) .subcommand( "delete", from_fn_async(delete) .no_display() + .with_about("Delete notification for a given id") .with_call_remote::(), ) .subcommand( "delete-before", from_fn_async(delete_before) .no_display() + .with_about("Delete notifications preceding a given id") .with_call_remote::(), ) .subcommand( "create", from_fn_async(create) .no_display() + .with_about("Persist a newly created notification") .with_call_remote::(), ) } diff --git a/core/startos/src/os_install/mod.rs b/core/startos/src/os_install/mod.rs index 3d80f6cbd..46ed4ae8c 100644 --- a/core/startos/src/os_install/mod.rs +++ b/core/startos/src/os_install/mod.rs @@ -31,17 +31,19 @@ mod mbr; pub fn install() -> ParentHandler { ParentHandler::new() - .subcommand("disk", disk::()) + .subcommand("disk", disk::().with_about("Command to list disk info")) .subcommand( "execute", from_fn_async(execute::) .no_display() + .with_about("Install StartOS over existing version") .with_call_remote::(), ) .subcommand( "reboot", from_fn_async(reboot) .no_display() + .with_about("Restart the server") .with_call_remote::(), ) } @@ -51,6 +53,7 @@ pub fn disk() -> ParentHandler { "list", from_fn_async(list) .no_display() + .with_about("List disk info") .with_call_remote::(), ) } diff --git a/core/startos/src/registry/admin.rs b/core/startos/src/registry/admin.rs index 8125580a4..a327a9587 100644 --- a/core/startos/src/registry/admin.rs +++ b/core/startos/src/registry/admin.rs @@ -18,14 +18,23 @@ use crate::util::serde::{display_serializable, HandlerExtSerde, WithIoFormat}; pub fn admin_api() -> ParentHandler { ParentHandler::new() - .subcommand("signer", signers_api::()) + .subcommand( + "signer", + signers_api::().with_about("Commands to add or list signers"), + ) .subcommand("add", from_fn_async(add_admin).no_cli()) - .subcommand("add", from_fn_async(cli_add_admin).no_display()) + .subcommand( + "add", + from_fn_async(cli_add_admin) + .no_display() + .with_about("Add admin signer"), + ) .subcommand( "list", from_fn_async(list_admins) .with_display_serializable() .with_custom_display_fn(|handle, result| Ok(display_signers(handle.params, result))) + .with_about("List admin signers") .with_call_remote::(), ) } @@ -38,6 +47,7 @@ fn signers_api() -> ParentHandler { .with_metadata("admin", Value::Bool(true)) .with_display_serializable() .with_custom_display_fn(|handle, result| Ok(display_signers(handle.params, result))) + .with_about("List signers") .with_call_remote::(), ) .subcommand( @@ -46,7 +56,10 @@ fn signers_api() -> ParentHandler { .with_metadata("admin", Value::Bool(true)) .no_cli(), ) - .subcommand("add", from_fn_async(cli_add_signer)) + .subcommand( + "add", + from_fn_async(cli_add_signer).with_about("Add signer"), + ) } impl Model> { diff --git a/core/startos/src/registry/db.rs b/core/startos/src/registry/db.rs index df39604f1..8de9f8743 100644 --- a/core/startos/src/registry/db.rs +++ b/core/startos/src/registry/db.rs @@ -18,14 +18,24 @@ use crate::util::serde::{apply_expr, HandlerExtSerde}; pub fn db_api() -> ParentHandler { ParentHandler::new() - .subcommand("dump", from_fn_async(cli_dump).with_display_serializable()) + .subcommand( + "dump", + from_fn_async(cli_dump) + .with_display_serializable() + .with_about("Filter/query db to display tables and records"), + ) .subcommand( "dump", from_fn_async(dump) .with_metadata("admin", Value::Bool(true)) .no_cli(), ) - .subcommand("apply", from_fn_async(cli_apply).no_display()) + .subcommand( + "apply", + from_fn_async(cli_apply) + .no_display() + .with_about("Update a db record"), + ) .subcommand( "apply", from_fn_async(apply) diff --git a/core/startos/src/registry/mod.rs b/core/startos/src/registry/mod.rs index d34ebb841..064a4fed6 100644 --- a/core/startos/src/registry/mod.rs +++ b/core/startos/src/registry/mod.rs @@ -82,18 +82,32 @@ pub fn registry_api() -> ParentHandler { "index", from_fn_async(get_full_index) .with_display_serializable() + .with_about("List info including registry name and packages") .with_call_remote::(), ) .subcommand( "info", from_fn_async(get_info) .with_display_serializable() + .with_about("Display registry name, icon, and package categories") .with_call_remote::(), ) - .subcommand("os", os::os_api::()) - .subcommand("package", package::package_api::()) - .subcommand("admin", admin::admin_api::()) - .subcommand("db", db::db_api::()) + .subcommand( + "os", + os::os_api::().with_about("Commands related to OS assets and versions"), + ) + .subcommand( + "package", + package::package_api::().with_about("Commands to index, add, or get packages"), + ) + .subcommand( + "admin", + admin::admin_api::().with_about("Commands to add or list admins or signers"), + ) + .subcommand( + "db", + db::db_api::().with_about("Commands to interact with the db i.e. dump and apply"), + ) } pub fn registry_router(ctx: RegistryContext) -> Router { diff --git a/core/startos/src/registry/os/asset/get.rs b/core/startos/src/registry/os/asset/get.rs index ad0010dca..6c0479964 100644 --- a/core/startos/src/registry/os/asset/get.rs +++ b/core/startos/src/registry/os/asset/get.rs @@ -26,11 +26,21 @@ use crate::util::io::open_file; pub fn get_api() -> ParentHandler { ParentHandler::new() .subcommand("iso", from_fn_async(get_iso).no_cli()) - .subcommand("iso", from_fn_async(cli_get_os_asset).no_display()) + .subcommand( + "iso", + from_fn_async(cli_get_os_asset) + .no_display() + .with_about("Download iso"), + ) .subcommand("img", from_fn_async(get_img).no_cli()) - .subcommand("img", from_fn_async(cli_get_os_asset).no_display()) + .subcommand( + "img", + from_fn_async(cli_get_os_asset) + .no_display() + .with_about("Download img"), + ) .subcommand("squashfs", from_fn_async(get_squashfs).no_cli()) - .subcommand("squashfs", from_fn_async(cli_get_os_asset).no_display()) + .subcommand("squashfs", from_fn_async(cli_get_os_asset).no_display().with_about("Download squashfs")) } #[derive(Debug, Deserialize, Serialize, TS)] diff --git a/core/startos/src/registry/os/asset/mod.rs b/core/startos/src/registry/os/asset/mod.rs index ec9d6cae7..52c12341a 100644 --- a/core/startos/src/registry/os/asset/mod.rs +++ b/core/startos/src/registry/os/asset/mod.rs @@ -7,8 +7,21 @@ pub mod sign; pub fn asset_api() -> ParentHandler { ParentHandler::new() .subcommand("add", add::add_api::()) - .subcommand("add", from_fn_async(add::cli_add_asset).no_display()) + .subcommand( + "add", + from_fn_async(add::cli_add_asset) + .no_display() + .with_about("Add asset to registry"), + ) .subcommand("sign", sign::sign_api::()) - .subcommand("sign", from_fn_async(sign::cli_sign_asset).no_display()) - .subcommand("get", get::get_api::()) + .subcommand( + "sign", + from_fn_async(sign::cli_sign_asset) + .no_display() + .with_about("Sign file and add to registry index"), + ) + .subcommand( + "get", + get::get_api::().with_about("Commands to download image, iso, or squashfs files"), + ) } diff --git a/core/startos/src/registry/os/mod.rs b/core/startos/src/registry/os/mod.rs index 64ce44eaf..a1d18cb03 100644 --- a/core/startos/src/registry/os/mod.rs +++ b/core/startos/src/registry/os/mod.rs @@ -15,8 +15,16 @@ pub fn os_api() -> ParentHandler { "index", from_fn_async(index::get_os_index) .with_display_serializable() + .with_about("List index of OS versions") .with_call_remote::(), ) - .subcommand("asset", asset::asset_api::()) - .subcommand("version", version::version_api::()) + .subcommand( + "asset", + asset::asset_api::().with_about("Commands to add, sign, or get registry assets"), + ) + .subcommand( + "version", + version::version_api::() + .with_about("Commands to add, remove, or list versions or version signers"), + ) } diff --git a/core/startos/src/registry/os/version/mod.rs b/core/startos/src/registry/os/version/mod.rs index 4c0568a80..8e4349ed9 100644 --- a/core/startos/src/registry/os/version/mod.rs +++ b/core/startos/src/registry/os/version/mod.rs @@ -26,6 +26,7 @@ pub fn version_api() -> ParentHandler { .with_metadata("admin", Value::Bool(true)) .with_metadata("get_signer", Value::Bool(true)) .no_display() + .with_about("Add OS version") .with_call_remote::(), ) .subcommand( @@ -33,9 +34,13 @@ pub fn version_api() -> ParentHandler { from_fn_async(remove_version) .with_metadata("admin", Value::Bool(true)) .no_display() + .with_about("Remove OS version") .with_call_remote::(), ) - .subcommand("signer", signer::signer_api::()) + .subcommand( + "signer", + signer::signer_api::().with_about("Add, remove, and list version signers"), + ) .subcommand( "get", from_fn_async(get_version) @@ -43,6 +48,7 @@ pub fn version_api() -> ParentHandler { .with_custom_display_fn(|handle, result| { Ok(display_version_info(handle.params, result)) }) + .with_about("Get OS versions and related version info") .with_call_remote::(), ) } diff --git a/core/startos/src/registry/os/version/signer.rs b/core/startos/src/registry/os/version/signer.rs index 51f7c6719..c72bb5ef4 100644 --- a/core/startos/src/registry/os/version/signer.rs +++ b/core/startos/src/registry/os/version/signer.rs @@ -21,6 +21,7 @@ pub fn signer_api() -> ParentHandler { from_fn_async(add_version_signer) .with_metadata("admin", Value::Bool(true)) .no_display() + .with_about("Add version signer") .with_call_remote::(), ) .subcommand( @@ -28,6 +29,7 @@ pub fn signer_api() -> ParentHandler { from_fn_async(remove_version_signer) .with_metadata("admin", Value::Bool(true)) .no_display() + .with_about("Remove version signer") .with_call_remote::(), ) .subcommand( @@ -35,6 +37,7 @@ pub fn signer_api() -> ParentHandler { from_fn_async(list_version_signers) .with_display_serializable() .with_custom_display_fn(|handle, result| Ok(display_signers(handle.params, result))) + .with_about("List version signers and related signer info") .with_call_remote::(), ) } diff --git a/core/startos/src/registry/package/mod.rs b/core/startos/src/registry/package/mod.rs index cb2d317f9..ef312dc28 100644 --- a/core/startos/src/registry/package/mod.rs +++ b/core/startos/src/registry/package/mod.rs @@ -14,6 +14,7 @@ pub fn package_api() -> ParentHandler { "index", from_fn_async(index::get_package_index) .with_display_serializable() + .with_about("List packages and categories") .with_call_remote::(), ) .subcommand( @@ -22,7 +23,12 @@ pub fn package_api() -> ParentHandler { .with_metadata("get_signer", Value::Bool(true)) .no_cli(), ) - .subcommand("add", from_fn_async(add::cli_add_package).no_display()) + .subcommand( + "add", + from_fn_async(add::cli_add_package) + .no_display() + .with_about("Add package to registry index"), + ) .subcommand( "get", from_fn_async(get::get_package) @@ -31,6 +37,7 @@ pub fn package_api() -> ParentHandler { .with_custom_display_fn(|handle, result| { get::display_package_info(handle.params, result) }) + .with_about("List installation candidate package(s)") .with_call_remote::(), ) } diff --git a/core/startos/src/s9pk/rpc.rs b/core/startos/src/s9pk/rpc.rs index 92f952077..98b46ac77 100644 --- a/core/startos/src/s9pk/rpc.rs +++ b/core/startos/src/s9pk/rpc.rs @@ -21,11 +21,16 @@ pub const SKIP_ENV: &[&str] = &["TERM", "container", "HOME", "HOSTNAME"]; pub fn s9pk() -> ParentHandler { ParentHandler::new() - .subcommand("pack", from_fn_async(super::v2::pack::pack).no_display()) + .subcommand( + "pack", + from_fn_async(super::v2::pack::pack) + .no_display() + .with_about("Package s9pk input files into valid s9pk"), + ) .subcommand( "list-ingredients", - from_fn_async(super::v2::pack::list_ingredients).with_custom_display_fn( - |_, ingredients| { + from_fn_async(super::v2::pack::list_ingredients) + .with_custom_display_fn(|_, ingredients| { ingredients .into_iter() .map(Some) @@ -39,12 +44,23 @@ pub fn s9pk() -> ParentHandler { }); println!(); Ok(()) - }, - ), + }) + .with_about("List paths of package ingredients"), + ) + .subcommand( + "edit", + edit().with_about("Commands to add an image to an s9pk or edit the manifest"), + ) + .subcommand( + "inspect", + inspect().with_about("Commands to display file paths, file contents, or manifest"), + ) + .subcommand( + "convert", + from_fn_async(convert) + .no_display() + .with_about("Convert s9pk from v1 to v2"), ) - .subcommand("edit", edit()) - .subcommand("inspect", inspect()) - .subcommand("convert", from_fn_async(convert).no_display()) } #[derive(Deserialize, Serialize, Parser)] @@ -59,13 +75,15 @@ fn edit() -> ParentHandler { "add-image", from_fn_async(add_image) .with_inherited(only_parent) - .no_display(), + .no_display() + .with_about("Add image to s9pk"), ) .subcommand( "manifest", from_fn_async(edit_manifest) .with_inherited(only_parent) - .with_display_serializable(), + .with_display_serializable() + .with_about("Edit s9pk manifest"), ) } @@ -76,17 +94,22 @@ fn inspect() -> ParentHandler { "file-tree", from_fn_async(file_tree) .with_inherited(only_parent) - .with_display_serializable(), + .with_display_serializable() + .with_about("Display list of paths"), ) .subcommand( "cat", - from_fn_async(cat).with_inherited(only_parent).no_display(), + from_fn_async(cat) + .with_inherited(only_parent) + .no_display() + .with_about("Display file contents"), ) .subcommand( "manifest", from_fn_async(inspect_manifest) .with_inherited(only_parent) - .with_display_serializable(), + .with_display_serializable() + .with_about("Display s9pk manifest"), ) } diff --git a/core/startos/src/ssh.rs b/core/startos/src/ssh.rs index 728fd6480..99c2ae66c 100644 --- a/core/startos/src/ssh.rs +++ b/core/startos/src/ssh.rs @@ -86,12 +86,14 @@ pub fn ssh() -> ParentHandler { "add", from_fn_async(add) .no_display() + .with_about("Add ssh key") .with_call_remote::(), ) .subcommand( "delete", from_fn_async(delete) .no_display() + .with_about("Remove ssh key") .with_call_remote::(), ) .subcommand( @@ -101,6 +103,7 @@ pub fn ssh() -> ParentHandler { .with_custom_display_fn(|handle, result| { Ok(display_all_ssh_keys(handle.params, result)) }) + .with_about("List ssh keys") .with_call_remote::(), ) } diff --git a/core/startos/src/system.rs b/core/startos/src/system.rs index 7af94588b..e64f30e98 100644 --- a/core/startos/src/system.rs +++ b/core/startos/src/system.rs @@ -31,6 +31,7 @@ pub fn experimental() -> ParentHandler { "zram", from_fn_async(zram) .no_display() + .with_about("Enable zram") .with_call_remote::(), ) .subcommand( @@ -40,6 +41,7 @@ pub fn experimental() -> ParentHandler { .with_custom_display_fn(|handle, result| { Ok(display_governor_info(handle.params, result)) }) + .with_about("Show current and available CPU governors") .with_call_remote::(), ) } diff --git a/core/startos/src/util/rpc.rs b/core/startos/src/util/rpc.rs index 80d6d9251..b2dea340e 100644 --- a/core/startos/src/util/rpc.rs +++ b/core/startos/src/util/rpc.rs @@ -1,7 +1,7 @@ use std::path::Path; use clap::Parser; -use rpc_toolkit::{from_fn_async, Context, ParentHandler}; +use rpc_toolkit::{from_fn_async, Context, HandlerExt, ParentHandler}; use serde::{Deserialize, Serialize}; use url::Url; @@ -16,7 +16,10 @@ use crate::util::{Apply, PathOrUrl}; use crate::CAP_10_MiB; pub fn util() -> ParentHandler { - ParentHandler::new().subcommand("b3sum", from_fn_async(b3sum)) + ParentHandler::new().subcommand( + "b3sum", + from_fn_async(b3sum).with_about("Calculate blake3 hash for a file"), + ) } #[derive(Debug, Deserialize, Serialize, Parser)]